框架重点:并发、审批、记忆与运维
这一分区把工程实现中“最值得复用”的机制拆成可复刻模块:它们不是某个命令的用法,而是让系统 稳定、可控、可运维 的底座。
如果你还没跑通最短可验证链路,先完成一次观测闭环再回来读会更省时间:
建议阅读顺序(从“能跑”到“能复刻”)
进阶模块(按需补齐)
这些模块用于承接“想复刻同类项目”的读者:把关键机制拆成可验证的工程骨架。
实战复刻(实现手册)
这些页面更偏“实现顺序 + 验收清单”,用于你要复刻同类系统时对照落地:
你会在这里学到什么
- 控制面:WS 连接、鉴权、方法分发与事件广播
- 执行面:一次 run 如何拆成 attempt/订阅/回退,并保持可观测
- 并发面:为什么同一会话不乱序、不同会话能并行
- 安全面:sandbox / tool policy / approvals 三层边界各自负责什么
- 运维面:配置生效策略、重启交接与优雅关停
相关入口(按主题直达)
- 并发与隔离: 队列与 Lane / 会话管理 / Session tool
- 工具与安全: Sandbox / 工具系统 / 审批 / 执行审批
- 记忆与压缩: 记忆 / 压缩与 Compaction / 会话整理与修剪
- 扩展点: 自动化:Hooks / 工具:插件
1) 并发与隔离:lane(每会话串行)+ 全局限制
你需要掌握的要点:
- 为什么按
sessionKey串行能避免会话历史竞争 - 为什么还需要全局并发上限(保护模型/工具/IO 资源)
- 群组/频道隔离的 sessionKey 策略如何减少“串线”
入口:
读源码入口(可选):
src/process/command-queue.ts(队列与 lane 抽象)src/gateway/server-lanes.ts(Gateway 并发配置落地)src/config/sessions/session-key.ts(sessionKey 生成与稳定性)
2) 工具安全三层:sandbox / tool policy / approvals
把风险分层的核心收益是:边界清晰、可审计、可回滚。
入口:
读源码入口(可选):
src/agents/tool-policy-pipeline.ts(工具策略流水线)src/infra/exec-approvals.ts、src/gateway/exec-approval-manager.ts(执行审批状态机)
3) 记忆与压缩:让长对话可持续
你需要掌握的要点:
- 会话为什么要压缩(成本、上下文窗口、质量)
- 什么时候压缩、压缩后如何恢复关键事实
- 工具输出与媒体如何裁剪/持久化
入口:
4) 扩展点:hooks / plugins(“把行为接进管道”)
当你要实现“在某些事件发生时做事”(例如入站触发、工具调用前后、会话生命周期等),应优先理解 hooks 与插件的边界与故障隔离策略。
入口:
5) 生命周期与运维:更新、重载、诊断、排障
一套能长期跑的系统必须能被观测与修复:
- 日志:控制台 vs 文件日志,如何通过 Control UI / CLI 跟踪
- 健康检查:你应该如何判断“是不是网关坏了”
- 远程:部署、访问控制与最小权限
入口:
验收标准(把“理解”落到可验证行为)
如果你想用最少动作确认自己已经掌握关键机制,可以用这些“硬验收”:
- 能说明为什么
chat.sendACK 很快、回复为何走事件流(参见 Control UI)。 - 能解释为什么同一
sessionKey不乱序,不同会话能并行(参见 队列与 Lane)。 - 能解释为什么工具安全要分三层(sandbox / policy / approvals),以及哪一层负责什么(参见 Sandbox vs tool policy vs elevated)。
- 能在日志里定位一次 run(从
runId追到会话/工具/最终回复)(参见 日志)。