框架重点:并发、审批、记忆与运维

框架重点:并发、审批、记忆与运维

这一分区把工程实现中“最值得复用”的机制拆成可复刻模块:它们不是某个命令的用法,而是让系统 稳定、可控、可运维 的底座。

如果你还没跑通最短可验证链路,先完成一次观测闭环再回来读会更省时间:

建议阅读顺序(从“能跑”到“能复刻”)

  1. 术语速查
  2. 学习路线图
  3. 网关控制平面
  4. 智能体执行框架(run/attempt/回退)
  5. 会话与并发(sessionKey/lane/queue)
  6. 工具策略与执行审批
  7. 生命周期与运维(热更/重启/关停)

进阶模块(按需补齐)

这些模块用于承接“想复刻同类项目”的读者:把关键机制拆成可验证的工程骨架。

实战复刻(实现手册)

这些页面更偏“实现顺序 + 验收清单”,用于你要复刻同类系统时对照落地:

你会在这里学到什么

  • 控制面:WS 连接、鉴权、方法分发与事件广播
  • 执行面:一次 run 如何拆成 attempt/订阅/回退,并保持可观测
  • 并发面:为什么同一会话不乱序、不同会话能并行
  • 安全面:sandbox / tool policy / approvals 三层边界各自负责什么
  • 运维面:配置生效策略、重启交接与优雅关停

相关入口(按主题直达)

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.tssrc/gateway/exec-approval-manager.ts(执行审批状态机)

3) 记忆与压缩:让长对话可持续

你需要掌握的要点:

  • 会话为什么要压缩(成本、上下文窗口、质量)
  • 什么时候压缩、压缩后如何恢复关键事实
  • 工具输出与媒体如何裁剪/持久化

入口:

4) 扩展点:hooks / plugins(“把行为接进管道”)

当你要实现“在某些事件发生时做事”(例如入站触发、工具调用前后、会话生命周期等),应优先理解 hooks 与插件的边界与故障隔离策略。

入口:

5) 生命周期与运维:更新、重载、诊断、排障

一套能长期跑的系统必须能被观测与修复:

  • 日志:控制台 vs 文件日志,如何通过 Control UI / CLI 跟踪
  • 健康检查:你应该如何判断“是不是网关坏了”
  • 远程:部署、访问控制与最小权限

入口:

验收标准(把“理解”落到可验证行为)

如果你想用最少动作确认自己已经掌握关键机制,可以用这些“硬验收”:

  1. 能说明为什么 chat.send ACK 很快、回复为何走事件流(参见 Control UI)。
  2. 能解释为什么同一 sessionKey 不乱序,不同会话能并行(参见 队列与 Lane)。
  3. 能解释为什么工具安全要分三层(sandbox / policy / approvals),以及哪一层负责什么(参见 Sandbox vs tool policy vs elevated)。
  4. 能在日志里定位一次 run(从 runId 追到会话/工具/最终回复)(参见 日志)。