Skip to main content

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.

✅ MCP En direct La FDA Partie 11 Architecturée ⚡ 21 formats d'agent 💰 $0.001 / répétition de tâche 🔎 $0.00 / exécution de QA

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.

25

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).

2

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.

3

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.

Téléchargez le snippet CLAUDE.md
💬

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.

Téléchargez le snippet AGENTS.md

Curseur

Déposez dans votre.cursorrules. Le curseur atteindra Solace AGI chaque fois que vous lui demandez d'interagir avec un site Web.

Télécharger .cursorrules
🏄

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.

Télécharger .윈드서핑 규칙

Copilot GitHub

Basculer dans.github/copilot-instructions.md. Copilot proposera des appels d'API Solace pour les tâches du navigateur.

Télécharger les instructions copilot

Asistente

Passer comme invite de système avec--system-prompt solace-aider.md. Asistente routera toutes les interactions Web via Solace Browser automatiquement.

Télécharger l'invite de système aider

Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev Continue.dev 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.

Télécharger la configuration Continue
📞

克莱恩

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.

Télécharger l'extrait .clinerules
🦕

根码

Placer dans.roocode/Regeln/. 根码 (anciennement Roo-克莱恩) hérite des fonctionnalités du Solace Browser ainsi que de ses modes de codage agentic.

Télécharger les règles 根码
🔭

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.

Télécharger l'extrait GEMINI.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.

Télécharger AGENTS.md pour Jules

É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.

Téléchargez l'extrait de règle Zed 92
🔹

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.

Téléchargez les règles Amazon Q
🎯

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.

Télécharger les lignes directrices de 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.

Télécharger le contexte 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.

Télécharger la configuration 塔比尼
🆕

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.

Télécharger l'extrait .replit を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.

Télécharger le playbook Devin est un homme.
🏭

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.

Télécharger la config d'usine
🔰

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.

Télécharger les règles Code Kilo

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.txt

Qu’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.

25

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"}
2

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}
3

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/navigatePOSTCharger une URL dans le navigateurnavigateur.navigate
/api/clickPOSTCliquez sur n'importe quel sélecteur CSSLe navigateur.clique
/api/remplirPOSTRemplir un champ de formulaireLe navigateur.fill
/api/capture_d_écranPOSTCapturer la page actuelle sous forme de PNG (sauvegardé dans artifacts/)Le navigateur.screenshot
/api/évaluerPOSTExécuter JavaScript (Expression d'Expression d'expressionclé), renvoyer le résultatbrowser.evaluate est une fonctionnalité de navigateur. est une fonctionnalité de navigateur.
/api/snapshotPOSTCapturer le HTML brut de la pageLe navigateur.snapshot
/api/aria-snapshotGETArbre d'accessibilité ARIA (JSON structuré)Le navigateur.snapshot
/api/dom-snapshotGETArbre d'instantané DOM pour les vérifications de structure déterministesLe navigateur.snapshot
/api/page-snapshotGETCapture de page combinée (ARIA + DOM + métadonnées)Le navigateur.snapshot
/api/healthGETSonde de disponibilité pour la préparation du runtime(aucun)
/api/statusGETÉtat de santé du navigateur, préparation, URL actuelle, session(aucun)
/api/part11/statusGETÉtat de capture de la partie 11, id de session, octets écrits, dernière erreur(aucun)
/api/part11/configPOSTConfigurer le mode de capture de la partie 11 et le répertoire d'auditPartie11.configure
/agents.jsonGETManifeste 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 MCPLes cartes vers l'APICe qu'il fait
detect_appsPOST /detectDetect which Solace apps are available for a URL.
list_appsGET /creditsList the apps currently loaded by the Hub.
create_schedulePOST /api/v1/browser/schedulesCreate a cron-backed schedule for a local Solace app.
list_schedulesGET /api/v1/browser/schedulesRead back all active Hub schedules.
delete_scheduleDELETE /api/v1/browser/schedules/{schedule_id}Remove a schedule by UUID.
record_evidencePOST /api/v1/evidenceAppend a structured audit event to the evidence chain.
list_evidenceGET /api/v1/evidencePaginate existing evidence records for review.
get_hub_statusGET /healthInspect 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.json
Afficher 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_FOUNDLe sélecteur CSS ne correspond à rienNonAppel/api/snapshotpour redécouvrir la structure
NAVIGATION_TIMEOUTLa page a pris > 30s pour chargerOuiRetry avec une baisse exponentielle (max 3 tentatives)
BUDGET_EXCEEDEDLimite de dépenses de session atteinteNonEscalade à un opérateur humain pour augmentation du budget
SCOPE_DENIEDAction non dans les étendues du token OAuth3NonDemande d'un nouveau token avec la portée requise
HUMAN_REQUIREDCAPTCHA ou 2FA détectéNonAppel{"escalate": true}immédiatement
NETWORK_ERRORLe site cible est injoignableOuiRéessayer après 5s, puis 30s, puis échouer
SESSION_EXPIREDLes cookies d'authentification sont obsolètesNonRéauthentifier, puis reprendre à partir du dernier point de vérification des preuves
ELEMENT_NOT_INTERACTABLEÉlément masqué ou désactivéOuiAttendez 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

  1. L'agent rédige un brouillon→ atterrit dans la boîte de réception avecstatut : en attente d'approbation
  2. L'utilisateur édite le brouillon→ Solace Browser compare le texte original et édité, extrait les différences
  3. L'utilisateur approuve→ les différences sont stockées comme unepréférence de styleétiqueté à l'application + destinataire
  4. 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 »
  5. 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é.

⚠ 0 CONCURRENTS ONT LES TROIS

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.

En direct
🔒

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].

En direct

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.

En direct
$0.00 / exécution Architecture native des agents. Zéro appels API LLM dans le runner. Votre agent AI lit le rapport scellé et applique sonpropremodèle pour l'analyse. L'intelligence reste avec votre agent.

La Boucle HITL (Human-in-the-Loop)

🤖 Votre Agent
Écrittest-spec.json à boite de réception/
🔎 Inspecteur
Navigate + ARIA + DOM + Heuristiques + Capture d'écran → rapport scellé
🤖 Votre Agent
Lit le rapport, l'analyse avec son propre modèle, propose des corrections
👤 Humain
Examine 3 corrections en 30 secondes. Clique sur Approuver. Terminé.
🔒 Coffre
Scellé SHA-256. Preuve publique. Conforme à la FDA. Pour toujours.
# 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)

James Bach est un homme de musique. est un homme de musique.
SBTM + HICCUPPS Oracle Heuristiques
« La plupart des outils vérifient. Solace Inspector teste. Il explore, apprend, escalate vers les humains lorsque le jugement est nécessaire. »
Cem Kaner est un village. est un village.
BBST + Test Contextuel-Dirigé
« La porte de signature électronique n’est pas une bureaucratie — c’est la responsabilité. Sans elle, vous ne savez pas qui a décidé quoi. »
Elisabeth Hendrickson est une femme. est une femme.
Explorez-le ! + Basé sur une Charte
« L’exploration basée sur une charte rendue lisible par machine. La spécification de test EST la charte. Le rapport EST la note de session. »
Kent Beck est un homme. est un homme.
TDD + Lens de Testabilité
« Testez ce que vous craignez. Avec Solace, vous pouvez tester n'importe quoi — web, CLI, API — avec le même protocole. »
Michael Bolton est un homme de bien. est un homme de bien.
RST + Testing vs. vérification
« Les machines vérifient. Les humains testent. Solace Inspector divise correctement le travail. Les deux laissent des preuves. »

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.

Afficher agents.json ↗