# Symbio Feature List

> AI Infra 级别的多 Agent 协同框架，聚焦解耦、高可用和可扩展性。
> 从"多 Agent 调度工具"升维为"具备自我进化能力、能在复杂/隔离环境中稳定运行的 AI 基础设施"。

---

## 0. 杀手级亮点 (Killer Features)

> 与同类开源竞品拉开代差的核心特性。

### 0.1 极致离线与私有化环境存活能力 (Air-gapped & Local-First)
> 很多企业级生产环境完全隔离外网，我们原生支持"无网环境"。

- [ ] 本地大模型平滑降级 — 检测外部 API 不可用时，无缝切换到本地局域网开源模型 (vLLM / Ollama)
- [ ] 全本地依赖闭环 — 记忆系统、工具链、调度引擎在无外网状态下完整运作
- [ ] 企业内网零改造部署 — 本地调试 → 内网生产环境一键平推

### 0.2 高质量数据集自动反哺机制 (Data Flywheel)
> 系统不仅在"做任务"，还在"沉淀数据资产"。

- [ ] 轨迹捕获 — 自动记录多 Agent 协同解决任务的完整链路 (Thought → Action → Observation → Result)
- [ ] 微调数据导出 — 自动清洗并格式化为标准数据集 (ShareGPT / Alpaca 格式)
- [ ] 越跑越值钱 — 系统运行越多，沉淀的高质量语料资产越丰富

### 0.3 细粒度主动可观测性 (Agentic Observability)
> 多 Agent 协同最大痛点是"黑盒化"，我们让一切透明。

- [~] 时空运行轨迹图 — Web UI 已可查看 execution graph / timeline / artifacts / workflow evidence，完整 Trace 交互体验仍在收尾
- [~] 记忆快照回放 — execution graph / graph version / workflow checkpoint 已持久化，面向用户的完整回放体验仍未闭环
- [x] Token 消耗热力图 — Tracer / Token heatmap 底座已实现

### 0.4 动态人类介入总线 (Human-in-the-Loop, HITL)
> 在自动化和安全性之间找到完美平衡。

- [x] 高危动作悬挂 — Orchestrator 可冻结高风险任务并在审批后恢复
- [x] IM 异步授权 — Web / API / QQ OneBot/Lagrange、企业微信 webhook、飞书签名自定义机器人发送与文本审批回调已接入
- [ ] 审批超时策略 — 超时自动拒绝/降级执行/转交其他管理员

### 0.5 MCP (Model Context Protocol) 原生支持
> 不自己造所有轮子，原生兼容最前沿的 MCP 协议。

- [ ] 标准化工具挂载 — 任何人写的标准 MCP 工具集，零配置直接挂载让所有 SubAgent 调用
- [ ] 工具生态接入 — 天气、数据库、云资源、第三方 API 等 MCP 工具即插即用
- [ ] 社区工具市场 (远期) — 共享与分发 MCP 工具集

### 0.6 并发流控与分布式速率限制 (LLM Rate Limiting & Concurrency Control)
> 多 Agent 系统最容易崩溃的不是代码，而是大模型 API。

- [ ] 令牌桶/漏桶算法网关 — 在 ModelRouter 层原生内置针对不同模型供应商的异步流控器
- [ ] 动态退避与抖动重试 (Exponential Backoff with Jitter) — 遇到 429 时智能等待错峰重试，确保长作业存活率
- [ ] RPM/TPM 预估与预检 — 派发 SubAgent 前预估总消耗，避免瞬间打爆限额

### 0.7 任务级"金融预算"与步数熔断 (Task Budgeting & Guardrails)
> Agent 自主性是双刃剑，可能死循环烧光 API 额度。

- [ ] 硬性预算熔断 (Cost Cap) — 用户提交任务时可指定 max_cost_usd，超过阈值立刻挂起并通知
- [ ] 最大步数限制 (Max Steps Guard) — 限制单次任务最大循环轮次（如 30 轮），防止逻辑死循环
- [ ] 实时成本仪表盘 — 可视化当前任务链的 Token 消耗和预估费用

