Skip to content

Latest commit

 

History

History
36 lines (26 loc) · 4.77 KB

File metadata and controls

36 lines (26 loc) · 4.77 KB

Example 到主线源码的桥接页

English | 中文

先问:这个 example 在主线哪一步?再问:真实源码在这一步额外加了哪些复杂度?

如果你还没定位主线步骤,先回到 主线源码导图。如果你想继续按阶段学习,再回到 学习路径页

Example → 主线步骤 → 下一跳源码

下表列的是第一跳应该先开的源码文件,不是这些功能的完整 ownership 边界。

Example 主线步骤 这个 example 刻意简化了什么 下一步先开哪些源码文件
l1_startup.py Step 1 — 启动 / 模式分流 把 CLI 参数解析、全局配置、runtime mode 分发压成一条启动骨架 main.tsx, setup.ts, cli/print.ts
l2_agent_loop.py Step 2 — 进入 query / queryLoop 把 QueryEngine、turn state、history 拼装收缩成最小单轮 loop QueryEngine.ts, query.ts
l3_tool_system.py Step 3 — 模型产出 / 工具选择 把真实工具池、schema、模式过滤压成少量工具定义与注册逻辑 Tool.ts, tools.ts, query.ts
l4_ui_ink.py Step 6 — 状态 / UI 更新 把 Ink 组件树、状态切片、消息渲染缩成最小可视反馈回路 bootstrap/state.ts, screens/REPL.tsx, components/Messages.tsx
l5_state_commands.py Step 6 — 状态 / UI 更新 把 pending message、命令分发、history 同步压成简化状态机 screens/REPL.tsx, history.ts, commands/
l6_advanced.py Step 3 — 模型产出 / 工具选择 把多 agent / structured output 的真实边界压成“受控工具 + 受限 worker”示意 tools/SyntheticOutputTool/, coordinator/coordinatorMode.ts, cli/print.ts
l7_permissions.py Step 4 — 工具执行 把多层权限、自动批准、危险命令检查压成最小 gatekeeper tools/BashTool/bashPermissions.ts, tools/BashTool/bashSecurity.ts, query.ts
l8_streaming.py Step 3 — 模型产出 / 工具选择 把 provider 事件流、chunk repair、stop reason 处理压成可读的 async generator 示例 services/api/claude.ts, query.ts
l9_context_mgmt.py Step 7 — 下一轮 / 退出条件 把 prompt cache、context trimming、memory extraction 压成”如何让多轮继续”这一条线 constants/prompts.ts, utils/context.ts, memdir/memdir.ts, services/extractMemories/extractMemories.ts
l10_mcp.py 主线外扩展(工具注册层) 把 MCP JSON-RPC 协议、McpClient、工具注册合并压成 in-process demo,去掉 stdio/SSE 通信 tools/MCPTool/, services/mcp/

怎么沿着桥继续走

  1. 先用表格定位 example 对应的主线步骤。
  2. 再打开该步骤对应的 source-map 小节,核对输入 / 输出。
  3. 然后只开表格里给你的 1 到 3 个源码文件,不要立刻散开。
  4. 读完这些文件后,再决定要不要去对应 layer 或 source-navigation 扩展搜索。

两条常用拼接路线

  • l1 -> l2 -> l8 -> l7 -> l4/l5 -> l9:按一次请求真正流动的顺序读。
  • l3 -> l7 -> l6:先抓工具与权限,再看受控多 agent 怎样挂回主线。