最后整理:2026-06-24。
DeepReef 是 TypeScript/Bun monorepo,采用核壳分离:
TUI / CLI / pipe mode
|
v
ReasonixEngine
|
v
AsyncGenerator<LoopEvent>
|
+-- ContextManager / ChatClient / SessionWriter
+-- StreamingToolExecutor / Permission / Hooks
+-- WorkflowCoordinator / DualAgentRuntime
+-- Plugin / MCP / Memory
核心引擎输出事件流,TUI 通过 bridge 和 store 把事件投影成 timeline、状态栏、权限提示、问题提示和 workflow 状态。
| 路径 | 说明 |
|---|---|
packages/core/src/engine.ts |
ReasonixEngine,对外提交、恢复、配置更新、工具注册。 |
packages/core/src/loop.ts |
主 agent loop。 |
packages/core/src/client.ts |
OpenAI-compatible SSE client。 |
packages/core/src/config.ts |
provider、last-config、role-config、model-targets。 |
packages/core/src/context/ |
immutable prefix、append log、scratch、repair、summary、token estimation。 |
packages/core/src/streaming-executor.ts |
工具执行器,区分 shared/exclusive。 |
packages/core/src/workflow-coordinator/ |
Supervisor/Worker 阶段状态机和结构化协议。 |
packages/core/src/goal/ |
GoalStore、GoalRuntime、goal tools、steering prompt。 |
packages/core/src/agent-comm/ |
Mailbox、AgentCommController、mailbox tools。 |
packages/core/src/dual-agent-runtime/ |
Worker/Supervisor 双引擎封装。 |
packages/core/src/resolve-effective-tools.ts |
根据 role、mode、workflow phase 过滤工具。 |
packages/cli/src/tui.ts 负责真实接线:
loadConfig()。ReasonixEngine。DualAgentRuntime、GoalStore、Mailbox、WorkflowCoordinator。@deepreef/tui App。非 TTY 输入走 pipe mode。
TUI 主要入口:
packages/tui/src/App.tsxpackages/tui/src/bridge.tsxpackages/tui/src/store/bridge-runtime.tspackages/tui/src/store/transcript-store.tspackages/tui/src/store/transcript-reader.tspackages/tui/src/DeepiMessages.tsx当前 TUI 同时保留 legacy bridge 状态和拆分后的 store/runtime 能力。长会话性能治理的核心落点是 transcript store、reader cache、bridge runtime 数组上限和 message rendering 窗口化。
WorkflowCoordinator 状态机:
idle
-> supervisor_analyse
-> worker_do
-> worker_report
-> supervisor_check
-> supervisor_intervene
-> waiting_user
-> completed / blocked / failed
当前真实主路径:
supervisor_analyse 产出 plan。worker_do 执行 plan。worker_report 汇报。supervisor_check 审查并决定下一步。parseSupervisorDecision() 优先解析 Zod 校验的结构化 JSON,失败时走 legacy string fallback,并发出 low-confidence event。approve 需要结构化 completion audit 全部有证据才会真正完成。blocked 需要同一 blocker 连续 3 轮审计才会真正阻塞。Mailbox workflow 路径保留在 useMailboxWorkflow 分支,默认不是主路径。
resolveEffectiveTools() 当前策略:
写操作仍经过权限和 hook 路径。
Provider 定义在 packages/core/src/config.ts:
zendeepseekmimokiloopenai-compatiblenvidiaqwenkimizaistepfunopenai配置优先级当前主要是环境变量、项目 .deepreef/* 窄配置和内置默认值;完整 TOML 配置系统仍是待办。
packages/plugin/packages/mcp/packages/tools/src/skills/ 和 plugin skill dirspackages/memory/这些系统在 CLI 启动时后台加载;失败时应保持基础 agent 可用。