### 0.8 从"黑名单"到"绝对沙箱"的安全平替 (Strict Sandbox Evolution)
> 黑名单防不住恶意或意外，需要物理隔离。

- [ ] 容器化/微型虚拟机隔离 — ShellTool 和 FileTool 原生支持运行在 Docker 容器或轻量级沙箱 (E2B, WASM)
- [ ] 显式高危权限分级 — 工具划分为 Read-Only（安全）、Write（敏感）、Execute（高危），高危强制绑定 HITL
- [ ] 最小权限原则 — Agent 默认只拥有完成任务所需的最小权限集

### 0.9 运行时状态持久化与断点续传 (State Persistence & Hydration)
> 复杂任务可能耗时数小时，中途断网/重启不能丢失进度。

- [ ] 图状态检查点 (Graph Checkpointing) — 在关键节点将任务 DAG 状态、短期记忆、执行日志序列化到 SQLite
- [ ] 断点唤醒 (Hydration) — 系统重启后一键恢复到崩溃前状态继续执行
- [ ] 手动快照 — 用户可主动保存当前执行状态，用于回滚或复用

### 0.10 自动化评测管道 (Agentic CI/CD & Eval Pipeline)
> 改了 A 处 Prompt，B 处 Agent 不能莫名变蠢。

- [ ] symbio eval 模块 — 编写测试集（输入任务 → 预期工具调用 → 预期输出）
- [ ] 合并前自动评测 — 代码合并或发布前自动评估模型路由、意图识别、工具调用准确率
- [ ] 回归检测 — 确保系统进化是正向的，而非退化

### 0.11 动态拓扑自适应与运行时重规划 (Dynamic DAG & Runtime Re-planning)
> 市面框架都是静态图，我们实现"兵无常势，水无常形"。

- [x] 完全动态 DAG — Orchestrator 默认路径已委托给 DAG-first runtime，初始 execution graph 来自 decomposition/planning
- [~] 运行时拓扑重构 — 已有 graph mutation records 与 replan decision 类型，运行时策略仍在扩展
- [~] 自适应执行 — 已支持 observation-driven replan 决策骨架，完整策略闭环仍在推进

### 0.12 上下文智能剪枝与 Prompt Cache 深度对齐 (Context Pruning & Cache Alignment)
> 长作业上下文膨胀导致费用飙升、注意力涣散，我们从底层工程优化。

- [ ] 语义剪枝 — 通过小模型或规则自动提取历史中的"决策关键点"和"状态增量"，裁剪无用中间体（原始 HTML、编译日志等）
- [ ] 缓存对齐布局 — 严格按 Claude 等模型的缓存前缀匹配规则设计短期记忆内存块布局
- [ ] 成本优化 — 确保长对话中 90%+ 静态前缀持续命中 Cache，斩断 50%+ 输入成本，卡死首字延迟 (TTFT)

### 0.13 多代理共识辩论与交叉验证 (Multi-Agent Debate & Cross-Verification)
> 高精度任务用"算力换确定性"，消灭幻觉。

- [ ] 三家分晋机制 — 高危/极高复杂度任务自动克隆 3 个 SubAgent（Proposer 创造者、Critic 批判者、Refiner 修正者）
- [ ] 多轮内生辩论 — 针对中间结果进行多轮辩论，直到达成共识或投票决定最终输出
- [ ] 交叉验证 — 不同系统提示词的 Agent 互相校验，用多样性消灭盲区

### 0.14 从向量到本体：长效记忆的本体化 (Ontology-Enhanced Memory)
> 向量检索只能找相似片段，本体(Ontology)理解领域概念层次与推理规则。

- [ ] Vector + Ontology 双驱动 — 长期记忆演进为向量+本体混合架构
- [ ] 概念层次定义 — 定义领域内的类(Class)、属性(Property)、关系(Relation)、约束(Constraint)
- [ ] 语义推理 — 基于本体推理规则自动推导隐含知识（如：A 依赖 B，B 依赖 C → A 间接依赖 C）
- [ ] 全景语义网 — 检索时通过本体关联把破碎向量片段编织成语义网络，赋予 Agent "常识常理联想能力"

