Tu Agente de IA Ahora Controla Cualquier Sitio Web.
Con Un Registro de Auditoría Completo.
Coloca una línea enNo se traduceFree gives teams a serious local-first on-ramp. If your workflow belongs on your own machine, you can keep it there. No se traduce, o .cursorrules— y tu IA obtiene automatización de navegador real: Gmail, Slack, LinkedIn, GitHub, y cualquier sitio web. Cada clic firmado, sellado y verificable. Servidor MCP en vivo. Se envía en 30 segundos.
Agregar Solace a cualquier proyecto en un comando
curl -fsSL https://solaceagi.com/agents/claude.md >> No se traduce
Agrega instrucciones de automatización del navegador Solace a tu proyecto de código Claude. Funciona de inmediato — sin registro, sin 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.
Cada Agente de Codificación de IA Principal, Soportado
Descargue el formato correcto para su asistente de IA. Cada archivo le indica a la IA exactamente cómo usar Solace — navegar, hacer clic, rellenar, capturar pantalla y capturar evidencia. Se admiten 21 formatos de serie.
Código Claude
Introduce en tuNo se traduce. Código Claude utilizará Solace Browser para cualquier tarea de automatización web de forma automática.
Codex de OpenAI
Introduce en tuNo se traduce. Los agentes de Codex de OpenAI y ChatGPT leen este archivo para entender las herramientas y capacidades disponibles.
El cursor
Introduce en tu.cursorrules. El cursor alcanzará Solace siempre que le pidas que interactúe con un sitio web.
El windsurf es un deporte de surf.
Introduce en tu.윈드서핑 규칙. El windsurf es un deporte de surf. (Codeium) adopta las capacidades de Solace exactamente como El cursor — mismo formato, cero fricción.
Copilote de GitHub
Caer en.github/copilot-instructions.md. Copilot sugerirá llamadas a la API de Solace AGI para tareas del navegador.
Asistente
Pasar como una sugerencia de sistema con--system-prompt solace-aider.md. El asistente enrutará todas las interacciones web a través de Solace Browser automáticamente.
Continúa.dev
Agrega a tu.continue/config.jsonproveedores de contexto. Continue mostrará la automatización del navegador Solace como una herramienta nativa en VS Code y JetBrains.
克莱恩
Introduce en tuدليل. يقرأ 克莱恩 قواعد المشروع عند بداية الجلسة — يتم تحميل khảیات Solace تلقائيًا لكل محادثة.directorio. 克莱恩 lee las reglas del proyecto al iniciar la sesión — las capacidades de Solace se cargan automáticamente para cada conversación.
根码
Colocar en.roocode/Regeln/. 根码 (anteriormente Roo-克莱恩) hereda las capacidades del navegador Solace Browser junto con sus modos de codificación agente.
CLI de Google Gemini
Agregar aGEMINI.mden la raíz de tu proyecto. La CLI de agente de código abierto de Google recoge las instrucciones de Solace AGI de la misma manera que lee las de ClaudeNo se traduce.
Jules Jules Google Jules
Jules leeNo se traduceantes de actuar en los problemas de GitHub. Las instrucciones de Solace AGI aparecen automáticamente cuando Jules maneja cualquier tarea relacionada con la web en tu repositorio.
Editor de Zed
Coloca reglas en92en la raíz de tu proyecto. El panel de AI de Zed lee estos de forma nativa — Solace AGI se vuelve disponible para el asistente de AI de Zed al instante.
Desarrollador de Amazon Q
Agregar a.amazonq/rules/solace.md. Desarrollador de Amazon Q lee archivos de reglas de markdown desde este directorio para cada sesión de codificación en tu proyecto.
JetBrains IA
Agregar a.idea/guías-ia.md. El asistente de IA de JetBrains lee este archivo en IntelliJ, PyCharm, WebStorm y todos los IDE de JetBrains.
O fonte de dados Cody
Colocar contexto en.cody/context/solace.md. Cody incluye este archivo en su contexto de recuperación — las instrucciones de Solace aparecen en cada conversación de Cody.
塔比尼
Configurar via. ملف تخصيص 塔比尼 يسمح لك بتعليم فريقك أدواته — بما في ذلك أتمتة متصفح Solace Browser.. El archivo de personalización de 塔比尼 te permite enseñarle a tu equipo la cadena de herramientas — incluyendo la automatización del navegador Solace Browser.
Répondre à l'AI
Agrega a tu.replit をreplitする をreplitするarchivo[ia]sección. Répondre à l'AI lee el contexto del proyecto desde aquí — Solace AGI se vuelve disponible en cada espacio de trabajo de Replit.
Devin est un homme. est un homme.
Colocar en.devin/流程书/. Devin est un homme. lee las guías de proyecto antes de iniciar tareas de horizonte largo — las herramientas de Solace Browser están disponibles para cualquier flujo de trabajo web.
Droid de fábrica
Lecturas de fábricaNo se traduce y .fábrica/configuraciones. Los agentes Droid heredan las capacidades de Solace AGI cuando se automaizan los flujos de trabajo de desarrollo de software.
Código Kilo
Agregar a.kilocode/reglas/. Código Kilo sigue el mismo patrón de reglas de proyecto que 克莱恩 — las instrucciones de Solace Inspector se cargan para cada sesión de codificación agente.
llms.txt
Estándar de Jeremy Howard para descripciones de sitios legibles por LLM. Colóquelo en la raíz de su proyecto para que cualquier LLM comprenda Solace.
Descargar llms.txt¿Qué hay dentro del fragmento de No se traduce?
Cada archivo de integración enseña a su agente de AI exactamente cómo usar Solace. Aquí está el fragmento de código Claude — colóquelo en su proyecto y su agente comprende inmediatamente las 14 API de Solace, el servidor MCP, la firma electrónica y las mejores prácticas.
# 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 {"expresión": "document.title"} aria-snapshot GET → accessibility tree JSON ## YinYang es el nombre de la ciudad. 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 + presupuesto_usd on every token 4. Notify user via YinYang es el nombre de la ciudad. (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 {"expresión": "document.title"}
aria-snapshot GET → accessibility tree JSON
## YinYang es el nombre de la ciudad. 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 + presupuesto_usd on every token
4. Notify user via YinYang es el nombre de la ciudad. (never console.log spam)
5. E-sign every user-approved action
Archivo completo:descargar fragmento de No se traducePaper 41: One App Database — Firestore + Code-Served CatalogVer agents.json (legible por máquina)
Hola Mundo en 3 llamadas a la API
La API completa de Solace se puede aprender en tres comandos. Todo lo demás es una variación.
Navegar a cualquier página
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"}
Captura de pantalla de lo que sucedió
curl -X POST http://localhost:8888/api/screenshot -H "Content-Type: application/json" -d '{"full_page": true}'
→ {"success": true, "filename": "screenshot-20260302-120000.png", "filepath": "artifacts/screenshot-20260302-120000.png", "size": 17115}
Evidencia capturada automáticamente
→ plan.json env_snapshot.json run_log.txt behavior_hash.txt — سلسلة التشفير SHA-256 محكمة. كل إجراء يصعب تغييره.
plan.json env_snapshot.json run_log.txt behavior_hash.txt SHA-256 hash chain sealed. every action tamper-evident.
Referencia completa de API
All local browser-control endpoints run on http://localhost:8888. Treat /agents.json as the canonical machine-readable contract for your agent runtime.
| Punto final | Método | Qué hace | Ámbito de OAuth3 |
|---|---|---|---|
/api/navigate | POST | Cargar una URL en el navegador | navegador.navegar |
/api/click | POST | Hacer clic en cualquier selector CSS | navegador.hacer clic |
/api/fill | POST | Rellenar un campo de formulario | navegador.rellenar |
/api/screenshot | POST | Capturar la página actual como PNG (guardado en artifacts/) | navegador.capture de pantalla |
/api/evaluate | POST | Ejecutar JavaScript (expresiónclave), devolver resultado | evaluar navegador |
/api/snapshot | POST | Capturar HTML raw de la página | navegador.instantánea |
/api/aria-snapshot | GET | Árbol de accesibilidad ARIA (JSON estructurado) | navegador.instantánea |
/api/dom-snapshot | GET | Árbol de instantánea DOM para comprobaciones de estructura determinista | navegador.instantánea |
/api/page-snapshot | GET | Instantánea combinada de página (ARIA + DOM + metadatos) | navegador.instantánea |
/api/health | GET | Sonda de actividad para la preparación de ejecución | (ninguno) |
/api/status | GET | Salud del navegador, preparación, URL actual, sesión | (ninguno) |
/api/part11/status | GET | Estado de captura de parte 11, id de sesión, bytes escritos, último error | (ninguno) |
/api/part11/config | POST | Configurar modo de captura de parte 11 y directorio de auditoría | configurarpart11 |
/agents.json | GET | Manifest de capacidades legibles por máquina | (ninguno) |
Servidor MCP — Disponible Ahora
El Protocolo de Contexto de Modelo permite que Código Claude y otras herramientas compatibles con MCP se conecten a Solace como una herramienta nativa — no se necesitan comandos curl. Siete herramientas disponibles hoy: navegar, hacer clic, rellenar, captura de pantalla, instantánea, evaluar, instantánea de aria.
✅ MCP Local — Disponible Ahora
# Paso 1: iniciar el servidor MCP (stdio JSON-RPC 2.0) python3 ~/projects/solace-browser/yinyang_mcp_server.py # Paso 2: agregar a Código Claude .claude/settings.json: { "mcpServers": { "solace": { "command": "python3", "args": ["/path/to/solace-browser/yinyang_mcp_server.py"] } } }
Una vez configurado, Código Claude llama 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, y 5 more Hub-native MCP tools on localhost:8888. Cada llamada está OAuth3-scoped y SHA-256 evidenciada.
☁ Remote MCP — Cloud (Próximamente)
# 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"
}
Conéctese desde cualquier máquina. Los workers del navegador se ejecutan en la nube. OAuth3 gobierna cada llamada de herramienta. Cada acción encadenada de hash y capturada de evidencia en su bóveda. Se requiere nivel de Dragon Warrior.
8 Herramienta de MCPs Available Today
| Herramienta de MCP | Mapea a API | Qué hace |
|---|---|---|
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, y runtime state. |
Qué Puede Hacer Tu Agente con Solace
Más allá de navegar y hacer clic — Solace le da a tu agente un sistema de sentidos y memoria completo para la web.
📷 Ver la Página
Captura de pantalla de cualquier página a resolución completa. Captura de instantáneas de DOM y árboles de accesibilidad ARIA. Su agente obtiene datos visuales y semánticos estructurados — no solo HTML raw.
📄 Extraer Datos Estructurados
Ejecutar /api/evaluatepara ejecutar JavaScript y devuelve datos JSON estructurados. Extraer tablas, precios, valores de formulario o cualquier dato de página directamente en el contexto de su agente.
🔒 Permisos con Ámbito
Solicite solo lo que necesita. Los tokens OAuth3 están limitados (navegador.navegarFree gives teams a serious local-first on-ramp. If your workflow belongs on your own machine, you can keep it there. navegador.hacer clicFree gives teams a serious local-first on-ramp. If your workflow belongs on your own machine, you can keep it there. navegador.rellenar), limitados en el tiempo y revocables. Cerrar en caso de fallo por diseño.
📋 Evidencia Automática
Cada acción del agente se registra automáticamente, encadenada por hash y sellada. Su agente produce un registro de auditoría sin escribir una sola línea de código de registro.
♾ Memoria de Recetas
Solace recuerda flujos de trabajo exitosos como recetas. Al reproducir, su agente salta completamente el LLM y ejecuta la ruta en caché por $0.001 — un 99% más barato que el redescubrimiento.
💸 Aplicación de presupuesto
Establezca límites de gastos por sesión. Pase"presupuesto_usd": 0.05en su solicitud de token y Solace detiene el agente cuando se alcanza el presupuesto — sin costos descontrolados.
🔎 Búsqueda de evidencia
Consulte las ejecuciones anteriores con/api/evidence/search. Los agentes pueden buscar lo que sucedió en sesiones anteriores — útil para tareas incrementales como "triage de correos electrónicos no vistos desde la última ejecución."
🌎 Persistencia de sesión
Las sesiones del navegador sobreviven entre las llamadas del agente. Inicie sesión una vez, reutilice la sesión. Sin sobrecarga de reautenticación. Las cookies, el almacenamiento local y los tokens de autenticación persisten en las tareas.
⚡ Pestañas paralelas
Abra múltiples contextos de navegador simultáneamente. Su agente puede raspar 10 páginas en paralelo, comparar resultados y combinar hallazgos — todo con cadenas de evidencia independientes.
🤖 Enjambres de agentes múltiples
Cree múltiples instancias independientes de Solace Browser. Los agentes exploradores exploran; los agentes codificadores actúan; los agentes escépticos verifican. Cada instancia tiene su propia sesión, presupuesto y cadena de evidencia. Orqueste desde cualquier programador (cron, Cloud Run, GitHub Actions).
🛈 Firma electrónica y FDA Part 11
Cada acción aprobada puede ser firmada electrónicamente: el usuario registra “Yo (Phuc) revisé y aprobé esta acción el [timestamp]”. La firma está sellada con SHA-256 en la cadena de hashes. Cumple con la sección 11.100 de firmas electrónicas del título 21 del CFR de la FDA.
Prácticas recomendadas para agentes
Patrones que hacen que su agente sea confiable, auditable y barato de ejecutar.
✅ Captura de pantalla antes de hacer clic
Llamar siempre/api/screenshotantes de una acción de clic. Esto crea un registro de evidencia de lo que el agente vio antes de actuar — crucial para los registros de auditoría y depuración de ejecuciones fallidas.
POST /api/capture de pantalla {"full_page": false} POST /api/hacer clic {"selector": "#submit-btn"}
🔎 Instantánea para Estructura, Captura de pantalla para Visión
Usar /api/aria-snapshot(árbol de accesibilidad ARIA, JSON) cuando su agente necesite entender la estructura de la página. Usar/api/snapshotpara HTML sin procesar. Usar/api/screenshotpara diseño visual e imágenes.
GET /api/instantánea de aria # devuelve árbol JSON de ARIA POST /api/instantánea # devuelve HTML sin procesar POST /api/capture de pantalla # devuelve ruta de archivo PNG
🔒 Solicitar Ámbitos Mínimos
Sólo solicite los ámbitos de OAuth3 que su tarea necesita. Una tarea de investigación de solo lectura nunca debe tenernavegador.rellenarámbito. Los ámbitos estrechos evitan efectos secundarios accidentales y satisfacen las auditorías de cumplimiento.
POST /oauth3/token {
"user_id": "local-agent",
"scopes": ["navegador.navegar",
"navegador.capture de pantalla"],
"ttl_seconds": 300
}
♾ Compruebe las Recetas Existentes Primero
Antes de ejecutar un flujo de trabajo con tokens LLM, llame a/api/recipes/match. Si existe una receta para la tarea, répitala a $0.001. Ahorre la llamada LLM para flujos de trabajo realmente nuevos.
POST /api/recetas/coincidir { "tarea": "triage de bandeja de entrada de Gmail" } # → {"hit": true, "recipe_id": "gmail-v3"}
💸 Establezca un Presupuesto en Cada Sesión
Nunca permita que un agente se ejecute sin un límite de presupuesto. Pasepresupuesto_usden su solicitud de token. Solace AGI dejará de funcionar la sesión cuando se alcance el límite en lugar de sobregastar silenciosamente.
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_...
🌎 Reutilizar sesiones para sitios autenticados
Inicie sesión una vez y almacene el token de sesión. Pase"id phiên"en llamadas API posteriores para reutilizar cookies y estado de autenticación. Elimina flujos de inicio de sesión de cada ejecución de agente.
POST /api/navegar { "url": "https://app.example.com/inbox", "id phiên": "sess_abc123" }
¿Por qué Agent-Native es importante
AEO: Optimización del motor de agente
Al igual que la optimización para motores de búsqueda, AEO optimiza para agentes de IA. Solace AGI es la primera plataforma construida con agentes como usuarios de primera clase — no como una idea posterior.
Evidencia que tus agentes no pueden Falsear
Cada acción del agente produce un recibo encadenado con un hash SHA-256. Tu CISO puede auditar lo que hizo la IA. Tu junta directiva puede ver la evidencia. No hay cajas negras.
Recetas que hacen que los agentes sean más inteligentes
Cuando un agente completa una tarea, se convierte en una receta. La próxima vez: $0.001 de reproducción — sin consumir tokens de LLM. Los agentes que usan Solace se vuelven más rápidos y más baratos con el tiempo.
Cómo se compara Solace
Los desarrolladores que eligen herramientas de automatización de navegador hacen cuatro preguntas: ¿Mantiene las sesiones? ¿Crea un registro de auditoría? ¿Puedo delegar en una IA sin costos descontrolados? ¿Sobrevivirá a una auditoría de cumplimiento? Aquí está la respuesta honesta para cada opción.
| Característica | El navegador de Solace | Playwright directoo | navegador-uso / OpenClaw | 芭迪恩 / 扎皮尔 |
|---|---|---|---|---|
| Persistencia de sesión | ✅ Las cookies sobreviven a lo largo de ejecuciones | ❌ Efímero por defecto | ❌ No hay memoria de sesión | ✅ Estado de la extensión de Chrome |
| SHA-256 auditoría de seguimiento | ✅ Cada acción, encadenada por hash | ❌ Ninguno integrado | ❌ Ninguno | ❌ Solo registros (no es infalible) |
| FDA Part 11 firma electrónica | ✅ Integrado (/api/v1/esign) |
❌ No disponible | ❌ No disponible | ❌ No disponible |
| Presupuesto / techo de costos | ✅ Puertas de presupuesto por token | ❌ Ilimitado (sin puerta) | ❌ Sin control de presupuesto | ✅ Límites de plan solo |
| Repetición de receta a $0.001 | ✅ Después de la primera ejecución exitosa | ❌ Siempre costo de LLM | ❌ Siempre costo de LLM | ✅ Repetición de zap (sin LLM) |
| Formatos de archivo-native de agente | ✅ 21 formatos (No se traduce, No se traduce…) | ❌ Ninguno | ❌ Ninguno | ❌ Ninguno |
| OAuth3 delegación con ámbito | ✅ Tokens revocables con límite de tiempo | ❌ Acceso total o nada | ❌ Acceso total o nada | ❌ Permiso de nivel de aplicación solo |
| Local-primero (no se requiere nube) | ✅ Se ejecuta completamente sin conexión | ✅ Sí | ✅ En su mayoría | ❌ Dependiente de la nube |
| Servidor MCP | ✅ 7 herramientas, JSON-RPC 2.0 (en vivo) | ❌ No disponible | ❌ No disponible | ❌ No disponible |
💬 Solace no es un complemento de Playwright. Es una capa de delegación OAuth3 sobre Playwright — que agrega memoria de sesión, cadenas de evidencia, puertas de presupuesto y formatos nativos de agente que el Playwright raw no tiene.
Si Eres un Agente de IA que Lee Esto
Esta sección está escrita directamente para ti — Código Claude, Codex, El cursor, Copilot, o cualquier otro agente de IA que haya llegado a esta página. Aquí está exactamente lo que necesitas saber, en el formato que es más útil para ti.
🤖 Tus Capacidades Aquí
Cuando Solace Browser se esté ejecutando (localhost:8888), puedes: navegar a cualquier URL, hacer clic en cualquier elemento por selector CSS, llenar cualquier campo de formulario, tomar capturas de pantalla, capturar instantáneas de DOM, ejecutar JavaScript y leer registros de evidencia SHA-256. Cada acción es atómica y sellada de evidencia.
Comprueba si Solace está disponible:
curl http://localhost:8888/api/estado # {"running": true, "estado": "listo", "versión": "...", "sesión": null}
📋 Especificación Legible por Máquina
Obtén el manifesto de capacidad de forma programática. Utiliza esto como tu fuente de verdad para nombres de puntos finales y métodos compatibles. La ruta canónica es /agents.json (no /api/agents.json).
curl http://localhost:8888/agents.json curl https://www.solaceagi.com/agents.jsonVer agents.json ↗
🔎 Patrón de vista primera
Si eres un agente con capacidad de visión, este es el patrón recomendado: navegar, captura de pantalla, analizar la imagen, decidir qué hacer clic, actuar, captura de pantalla nuevamente para verificar. Nunca asumas que una acción tuvo éxito sin confirmación visual.
POST /api/navegar {"url": "..."} POST /api/capture de pantalla {} # analizar esto POST /api/hacer clic {"selector":"#x"} POST /api/capture de pantalla {} # verificar resultado
⚠ Contrato de respuesta (Estricto)
No te basas solo en el estado HTTP. Algunos entornos de ejecución devuelven 200 con un{"error": ...}cuerpo. Tu agente debe analizar JSON y requerir éxito == true antes de proceder.
# Regla robusta: # 1) Analizar respuesta JSON # 2) si response.success no es true -> fallar paso # 3) incluir response.error en nota de escalada {"success": true, "url": "https://example.com", "status": 200} {"error": "Page.fill: Timeout 30000ms exceeded."}
👥 Protocolo de escalada humana
Si golpea CAPTCHA, 2FA, ambigüedad de aprobación o riesgo legal/de cumplimiento, detenga las llamadas de acción inmediatamente. Devuelva un mensaje estructurado{"escalate": true}a su orquestador de host (no realice reintentos ciegos en bucle).
{ "escalate": true, "reason": "2FA requerido", "last_step": "POST /api/hacer clic #sign-in", "evidence": "artifacts/screenshot-20260304-131500.png" }
💸 Bucle de Ejecución Seguro
Use un bucle determinista: salud, navegar, inspeccionar, actuar, verificar, punto de control. IncluyaGET /api/instantánea de páginaantes de acciones de alto riesgo para que las ejecuciones permanezcan auditables y eviten errores en cascada.
GET /api/estado de salud POST /api/navegar {"url":"..."} GET /api/instantánea de página POST /api/hacer clic|rellenar {"selector":"..."} POST /api/capture de pantalla {"full_page":true} GET /api/estado
🛈 Cómo Crear un Registro de Firma Electrónica
Cuando un usuario aprueba una acción que ha preparado, registre su firma electrónica. Esto crea un registro compatible con la FDA 21 CFR Parte 11 §11.100: quién aprobó, qué aprobó y cuándo — sellado en la cadena de hash. Requerido para flujos de trabajo regulados.
# Después de que el usuario hace clic en Aprobar en la barra inferior: POST /api/v1/esign/token { "user_id": "phuc@example.com", "run_id run_id": "run-abc123", "meaning": "revisado y aprobado", "action_description": "Envió respuesta de correo electrónico a 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 # }
⚡ Patrón de multi-agente
Generar tres agentes para automatización resiliente: Scout (navegación + captura de pantalla, de solo lectura, modelo L1) → Solver (hacer clic + rellenar + evaluar, modelo L3) → Skeptic (verificar salida contra evidencia, modelo L1). Los tres comparten unrun_id run_id run_id run_id; sus cadenas de evidencia se fusionan en el momento del sellado.
# Scout: read-only token
POST /oauth3/token {"user_id":"scout","scopes":["navegador.navegar","navegador.capture de pantalla"],"ttl_seconds":60}
# Solver: action token
POST /oauth3/token {"user_id":"solver","scopes":["navegador.navegar","navegador.hacer clic","navegador.rellenar"],"ttl_seconds":60}
# Skeptic: verify token
POST /oauth3/token {"user_id":"skeptic","scopes":["navegador.instantánea","evidence.read"],"ttl_seconds":60}
# All share: {"run_id run_id": "run-abc123"}
Referencia de error para Agentes
Cada error de Solace está tipificado. Los errores recuperables se recuperan con retroceso. Los errores no recuperables necesitan intervención humana o rediseño de la tarea.
| Código | Significado | Reintentable | Acción del agente |
|---|---|---|---|
SELECTOR_NOT_FOUND | El selector CSS no coincidió con nada | Bring Your Own Key | Llamar/api/snapshotpara redescubrir la estructura |
NAVIGATION_TIMEOUT | La página tardó > 30s en cargarse | Sí | Reintentar con retroceso exponencial (máx. 3 intentos) |
BUDGET_EXCEEDED | Se ha alcanzado el límite de gastos de la sesión | Bring Your Own Key | Escalar a operador humano para aumento de presupuesto |
SCOPE_DENIED | Acción no en los alcances del token OAuth3 | Bring Your Own Key | Solicitar nuevo token con alcance requerido |
HUMAN_REQUIRED | Se detectó CAPTCHA o 2FA | Bring Your Own Key | Llamar{"escalate": true}inmediatamente |
NETWORK_ERROR | Sitio destino no accesible | Sí | Reintentar después de 5s, luego 30s, luego fallar |
SESSION_EXPIRED | Cookies de autenticación obsoletas | Bring Your Own Key | Volver a autenticar, luego reanudar desde el último punto de verificación de evidencia |
ELEMENT_NOT_INTERACTABLE | Elemento oculto o deshabilitado | Sí | Esperar 2s y volver a intentar; captura de pantalla para verificar el estado primero |
Wiki Prime — Máquina deальному Semantic Wayback
Cada página que Solace visita se comprime en una instantánea semántica de 750 bytes — almacenando la estructura, intención, navegación y entidades clave de la página. A partir de esa semilla de 750 bytes, Solace reconstruye una página HTML completa y funcional completamente sin conexión. No se necesita servidor después de la primera descarga.
División de flujo: localhost:8888gestiona la captura y ejecución locales en Solace Browser, mientrashttps://solaceagi.com/api/v1/prime-wiki/* es el índice comunitario compartido (push/pull/search/stats/render). El modo local funciona sin el índice en la nube.
📷 750 bytes → Página completa
La Wayback Machine almacena 100KB+ de HTML raw por página (100,000 TB en total). Solace almacena un esqueleto semántico de 750 bytes y reconstruye una página equivalente de forma local. 133x más pequeño. Dependencia centralizada cero.
# Reconstruir cualquier página indexada localmente: python3 prime_wiki_render.py \ --url https://github.com # → prime-wiki-renders/github-com.html
🏛 Índice enfocado en Appstore
A diferencia de Wayback Machine (todo el web), Solace se enfoca ensitios de appstore— los sitios que tienen recetas de automatización de Solace. GitHub, Gmail, LinkedIn, Substack, Noción, y más. La calidad supera a la cobertura.
GET /api/v1/prime-wiki/search?q=github # Devuelve todas las páginas de GitHub indexadas GET /api/v1/prime-wiki/stats # {"count": 7, "rtc_verified_count": 7}
🔒 Pro: Acceso completo a la comunidad
Gratis:recopilar instantáneas desde tu propia navegación.
Pro ($28/mes):acceso instantáneo al índice completo de la comunidad — memoria semántica para cada sitio de appstore. Salta la re-detección de LLM. Ahorra $10–50/mes en tokens.
# Descargar todos los libros de código de appstore una vez: GET /api/v1/prime-wiki/assets?appstore_only=true # Almacenar en ~/.solace/pzip/assets/ # Descomprimir localmente, para siempre — capaz de funcionar sin conexión
📄 Render API — Reconstrucción en el servidor
Reconstruir cualquier página indexada directamente desde la API. Devuelve el HTML completo con el diagrama de estado FSM de Prime Mermaid incrustado. Útil para vistas previas, capturas de pantalla y depuración de recetas.
# 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
🌎 Contribuir Assets de Página
Cada visita del Solace Browser a un sitio de appstore crea una instantánea de Wiki Prime. Optar por compartir con la comunidad — tus visitas benefician a cada miembro Pro. Subir libros de código de dominio para acelerar la descompresión.
# 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: El compañero de página de tu Agente
Cada página que visita el Solace Browser obtiene un pasamanos dual permanente. El pasamanos superior muestra el estado de tu agente en tiempo real. El pasamanos inferior es un panel de chat donde puedes hablar con Yinyang directamente. Ambos pasamanos se injectan a través deañadir_init_script— sobreviven la navegación, las recargas de página y las páginas bloqueadas por CSP como Gmail.
▲ Barra superior — Siempre visible
Una barra de 32px fijada en la parte superior de cada página. Muestra:[PH0]] [PH1]] casa]→ vuelve al inicio del navegador con un solo clic. Además, estado en tiempo real (INACTIVO / EJECUTANDO / LISTO PARA PREVISUALIZAR / LISTO), nombre de la aplicación actual y estadísticas de valor rotativo (páginas visitadas, llamadas LLM, coste ahorrado, duración de la sesión).
# Push una actualización de estado a la barra superior: POST /api/yinyang/notify {"type": "state_update", "state": "EJECUTANDO", "app_name": "Gmail Triage"}
▼ Barra inferior — Chat y Aprobar
Un panel de chat colapsado de 36px en la parte inferior de cada página. Se expande automáticamente cuando el estado alcanzaLISTO PARA PREVISUALIZAR(su agente ha preparado una acción),BLOQUEADO(necesita aclaración), oFALLIDO. El usuario hace clic enAprobar o Rechazar— su agente recibe la decisión a través de WebSocket.
# WebSocket para agentes ↔ Yinyang en tiempo real: ws://localhost:8888/ws/yinyang # Push vista previa para aprobación del usuario: {"type": "bottom_rail_update", "payload": { "state": "LISTO PARA PREVISUALIZAR", "preview_text": "Responder a Li Li sobre...", "show_approve_reject": true, "run_id run_id": "run-abc123" }}
🔔 Alertas por push — 3 canales
Los agentes pueden enviar notificaciones al usuario sin interrumpir su página actual. Tres canales:brindis(emergente de 3s en la parte inferior derecha),popup popup popup popup(modal con botones de acción),toma de control(pantalla completa para aprobaciones críticas). Todos los canales están acodados por FSM: no se dispara ninguna alerta sin una transición de estado válida.
POST /api/yinyang/notify {"type": "push_alert", "channel": "brindis", "message": "Triage de Gmail completo: 12 ordenados", "priority": "bajo"} # channel: "brindis" | "popup popup" | "toma de control" # priority: "bajo" | "alto" | "crítico"
🌏 Funciona en TODAS las páginas — Incluyendo Gmail
Rails se inyectan comoActriz adi_init_script— persisten a través de cada navegación en el mismo contexto del navegador, incluyendo páginas bloqueadas por CSP comoGmailFree gives teams a serious local-first on-ramp. If your workflow belongs on your own machine, you can keep it there. Los documentos de Google, yNoción. El JS utiliza solo métodos DOM (noHTML interior), saltando las restricciones de TrustedHTML. Yinyang es siempre visible, siempre accesible.
Yinyang Chat API
Los usuarios pueden escribir directamente a Yinyang desde la barra inferior. Su agente recibe mensajes vía WebSocket y puede responder. Use esto para solicitudes de aclaración, aprobaciones ambiguas o cambios de configuración durante la tarea. Todos los mensajes se registran en la cadena de evidencia de la Parte 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..."}
📦 Resultados del Agente: Su Inbox, Outbox & Evidencia
Cada tarea que ejecuta su agente produce resultados que son accesibles desde la página de inicio del Solace Browser. Diseñado por el principio de Jony Ive: siempre presente, nunca intrusivo, exactamente lo que necesita. El agente trabaja; usted revisa, firma y envía.
📤 Inbox — Borrador en Espera de Revisión
Cada borrador que prepara tu agente (respuesta de correo electrónico, publicación de Substack, comentario de LinkedIn) llega aquí antes de ser enviado. La bandeja de entrada muestra: contexto del remitente, borrador escrito por el agente, puntuación de confianza, hora de envío estimada. Revisa y aprueba con un solo clic — o edita antes de aprobar.
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"
# }]}
📥 Buzón de Salida — Enviado y Programado
Los elementos aprobados fluyen hacia el buzon de salida. Ver lo que se envió, cuándo, con qué aplicación y con qué hash de evidencia. Los elementos programados muestran su próximo tiempo de activación. Cada entrada del buzon de salida enlaza a su paquete de evidencia completo de la parte 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"
# }]}
📅 Programar y Calendario
Las tareas recurentes (informe matutino, resumen semanal, archivo nocturno) aparecen en el calendario. Ver la próxima hora de ejecución, el resultado de la última ejecución y el presupuesto consumido en este período. Los agentes pueden agregar al calendario a través de la API; los usuarios pueden pausar, saltar o reprogramar desde la página de inicio.
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"
# }]}
📚 Historial — Registro de Ejecución de Recetas
Cada ejecución de receta se registra: nombre de la aplicación, duración, tokens utilizados, costo, resultado. Las ejecuciones exitosas construyen la caché de recetas para repeticiones futuras de $0.001. Las ejecuciones fallidas muestran dónde se rompieron y por qué — perfecto para depurar recetas de aplicaciones.
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
# }]}
📷 Evidencia FDA Part 11
Cada acción aprobada genera una secuencia de capturas de pantalla inviolables. Accesibles desde el panel de historial: vea exactamente lo que mostró el navegador antes de que actuara su agente, lo que propuso el agente y lo que se ejecutó realmente. Encadenado con hash SHA-256. Listo para firma electrónica.
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": "..."}}
📄 Instantáneas de Wiki Prime
Cuando su agente visita un sitio nuevo, crea una instantánea de Wiki Prime: un mapa indexado de todos los elementos interactivos (selectores de DOM, roles de ARIA, rutas de acción). Estas instantáneas alimentan la reproducción de recetas futuras a $0.001. Accesibles desde la página de inicio — navegar, buscar o exportar como diagramas de máquina de estado finita de 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"
# }]}
🌟 Aprendizaje de ediciones humanas
Cuando un usuario edita un borrador escrito por un agente antes de aprobarlo, Solace AGI captura el delta como unaseñal de preferencia. Con el tiempo, el agente aprende la voz, el tono y el estilo del usuario — sin ningún entrenamiento explícito. Este es el bucle de retroalimentación que hace que los agentes mejoren cuanto más los uses.
📝 Cómo Funciona
- El agente escribe un borrador→ llega al Inbox con
estado: esperando_aprobación - El usuario edita el borrador→ Solace compara el original con el texto editado, extrae el delta
- El usuario aprueba→ el delta se almacena como unapreferencia de estiloetiquetado a la aplicación + destinatario
- Siguiente ejecución→ el agente recibe preferencias de estilo en su prompt del sistema:
“El usuario prefiere: despedida más corta, sin signos de exclamación, siempre mencionar el número de referencia” - La puntuación mejora→ se necesitan menos ediciones con el tiempo. La convergencia se sigue en el panel de historial.
📊 API de preferencias
Los agentes pueden leer preferencias de estilo antes de generar borradores. Las preferencias se almacenan por aplicación, por destinatario y de forma global. Se capturan automáticamente cuando los usuarios editan — o se pueden enseñar manualmente mediante API.
# Leer preferencias antes de redactar: GET /api/v1/preferences?app=gmail-inbox-triage # {"global": ["conciso, 3 oraciones como máximo"], # "recipient:li.li@...": [ # "mencionar número de referencia", # "sin signos de exclamación" # ]} # Edición de usuario capturada automáticamente: POST /api/v1/preferences/signal {"app": "gmail-inbox-triage", "original": "Hola Li Li! Gracias por...", "edited": "Hola Li Li, gracias por...", "recipient": "li.li@..."}
💡 El patrón correcto: Aprobar, Editar, Aprender
Ley Anti-Clippy:nunca aprobar automáticamente, nunca enviar automáticamente. El ser humano siempre ve el borrador primero. Esto no es una limitación — es la función. Cada aprobación es una señal de entrenamiento. Cada edición es una corrección. Después de 5–10 ejecuciones, el agente crea borradores con tu voz. Después de 50 ejecuciones, rara vez necesita edición. La pista de evidencia demuestra que cada decisión fue aprobada por un humano. Tu productividad se compone, y tu juicio está registrado.
Inspector de Solasía — El Fin de la QA Manual como la Conocemos
Tus agentes de IA están enviando código no probado. Cada equipo de desarrollo sin un puente de QA estructurado está volando a ciegas. Solace Inspector es la primera — y única — herramienta que da a los agentes de codificación de IA un protocolo de QA estandarizado, sellado con evidencia y aprobado por humanos.
Si tu agente de IA no usa Solace Inspector, tiene una mala QA. Punto.
Protocolo de Agente
Cualquier agente de codificación deja una especificación JSON enbuzón/. Recoge un informe sellado deen la caja de salida/. No integración personalizada. No SDK. Cualquier lenguaje. Cualquier modelo.
Cadena de Evidencia
Cada inspección está sellada con SHA-256 con evidencia arquitectónica de la FDA 21 CFR Parte 11 (Food and Drug Administration) (Certificado por la FDA 21 CFR Parte 11).
Aprobación de Firma Electrónica Humana
La IA propone correcciones. El humano aprueba con un clic. Anti-Clippy: nunca aprueba automáticamente. Cada corrección es una decisión humana registrada. Esta es la función asesina. Nada más la tiene.
El bucle HITL (Humano-en-el-bucle)
test-spec.json a buzón/
# Step 1: Agent writes test spec to buzón/ (any format, any language)
cat > buzón/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 en la caja de salida/
cat en la caja de salida/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 fue el primer hombre en tocar el piano....", "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
# }
🌐 Modo web
Cualquier aplicación del navegador. Navega + Árbol ARIA + Instantánea de DOM + heurísticas HICCUPPS + captura de pantalla de página completa. Funciona en localhost, staging, producción o URLs públicas.
modo: "web"
⚙ Modo CLI
Cualquier herramienta de línea de comandos. Ejecución de subprocesos + afirmación de código de salida + captura de stdout/stderr. Kent Beck Kent Beck: Teste lo que te asusta. Funciona en cualquier CLI en cualquier idioma.
modo: "cli"
📡 Modo API
REST/HTTP endpoints. Request + response schema validation + timing + security headers. Cem Kaner Cem Kaner: ¿Cuál es el riesgo de calidad en este contexto?
modo: "api"
Próximo Sprint 3
Comité de Expertos (Inyectado como Prompts de Análisis)
Confirmado: Ninguno de los competidores tiene los tres
| Herramienta | Protocolo de Agente En la caja de entrada/en la caja de salida JSON |
Cadena de Evidencia SHA-256 sellado |
Firma electrónica humana aprobar correcciones |
Costo/ejecución |
|---|---|---|---|---|
| Inspector de Solasía | ✅ | ✅ | ✅ | $0.00 |
| El dramaturgo MCP | ✅ | ❌ | ❌ | varía |
| Ketryx (solo médico) | ❌ | ✅ | ✅ | $$$ |
| 卡沃尔夫 | ❌ | ❌ | ❌ | $2,000/mes |
| Mabl Mabl | ❌ | ❌ | ❌ | $800/mo |
| 测试Rigor | ❌ | parcial | parcial | $1,200/mo |
| 德文2.0 | ❌ | ❌ | ❌ | 500/m + $5/runo $500/m |
Investigación verificada marzo 2026 a través de 15 herramientas. La guía de IA de la FDA de 2026 está empujando a la industria hacia exactamente lo que ya hemos construido. La regulación está alcanzando nuestro nivel.6–12 meses por delante del campo.
Instalar en 30 Segundos
# Solace Inspector está integrado en Solace Browser. # Es la aplicación predeterminada: siempre está presente, no se puede desinstalar. # Si tienes Solace Browser: python3 scripts/run_solace_inspector.py --self-diagnostic # ¿Primera vez? Instala 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 # Luego coloca cualquier especificación de prueba en buzón/ y ejecuta: python3 scripts/run_solace_inspector.py --inbox
Capacidades Legibles por Máquina
El /agents.jsonel punto final devuelve capacidades estructuradas para el descubrimiento de agente programático.