Documentacion de Symbiont¶
Runtime de agentes gobernado por politicas para produccion. Ejecute agentes de IA y herramientas bajo controles explicitos de politicas, identidad y auditoria.
Que es Symbiont?¶
Symbiont es un runtime nativo en Rust para ejecutar agentes de IA y herramientas bajo controles explicitos de politicas, identidad y auditoria.
La mayoria de los frameworks de agentes se centran en la orquestacion. Symbiont se centra en lo que sucede cuando los agentes necesitan ejecutarse en entornos reales con riesgo real: herramientas no confiables, datos sensibles, limites de aprobacion, requisitos de auditoria y aplicacion repetible.
Como funciona¶
Symbiont separa la intencion del agente de la autoridad de ejecucion:
- Los agentes proponen acciones a traves del bucle de razonamiento (Observe-Reason-Gate-Act)
- El runtime evalua cada accion contra verificaciones de politica, identidad y confianza
- La politica decide — las acciones permitidas se ejecutan; las denegadas se bloquean o se derivan para aprobacion
- Todo se registra — rastro de auditoria a prueba de manipulacion para cada decision
La salida del modelo nunca se trata como autoridad de ejecucion. El runtime controla lo que realmente sucede.
Capacidades principales¶
| Capacidad | Que hace |
|---|---|
| Motor de politicas | Autorizacion granular con Cedar para acciones de agentes, llamadas a herramientas y acceso a recursos |
| Verificacion de herramientas | Verificacion criptografica SchemaPin de esquemas de herramientas MCP antes de la ejecucion |
| Identidad de agentes | Identidad ES256 anclada al dominio con AgentPin para agentes y tareas programadas |
| Bucle de razonamiento | Ciclo Observe-Reason-Gate-Act con aplicacion de typestate, compuertas de politicas y circuit breakers |
| Sandboxing | Aislamiento basado en Docker con limites de recursos para cargas de trabajo no confiables |
| Registro de auditoria | Registros a prueba de manipulacion con registros estructurados para cada decision de politica |
| Gestion de secretos | Integracion con Vault/OpenBao, almacenamiento cifrado AES-256-GCM, con alcance por agente |
| Integracion MCP | Soporte nativo de Model Context Protocol con acceso gobernado a herramientas |
Capacidades adicionales: escaneo de amenazas para contenido de herramientas/habilidades, programacion cron, memoria persistente de agentes, busqueda RAG hibrida (LanceDB/Qdrant), verificacion de webhooks, enrutamiento de entregas, telemetria OTLP, endurecimiento de seguridad HTTP, adaptadores de canal (Slack/Teams/Mattermost), y plugins de gobernanza para Claude Code y Gemini CLI.
Inicio rapido¶
Instalacion¶
Script de instalacion (macOS / Linux):
Homebrew (macOS):
Docker:
Desde fuente:
Los binarios precompilados tambien estan disponibles en GitHub Releases. Consulte la Guia de inicio para mas detalles.
Su primer agente¶
agent secure_analyst(input: DataSet) -> Result {
policy access_control {
allow: read(input) if input.verified == true
deny: send_email without approval
audit: all_operations
}
with memory = "persistent", requires = "approval" {
result = analyze(input);
return result;
}
}
Consulte la guia DSL para la gramatica completa incluyendo bloques metadata, schedule, webhook y channel.
Scaffolding de proyecto¶
symbi init # Configuracion interactiva de proyecto con plantillas de perfil
symbi run agent # Ejecutar un solo agente sin iniciar el runtime completo
symbi up # Iniciar el runtime completo con auto-configuracion
Arquitectura¶
graph TB
A[Policy Engine — Cedar] --> B[Core Runtime]
B --> C[Reasoning Loop — ORGA]
B --> D[DSL Parser]
B --> E[Sandbox — Docker]
B --> I[Audit Trail]
subgraph "Scheduling"
S[Cron Scheduler]
H[Session Isolation]
R[Delivery Router]
end
subgraph "Channels"
SL[Slack]
TM[Teams]
MM[Mattermost]
end
subgraph "Knowledge"
J[Context Manager]
K[Vector Search]
L[RAG Engine]
MD[Agent Memory]
end
subgraph "Trust Stack"
M[MCP Client]
N[SchemaPin]
O[AgentPin]
SK[Threat Scanner]
end
C --> S
S --> H
S --> R
R --> SL
R --> TM
R --> MM
C --> J
C --> M
J --> K
J --> L
J --> MD
M --> N
C --> O
C --> SK
Modelo de seguridad¶
Symbiont esta diseñado en torno a un principio simple: la salida del modelo nunca debe ser confiada como autoridad de ejecucion.
Las acciones fluyen a traves de controles del runtime:
- Confianza cero — todas las entradas de agentes son no confiables por defecto
- Verificaciones de politica — autorizacion Cedar antes de cada llamada a herramienta y acceso a recursos
- Verificacion de herramientas — verificacion criptografica SchemaPin de esquemas de herramientas
- Limites de sandbox — aislamiento Docker para ejecucion no confiable
- Aprobacion del operador — compuertas de revision humana para acciones sensibles
- Control de secretos — backends Vault/OpenBao, almacenamiento local cifrado, namespaces de agentes
- Registro de auditoria — registros criptograficamente a prueba de manipulacion de cada decision
Consulte la guia del Modelo de seguridad para mas detalles.
Guias¶
- Inicio — Instalacion, configuracion, primer agente
- Modelo de seguridad — Arquitectura de confianza cero, aplicacion de politicas
- Arquitectura del runtime — Internos del runtime y modelo de ejecucion
- Bucle de razonamiento — Ciclo ORGA, compuertas de politicas, circuit breakers
- Guia DSL — Referencia del lenguaje de definicion de agentes
- Referencia de API — Endpoints HTTP API y configuracion
- Programacion — Motor cron, enrutamiento de entregas, colas de mensajes muertos
- Entrada HTTP — Servidor de webhooks, autenticacion, limitacion de velocidad
Comunidad y recursos¶
- Paquetes: crates.io/crates/symbi | npm symbiont-sdk-js | PyPI symbiont-sdk
- SDKs: JavaScript/TypeScript | Python
- Plugins: Claude Code | Gemini CLI
- Issues: GitHub Issues
- Licencia: Apache 2.0 (Community Edition)
Proximos pasos¶
Modelo de seguridad
Comprenda los limites de confianza y la aplicacion de politicas.
Guia de seguridad