架构图与执行流程
本目录集中维护当前实现的架构图和执行流程图。图是按正文宽度手工排版的 SVG,在文档站和 GitHub 上都能直接查看,并随浅色或深色主题切换配色。
最近代码核对:2026-10-10。此次为静态代码分析,不代表真实模型或部署验收。
图表导航
| 图表 | 回答的问题 |
|---|---|
| 整体架构 | 进程、模块、资源和持久化数据如何分工? |
| 资源管理与能力生效 | CLI/Web/模型工具如何共用资源操作?保存配置后何时加载能力? |
| 消息调度 | 一条消息如何获得授权并触发 Agent 回复? |
| Run 执行 | Native 与 Harness 如何执行一次 Run? |
| 异步任务协作 | Agent 如何委派、等待、恢复并向原会话汇报? |
具体场景
| 场景 | 回答的问题 |
|---|---|
| Web 请求 lead 创建 Agent | 资源管理工具如何从聊天中被调用?创建定义与启用新身份有什么区别? |
专题设计
| 文档 | 回答的问题 |
|---|---|
| 调度器 | 讨论如何授权、判断、排队、限额和恢复? |
| Native 执行循环 | 一次 Native Run 内的回合、输入和工具阶段如何推进? |
| 上下文管理 | 上下文如何预算、压缩、摘要和重置? |
| Harness | Codex 如何接入、恢复、取消并维护执行租约? |
| 权限审批 | 工具调用与引擎审批如何决定、等待和回传? |
| 共享资源管理 | 资源写入契约、版本检查和锁是什么? |
| 内置工具:权限与契约 | 资源管理能力的授权范围、工具契约与撤销语义是什么? |
| 异步任务:设计与语义 | 任务的等待、排序、并行、取消、重试和汇报有哪些完整规则? |
| 运行配置、记忆与本机执行 | 配置、记忆与本机命令的生效时机和边界是什么? |
| MCP 工具 | MCP 如何开发、注册、校验和在 Run 内刷新? |
| 会话生命周期 | 隐藏、退群、解散和删除身份分别影响什么? |
| Web 控制台 | 页面与本地服务如何分工?界面依赖哪些接口? |
核心概念
| 对象 | 含义 |
|---|---|
| Agent | 可复用的角色、引擎和工具配置 |
| Principal / Binding | IM 参与者身份,以及身份到 Agent 配置的绑定 |
| Conversation | 私聊或群聊,保存消息和成员可见性 |
| Discussion | 自动执行的授权范围,承载期限、额度和控制状态 |
| ScheduledTask | 带领取版本与租约的调度单元 |
| Run | 一次具体执行,包含结果、调用诊断及可能的检查点 |
| WorkItem | 可跨多次 Run 的明确工作任务,包含依赖与汇报责任 |
更新约定
- 修改模块边界、进程通信、执行路径或持久化职责时,在同一变更中更新对应图表。
- 每张图保留最近核对日期、关键约束和代码入口;代码链接使用相对路径,注明关键符号。
- 图中只描述已实现行为。拟议功能不写入这里,落地后再更新。
- 代码与历史设计冲突时,以当前代码为准;核对后更新日期,不仅修改日期。
- 提交前在浅色和深色主题下查看改过的图,并检查相对链接和流程分支,尤其是授权、挂起、失败与恢复边界。
图的维护源是 docs/diagrams/ 下的 Python 脚本,每张图一个文件,坐标和文字都写在里面;运行 python3 docs/diagrams/build.py 重新生成 docs/public/ 下的 SVG,不要直接手改 SVG。文字放不下时脚本会报错。这些图帮助定位实现,不替代详细协议、权限契约或测试。
返回文档导航。