### 0.15 Prompt Injection 防护引擎 (AI Security Firewall)
> 目前所有 Agent 框架最大的安全盲区，恶意输入可劫持 Agent 执行危险操作。

- [ ] 输入净化层 — 检测并拦截 Prompt Injection 攻击（角色劫持、指令覆盖、越狱尝试）
- [ ] 输出审计层 — 审计 Agent 输出是否包含敏感信息泄露或异常指令
- [ ] 意图偏离检测 — 监控 Agent 实际行为是否偏离用户原始意图
- [ ] 安全等级分级 — 不同安全等级下启用不同防护策略

### 0.16 语义缓存 (Semantic Cache)
> 相似请求复用结果，Token 成本直接砍到零。

- [ ] 向量相似度匹配 — "帮我写个快排" 和 "实现快速排序算法" 语义相同，结果可复用
- [ ] 结果缓存 — 缓存高频请求的 LLM 响应，直接返回
- [ ] 失效策略 — 基于时间、版本、上下文变更的智能缓存失效
- [ ] 与 Prompt Cache 深度整合 — 语义缓存 + 前缀缓存双重优化

### 0.17 多模态原生支持 (Multi-Modal Native)
> 不只是文本，图片/文档/音视频都是 Agent 的输入输出。

- [ ] 图片理解 — 截图分析、UI 审查、OCR 提取
- [ ] 文档解析 — PDF/Word/Excel 智能提取与结构化
- [ ] 音频转写 — 会议纪要、语音指令
- [ ] 统一多模态消息协议 — 任意模态输入 → 统一内部表示 → 任意模态输出

### 0.18 分布式链路追踪 (OpenTelemetry Integration)
> 多 Agent 系统的可观测性基础设施。

- [ ] 原生 OTel 集成 — 每个 Agent/工具调用都是一个 Span，整条 DAG 是一个 Trace
- [ ] 对接 Jaeger/Grafana/Prometheus — 企业级监控面板开箱即用
- [ ] 跨 Agent 链路关联 — 追踪从主 Agent → SubAgent → 工具调用的完整链路
- [ ] 性能瓶颈定位 — 自动发现 Token 消耗热点和延迟瓶颈

### 0.19 Prompt 版本管理与 A/B 测试 (PromptOps)
> Prompt 是代码，需要版本控制和灰度发布。

- [ ] Prompt 版本控制 — 每次 Prompt 修改都有 diff、可回滚、可审计
- [ ] A/B 测试框架 — 不同 Prompt/模型的在线对比测试
- [ ] 自动评估 — 基于评测集自动评估哪个版本效果更好
- [ ] 灰度发布 — 新 Prompt 按比例逐步放量

### 0.20 Agent 仿真测试沙箱 (Agent Simulation)
> 上线前在仿真环境中验证 Agent 行为。

- [ ] 场景模拟 — 模拟各种用户输入、工具失败、网络异常
- [ ] 边界行为发现 — 自动发现 Agent 的死循环、幻觉、越权操作
- [ ] 回归测试 — 确保 Prompt 修改不会导致已知场景退化
- [ ] 仿真报告 — 生成详细的测试覆盖率和风险评估报告

### 0.21 项目级隔离与多租户 (Project-Level Isolation)
> 每个项目独立的记忆、配置、维护，互不干扰。

- [ ] 项目级记忆隔离 — 每个项目拥有独立的 LanceDB 表和本体图谱
- [ ] 项目级配置隔离 — 每个项目独立的模型选择、工具权限、安全策略
- [ ] 项目级数据隔离 — 项目间数据物理隔离，支持项目导入/导出
- [ ] 项目级维护 — 独立的项目健康检查、备份恢复、版本管理

### 0.22 内置预制 Agent 与 Skills 仓库 (Built-in Agents & Skills Marketplace)
> 开箱即用的预制 Agent，社区共建的 Skills 生态。

- [ ] 预制 Agent 库 — UI 设计 Agent、代码审查 Agent、数据分析 Agent、文档撰写 Agent 等
- [ ] Skills 仓库 — 官方维护的 Skills 市场，社区贡献与共享
- [ ] Agent 模板系统 — 快速创建自定义 Agent 的脚手架
- [ ] 技能发现与组合 — 基于语义搜索动态发现和组合 Skills

