模块职责

这一页把分散目录折叠成可理解的模块族。目标不是穷举文件,而是帮你快速判断“某类问题应该去哪里看、上下游是谁、真正的边界在哪里”。

看每个模块族的职责边界,而不是看所有目录本身。

先按问题类型锁定模块,再回源码找关键入口文件。

适合定位改动点、理解协作关系、快速建立目录心智图。

责任矩阵阅读方式

下面的结构不再直接依赖一张宽表格,而是按模块族逐段展开。这样在 Web 端仍然保留层次感,在移动端也能顺序阅读,不会因为横向表格而挤压正文。

模块族总览

src/main.tsxsrc/entrypoints/src/bootstrap/

  • 职责:程序启动、配置预热、环境准备、会话上下文注入
  • 上游:进程入口、CLI 参数
  • 下游:命令系统、工具系统、UI、服务层

src/commands.tssrc/commands/src/utils/processUserInput/

  • 职责:把输入转成命令执行、消息对象或后续查询请求
  • 上游:用户输入、桥接输入
  • 下游:QueryEngine、本地命令结果、状态更新

src/QueryEngine.tssrc/query.tssrc/context/

  • 职责:维护消息历史、发起模型调用、编排工具回合
  • 上游:输入解析、上下文构建
  • 下游:工具层、服务层、状态层

src/Tool.tssrc/tools.tssrc/tools/src/utils/permissions/

  • 职责:暴露模型能力、管理工具协议与权限控制
  • 上游:QueryEngine
  • 下游:文件系统、网络、插件、子代理、状态

src/components/src/hooks/src/ink/src/screens/

  • 职责:把内部状态渲染成终端 UI,承载交互式会话体验
  • 上游:AppState、任务状态、消息流
  • 下游:用户可见输出、后续输入

src/state/src/tasks/src/history.ts

  • 职责:管理应用状态、任务生命周期、会话记录与切换
  • 上游:QueryEngine、命令、工具
  • 下游:UI、恢复流程、统计与遥测

src/services/src/bridge/src/remote/src/server/

  • 职责:对接 API、MCP、LSP、远程桥接与服务端能力
  • 上游:主循环、命令、工具
  • 下游:模型提供方、IDE、远程会话

src/plugins/src/skills/src/memdir/src/coordinator/

  • 职责:承载插件、技能、记忆目录和多代理协作
  • 上游:命令、工具、服务
  • 下游:更高层工作流与定制能力

src/utils/src/types/src/constants/src/migrations/

  • 职责:提供通用工具、类型、常量、迁移和横切能力
  • 上游:全模块共享
  • 下游:全模块共享

各模块族的一句话定位

运行时与启动

决定程序怎样启动、初始环境如何准备、哪些全局变量和缓存先被预热。

输入与命令

决定“用户说的话”是变成 slash command、本地行为,还是进入模型对话主循环。

查询主循环

是对话级别的调度器,决定消息如何积累、模型如何请求、工具如何往返。

工具执行层

是系统的能力边界,模型能做什么、怎么做、是否允许做,都要经过这里。

UI 渲染层

把复杂内部状态折成终端界面,让交互式会话保持可读、可操作、可恢复。

状态与任务

负责把一次执行变成可跟踪的任务,把一轮会话变成可恢复的状态。

服务与集成

处理真正与外界通信的地方,例如 API、MCP、LSP、bridge、remote。

扩展生态

承载可插拔、可组合、可演化的能力,让仓库不是单一 CLI,而是一个平台。

基础支撑

为其它模块提供通用设施,是规模化代码库最重要的“稳定底板”。

建议怎么用这张表

  • 先根据问题类型锁定模块族,再回到源码搜索具体文件。
  • 如果一个功能跨越多个模块族,优先从上游入口开始看。
  • 如果你要做改动,先确认边界属于“命令”“工具”还是“服务”,这样最不容易改错层。

下一步