现在很多 Agent 项目只解决“让模型调用工具”这一层问题。Symbio 关注的是更靠后的工程问题:
- 任务跑到一半失败了,状态怎么恢复?
- Agent 要删除文件、执行代码、调用外部系统时,谁来审批?
- 多个 Agent 协作时,怎么避免互相传话造成成本爆炸?
- 记忆能不能不只是向量检索,而是带结构、关系和可视化的本体图谱?
- Codex、Claude Code 这类现有工具已经在跑,Symbio 能不能接管它们的会话、审计它们的行为?
- 运行轨迹能不能反哺 SOP、评测集、微调数据和 Prompt 优化?
Symbio 的答案是:把 Agent 能力拆成可观测、可审批、可恢复、可验证的基础设施模块。
Symbio 当前采用四层架构:
| 层级 | 作用 | 主要模块 |
|---|---|---|
| 接入层 | 把 CLI、Web UI、外部会话和 IM 审批统一接入 | CLI、FastAPI、Web UI、IM Bot、外部 Agent 控制 |
| 调度中枢 | 任务理解、DAG 编排、模型路由、风险判断 | Orchestrator、DAG Runtime、Router、Planner/Reviewer |
| 执行层 | 多 Agent 执行、SubAgent 协作、工具调用、结果汇总 | BaseAgent、SubAgent、Debate、Execution Store |
| 基础层 | 工具、记忆、配置、安全、观测和进化能力 | Sandbox、Memory、Ontology、HITL、Telemetry、Evolution |
Symbio 不把任务固定成一条静态链,而是把任务拆成可持久化的执行图。执行过程中可以记录节点状态、事件、产物和重规划决策,为失败恢复、任务审计和 UI 可视化提供基础。
相关代码:
src/symbio/core/dag_runtime.pysrc/symbio/core/dag_orchestrator.pysrc/symbio/core/replanner.pytests/test_dag_runtime.py
高风险任务先规划,再审查,再执行。Symbio 内置 workflow policy,用来约束 Agent 不要跳过计划、审批和验证步骤,减少“说完成但没验证”的问题。
相关代码:
src/symbio/core/planner_reviewer.pysrc/symbio/core/workflow_policy.pydocs/agent-workflow-policy.md
HITL 不是简单弹窗,而是可持久化的审批网关。Symbio 支持 Web、Webhook、QQ/OneBot、企业微信、飞书等审批入口,也支持文本命令:
同意 req-20260609-001
拒绝 req-20260609-001 风险太高
approve req-20260609-001
reject req-20260609-001 too risky
审批通过后,Orchestrator 可以从挂起状态恢复;审批拒绝则进入取消或补偿路径。
相关代码:
src/symbio/core/hitl_gateway.pysrc/symbio/core/hitl_notifier.pysrc/symbio/interfaces/api.pytests/test_hitl_notifier.py
Symbio 的记忆不只是一组向量片段。项目内置 ontology memory,把概念、实体、关系和属性组织成可查询、可展示的图谱。Web UI 可以展示本体节点和关系,帮助用户看到“系统到底记住了什么”。
相关代码:
src/symbio/memory/ontology.pysrc/symbio/memory/auto_populator.pyweb/app.js
Symbio 支持在 CLI 和 Web UI 中配置模型池,并通过任务复杂度、用户配置和模型策略决定路由。对话界面也支持模型选择,避免模型写死在后端配置里。
相关代码:
src/symbio/core/router.pysrc/symbio/config/settings.pysrc/symbio/interfaces/api.pyweb/app.js
Symbio 有独立的 Skill schema、注册表、市场索引和安装记录。当前重点是本地浏览、搜索、导入和安装记录;远程私有仓库、签名校验、依赖安装和沙箱执行还在继续完善。
相关代码:
src/symbio/skills/schema.pysrc/symbio/skills/registry.pysrc/symbio/skills/marketplace.pytests/test_marketplace_api.py
Symbio 已有 MCP stdio JSON-RPC 工具桥接和配置发现能力,目标是让标准 MCP 工具可以被 Agent 统一挂载。当前属于部分实现,后续还需要补连接池、资源协议、鉴权和 UI 挂载。
相关代码:
src/symbio/tools/mcp.pytests/test_mcp_config.py
Symbio 可以登记并控制本地 Codex、Claude Code 等外部 Agent 会话,也支持导入外部 transcript。这个能力适合把现有编码 Agent 纳入统一的审批、沙箱、审计和可视化控制面。
相关代码:
src/symbio/tools/external_agents.pysrc/symbio/tools/external_transcripts.pydocs/external-agent-control.mdtests/test_external_agents.pytests/test_external_transcript_import.py
沙箱层支持访问模式、审批策略、权限等级和审计接口。当前已经有本地 sandbox executor、API 和测试;Docker/K8s 级别的强隔离路径已经预留,但生产级网络隔离和 Pod 生命周期管理还需要继续补齐。
相关代码:
src/symbio/tools/sandbox.pysrc/symbio/tools/k8s_sandbox.pytests/test_sandbox_runtime.py
Symbio 有 trace、metric、token heatmap、执行事件和 artifact 的接口基础。目标是把每一次 Agent 决策、工具调用、审批、失败和恢复都变成可复盘的数据。
相关代码:
src/symbio/core/tracer.pysrc/symbio/core/cost_monitor.pysrc/symbio/tools/cost_tracker.pytests/test_capabilities.py
Symbio 的演进模块围绕轨迹捕获、失败分析、SOP 蒸馏、评测集、数据集导出和微调闭环展开。当前已有数据导出、SOP、eval pipeline 和 API 基础,真实训练后端仍在补。
相关代码:
src/symbio/evolution/sop_distiller.pysrc/symbio/evolution/dataset_exporter.pysrc/symbio/evolution/eval_pipeline.pysrc/symbio/evolution/fine_tuner.pytests/test_evolution_api.py
项目内置了可运行的能力账本,README、白皮书和 UI 可以用它来区分“已实现、部分实现、规划中”。
| 能力 | 状态 | 说明 |
|---|---|---|
| 动态 DAG 运行时 | 已实现 | 图状态持久化、执行事件、重规划骨架 |
| Planner/Reviewer 策略 | 已实现 | 先规划、风险审查、验证闭环 |
| HITL + IM 审批 | 已实现 | Web、Webhook、QQ/企业微信/飞书文本审批入口 |
| 本体记忆图谱 | 已实现 | ontology memory + API + Web UI 展示 |
| 模型池与模型路由 | 已实现 | 模型配置、路由策略、对话模型选择 |
| 外部 Agent 接管 | 已实现 | Codex / Claude Code 会话登记、运行、导入 transcript |
| Skills 市场 | 部分实现 | 本地市场与安装记录已具备,远程生态待完善 |
| MCP 工具网关 | 部分实现 | stdio JSON-RPC 桥接已具备,协议面待补齐 |
| 沙箱与 K8s 路径 | 部分实现 | 本地沙箱已具备,生产级隔离待加强 |
| OpenTelemetry 可观测 | 部分实现 | trace/token heatmap 基础已具备,部署模板待补 |
| 数据飞轮 | 部分实现 | SOP、导出、eval 基础已具备,训练后端待补 |
| Ray Actor 运行时 | 部分实现 | 本地 fallback 和依赖路径已有,集群调度待产品化 |
| A2A 协议 | 规划中 | 需要 adapter、schema、handshake 和兼容测试 |
| Computer Use Loop | 规划中 | 需要浏览器控制、截图理解、动作规划和审计 |
运行接口:
curl http://localhost:9090/api/capabilities对应代码:
src/symbio/capabilities.pytests/test_capabilities.py
pip install symbio
symbio init
symbio serve --port 9090打开 Web UI:
http://localhost:9090/ui
git clone https://github.com/854875058/Symbio.git
cd Symbio
pip install -e ".[dev,server,ml,otel]"
symbio init
symbio serve --port 9090symbio chat "帮我分析这个项目的测试缺口" --model claude-sonnet-4
symbio task list
symbio memory store --title "项目约束" --content "生产环境默认需要人工审批高危操作"
symbio export --format sharegpt --output data/exports/train.jsonl当前 Web UI 覆盖了这些主要页面和工作流:
- 对话:会话管理、模型选择、流式回答、历史消息持久化。
- 任务:任务列表、状态、步骤、DAG、执行事件和 artifacts。
- 模型:模型池配置、API Key 保存、连接测试。
- 记忆:记忆搜索、写入、统计、本体图谱展示。
- Skills:本地 Skill、市场浏览、导入、安装记录、文件查看与编辑。
- HITL:审批列表、审批详情、同意/拒绝、IM channel 状态。
- 外部 Agent:Codex / Claude Code session 登记、运行、transcript 导入。
- 沙箱:命令执行、权限策略、审批策略、审计记录。
- 可观测性:trace summary、token heatmap、运行指标入口。
- 能力账本:把项目宣称能力和实际证据放到前端展示。
部分核心接口:
| 接口 | 用途 |
|---|---|
GET /api/health |
服务健康检查 |
GET /api/capabilities |
能力账本 |
POST /api/chat |
普通对话 |
WS /ws/chat |
流式对话 |
GET /api/tasks |
任务列表 |
GET /api/tasks/{task_id}/dag |
任务 DAG |
GET /api/executions/{execution_id} |
执行详情 |
GET /api/models / POST /api/models |
模型池 |
GET /api/memory / POST /api/memory/store |
记忆管理 |
GET /api/ontology |
本体图谱 |
GET /api/skills/marketplace |
Skills 市场 |
POST /api/hitl/submit |
提交审批 |
POST /api/hitl/im-callback |
IM 审批回调 |
POST /api/sandbox/execute |
沙箱执行 |
POST /api/external-agents/sessions/{session_id}/run |
外部 Agent 执行 |
POST /api/export/conversations |
对话数据集导出 |
初始化后会生成 symbio.yaml。推荐通过 Web UI 或环境变量管理真实密钥,不要把生产 Key 提交进仓库。
最小配置示例:
model:
anthropic_api_key: ""
anthropic_base_url: "https://api.anthropic.com"
openai_api_key: ""
openai_base_url: "https://api.openai.com/v1"
model_low: "claude-3-5-haiku-latest"
model_medium: "claude-sonnet-4-20250514"
model_high: "claude-opus-4-20250514"
server:
host: "0.0.0.0"
port: 9090
hitl:
enabled: true
high_risk_auto_suspend: true
approval_timeout: 300| 方向 | 技术 |
|---|---|
| 后端 | Python 3.10+、FastAPI、Typer、Pydantic v2、aiosqlite |
| Agent 调度 | asyncio、DAG Runtime、Planner/Reviewer、Execution Store |
| 记忆 | LanceDB、NetworkX、本体图谱、SQLite 持久化 |
| 工具 | MCP、Sandbox、K8s sandbox path、External Agent adapters |
| 前端 | 原生 Web UI、HTML/CSS/JavaScript、WebSocket |
| 观测 | OpenTelemetry API path、trace summary、token heatmap |
| 扩展 | Ray、Kubernetes、Playwright、LiteLLM、OpenAI、Anthropic |
| 文档 | 说明 |
|---|---|
| 功能检查表 | 能力实现状态和后续 TODO |
| 架构设计 | 四层架构、安全、HITL、数据飞轮 |
| 模块白皮书 | 模块边界和工程设计 |
| 外部 Agent 接管 | Codex / Claude Code 会话控制 |
| Agent 工作流策略 | 计划、审查、验证工作流 |
| PyPI 发布说明 | 打包、构建、发布流程 |
| 路线图 | 分阶段开发规划 |
pip install -e ".[dev]"
pytest常用专项测试:
pytest tests/test_capabilities.py
pytest tests/test_hitl_notifier.py
pytest tests/test_external_agents.py
pytest tests/test_sandbox_runtime.py
pytest tests/test_dag_runtime.pySymbio 仍处于 Alpha 阶段。核心调度、HITL、记忆、外部 Agent 接管、沙箱和 Web UI 已经形成可运行骨架;企业级部署、安全隔离、远程 Skill 生态、完整 MCP 协议面、A2A 和 Computer Use 还在持续实现。
这个 README 会尽量保持一个原则:已经落地的能力写成能力,部分落地的写清缺口,尚未实现的只放在路线图里。
MIT License. See LICENSE.
Symbio: AI Infra for controllable, observable, evolvable agents.