### 0.23 前沿协议与标准兼容 (Cutting-Edge Protocol Support)
> 站在巨人肩膀上，兼容最前沿的行业标准。

- [ ] Agent-to-Agent (A2A) 协议 — 与 Google ADK、CrewAI 等外部 Agent 互通
- [ ] Structured Output — JSON Schema 强制约束 LLM 输出格式，确保下游可靠解析
- [ ] Computer Use — 屏幕截图 → 视觉理解 → GUI 操控闭环
- [ ] Agent Protocol (AG2) 兼容 — REST API 标准接口，对接外部生态
- [ ] 并行工具调用 — 支持 parallel tool calling，一次返回多个工具调用

### 0.24 防过早完成与测试驱动闭环 (Anti-Premature Completion & TDD Loop)
> 从根源解决"代理过早宣布完成"的行业顽疾。

- [ ] 强制 Tool Calling 结束 — Agent 必须调用 submit_task() 才能结束，绕过 EOS 提前停机
- [ ] 显式未完成清单 — JSON Checklist + 测试用例桩代码，将"完成"标准以代码固化
- [ ] 测试验证闭环 — Testing Agent 执行真实测试，用工程化结果取代模型主观判断
- [ ] 状态驱动通信 — Agent 间读写全局状态对象，消除对话传递，Token 成本降低 80%+
- [ ] 跨模型协同 — 执行层（Claude Sonnet）专注编码，审计层（Gemini Pro）端到端审查

### 0.25 项目级深度隔离与多租户 (Deep Project Isolation & Multi-Tenancy)
> 每个项目是独立的"记忆宇宙"，互不干扰。

- [ ] 记忆宇宙隔离 — 每个项目独立的 LanceDB 表、本体图谱、向量空间
- [ ] 配置继承与覆盖 — 全局配置 → 项目配置 → 任务配置三级继承
- [ ] 数据物理隔离 — 项目间数据完全隔离，支持导入/导出/备份/恢复
- [ ] 资源配额管理 — 每个项目独立的 Token 预算、存储配额、并发限制

### 0.26 Skills 标准化与生态系统 (Skills Standardization & Ecosystem)
> 让 Agent 能力可复用、可组合、可共享。

- [ ] Skill 标准格式 — 定义 Skill 的 JSON Schema（Prompt + Tools + Config + Tests）
- [ ] Skill 生命周期管理 — 注册、版本控制、依赖管理、废弃策略
- [ ] Skill 组合与编排 — 多个 Skill 可组合成复合 Skill
- [ ] Skill 市场 — 官方 + 社区共建的 Skill 生态

### 0.27 开发者体验优先 (Developer Experience First)
> 降低学习曲线，让开发者 5 分钟上手。

- [ ] 5 分钟 Quick Start — 一条命令启动，最小化配置
- [ ] 智能错误提示 — 错误信息包含原因、修复建议、文档链接
- [ ] 交互式调试 — CLI 支持断点、单步执行、状态查看
- [ ] 丰富的示例 — 覆盖常见场景的端到端示例项目
- [ ] 渐进式复杂度 — 简单用法简单，高级用法可选

### 0.28 Agent 自我进化与 Prompt 自优化 (Agent Self-Evolution)
> Agent 不仅执行任务，还能优化自己的 Prompt。

- [ ] Prompt 效果追踪 — 记录每次 Prompt 的成功率、Token 消耗、用户满意度
- [ ] 自动 Prompt 优化 — 基于历史数据自动调整 Prompt 措辞
- [ ] A/B 测试框架 — 在线对比不同 Prompt 版本的效果
- [ ] 进化日志 — 记录每次优化的原因和效果，可审计可回滚

### 0.29 隐私计算与数据安全 (Privacy Computing & Data Security)
> 企业级数据安全，数据不出域。

- [ ] 联邦学习支持 — 多方协作训练但数据不离开本地
- [ ] 差分隐私 — 在数据中添加噪声，保护个体隐私
- [ ] 数据脱敏引擎 — 自动检测并脱敏敏感信息（PII、密钥、凭证）
- [ ] 审计日志 — 所有数据访问操作可追溯

