diff --git "a/docs/01-\351\241\271\347\233\256\345\205\250\346\231\257\344\270\216\345\233\233\347\247\215\345\205\245\345\217\243\345\275\242\346\200\201.md" "b/docs/01-\351\241\271\347\233\256\345\205\250\346\231\257\344\270\216\345\233\233\347\247\215\345\205\245\345\217\243\345\275\242\346\200\201.md" index ed762a7..9ba3a53 100644 --- "a/docs/01-\351\241\271\347\233\256\345\205\250\346\231\257\344\270\216\345\233\233\347\247\215\345\205\245\345\217\243\345\275\242\346\200\201.md" +++ "b/docs/01-\351\241\271\347\233\256\345\205\250\346\231\257\344\270\216\345\233\233\347\247\215\345\205\245\345\217\243\345\275\242\346\200\201.md" @@ -52,7 +52,7 @@ if (args.length === 1 && (args[0] === '--version' || args[0] === '-v' || args[0] 这段代码只用了一个被编译期内联的常量,连字符串拼接都被 Bun bundler 折叠掉了 —— 也就是说,`claude --version` 的执行链路里**除了 `cli.tsx` 本身,不加载任何其他模块**。 -沿着同样的思路,`cli.tsx` 一口气定义了十几条快速路径,覆盖 `--dump-system-prompt`、`daemon`、`remote-control / bridge / sync`、后台任务管理(`ps / logs / attach / kill`)、模板任务(`new / list / reply`)、`environment-runner` 等等。每一条都遵循同一个套路:参数命中 → 动态 import 只跟这条路径相关的少数模块 → 干完事就 `return`。 +沿着同样的思路,`cli.tsx` 一口气定义了十几条快速路径,覆盖 `daemon`、`remote-control / bridge / sync`、后台任务管理(`ps / logs / attach / kill`)、模板任务(`new / list / reply`)、`environment-runner` 等等。每一条都遵循同一个套路:参数命中 → 动态 import 只跟这条路径相关的少数模块 → 干完事就 `return`。 只有当所有快速路径都不匹配时,才会走到文件末尾那行真正昂贵的 `await import('../main.js')`,把全量 CLI 拉起来。 @@ -200,7 +200,6 @@ ink/ graph TD A["用户输入 claude"] --> B["cli.tsx
Bootstrap 入口"] B -->|快速路径| C["--version: 零 import 返回"] - B -->|快速路径| D["--dump-system-prompt"] B -->|快速路径| E["daemon / bridge / ps..."] B -->|正常路径| F["main.tsx
主应用编排器"] F -->|"Commander preAction hook"| G["init()
核心初始化 (entrypoints/init.ts)"] @@ -246,7 +245,6 @@ cli.tsx 定义了大量「快速路径」(fast-path),每个路径只动态 | 快速路径 | 触发条件 | 加载的模块 | |----------|---------|-----------| | --version | 单参数 `-v/-V/--version` | 无 | -| --dump-system-prompt | 首参数匹配 | config, model, prompts | | daemon | 首参数 `daemon` | config, sinks, daemon/main | | bridge/remote | 首参数 `remote-control` 等 | config, auth, bridge | | ps/logs/attach/kill | 首参数匹配 | config, cli/bg |