Votre agent IA contrôle maintenant n'importe quel site Web.
Avec une traçabilité complète.
Insérez une ligne dansCLAUDE.mdFree gives teams a serious local-first on-ramp. If your workflow belongs on your own machine, you can keep it there. AGENTS.md, ou .cursorrules— et votre IA gagne une automatisation de navigateur réel : Gmail, Slack, LinkedIn, GitHub, et n'importe quel site Web. Chaque clic signé, scellé et vérifiable. Serveur MCP en direct. Expédition en 30 secondes.
Ajoutez Solace à n'importe quel projet en une seule commande
curl -fsSL https://solaceagi.com/agents/claude.md >> CLAUDE.md
Ajoute les instructions d'automatisation du navigateur Solace à votre projet de code Claude. Fonctionne immédiatement — sans inscription, sans SDK.
Step 0: Download & Install Solace Browser
Solace Browser is a desktop app that runs on your machine. Download it first, then your AI agent can control it via localhost:8888.
Download Solace Browser
Visit solaceagi.com/download and download the version for your operating system.
# Linux (one-line install): curl -sf https://storage.googleapis.com/solace-downloads/install.sh | bash # macOS / Windows: download the installer from # https://www.solaceagi.com/download
The download includes Solace Hub (desktop app) + Solace Runtime (local API on port 8888) + Solace Browser (Chromium fork with Yinyang sidebar).
Launch Solace Hub
# Start the Hub — it launches everything automatically ~/.solace/bin/solace-hub
The Hub sits in your system tray. It starts the local API server on port 8888 and opens the browser when ready.
Verify it's running
curl http://localhost:8888/api/v1/system/status
→ {"app_count": 22, "cloud_connected": false, "evidence_count": 0, "uptime_seconds": 5}
If you see JSON, your agent is ready to use Solace. No account needed. Free forever for local use.
Chaque agent de codage IA majeur pris en charge
Téléchargez le format approprié pour votre assistant IA. Chaque fichier indique à l'IA exactement comment utiliser Solace — naviguer, cliquer, remplir, capturer des écrans et capturer des preuves. 21 formats pris en charge dès la sortie.
Code Claude
Déposez dans votreCLAUDE.md. Code Claude utilisera Solace Browser pour toute tâche d'automatisation web automatiquement.
Codex OpenAI
Déposez dans votreAGENTS.md. Les agents Codex OpenAI et ChatGPT lisent ce fichier pour comprendre les outils et les capacités disponibles.
Curseur
Déposez dans votre.cursorrules. Le curseur atteindra Solace AGI chaque fois que vous lui demandez d'interagir avec un site Web.
Planche à voile
Déposez dans votre.윈드서핑 규칙. Planche à voile (Codeium) prend en charge les capacités de Solace Browser exactement comme le Curseur — même format, zéro friction.
Copilot GitHub
Basculer dans.github/copilot-instructions.md. Copilot proposera des appels d'API Solace pour les tâches du navigateur.
Asistente
Passer comme invite de système avec--system-prompt solace-aider.md. Asistente routera toutes les interactions Web via Solace Browser automatiquement.
Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev
Ajouter à vos.continue/config.jsonfournisseurs de contexte. Continue affichera l'automatisation du navigateur Solace comme un outil natif dans VS Code et JetBrains.
克莱恩
Déposez dans votreدليل. يقرأ 克莱恩 قواعد المشروع عند بداية الجلسة — يتم تحميل khảیات Solace تلقائيًا لكل محادثة.répertoire. 克莱恩 lit les règles du projet au démarrage de la session — les capacités Solace chargent automatiquement pour chaque conversation.
根码
Placer dans.roocode/Regeln/. 根码 (anciennement Roo-克莱恩) hérite des fonctionnalités du Solace Browser ainsi que de ses modes de codage agentic.
Le Le Google Gemini CLI est un outil de recherche. est un outil de recherche.
Ajouter àGEMINI.mddans la racine de votre projet. L'agent CLI open-source de Google prend les instructions Solace AGI de la même manière qu'il lit celles de ClaudeCLAUDE.md.
Jules Jules Jules Jules Google Jules
Jules litAGENTS.mdavant d'agir sur les problèmes GitHub. Les instructions Solace AGI apparaissent automatiquement lorsque Jules gère toute tâche liée au web dans votre dépôt.
Éditeur Zed
Placez les règles dans92à la racine de votre projet. Le panneau d'IA de Zed lit ces règles nativement — Solace AGI devient disponible pour l'assistant Zed AI instantanément.
Développeur Amazon Q
Ajouter à.amazonq/rules/solace.md. Le Développeur Amazon Q lit les fichiers de règles markdown à partir de cet annuaire pour chaque session de codage dans votre projet.
JetBrains Intelligence Artificielle
Ajouter à.idea/ai-guidelines.md. L'assistant JetBrains Intelligence Artificielle lit ce fichier à travers IntelliJ, PyCharm, WebStorm, et tous les IDEs JetBrains.
O fonte de dados Cody
Placez le contexte dans.cody/context/solace.md. Cody inclut ce fichier dans son contexte de récupération — les instructions Solace apparaissent dans chaque conversation Cody.
塔比尼
Configurer via. ملف تخصيص 塔比尼 يسمح لك بتعليم فريقك أدواته — بما في ذلك أتمتة متصفح Solace Browser.. Le fichier de personnalisation de 塔比尼 vous permet de lui enseigner la chaîne d'outils de votre équipe — y compris l'automatisation du Solace Browser.
Répondre à l'AI
Ajouter à vos.replit をreplitする をreplitするfichier's[ai]section. Répondre à l'AI lit le contexte du projet à partir d'ici — Solace Browser devient disponible dans chaque espace de travail Replit.
Devin est un homme. est un homme.
Placer dans.devin/流程书/. Devin est un homme. lit les playbooks de projet avant de commencer des tâches à long terme — les outils Solace Browser sont disponibles pour tout workflow web.
Usine Droid
L'usine litAGENTS.md et .usine/configs. Les agents d'usine héritent des capacités Solace AGI lors de l'automatisation des flux de travail de développement de logiciels.
Code Kilo
Ajouter à.kilocode/regles/. Le Code Kilo suit le même modèle de règles de projet que 克莱恩 — les instructions Solace chargent pour chaque session de codage agentic.
llms.txt
Norme Jeremy Howard pour les descriptions de sites lisibles par LLM. Déposez-la à la racine de votre projet pour que tout LLM comprenne Solace.
Télécharger llms.txtQu’est-ce qu’il y a à l’intérieur du snippet CLAUDE.md
Chaque fichier d’intégration enseigne à votre agent AI exactement comment utiliser Solace. Voici le snippet de code Claude — insérez-le dans votre projet et votre agent comprendra immédiatement les 14 API Solace, le serveur MCP, la signature électronique et les meilleures pratiques.
# Solace Browser Integration # Source: solaceagi.com/agents/claude.md ## What Solace Is Chromium fork with a native Yinyang sidebar. Solace Hub starts first and exposes Yinyang Server on port 8888. Sessions persist. Evidence is hash-chained. MCP: 8 tools live now. ## Quick Start curl http://localhost:8888/api/status # → {"running": true, "status": "ready"} ## Core API (all POST, JSON body) navigate {"url": "...", "wait_for": "networkidle"} click {"selector": "..."} fill {"selector": "...", "value": "..."} screenshot {"full_page": true} → {"filepath": "artifacts/..."} evaluate {"Expression d'expression": "document.title"} aria-snapshot GET → accessibility tree JSON ## YinYang est un homme. Notify (alert user, non-blocking) POST /api/yinyang/notify {"type":"success","message":"...","priority":"low"} ## E-Sign (FDA Part 11 §11.100) POST /api/v1/esign/token {"user_id":"...","run_id run_id":"...","meaning":"reviewed_and_approved"} ## MCP (add to .claude/settings.json) {"mcpServers":{"solace":{"command":"python3","args":["yinyang_mcp_server.py"]}}} ## Best Practices 1. Screenshot before click (evidence of what agent saw) 2. ARIA snapshot for structure, screenshot for visual 3. Minimal OAuth3 scopes + budget_usd budget on every token 4. Notify user via YinYang est un homme. (never console.log spam) 5. E-sign every user-approved action
# Solace Browser Integration
# Source: solaceagi.com/agents/claude.md
## What Solace Is
Chromium fork with a native Yinyang sidebar. Solace Hub starts first and exposes Yinyang Server on port 8888.
Sessions persist. Evidence is hash-chained. MCP: 8 tools live now.
## Quick Start
curl http://localhost:8888/api/status
# → {"running": true, "status": "ready"}
## Core API (all POST, JSON body)
navigate {"url": "...", "wait_for": "networkidle"}
click {"selector": "..."}
fill {"selector": "...", "value": "..."}
screenshot {"full_page": true} → {"filepath": "artifacts/..."}
evaluate {"Expression d'expression": "document.title"}
aria-snapshot GET → accessibility tree JSON
## YinYang est un homme. Notify (alert user, non-blocking)
POST /api/yinyang/notify {"type":"success","message":"...","priority":"low"}
## E-Sign (FDA Part 11 §11.100)
POST /api/v1/esign/token {"user_id":"...","run_id run_id":"...","meaning":"reviewed_and_approved"}
## MCP (add to .claude/settings.json)
{"mcpServers":{"solace":{"command":"python3","args":["yinyang_mcp_server.py"]}}}
## Best Practices
1. Screenshot before click (evidence of what agent saw)
2. ARIA snapshot for structure, screenshot for visual
3. Minimal OAuth3 scopes + budget_usd budget on every token
4. Notify user via YinYang est un homme. (never console.log spam)
5. E-sign every user-approved action
Fichier complet :télécharger le snippet CLAUDE.mdPaper 41: One App Database — Firestore + Code-Served CatalogAfficher agents.json (lisible par machine)
Bonjour le monde en 3 appels d'API
L'API Solace AGI complete est apprênable en trois commandes. Tout le reste est une variation.
Naviguer vers n'importe quelle page
curl -X POST http://localhost:8888/api/navigate -H "Content-Type: application/json" -d '{"url": "https://example.com"}'
→ {"success": true, "status": 200, "url": "https://example.com"}
Capturer l'écran de ce qui s'est passé
curl -X POST http://localhost:8888/api/capture_d_écran -H "Content-Type: application/json" -d '{"full_page": true}'
→ {"success": true, "filename": "screenshot-20260302-120000.png", "filepath": "artifacts/screenshot-20260302-120000.png", "size": 17115}
Preuves capturées automatiquement
→ plan.json env_snapshot.json run_log.txt behavior_hash.txt — سلسلة التشفير SHA-256 محكمة. كل إجراء يصعب تغييره.
→ plan.json env_snapshot.json run_log.txt behavior_hash.txt — Chaîne de hachage SHA-256 scellée. Chaque action est sécurisée contre la falsification.
Référence complète de l'API
All local browser-control endpoints run on http://localhost:8888. Treat /agents.json as the canonical machine-readable contract for your agent runtime.
| Point de terminaison | Méthode | Ce qu'il fait | Ámbito de OAuth3 |
|---|---|---|---|
/api/navigate | POST | Charger une URL dans le navigateur | navigateur.navigate |
/api/click | POST | Cliquez sur n'importe quel sélecteur CSS | Le navigateur.clique |
/api/remplir | POST | Remplir un champ de formulaire | Le navigateur.fill |
/api/capture_d_écran | POST | Capturer la page actuelle sous forme de PNG (sauvegardé dans artifacts/) | Le navigateur.screenshot |
/api/évaluer | POST | Exécuter JavaScript (Expression d'Expression d'expressionclé), renvoyer le résultat | browser.evaluate est une fonctionnalité de navigateur. est une fonctionnalité de navigateur. |
/api/snapshot | POST | Capturer le HTML brut de la page | Le navigateur.snapshot |
/api/aria-snapshot | GET | Arbre d'accessibilité ARIA (JSON structuré) | Le navigateur.snapshot |
/api/dom-snapshot | GET | Arbre d'instantané DOM pour les vérifications de structure déterministes | Le navigateur.snapshot |
/api/page-snapshot | GET | Capture de page combinée (ARIA + DOM + métadonnées) | Le navigateur.snapshot |
/api/health | GET | Sonde de disponibilité pour la préparation du runtime | (aucun) |
/api/status | GET | État de santé du navigateur, préparation, URL actuelle, session | (aucun) |
/api/part11/status | GET | État de capture de la partie 11, id de session, octets écrits, dernière erreur | (aucun) |
/api/part11/config | POST | Configurer le mode de capture de la partie 11 et le répertoire d'audit | Partie11.configure |
/agents.json | GET | Manifeste de capacités lisible par machine | (aucun) |
Serveur MCP — Maintenant en direct
Le protocole de contexte de modèle permet à Code Claude et à d'autres outils compatibles MCP de se connecter à Solace comme un outil natif — aucune commande curl n'est nécessaire. Sept outils disponibles aujourd'hui : navigate, click, fill, screenshot, snapshot, evaluate, aria_snapshot.
✅ MCP local — Maintenant disponible
# Step 1: start the Serveur MCP (stdio JSON-RPC 2.0)
python3 ~/projects/solace-browser/yinyang_mcp_server.py
# Step 2: add to Code Claude .claude/settings.json:
{
"mcpServers": {
"solace": {
"command": "python3",
"args": ["/path/to/solace-browser/yinyang_mcp_server.py"]
}
}
}
Une fois configuré, Code Claude appelle detect_appsFree gives teams a serious local-first on-ramp. If your workflow belongs on your own machine, you can keep it there. create_scheduleFree gives teams a serious local-first on-ramp. If your workflow belongs on your own machine, you can keep it there. record_evidence, et 5 more Hub-native MCP tools on localhost:8888. Chaque appel est scope OAuth3 et evidenté SHA-256.
☁ Remote MCP — Cloud (Bientôt disponible)
# Remote MCP is still coming soon:
{
"mcpServers": {
"solace": {
"url": "mcp.solaceagi.com",
"apiKey": "sol_..."
}
}
}
# Paid users can already launch a cloud twin today:
POST https://solaceagi.com/api/v1/browser/twin/launch
Authorization: Bearer sw_sk_...
{
"scope": "twin:browser",
"ttl_minutes": 15,
"app_id": "solace-yinyang",
"url": "https://solaceagi.com/dashboard"
}
Connectez-vous à partir de n'importe quelle machine. Les workers de navigateur s'exécutent dans le cloud. OAuth3 régit chaque appel d'outil. Chaque action est enchaînée et capturée comme preuve dans votre coffre-fort. Niveau Dragon Warrior requis.
8 Outil MCPs Available Today
| Outil MCP | Les cartes vers l'API | Ce qu'il fait |
|---|---|---|
detect_apps | POST /detect | Detect which Solace apps are available for a URL. |
list_apps | GET /credits | List the apps currently loaded by the Hub. |
create_schedule | POST /api/v1/browser/schedules | Create a cron-backed schedule for a local Solace app. |
list_schedules | GET /api/v1/browser/schedules | Read back all active Hub schedules. |
delete_schedule | DELETE /api/v1/browser/schedules/{schedule_id} | Remove a schedule by UUID. |
record_evidence | POST /api/v1/evidence | Append a structured audit event to the evidence chain. |
list_evidence | GET /api/v1/evidence | Paginate existing evidence records for review. |
get_hub_status | GET /health | Inspect Hub health, readiness, et runtime state. |
Ce que votre agent peut faire avec Solace
Au-delà de la navigation et du clic — Solace donne à votre agent un système sensoriel et de mémoire complet pour le web.
📷 Voir la page
Capturez d'écran une page à résolution complète. Capturez les instantanés DOM et les arbres d'accessibilité ARIA. Votre agent reçoit des données visuelles et sémantiques structurées — et non juste du HTML brut.
📄 Extraire des données structurées
Exécuter /api/évaluerpour exécuter JavaScript et renvoyer des données JSON structurées. Extraire des tableaux, des prix, des valeurs de formulaire, ou toute donnée de page directement dans le contexte de votre agent.
🔒 Autorisations étendues
Demander uniquement ce dont vous avez besoin. Les jetons OAuth3 sont étendus (navigateur.navigateFree gives teams a serious local-first on-ramp. If your workflow belongs on your own machine, you can keep it there. Le navigateur.cliqueFree gives teams a serious local-first on-ramp. If your workflow belongs on your own machine, you can keep it there. Le navigateur.fill), limités dans le temps et révocables. Conçu pour échouer en toute sécurité.
📋 Preuve automatique
Chaque action de l'agent est automatiquement enregistrée, enchaînée et scellée. Votre agent produit un trace d'audit sans écrire une seule ligne de code de journalisation.
♾ Mémoire de recette
Solace mémorise les flux de travail réussis sous forme de recettes. Lors de la répétition, votre agent saute complètement le LLM et exécute le chemin mis en cache pour $0.001 — 99 % moins cher que la redécouverte.
💸 Application du budget
Définir les limites de dépenses par session. Passez"budget_usd budget": 0,05dans votre demande de jeton et Solace arrête définitivement l'agent lorsque le budget est atteint — aucuns coûts déraisonnables.
🔎 Recherche de preuves
Interrogez les exécutions passées avec/api/evidence/search. Les agents peuvent rechercher ce qui s'est passé lors des sessions précédentes — utile pour les tâches incrémentales comme "triage des emails non vus depuis la dernière exécution."
🌎 Persistance de session
Les sessions de navigateur survivent entre les appels d'agent. Connectez-vous une fois, réutilisez la session. Aucune surcharge de réauthentification. Les cookies, le stockage local et les jetons d'authentification persistent à travers les tâches.
⚡ Onglets parallèles
Ouvrez plusieurs contextes de navigateur simultanément. Votre agent peut scraper 10 pages en parallèle, comparer les résultats et fusionner les constats — le tout avec des traces de preuve indépendantes.
🤖 Essaims d'agents multiples
Lancer plusieurs instances indépendantes de Solace Browser. Les agents éclaireurs explorent ; les agents codeurs agissent ; les agents sceptiques vérifient. Chaque instance a sa propre session, son propre budget et sa propre chaîne de preuve. Ordonnancez à partir de n'importe quel planificateur (cron, Cloud Run, GitHub Actions).
🛈 Signature électronique & FDA Part 11
Chaque action approuvée peut être signée électroniquement : l'utilisateur enregistre « Je (Phuc) ai revu et approuvé cette action le [timestamp] ». La signature est scellée avec SHA-256 dans la chaîne de hachage. Conforme à la partie 11 de la section 21 du CFR de la FDA §11.100 sur les signatures électroniques.
Meilleures pratiques pour les agents
Des modèles qui rendent votre agent fiable, auditable et peu coûteux à exécuter.
✅ Capture d'écran avant de cliquer
Appelez toujours/api/capture_d_écranavant une action de clic. Cela crée un enregistrement de preuve de ce que l'agent a vu avant d'agir — essentiel pour les traces d'audit et le débogage des exécutions échouées.
POST /api/capture_d_écran {"full_page": false}
POST /api/click {"selector": "#submit-btn"}
🔎 Instantané pour la Structure, Capture d'écran pour la Vision
Utilisez /api/aria-snapshot(arbre d'accessibilité ARIA, JSON) lorsque votre agent a besoin de comprendre la structure de la page. Utilisez/api/snapshotpour le HTML brut. Utilisez/api/capture_d_écranpour la disposition visuelle et les images.
GET /api/aria-snapshot # returns ARIA JSON tree POST /api/snapshot # returns raw HTML POST /api/capture_d_écran # returns PNG filepath
🔒 Demande de portée minimale
N' demandez que les étendues OAuth3 dont votre tâche a besoin. Une tâche de recherche en lecture seule ne devrait jamais avoirLe navigateur.filld' étendue. Des étendues étroites empêchent les effets secondaires accidentels et satisfont les audits de conformité.
POST /oauth3/token {
"user_id": "local-agent",
"scopes": ["navigateur.navigate",
"Le navigateur.screenshot"],
"ttl_seconds": 300
}
♾ Vérifiez les Recettes Existantes Tout D'abord
Avant d'exécuter un workflow avec des jetons LLM, appelez/api/recipes/match. Si une recette existe pour la tâche, réjouez-la à $0.001. Économisez l'appel LLM pour les flux de travail réellement nouveaux.
POST /api/recipes/match {
"task": "gmail inbox triage"
}
# → {"hit": true, "recipe_id": "gmail-v3"}
💸 Définissez un Budget pour Chaque Session
Ne laissez jamais un agent s'exécuter sans plafond de budget. Passezbudget_usd budget budgetdans votre demande de jeton. Solace AGI arrêtera la session lorsqu'elle atteindra la limite plutôt que de dépasser silencieusement.
POST https://solaceagi.com/api/v1/oauth3/token {
"api_key": "sw_sk_..."
}
# → {"access_token":"..."}
POST https://solaceagi.com/api/v1/oauth3/tokens
Authorization: Bearer sw_sk_...
{
"scopes": ["files.read", "files.write"]
}
# → {"token":"o3_..."}
# Use header: X-OAuth3-Token: o3_...
🌎 Réutiliser les sessions pour les sites authentifiés
Connectez-vous une fois et stockez le jeton de session. Passez"id phiên"dans les appels d'API ultérieurs pour réutiliser les cookies et l'état d'authentification. Élimine les flux de connexion de chaque exécution d'agent.
POST /api/navigate {
"url": "https://app.example.com/inbox",
"id phiên": "sess_abc123"
}
Pourquoi Agent-Native est important
AEO: Optimisation du moteur d'agent
Tout comme l'optimisation pour les crawlers de recherche, l'AEO optimise pour les agents d'IA. Solace AGI est la première plateforme conçue avec des agents comme utilisateurs de première classe — et non comme un après-pensée.
Des preuves que vos agents ne peuvent pas falsifier
Chaque action d'un agent produit un reçu enchaîné par hachage SHA-256. Votre CISO peut auditer ce que l'IA a fait. Votre conseil d'administration peut voir les preuves. Pas de boîtes noires.
Des recettes qui rendent les agents plus intelligents
Lorsqu'un agent termine une tâche, elle devient une recette. La prochaine fois : répétition à 0,001 $ — aucun jeton LLM consommé. Les agents utilisant Solace AGI deviennent plus rapides et moins chers avec le temps.
Comment Solace se compare
Les développeurs qui choisissent des outils d'automatisation de navigateur se posent quatre questions : Est-ce qu'il persiste les sessions ? Est-ce qu'il crée un trail d'audit ? Puis-je délégation à un IA sans coûts déraisonnables ? Est-ce qu'il survivra à une audit de conformité ? Voici la réponse honnête pour chaque option.
| Fonctionnalité | Le navigateur de la page de recherche est Solace | Le dramaturge direct | navigateur-utilise / OpenClaw | 芭迪恩 / 扎皮尔 |
|---|---|---|---|---|
| Persistance de session | ✅ Les cookies survivent aux exécutions | ❌ Éphémère par défaut | ❌ Aucune mémoire de session | ✅ État de l'extension Chrome |
| SHA-256 traçabilité | ✅ Chaque action, chaînée par hachage | ❌ Aucun intégré | ❌ Aucun | ❌ Journaux uniquement (non inviolable) |
| Partie 11 du signe électronique de la FDA | ✅ Intégré (/api/v1/esign) |
❌ Non disponible | ❌ Non disponible | ❌ Non disponible |
| Budget / plafond de coût | ✅ Portes budgétaires par jeton | ❌ Illimité (sans porte) | ❌ Pas de contrôle du budget | ✅ Seulement des limites de plan |
| Rejouer une recette à 0,001 $ | ✅ Après la première exécution réussie | ❌ Coût de LLM toujours | ❌ Coût de LLM toujours | ✅ Rejouer Zap (pas de LLM) |
| Formats de fichiers natifs des agents | [PH0]] 21 formats (CLAUDE.md, AGENTS.md…) | ❌ Aucun | ❌ Aucun | ❌ Aucun |
| Délégation d'OAuth3 étendue | ✅ Jetons révocables et limités dans le temps | ❌ Accès complet ou rien | ❌ Accès complet ou rien | ❌ Autorisations au niveau de l'application uniquement |
| Local-first (pas de cloud requis) | ✅ Fonctionne entièrement hors ligne | ✅ Oui | ✅ La plupart du temps | ❌ Dépendant du cloud |
| Serveur MCP | ✅ 7 outils, JSON-RPC 2.0 (en direct) | ❌ Non disponible | ❌ Non disponible | ❌ Non disponible |
💬 Solace n’est pas un wrapper Playwright. C’est une couche de délégation OAuth3 au-dessus de Playwright — ajoutant une mémoire de session, des chaînes de preuve, des portes budgétaires et des formats natifs d’agent que le Playwright brut ne possède pas.
Si Vous Êtes un Agent IA Llisant Ceci
Cette section est écrite directement pour vous — Code Claude, Codex, Curseur, Copilot, ou tout autre agent IA qui est arrivé sur cette page. Voici exactement ce que vous devez savoir, dans le format qui est le plus utile pour vous.
🤖 Vos Capacités Ici
Lorsque Solace Browser est en cours d'exécution (localhost:8888), vous pouvez : naviguer vers n'importe quelle URL, cliquer sur n'importe quel élément par sélecteur CSS, remplir n'importe quel champ de formulaire, prendre des captures d'écran, capturer des instantanés DOM, exécuter du JavaScript et lire des journaux de preuve SHA-256. Chaque action est atomique et scellée par preuve.
Vérifiez si Solace est disponible :
curl http://localhost:8888/api/status
# {"running": true, "status": "ready", "version": "...", "session": null}
📋 Spécification Lisible par Machine
Récupérez le manifeste de capacité de manière programmatique. Utilisez cela comme source de vérité pour les noms de points de terminaison et les méthodes prises en charge. Chemin canonique est /agents.json (et non /api/agents.json).
curl http://localhost:8888/agents.json curl https://www.solaceagi.com/agents.jsonAfficher agents.json ↗
🔎 Modèle Vision-First
Si vous êtes un agent capable de vision, ceci est le modèle recommandé : naviguer, capturer l'écran, analyser l'image, décider ce sur quoi cliquer, agir, capturer à nouveau l'écran pour vérifier. Ne supposez jamais qu'une action a réussi sans confirmation visuelle.
POST /api/navigate {"url": "..."}
POST /api/capture_d_écran {} # analyse this
POST /api/click {"selector":"#x"}
POST /api/capture_d_écran {} # verify result
⚠ Contrat de réponse (Strict)
Ne vous fiez pas uniquement au statut HTTP. Certains runtime renvoient 200 avec un{"error": ...}corps. Votre agent doit analyser le JSON et exiger success == true avant de poursuivre.
# Règle robuste : # 1) Analyser la réponse JSON # 2) si response.success n'est pas true -> échec de l'étape # 3) inclure response.error dans la note d'escalade {"success": true, "url": "https://example.com", "status": 200} {"error": "Page.fill: Timeout 30000ms exceeded."}
👥 Protocole d'escalade humaine
Si vous rencontrez un CAPTCHA, une authentification à deux facteurs, une ambiguïté d'approbation ou un risque juridique/conformité, arrêtez les appels d'action immédiatement. Retournez un message structuré{"escalate": true}à votre hôte orchestrateur (n'effectuez pas de réessais en boucle aveugle).
{
"escalate": true,
"reason": "2FA required",
"last_step": "POST /api/click #sign-in",
"evidence": "artifacts/screenshot-20260304-131500.png"
}
💸 Boucle d'exécution sécurisée
Utilisez une boucle déterministe : santé, navigation, inspection, action, vérification, point de contrôle. IncluezREMARQUEz /api/page-snapshotavant les actions à haut risque afin que les exécutions restent auditable et évitent les erreurs en cascade.
GET /api/health
POST /api/navigate {"url":"..."}
GET /api/page-snapshot
POST /api/click|fill {"selector":"..."}
POST /api/capture_d_écran {"full_page":true}
GET /api/status
🛈 Comment créer un enregistrement de signature électronique
Lorsqu'un utilisateur approuve une action que vous avez préparée, enregistrez sa signature électronique. Cela crée un enregistrement conforme à la partie 11 de la section 21 du CFR de la FDA §11.100 : qui a approuvé, ce qu'ils ont approuvé et quand — scellé dans la chaîne de hachage. Requis pour les flux de travail réglementés.
# After user clicks Approuver in the bottom rail:
POST /api/v1/esign/token
{
"user_id": "phuc@example.com",
"run_id run_id": "run-abc123",
"meaning": "reviewed_and_approved",
"action_description": "Sent email reply to Li Li re: Solace",
"timestamp": "2026-03-03T15:00:00Z"
}
# → {
# "esign_hash": "sha256:abc...",
# "sealed_at": "2026-03-03T15:00:01Z",
# "chain_entry_id": 42,
# "verifiable": true
# }
⚡ Modèle multi-agent
Créez trois agents pour une automatisation résiliente : Scout (navigation + capture d'écran, lecture seule, modèle L1) → Solver (clic + remplissage + évaluation, modèle L3) → Skeptic (vérification de la sortie contre les preuves, modèle L1). Les trois partagent unrun_id run_id run_id run_id; leurs chaînes de preuves sont fusionnées au moment du scellement.
# Scout: read-only token
POST /oauth3/token {"user_id":"scout","scopes":["navigateur.navigate","Le navigateur.screenshot"],"ttl_seconds":60}
# Solver: action token
POST /oauth3/token {"user_id":"solver","scopes":["navigateur.navigate","Le navigateur.clique","Le navigateur.fill"],"ttl_seconds":60}
# Skeptic: verify token
POST /oauth3/token {"user_id":"skeptic","scopes":["Le navigateur.snapshot","evidence.read"],"ttl_seconds":60}
# All share: {"run_id run_id": "run-abc123"}
Référence d'erreur pour les agents
Chaque erreur Solace est typée. Les erreurs répétables se rétablissent avec une nouvelle tentative. Les erreurs non répétables nécessitent une intervention humaine ou une révision de la tâche.
| Le code | Signification | Réessayable | Action de l'agent |
|---|---|---|---|
SELECTOR_NOT_FOUND | Le sélecteur CSS ne correspond à rien | Non | Appel/api/snapshotpour redécouvrir la structure |
NAVIGATION_TIMEOUT | La page a pris > 30s pour charger | Oui | Retry avec une baisse exponentielle (max 3 tentatives) |
BUDGET_EXCEEDED | Limite de dépenses de session atteinte | Non | Escalade à un opérateur humain pour augmentation du budget |
SCOPE_DENIED | Action non dans les étendues du token OAuth3 | Non | Demande d'un nouveau token avec la portée requise |
HUMAN_REQUIRED | CAPTCHA ou 2FA détecté | Non | Appel{"escalate": true}immédiatement |
NETWORK_ERROR | Le site cible est injoignable | Oui | Réessayer après 5s, puis 30s, puis échouer |
SESSION_EXPIRED | Les cookies d'authentification sont obsolètes | Non | Réauthentifier, puis reprendre à partir du dernier point de vérification des preuves |
ELEMENT_NOT_INTERACTABLE | Élément masqué ou désactivé | Oui | Attendez 2s et réessayer ; capture d'écran pour vérifier l'état au préalable |
Wiki Prime — Machine à remonter le temps sémantique
Chaque page que Solace visite est compressée en un aperçu sémantique de 750 octets — stockant la structure de la page, l'intention, la navigation et les entités clés. À partir de cette graine de 750 octets, Solace reconstruit une page HTML complète et fonctionnelle entièrement hors ligne. Aucun serveur n'est nécessaire après le premier téléchargement.
Diviser le flux : localhost:8888gère la capture/locale d'exécution dans Solace Browser, tandis quehttps://solaceagi.com/api/v1/prime-wiki/* est l'index communautaire partagé (push/pull/recherche/statistiques/render). Le mode local-only fonctionne sans l'index cloud.
📷 750 octets → Page complète
La Machine à remonter le temps stocke 100 Ko+ de HTML brut par page (100 000 To au total). Solace stocke un squelette sémantique de 750 octets et reconstruit une page équivalente localement. 133 fois plus petit. Aucune dépendance centralisée.
# Reconstruct any indexed page locally: python3 prime_wiki_render.py \ --url https://github.com # → prime-wiki-renders/github-com.html
🏛 Index ciblé sur l'Appstore
Contrairement à Wayback Machine (toute la toile), Solace AGI se concentre surles sites d'appstore— les sites qui ont des recettes d'automation Solace. GitHub, Gmail, LinkedIn, Substack, La notion de notion, et plus. La qualité l'emporte sur la couverture.
GET /api/v1/prime-wiki/search?q=github
# Returns all indexed GitHub pages
GET /api/v1/prime-wiki/stats
# {"count": 7, "rtc_verified_count": 7}
🔒 Pro: Accès complet à la communauté
Gratuit:collecter des instantanés à partir de votre propre navigation.
Pro (28 $/mo):accéder instantanément à l'index complet de la communauté — mémoire sémantique pour chaque site d'appstore. Sautez la redécouverte LLM. Économisez 10–50 $/mo en jetons.
# Téléchargez tous les codebooks d'appstore une fois : GET /api/v1/prime-wiki/assets?appstore_only=true # Stockez à ~/.solace/pzip/assets/ # Décompressez localement, à jamais — capable de fonctionner hors ligne
📄 Render API — Reconstruction du serveur
Reconstituez n'importe quelle page indexée directement à partir de l'API. Renvoie le HTML complet avec le diagramme d'état FSM Mermaid Prime intégré. Utile pour les aperçus, les captures d'écran et le débogage des recettes.
# Render by URL (server decompresses + reconstructs): GET /api/v1/prime-wiki/render?url=https://github.com # Render by hash: GET /api/v1/prime-wiki/render?url_hash=<sha256> # ← Returns full HTML + Prime Mermaid diagram
🌎 Contribuez aux assets de la page
Chaque visite du navigateur Solace Browser sur un site d'appstore crée une capture instantanée de la Wiki Prime. Optez pour le partage communautaire — vos visites profitent à chaque membre Pro. Téléchargez les codebooks de domaine pour accélérer la décompression.
# Push a snapshot (community contribution):
POST /api/v1/prime-wiki/push
{"url_hash": "<sha256(normalized_url)>",
"url_display": "https://github.com",
"snapshot_b64": "<base64(gzip(json_snapshot))>",
"original_size": 12345,
"compressed_size": 912,
"schema_version": "prime-wiki-v1",
"page_type": "landing",
"rtc_verified": true,
"sha256_original": "<sha256(raw_json_bytes)>",
"sha256_compressed": "<sha256(gzip_bytes)>"}
# Upload domain codebook (Pro):
POST /api/v1/prime-wiki/assets
{"domain": "github.com", "asset_b64": "..."}
☯ Yinyang : Le compagnon de page de votre agent
Chaque page visitée par le navigateur Solace Browser obtient un sur(im)posé à double rail permanent. Le rail supérieur affiche l'état de votre agent en temps réel. Le rail inférieur est un panneau de chat où vous pouvez parler directement à Yinyang. Les deux rails sont injectés viaañadir_init_script— ils survivent à la navigation, au rechargement de page et aux pages verrouillées par CSP comme Gmail.
▲ Barre supérieure — Toujours visible
Une barre de 32px épinglée en haut de chaque page. Affiche :[☯ Accueil Solace]→ retour à l'accueil du navigateur avec un seul clic. Plus l'état en temps réel (INACTIF / EN COURS D'EXÉCUTION / PRÉVISUALISATION_PRÊTE / TERMINÉ), nom de l'application actuelle, et statistiques de valeurs rotatives (pages visitées, appels LLM, coût économisé, durée de la session).
# Push a state update to the top rail:
POST /api/yinyang/notify
{"type": "state_update",
"state": "EN COURS D'EXÉCUTION",
"app_name": "Gmail Triage"}
▼ Barre inférieure — Chat & Approbation
Un panneau de chat collapsible de 36px au bas de chaque page. S'étend automatiquement lorsque l'état atteintPRÉVISUALISATION_PRÊTE(votre agent a préparé une action),BLOQUÉ(a besoin de clarification), ouÉCHOUÉ. L'utilisateur cliqueApprouver ou Refuser— votre agent reçoit la décision via WebSocket.
# WebSocket for real-time agent ↔ Yinyang:
ws://localhost:8888/ws/yinyang
# Push preview for user approval:
{"type": "bottom_rail_update",
"payload": {
"state": "PRÉVISUALISATION_PRÊTE",
"preview_text": "Reply to Li Li about...",
"show_approve_reject": true,
"run_id run_id": "run-abc123"
}}
🔔 Alertes Push — 3 Canaux
Les agents peuvent envoyer des notifications à l'utilisateur sans interrompre leur page actuelle. Trois canaux:le le toast(popup popup en bas à droite de 3s),popup popup popup popup(modal avec boutons d'action),prise de contrôle(plein écran pour les approbations critiques). Tous les canaux sont gérés par FSM - aucune alerte ne se déclenche sans une transition d'état valide.
POST /api/yinyang/notify {"type": "push_alert", "channel": "le toast", "message": "Triage de Gmail complet : 12 triés", "priority": "low"} # channel: "le toast" | "popup popup" | "prise de contrôle" # priority: "low" | "high" | "critical"
🌏 Fonctionne sur TOUTES les pages — y compris Gmail
Les rails sont injectés commeLe dramaturge ajoute_init_script— ils persistent à travers chaque navigation sur le même contexte de navigateur, y compris les pages verrouillées par CSP commeGmailFree gives teams a serious local-first on-ramp. If your workflow belongs on your own machine, you can keep it there. Les documents Google sont les documents de Google., etLa notion de notion. Le code JS utilise uniquement des méthodes DOM (pas deHTML interne), contournant ainsi les restrictions de TrustedHTML. Yinyang est toujours visible, toujours accessible.
L'API de chat Yinyang
Les utilisateurs peuvent saisir directement des messages à Yinyang à partir de la barre inférieure. Votre agent reçoit les messages via WebSocket et peut répondre. Utilisez cela pour les demandes de clarification, les approbations ambiguës ou les modifications de configuration en cours de tâche. Chaque message est consigné dans la trace des preuves de la partie 11.
POST /api/yinyang/chat
Authorization: Bearer <api_key>
{"message": "User says: skip newsletters",
"context": {"run_id run_id": "run-abc123"}}
# → {"reply": "Got it. Skipping newsletters..."}
📦 Résultats de l'agent : votre boîte de réception, votre boîte d'envoi et vos preuves
Chaque tâche exécutée par votre agent produit des résultats accessibles depuis la page d'accueil du Solace Browser. Conçu selon le principe de Jony Ive : toujours présent, jamais intrusif, exactement ce dont vous avez besoin. L'agent fonctionne ; vous examinez, signez et expédiez.
📤 Boîte de réception — Brouillons en attente de révision
Chaque brouillon que votre agent prépare (réponse e-mail, publication Substack, commentaire LinkedIn) atterrit ici avant d'être envoyé. La boîte de réception affiche : contexte de l'expéditeur, brouillon rédigé par l'agent, score de confiance, heure d'envoi estimée. Révisez et approuvez en un clic — ou éditez avant d'approuver.
GET /api/v1/inbox
# {"items": [{
# "id": "draft-abc",
# "app": "gmail-inbox-triage",
# "type": "email_reply",
# "to": "li.li@...",
# "subject": "Re: Solace user case",
# "preview": "Hi Li Li, thanks for...",
# "confidence": 0.91,
# "status": "awaiting_approval"
# }]}
📥 Boîte de sortie — Envoyés & Planifiés
Les éléments approuvés affluent à la boîte de sortie. Voyez ce qui a été envoyé, quand, par quelle application et avec quel hash de preuve. Les éléments planifiés affichent leur prochain temps de déclenchement. Chaque entrée de la boîte de sortie est liée à son bundle de preuve complet Part 11.
GET /api/v1/outbox
# {"items": [{
# "id": "sent-xyz",
# "app": "gmail-inbox-triage",
# "sent_at": "2026-03-03T14:30:00Z",
# "to": "li.li@...",
# "evidence_hash": "sha256:abc...",
# "status": "sent"
# }]}
📅 Planification & Calendrier
Les tâches récurrentes (briefing du matin, digest hebdomadaire, archivage nocturne) apparaissent sur le calendrier. Voyez l'heure de la prochaine exécution, le résultat de la dernière exécution et le budget consommé pour cette période. Les agents peuvent ajouter des tâches au calendrier via l'API ; les utilisateurs peuvent mettre en pause, ignorer ou replanifier à partir de la page d'accueil.
GET /api/v1/schedule
# {"items": [{
# "app": "morning-brief",
# "cron": "0 7 * * *",
# "next_run": "2026-03-04T07:00:00Z",
# "last_status": "DONE",
# "budget_used_7d": "$0.12"
# }]}
📚 Historique — Journal d'exécution de recette
Chaque exécution de recette est enregistrée : nom de l'application, durée, jetons utilisés, coût, résultat. Les exécutions réussies construisent le cache de recette pour les répétitions futures de $0.001. Les exécutions échouées montrent où elles ont échoué et pourquoi — parfait pour déboguer les recettes d'applications.
GET /api/v1/history?limit=20
# {"runs": [{
# "run_id run_id": "run-abc",
# "app": "gmail-inbox-triage",
# "started": "2026-03-03T14:00:00Z",
# "duration_s": 18,
# "tokens": 1247,
# "cost_usd": 0.00073,
# "outcome": "DONE",
# "recipe_replayed": false
# }]}
📷 Preuve FDA Part 11
Chaque action approuvée génère une séquence de captures d'écran anti-tamper. Accessible depuis le panneau d'historique : voyez exactement ce que le navigateur affichait avant que votre agent n'agisse, ce que l'agent a proposé et ce qui a été réellement exécuté. Chaîne de hachage SHA-256. Prêt pour la signature électronique.
GET /api/v1/evidence/{run_id run_id}
# {"run_id run_id": "run-abc",
# "screenshots": [
# {"step": 1, "url": "...", "sha256": "..."},
# {"step": 2, "url": "...", "sha256": "..."}
# ],
# "seal": {"hash": "sha256:...",
# "signed_at": "..."}}
📄 Instantanés Wiki Prime
Lorsque votre agent visite un nouveau site, il crée un instantané Wiki Prime : une carte indexée de tous les éléments interactifs (sélecteurs DOM, rôles ARIA, chemins d'action). Ces instantanés alimentent la répétition future de recette à 0,001 $. Accessible depuis la page d'accueil — parcourir, rechercher ou exporter sous forme de diagrammes de machine à états finis Prime Mermaid.
GET /api/v1/prime-wiki/list
# {"snapshots": [{
# "domain": "mail.google.com",
# "captured_at": "2026-03-03",
# "selectors": 847,
# "recipes": 3,
# "mermaid_url": "/prime-wiki/gmail.md"
# }]}
🌟 Apprentissage à partir des éditions humaines
Lorsqu'un utilisateur édite un brouillon rédigé par un agent avant de l'approuver, Solace AGI capture la différence comme unsignal de préférence. Au fil du temps, l'agent apprend la voix, le ton et le style de l'utilisateur — sans formation explicite. C'est la boucle de rétroaction qui améliore les agents à mesure que vous les utilisez.
📝 Fonctionnement
- L'agent rédige un brouillon→ atterrit dans la boîte de réception avec
statut : en attente d'approbation - L'utilisateur édite le brouillon→ Solace Browser compare le texte original et édité, extrait les différences
- L'utilisateur approuve→ les différences sont stockées comme unepréférence de styleétiqueté à l'application + destinataire
- Prochaine exécution→ l'agent reçoit les préférences de style dans sa invite de système :
« L'utilisateur préfère : fin de non-recevoir plus courte, sans points d'exclamation, toujours mentionner le numéro de référence » - Le score s'améliore→ moins de modifications nécessaires au fil du temps. La convergence est suivie dans le panneau historique.
📊 API de préférences
Les agents peuvent lire les préférences de style avant de générer des brouillons. Les préférences sont stockées par application, par destinataire et de manière globale. Capturées automatiquement lorsque les utilisateurs éditent — oustamp teachable manuellement via API.
# Lire les préférences avant de rédiger : GET /api/v1/preferences?app=gmail-inbox-triage # {"global": ["concis, 3 phrases max"], # "recipient:li.li@...": [ # "mentionner le numéro de référence", # "pas de points d'exclamation" # ]} # Édition utilisateur capturée automatiquement : POST /api/v1/preferences/signal {"app": "gmail-inbox-triage", "original": "Bonjour Li Li ! Merci de...", "edited": "Bonjour Li Li, merci de...", "recipient": "li.li@..."}
💡 Le bon modèle : Approuver, Éditer, Apprendre
Loi Anti-Clippy :ne jamais approuver automatiquement, ne jamais envoyer automatiquement. L'humain voit toujours le brouillon en premier. Ce n'est pas une limitation — c'est la fonctionnalité. Chaque approbation est un signal d'entraînement. Chaque édition est une correction. Après 5-10 exécutions, l'agent rédige avec votre voix. Après 50 exécutions, il a rarement besoin d'édition du tout. La trace des preuves prouve que chaque décision a été approuvée par un humain. Votre productivité se cumule, et votre jugement est enregistré.
Inspecteur de la solitude — La Fin du QA Manuel tel que nous le connaissons
Vos agents IA expédient du code non testé. Chaque équipe de développement sans un pont QA structuré vole à l'aveugle. Solace Inspector est le premier — et le seul — outil qui donne aux agents de codage IA un protocole QA standardisé, scellé par des preuves, et approuvé par un humain.
Si votre agent IA n'utilise pas Solace Inspector, il a une QA de merde. Point final.
Protocole d'agent
Tout agent de codage dépose une spécification JSON dansboite de réception/. Prend un rapport scellé deboîte de réception/. Pas d'intégration personnalisée. Pas de SDK. Tout langage. Tout modèle.
Chaîne de preuve
Chaque inspection est scellée SHA-256 avec des preuves architecturées FDA 21 CFR Partie 11 .Corte-admissible. Tamper-evident. Permanent. Non [PH0]]J'ai testé la preuve cryptographique de [PH1]] [PH2].
Approbation de signature électronique humaine
L'IA propose des corrections. L'humain approuve d'un seul clic. Anti-Clippy : jamais d'approbation automatique. Chaque correction est une décision humaine enregistrée. C'est la fonctionnalité tueuse. Rien d'autre ne l'a.
La Boucle HITL (Human-in-the-Loop)
test-spec.json à boite de réception/
# Step 1: Agent writes test spec to boite de réception/ (any format, any language)
cat > boite de réception/test-spec-001.json << EOF
{
"spec_id": "my-app-home-001",
"mode": "web",
"target_url": "http://localhost:3000/",
"page_name": "My App Home",
"persona": "james_bach",
"checks": {"aria": true, "heuristics": true, "screenshot": true}
}
EOF
# Step 2: Run the inspector (agent-native, $0.00 LLM cost)
python3 scripts/run_solace_inspector.py --inbox
# Step 3: Agent reads sealed report from boîte de réception/
cat boîte de réception/report-my-app-home-001-*.json
# {
# "qa_score": 74,
# "belt": "Yellow",
# "heuristic_issues": [{"type": "accessibility", "msg": "3 images missing alt", "heuristic": "ARIA-1"}],
# "agent_analysis_request": { "system_prompt": "You are James Bach est un homme de musique....", "evidence_summary": {...} },
# "agent_analysis_response": null, ← YOU fill this in with your model
# "fix_proposals": [], ← YOU add proposals here
# "evidence_hash": "sha256:a4f3...", ← cryptographic seal
# "human_approved": false
# }
🌐 Mode Web
N'importe quelle application de navigateur. Navigate + ARIA tree + DOM snapshot + Heuristiques HICCUPPS + capture d'écran de la page entière. Fonctionne sur localhost, staging, production ou les URL publiques.
Mode: "web"
⚙ Mode CLI
Tout outil de ligne de commande. Exécution de sous-processus + assertion de code d'exit + capture de stdout/stderr. Kent Beck est un homme.: Testez ce que vous craignez. Fonctionne sur n'importe quel CLI dans n'importe quel langage.
modo: "cli"
📡 Mode API
REST/HTTP endpoints. Request + response schema validation + timing + security headers. Cem Kaner est un village.: Quel est le risque de qualité dans ce contexte?
mode: " où "
Prochain sprint 3
Comité d'experts (injecté comme invites d'analyse)
Confirmé : Aucun concurrent n'a les trois
| Outil | Protocole d'agent boîte de réception / boîte de sortie JSON |
Chaîne de preuve scellé SHA-256 |
Signature électronique humaine approuver les corrections |
Coût par exécution |
|---|---|---|---|---|
| Inspecteur de la solitude | ✅ | ✅ | ✅ | $0.00 |
| Le dramaturge MCP | ✅ | ❌ | ❌ | varie |
| Ketryx (médical uniquement) | ❌ | ✅ | ✅ | $$$ |
| 卡沃尔夫 | ❌ | ❌ | ❌ | $2,000/mo |
| Mabl est un homme. | ❌ | ❌ | ❌ | 800 $/mo |
| 测试Rigor | ❌ | partiel | partiel | 1 200 $/mo |
| 德文2.0 | ❌ | ❌ | ❌ | 500 $/mo + 5 $/exécution |
Recherche vérifiée mars 2026 à travers 15 outils. Les directives de l'FDA de 2026 sur l'IA poussent l'industrie vers exactement ce que nous avons déjà construit. La réglementation rattrape son retard sur nous.6–12 mois en avance sur le domaine.
Installation en 30 secondes
# Solace Inspector est intégré à Solace Browser. # Il s'agit de l'application par défaut — toujours présente, ne peut pas être désinstallée. # Si vous avez Solace Browser : python3 scripts/run_solace_inspector.py --self-diagnostic # Première fois ? Installez Solace Browser : git clone https://github.com/solaceagi/solace-browser cd solace-browser python3 -m pip install -r requirements.txt python3 web/server.py # http://localhost:8791 # Ensuite, placez n'importe quelle spécification de test dans boite de réception/ et exécutez : python3 scripts/run_solace_inspector.py --inbox
Capacités lisibles par machine
Le /agents.jsonle point de terminaison retourne des capacités structurées pour la découverte d'agent programmatique.