### 0.30 边缘计算与嵌入式 Agent (Edge Computing & Embedded Agent)
> Agent 不仅在云端，还能在边缘设备运行。

- [ ] 轻量级运行时 — 针对资源受限设备的精简版 Agent 运行时
- [ ] 移动端 SDK — iOS/Android 原生 SDK，支持端侧推理
- [ ] 离线优先架构 — 断网时自动切换到本地模型，联网后同步状态
- [ ] IoT 设备管理 — 通过 Agent 管理和协调 IoT 设备集群

### 0.31 Agent 内存管理与稳定性 (Memory Management & Stability)
> 长时间运行不崩溃，内存不泄漏。

- [ ] 内存监控 — 实时监控 Agent 内存使用，超过阈值自动告警
- [ ] 垃圾回收策略 — 自动清理过期的会话历史、缓存、临时文件
- [ ] 内存泄漏检测 — 自动检测并报告潜在的内存泄漏
- [ ] 资源限制 — 每个 Agent 的内存、CPU、磁盘使用上限

### 0.32 版本兼容性与平滑升级 (Version Compatibility & Smooth Upgrade)
> 框架升级不破坏现有代码。

- [ ] 语义化版本 — 严格遵循 SemVer，主版本号变更才允许破坏性修改
- [ ] 向后兼容层 — 新版本兼容旧版本的配置、Prompt、Skill 格式
- [ ] 迁移工具 — 自动检测并迁移旧版本配置到新格式
- [ ] 灰度升级 — 支持部分 Agent 先升级，验证后再全量推送

### 0.33 文档体系与学习路径 (Documentation System & Learning Path)
> 让不同水平的开发者都能快速上手。

- [ ] 5 分钟 Quick Start — 一条命令启动，最小化配置
- [ ] 教程层 — 面向新手的分步教程（Tutorial）
- [ ] 指南层 — 面向有经验开发者的场景指南（Guide）
- [ ] API 参考层 — 面向高级开发者的完整 API 文档（Reference）
- [ ] 示例库 — 覆盖常见场景的端到端示例项目
- [ ] 视频教程 — 关键功能的视频演示

---

## 1. 核心骨架与运行时 (Core Foundation)

> 系统的地基，决定稳定性和调度能力。

### 1.1 模型路由引擎 (Model Router)
- [ ] 多模型统一接口封装 (Anthropic, OpenAI, 本地开源模型等)
- [ ] 前端可配置模型池 — 用户在 Web UI 中自由添加/删除/配置模型，而非硬编码
- [ ] 任务-模型绑定策略 — 用户自主选择哪些任务类型使用哪个模型
- [ ] 动态复杂度路由策略 — 基于配置的模型池自动选择最优模型
- [ ] Token 消耗追踪与熔断机制

### 1.2 状态与生命周期管理
- [ ] Agent 运行状态机 (Idle, Running, Waiting, Paused, Failed)
- [ ] 任务中断与恢复机制

### 1.3 基础通信总线 (Event Bus)
- [ ] 统一日志系统 (Console + File，支持级别过滤)
- [ ] 核心配置管理 (YAML/TOML + 环境变量加载)

---

## 2. 多 Agent 协同编排 (Multi-Agent Orchestration)

> 区别于单体应用的护城河。

### 2.1 分层 Agent 架构
- [ ] BaseAgent 抽象基类
- [ ] 主 Agent (Orchestrator) 意图识别与任务拆解
- [ ] SubAgent (Worker) 动态生成与派发

### 2.2 协同机制
- [ ] SubAgent 之间的上下文隔离与关键信息共享
- [ ] 任务执行回调与结果聚拢 (Map-Reduce 模式)

### 2.3 错误隔离与自愈
- [ ] 单个 SubAgent 崩溃不影响全局
- [ ] 自动重试与 fallback 策略

---

## 3. 记忆中枢 (Memory System)

> 基于 LanceDB 的高性能、多模态上下文管理。

