运行时与启动
模块存在意义
这一层负责把“一个进程”变成“一个已经准备好接收用户输入和模型调用的 CLI 会话”。如果没有它,后面的命令、工具、UI、服务都没有可靠的启动基础。关键文件与入口
| 文件/目录 | 作用 |
|---|---|
src/main.tsx | 顶层入口,负责预取、导入关键模块、组装 CLI 启动流程。 |
src/entrypoints/init.ts | 做配置、环境变量、网络代理、清理器和基础服务准备。 |
src/bootstrap/state.ts | 存放会话级全局状态与运行期开关。 |
src/replLauncher.tsx | 启动交互式 REPL 的关键入口之一。 |
对上游 / 下游的依赖关系
- 上游:操作系统进程、CLI 参数、环境变量。
- 下游:命令系统、工具系统、AppState、服务层、REPL。
运行时扮演的角色
- 在最早阶段发起并行预热,例如 MDM、Keychain、远程配置等。
- 应用安全环境变量和网络代理配置。
- 组装命令、工具、插件、技能与状态容器。
- 决定进入交互模式、非交互模式、bridge 模式还是其它执行路径。
新读者建议的阅读顺序
src/main.tsxsrc/entrypoints/init.tssrc/bootstrap/state.tssrc/replLauncher.tsx
这层最容易被误解的点
main.tsx很大,但它更像编排入口,不是全部业务逻辑的归宿。- 初始化代码很多是“提前准备”,不是每次都直接面向用户可见功能。
- 大量顶层 side effect 是启动性能优化的一部分,不能只按普通业务文件理解。