### 3.1 短期记忆 (Short-term)
- [ ] 基于滑动窗口的会话上下文管理
- [ ] 自动总结 (Summary) 机制，防止上下文超载

### 3.2 长期记忆 (Long-term)
- [ ] LanceDB 向量数据库集成与初始化
- [ ] 文档、代码、历史对话的 Embedding 与持久化
- [ ] 混合检索机制 (Semantic Search + Keyword)

### 3.3 记忆内化与遗忘
- [ ] 相似记忆去重与合并
- [ ] 过期低优记忆的修剪机制

---

## 4. 工具与环境沙箱 (Tooling & Sandbox)

> 让系统长出手脚，在物理/虚拟环境中做事。

### 4.1 核心工具链
- [ ] 文件系统操作 (读、写、搜索、AST 解析)
- [ ] 终端 Shell 执行 (支持长连接和流式输出)
- [ ] Git 自动化操作模块

### 4.2 安全与隔离
- [ ] 危险命令拦截 (黑名单机制)
- [ ] 依赖包和环境管理的沙箱化支持

---

## 5. 进化引擎 (Evolution & Intelligence)

> 越用越聪明。

### 5.1 反馈回路
- [ ] 用户指令与修正的自动收集
- [ ] 失败任务的自动复盘与 Root Cause 记录

### 5.2 策略优化
- [ ] 提取高频成功路径，固化为系统 Prompt 或 SOP

---

## 6. 接口与多端接入 (Interfaces & Clients)

> 将 Infra 能力暴露给不同终端。

### 6.1 服务端与 API
- [ ] RESTful API / FastAPI 接口层封装
- [ ] WebSocket 支持流式对话与状态推送

### 6.2 IM 平台接入
- [x] QQ / 微信 (QQ OneBot/Lagrange、企业微信 webhook；Wechaty bridge 保留)
- [~] 飞书 / 钉钉企业级机器人接入（飞书签名自定义机器人已接入；钉钉仍待接入）

### 6.3 客户端 (规划中)
- [ ] 本地跨平台客户端 (Tauri + Next.js)
- [ ] Web 交互控制台

---

## 7. 定时与事件驱动 (Schedulers & Triggers)

> 全天候 24 小时托管运作。

### 7.1 触发器
- [ ] 基于 Cron 的定时任务
- [ ] Webhook 事件监听 (如代码仓库 Push 触发自动化 Review)

---

## 开发原则

**大处着眼，小处着手。**

严格按敏捷模式，优先级排序：

1. **P0** — 核心骨架 (配置 + 日志 + 大模型接口调用)
2. **P0** — 跑通第一个 SubAgent 派发
3. **P0** — 并发流控 + 预算熔断 (防御性设计，上线必备)
4. **P1** — LanceDB 记忆系统 + 语义剪枝
5. **P1** — 工具接入 + MCP 支持
6. **P1** — 安全沙箱 (容器化隔离)
7. **P1** — 本地模型降级 (离线能力)
8. **P1** — 状态持久化与断点续传
9. **P1** — 动态 DAG 与运行时重规划
10. **P2** — IM 接入 + HITL 人类介入
11. **P2** — 可观测性 (Trace / 回放)
12. **P2** — 进化引擎 + 数据飞轮
13. **P2** — Prompt Cache 深度对齐
14. **P2** — 自动化评测管道
15. **P2** — 多代理共识辩论
16. **P3** — 本体记忆引擎 (Ontology-Enhanced Memory)
17. **P3** — Web UI / Desktop 客户端
18. **P3** — 定时任务 / 事件驱动

> 只要基础总线通了，后面的都是在树干上长树枝。

---

## 项目定位

**Symbio 不是一个套壳玩具，而是一个真正的 AI Infra 级多 Agent 协同框架。**

核心差异化：
- **解耦** — 模块独立，可替换可插拔
- **高可用** — 错误隔离、自愈、离线降级、断点续传
- **安全** — 绝对沙箱、预算熔断、HITL 人类介入
- **智能** — 动态 DAG、语义剪枝、共识辩论、本体推理
- **可扩展** — 插件化、MCP 兼容、工具生态开放
- **自进化** — 数据飞轮、记忆内化、策略优化、评测管道
