# Claude-Code **Repository Path**: time-doesnt-wait-for-me/Claude-Code ## Basic Information - **Project Name**: Claude-Code - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-14 - **Last Updated**: 2026-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Claude Code 源码还原 > 从 `@anthropic-ai/claude-code` npm 包的 source map 中还原的完整 TypeScript 源码,**可本地运行**

Claude Code CLI

> [!WARNING] > 本仓库为**非官方**版本,基于公开 npm 发布包 source map 还原,**仅供研究学习**。源码版权归 [Anthropic](https://www.anthropic.com) 所有。 --- ## 快速开始 ### 安装 Bun 项目建议使用 Bun 1.3.5,并需要 Node.js ≥ 20.19。 ```bash npm install -g bun@1.3.5 ``` Windows PowerShell: ```powershell iex "& {$(irm https://bun.com/install.ps1)} -Version 1.3.5" ``` ### 终端用户使用 ```bash npm install -g git+ssh://git@github.com/zzy-life/Claude-Code.git ``` 或者 ```bash npm install -g git+https://gitee.com/time-doesnt-wait-for-me/Claude-Code.git ``` ```bash cc ``` ### 本地安装并运行 ```bash bun ci # 安装依赖(需要 Bun ≥ 1.3.5、Node.js ≥ 20.19) bun run dev # 启动 CLI bun run version # 验证版本 ``` > 日常安装请使用 `bun ci`,不要使用普通 `bun install`,避免依赖重新解析后发生版本漂移。 ### Codex Claude Proxy 剩余额度提示 当通过 Codex Claude Proxy 调用模型时,CLI 会在每轮对话结束后请求代理的 `GET /v1/usage`,并在输入框左下角显示: ```text ? for shortcuts · quota 85% · ctx 123k/160k ``` `85%` 是当前 Client API Key 的本周剩余额度百分比。CLI 使用现有环境变量连接和鉴权: ```powershell $env:ANTHROPIC_BASE_URL = "http://127.0.0.1:8081" $env:ANTHROPIC_API_KEY = "你的 Client API Key" ``` 也可以使用一条命令写入代理所需的用户级配置: ```powershell cc proxy config set <代理地址> <你的密钥> ``` 该命令会将指定的 HTTP 或 HTTPS 代理地址写入 `ANTHROPIC_BASE_URL`,并同时设置 `ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_API_KEY` 和 `CLAUDE_CODE_AUTO_COMPACT_WINDOW=258000`。它会保留 `~/.claude/settings.json` 中的其他配置,清除可能覆盖代理模型设置的 `ANTHROPIC_DEFAULT_HAIKU_MODEL`、`ANTHROPIC_DEFAULT_OPUS_MODEL`、`ANTHROPIC_DEFAULT_SONNET_MODEL` 及 `ANTHROPIC_MODEL`。配置完成后重启 Claude Code 生效。 代理接口返回与 Claude Code 用量接口一致的 `Utilization` 结构,额度数据位于 `seven_day.utilization` 和 `seven_day.resets_at`。示例响应: ```json { "five_hour": null, "seven_day": { "utilization": 15, "resets_at": "2026-07-20T00:00:00.000Z" }, "seven_day_oauth_apps": null, "seven_day_opus": null, "seven_day_sonnet": null, "extra_usage": null } ``` `seven_day.utilization` 表示本周已使用百分比;CLI 将其换算为剩余百分比显示。每轮对话结束后,额度右侧还会显示当前会话的上下文占用和可用窗口,例如 `ctx 123k/160k`;分母复用自动压缩的有效窗口计算,会应用 `CLAUDE_CODE_AUTO_COMPACT_WINDOW` 并扣除摘要预留 token。未配置上述环境变量、代理不支持该接口或请求失败时,CLI 不显示额度提示,不影响正常对话。 ### npm 全局安装 如果要直接通过 Git 仓库全局安装: ```powershell npm install -g git+ssh://git@github.com/zzy-life/Claude-Code.git npm install -g git+ssh://git@gitee.com:time-doesnt-wait-for-me/Claude-Code.git ``` ### 更新/安装依赖 不要直接执行: ​```bash bun add xxx ``` 推荐流程如下。 #### 1. 确认要安装的版本 例如要添加: ```text turndown@7.2.4 ``` 优先使用 tarball URL 形式: ```json "turndown": "https://mirrors.cloud.tencent.com/npm/turndown/-/turndown-7.2.4.tgz" ``` #### 2. 手动写入 package.json 在 `dependencies` 中添加: ```json "turndown": "https://mirrors.cloud.tencent.com/npm/turndown/-/turndown-7.2.4.tgz" ``` 不要写成: ```json "turndown": "*" ``` 也尽量不要写成: ```json "turndown": "^7.2.4" ``` 否则后续可能发生依赖漂移。 #### 3. 同步 bun.lock ```bash bun install --lockfile-only ``` #### 4. 验证安装 ```bash bun ci bun run version ``` #### 命令说明 - `bun ci`:用于日常安装和验证,会严格按照 `bun.lock` 安装。 - `bun install --lockfile-only`:用于手动修改 `package.json` 后同步 `bun.lock`,不会安装依赖。 --- ## 从源码中发现的 7 大隐藏功能 通过阅读还原后的 1,987 个 TypeScript 源文件,我们发现了大量未公开的隐藏功能。这些功能通过**编译开关**(`feature()`)和**用户类型**(`USER_TYPE`)进行门控,外部发布版中大部分被裁剪。 --- ### 1. [BUDDY — AI 电子宠物](docs/01-buddy.md) > 源码位置:`src/buddy/` · [查看完整分析 →](docs/01-buddy.md) 终端里的拓麻歌子!一个完整的虚拟宠物系统。 - **18 种物种**:鸭子、鹅、猫、龙、章鱼、猫头鹰、企鹅、乌龟、蜗牛、幽灵、六角恐龙、水豚、仙人掌、机器人、兔子、蘑菇、果冻、胖猫 - **5 级稀有度**:普通(60%) → 非凡(25%) → 稀有(10%) → 史诗(4%) → 传说(1%) - **1% 闪光概率**:独立于稀有度,任何宠物都有 1% 概率成为闪光个体 - **确定性生成**:使用账号 UUID + 固定盐值 `'friend-2026-401'` 经 FNV-1a 哈希 → Mulberry32 PRNG,每人只会得到一只固定的宠物,改配置也没用 - **外观系统**:6 种眼睛样式 + 8 种帽子(皇冠、巫师帽、光环等),common 稀有度没有帽子 - **交互**:`/buddy pet` 抚摸(爱心动画)、`/buddy hatch` 孵化、`/buddy card` 查看卡片 - **动画**:500ms 帧率的 ASCII 精灵动画,气泡对话,窄终端自动退化为表情文字脸(如 `=·ω·=`) - **编译开关**:`feature('BUDDY')` --- ### 2. [KAIROS — 永不关机的 Claude](docs/02-kairos.md) > 源码位置:`src/assistant/`、`src/proactive/`、`src/services/autoDream/` · [查看完整分析 →](docs/02-kairos.md) 关掉终端 Claude 还在运行的持久助手模式。 - **跨会话持久运行**:通过 `.claude/settings.json` 的 `assistant: true` 激活,会话状态持久化到磁盘 - **每日日志**:自动在 `/logs/YYYY/MM/YYYY-MM-DD.md` 记录工作日志 - **自动做梦(Dream)**:距上次整合超 24 小时且有 5+ 新会话时,后台自动启动记忆整合子代理,分四阶段运行:Orient → Gather → Consolidate → Prune - **锁机制**:`.consolidate-lock` 文件 + PID 存活检查,防止多进程同时做梦 - **主动模式(Proactive)**:没人说话时自己找活干,没活就调用 `SleepTool` 等着。接收周期性 `` 提示来检查是否有事可做 - **后台任务**:命令超 15 秒自动丢后台,支持持久 cron 任务(`permanent: true` 不受 7 天过期限制) - **编译开关**:`feature('KAIROS')`、`feature('KAIROS_BRIEF')`、`feature('KAIROS_CHANNELS')` - **远程开关**:GrowthBook `tengu_kairos`、`tengu_onyx_plover`(Dream 阈值配置) --- ### 3. [ULTRAPLAN — 云端深度规划](docs/03-ultraplan.md) > 源码位置:`src/commands/ultraplan.tsx`、`src/utils/ultraplan/` · [查看完整分析 →](docs/03-ultraplan.md) 把难题甩给云端 Opus 独立研究最长 30 分钟。 - **流程**:`/ultraplan ` → 创建远程 CCR 会话 → Opus 模型独立研究 → 后台轮询等待(30 分钟超时)→ 浏览器查看/修改方案 → 批准执行或传送回本地 - **关键词触发**:消息中包含 "ultraplan" 自动触发,智能排除引号/路径/标识符中的误触发 - **传送(Teleport)**:`src/utils/teleport.tsx` 实现本地 ↔ 远程会话传输,支持 Git Bundle 打包代码上下文 - **完全内部限定**:`isEnabled: () => "external" === 'ant'`,外部版永远不可用 - **编译开关**:`feature('ULTRAPLAN')` - **远程开关**:`tengu_ultraplan_model`(控制使用的模型) --- ### 4. [Coordinator — 多 Agent 编排模式](docs/04-coordinator.md) > 源码位置:`src/coordinator/` · [查看完整分析 →](docs/04-coordinator.md) 主 Claude 变成纯指挥官,Worker 并行执行任务。 - **角色分离**:Coordinator 只有三个工具——派活(Agent)、通信(SendMessage)、停工(Shutdown) - **Worker 机制**:Worker 在独立子进程中运行,各自拥有完整工具集 - **核心铁律**:系统提示中明确规定"禁止甩锅式委派"——不能把不清楚的需求直接丢给 Worker - **任务追踪**:基于文件的共享任务列表(`~/.claude/tasks/`),Coordinator 和 Worker 共同读写 - **编译开关**:`feature('COORDINATOR_MODE')` - **环境变量**:`CLAUDE_CODE_COORDINATOR_MODE` --- ### 5. [隐藏命令 & 秘密开关](docs/05-hidden-commands.md) > 源码位置:`src/commands.ts`、`src/main.tsx` · [查看完整分析 →](docs/05-hidden-commands.md) 隐藏命令、内部命令、编译开关、隐藏 CLI 参数及环境变量统一维护在该文档中。README 的[斜杠命令清单](#斜杠命令清单)仅提供按使用场景分类的速查说明,避免维护两份重复表格。 常见受限能力包括远程控制、持久助手、语音、工作流、宠物和云端深度规划;它们是否可见取决于构建开关、登录方式、套餐资格和服务端策略。 --- --- ### 6. [Bridge — 远程遥控终端](docs/06-bridge.md) > 源码位置:`src/bridge/`(33 个文件) · [查看完整分析 →](docs/06-bridge.md) 从 claude.ai 或手机直接操控本地 CLI。 - **WebSocket 实时连接**:本地 CLI 通过 WebSocket 与 claude.ai 建立双向通道 - **完整远程控制**:远程端可以发送消息、批准权限、查看输出 - **进程间通信**:跨 Claude 会话的消息传递机制 - **状态同步**:`bridgeStatusUtil.ts` 实时同步运行状态 - **权限回调**:`bridgePermissionCallbacks.ts` 远程权限审批 - **编译开关**:`feature('BRIDGE_MODE')`、`feature('DAEMON')` --- ### 7. [50 个编译开关 + 远程门控](docs/07-feature-gates.md) 外部发布版是**阉割版**。Anthropic 通过三层门控控制功能。[查看完整分析 →](docs/07-feature-gates.md) #### 第一层:编译时开关(`feature()`,约 50 个) 构建时决定代码包含/排除,以下是完整列表:
点击展开全部 50 个编译开关 | 开关 | 说明 | |------|------| | `BUDDY` | 宠物伴侣系统 | | `KAIROS` | 持久助手模式 | | `KAIROS_BRIEF` | 简报模式 | | `KAIROS_CHANNELS` | 通道通知 | | `KAIROS_GITHUB_WEBHOOKS` | GitHub Webhook | | `ULTRAPLAN` | 云端深度规划 | | `COORDINATOR_MODE` | 多 Agent 编排 | | `BRIDGE_MODE` | 远程控制桥接 | | `VOICE_MODE` | 语音交互 | | `PROACTIVE` | 主动自主模式 | | `FORK_SUBAGENT` | 子代理分叉 | | `DAEMON` | 守护进程模式 | | `UDS_INBOX` | Unix Socket 收件箱 | | `WORKFLOW_SCRIPTS` | 工作流脚本 | | `TORCH` | Torch 功能 | | `MONITOR_TOOL` | 监控工具 | | `HISTORY_SNIP` | 历史截断 | | `ANTI_DISTILLATION_CC` | 反蒸馏保护 | | `BASH_CLASSIFIER` | Bash 命令分类器 | | `BG_SESSIONS` | 后台会话 | | `CACHED_MICROCOMPACT` | 缓存微压缩 | | `CCR_REMOTE_SETUP` | Web 远程设置 | | `CHICAGO_MCP` | MCP 扩展(Computer Use) | | `COMMIT_ATTRIBUTION` | 提交归属标注 | | `CONNECTOR_TEXT` | 连接器文本 | | `CONTEXT_COLLAPSE` | 上下文折叠 | | `COWORKER_TYPE_TELEMETRY` | 协作者遥测 | | `DOWNLOAD_USER_SETTINGS` | 下载用户设置 | | `EXPERIMENTAL_SKILL_SEARCH` | 实验性技能搜索 | | `EXTRACT_MEMORIES` | 自动提取记忆 | | `FILE_PERSISTENCE` | 文件持久化 | | `HARD_FAIL` | 硬失败模式 | | `LODESTONE` | Lodestone 功能 | | `MCP_SKILLS` | MCP 技能系统 | | `MEMORY_SHAPE_TELEMETRY` | 记忆形状遥测 | | `MESSAGE_ACTIONS` | 消息操作 | | `NATIVE_CLIENT_ATTESTATION` | 客户端证明 | | `PROMPT_CACHE_BREAK_DETECTION` | 缓存中断检测 | | `QUICK_SEARCH` | 快速搜索 | | `REACTIVE_COMPACT` | 响应式压缩 | | `SLOW_OPERATION_LOGGING` | 慢操作日志 | | `STREAMLINED_OUTPUT` | 精简输出 | | `TEAMMEM` | 团队记忆同步 | | `TEMPLATES` | 模板/分类器 | | `TERMINAL_PANEL` | 终端面板 | | `TOKEN_BUDGET` | Token 预算 | | `TRANSCRIPT_CLASSIFIER` | 转录分类器 | | `UNATTENDED_RETRY` | 无人值守重试 | | `UPLOAD_USER_SETTINGS` | 上传用户设置 | | `BREAK_CACHE_COMMAND` | 缓存清除注入 |
#### 第二层:用户类型(`USER_TYPE`) - **`ant`**(Anthropic 内部)— 解锁全部功能、20 分钟 GrowthBook 刷新、调试工具、200+ 处专属检查 - **`external`**(外部用户)— 裁剪版,6 小时 GrowthBook 刷新 #### 第三层:GrowthBook 远程 A/B 测试 | 开关 | 控制内容 | |------|---------| | `tengu_kairos` | KAIROS 助手模式开关 | | `tengu_onyx_plover` | 自动做梦阈值(间隔/会话数) | | `tengu_cobalt_frost` | 语音识别(Nova 3)开关 | | `tengu_ultraplan_model` | Ultraplan 使用的模型 | | `tengu_ant_model_override` | 内部用户模型覆盖 | | `tengu_session_memory` | 会话记忆功能 | | `tengu_max_version_config` | 自动更新 Kill Switch | | `tengu_frond_boric` | 数据接收器 Kill Switch | | `tengu_herring_clock` | 团队记忆路径 | | `tengu_sm_config` | 会话记忆配置 | --- ## 隐藏环境变量速查
点击展开完整环境变量列表 | 环境变量 | 说明 | |----------|------| | `ANTHROPIC_MODEL` | 模型覆盖 | | `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | 最大输出 token | | `CLAUDE_CODE_DISABLE_THINKING` | 禁用思考 | | `CLAUDE_CODE_PROACTIVE` | 主动模式 | | `CLAUDE_CODE_COORDINATOR_MODE` | 协调器模式 | | `CLAUDE_CODE_BRIEF` | 简报模式 | | `CLAUDE_CODE_USE_BEDROCK` | 使用 AWS Bedrock | | `CLAUDE_CODE_USE_VERTEX` | 使用 Google Vertex | | `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | 禁用自动记忆 | | `CLAUDE_CODE_EXTRA_BODY` | API 附加 JSON | | `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | 语法高亮主题 | | `CLAUDE_CODE_IDLE_THRESHOLD_MINUTES` | 空闲阈值(默认 75 分钟) | | `CLAUDE_INTERNAL_FC_OVERRIDES` | GrowthBook 覆盖(仅 ant) |
--- ## 项目结构 ``` src/ # 核心源码(1,987 个 TS/TSX) ├── tools/ # 53 个工具(Bash/FileEdit/Agent/MCP...) ├── commands/ # 87 个斜杠命令 ├── services/ # API / MCP / analytics / autoDream ├── components/ # 148 个终端 UI 组件(React + Ink) ├── hooks/ # 87 个自定义 Hooks ├── buddy/ # 宠物伴侣系统 ├── assistant/ # KAIROS 助手模式 ├── coordinator/ # 多 Agent 协调器 ├── bridge/ # 远程控制桥接(31 文件) ├── proactive/ # 主动模式 ├── vim/ # Vim 模式引擎 ├── voice/ # 语音交互 └── ... shims/ # 原生模块兼容替代 vendor/ # 原生绑定源码 ``` --- ## 输入框文件引用 在普通 Prompt 模式中,使用 `@` 引用项目文件或目录。`@` 必须位于输入行开头,或紧跟在空格、换行等空白字符之后;不要与前面的文字直接相连。 ```text 请帮我阅读 @src/hooks/useTypeahead.tsx 请查看 @package.json ``` 以下写法不会触发文件补全: ```text 请查看@src/index.ts ``` 输入 `@` 后会自动显示候选项;可继续输入文件名前缀,或使用方向键和 `Tab` 选择。 --- ## 斜杠命令清单 命令注册以 `src/commands.ts` 为准;`src/commands/` 的文件数量不等于当前构建中可输入的命令数量。下面按**常用**、**高级与集成**、**受限/实验/内部**三组列出,并保留实际命令名及别名。部分命令会受登录状态、套餐、平台、环境变量或编译开关限制。 ### 一、用户常用 | 命令(含别名) | 用途 | |---|---| | `/help` | 显示帮助与可用命令。 | | `/clear`、`/reset`、`/new` | 清除对话历史并释放上下文。 | | `/compact [指令]` | 压缩历史对话,并保留摘要。 | | `/context` | 查看当前上下文占用;交互模式显示彩色网格。 | | `/model` | 切换当前会话模型。 | | `/effort` | 设置模型的 effort 等级。 | | `/plan` | 进入计划模式或查看当前会话计划。 | | `/status` | 查看 Claude Code 状态。 | | `/cost` | 显示当前会话的成本与时长。 | | `/diff` | 查看未提交改动及本轮差异。 | | `/copy` | 复制最近一条消息内容。 | | `/rename` | 重命名当前会话。 | | `/resume`、`/continue` | 恢复之前的会话。 | | `/rewind`、`/checkpoint` | 将代码和/或对话回退到先前状态。 | | `/branch` | 从当前节点创建会话分支;未启用 `FORK_SUBAGENT` 时,`/fork` 是其别名。 | | `/exit`、`/quit` | 退出 REPL。 | | `/feedback`、`/bug` | 提交 Claude Code 反馈。 | | `/theme` | 切换终端主题。 | | `/vim` | 切换 Vim 或普通编辑模式。 | | `/color` | 设置当前会话提示栏颜色。 | | `/btw` | 在不打断主任务的情况下发起简短的旁路提问。 | | `/stats` | 查看 Claude Code 用量统计与活动情况。 | | `/release-notes` | 查看发行说明。 | | `/stickers` | 查看贴纸订购信息。 | ### 二、高级与集成 | 命令(含别名) | 用途 | |---|---| | `/add-dir ` | 将目录添加到工作区。 | | `/agents` | 管理 Agent 配置。 | | `/mcp` | 管理 MCP 服务器。 | | `/plugin`、`/plugins`、`/marketplace` | 管理插件与插件市场。 | | `/reload-plugins` | 使本会话加载待应用的插件改动。 | | `/skills` | 列出可用的 Skills。 | | `/hooks` | 查看工具事件 Hook 配置。 | | `/permissions`、`/allowed-tools` | 管理工具允许/拒绝规则。 | | `/config`、`/settings` | 打开配置面板。 | | `/keybindings` | 管理快捷键配置。 | | `/ide` | 管理 IDE 集成并查看其状态。 | | `/init` | 初始化项目级配置和指导文件。 | | `/doctor` | 诊断安装与配置问题。 | | `/memory` | 编辑 Claude 记忆文件。 | | `/export` | 将当前会话导出至文件或剪贴板。 | | `/pr-comments` | 获取 GitHub Pull Request 评论。 | | `/review` | 审查 Pull Request。 | | `/security-review` | 对当前分支的待处理改动执行安全审查。 | | `/tasks`、`/bashes` | 查看和管理后台任务。 | | `/mobile`、`/ios`、`/android` | 显示 Claude 移动端下载二维码。 | | `/install-github-app` | 为仓库配置 Claude GitHub Actions。 | | `/install-slack-app` | 安装 Claude Slack App。 | | `/login`、`/logout` | 登录或登出 Anthropic 账户。 | | `/usage` | 显示 Claude.ai 套餐用量限制;仅 Claude.ai OAuth 订阅者可见。通过自定义 `ANTHROPIC_BASE_URL` 的代理、Bedrock、Vertex、Foundry 或普通 API Key 使用时会被隐藏。 | | `/upgrade` | 升级至 Max;受账户资格限制。 | | `/output-style` | 已弃用;请改用 `/config` 调整输出样式。 | | `/statusline` | 配置状态栏显示。 | | `/terminal-setup` | 执行终端设置/安装引导。 | ### 三、受限、实验或内部命令 | 命令 | 用途与限制 | |---|---| | `/advisor` | 选择辅助顾问模型:它可在主模型之外协助回答或分析;仅账户具备该实验资格时显示。 | | `/files` | 列出本次会话已加入上下文、可供模型参考的文件;仅内部构建可用。 | | `/remote-control`、`/rc` | 让 Claude 网页端或移动端连接并操作当前本地终端;当前构建需启用远程控制功能。 | | `/session`、`/remote` | 生成远程会话链接和二维码,用其他设备继续或查看当前会话;仅远程会话模式可用。 | | `/desktop`、`/app` | 把当前会话转交到 Claude Desktop 应用继续处理;仅部分平台和订阅账户可用。 | | `/chrome` | 连接、设置或管理 Claude in Chrome 浏览器扩展(Beta);需满足登录和会话条件。 | | `/extra-usage` | 在套餐额度耗尽后,设置是否允许按额外用量继续使用;仅符合资格的账户可用。 | | `/privacy-settings` | 查看或修改数据使用、隐私相关偏好;仅消费者订阅账户可用。 | | `/remote-env` | 为可传送到远程端的会话选择默认运行环境,例如远程开发环境。 | | `/sandbox` | 启用或关闭命令执行沙箱,以限制工具可访问的系统资源。 | | `/passes` | 向他人赠送或分享限时免费使用资格;仅活动符合条件的账户可见。 | | `/ultrareview` | 将当前分支交给 Web 端进行更深入、耗时更长的缺陷审查;实验性功能。 | | `/think-back`、`/thinkback-play` | 查看或播放 Claude Code 的年度使用回顾;仅在活动开启期间可用。 | | `/web-setup` | 在 Claude 网页端连接 GitHub 并完成 Claude Code 的 Web 使用设置;仅部分 Claude.ai 账户和策略允许时可用。 | | `/fork` | 将当前任务分叉为独立的子 Agent 会话,用于并行处理;未启用该功能时它只是 `/branch` 的别名。 | | `/buddy` | 在终端中启用可互动的 AI 宠物功能;属于实验功能,默认构建通常不提供。 | | `/proactive` | 让助手在空闲期间自主检查待办、继续合适的工作;需启用持久助手/主动模式实验。 | | `/brief` | 切换为更精简的回答风格;需启用 KAIROS 助手实验且账户具备资格。 | | `/assistant` | 开启可跨会话持续工作的持久助手模式;属于 KAIROS 实验功能。 | | `/remote-control-server` | 在本机启动远程控制服务端,供其他 Claude 客户端连接;仅内部/实验构建可用。 | | `/voice` | 用语音输入与 Claude 交互;需语音实验、订阅资格和服务端开关均已启用。 | | `/peers` | 管理本地 Claude 进程之间的消息收件箱和协作通信;仅实验构建可用。 | | `/workflows` | 管理可复用的工作流脚本:把一组预定义步骤保存为命令,以便重复执行开发流程;仅启用工作流实验时可用。 | | `/torch` | Anthropic 内部代号功能;源码未提供面向外部用户的稳定用途说明,默认不可用。 | | `/heapdump` | 将当前 JavaScript 内存快照写入桌面目录,供排查内存泄漏或异常内存占用,不用于日常开发。 | | `/ultraplan` | 将复杂问题交给云端进行较长时间的独立研究和方案规划;当前外部构建已强制禁用。 | 内部构建(`USER_TYPE === 'ant'` 且非 Demo)还会注册:`/backfill-sessions`、`/break-cache`、`/bughunter`、`/commit`、`/commit-push-pr`、`/ctx_viz`、`/good-claude`、`/issue`、`/init-verifiers`、`/mock-limits`、`/bridge-kick`、`/version`、`/reset-limits`、`/onboarding`、`/share`、`/summary`、`/teleport`、`/ant-trace`、`/perf-issue`、`/env`、`/oauth-refresh`、`/debug-tool-call`、`/agents-platform`、`/autofix-pr`。其中部分还受各自功能开关约束,不应视为外部可用命令。 ## REPL 模块说明 `src/screens/REPL.tsx` 是 CLI 的主交互界面,负责会话状态、用户输入、模型查询、工具权限、消息显示及各类终端弹窗。导入较多,按职责可归纳如下: | 模块类别 | 主要引入 | 用途 | | --- | --- | --- | | 运行时与 Node API | `react/compiler-runtime`、`bun:bundle`、`child_process`、`path`、`os`、`fs/promises`、`crypto` | React 编译产物支持、功能开关、子进程、文件路径/临时文件、文件写入及 UUID。 | | React 与 Ink | `react`、`../ink.js`、`figures` | 管理组件状态/副作用,渲染终端 UI,处理键盘输入、终端尺寸、主题、焦点和终端标题。 | | 会话与上下文 | `bootstrap/state`、`sessionStorage`、`sessionRestore`、`conversationRecovery`、`claudemd`、`plans` | 保存/恢复会话、消息、成本、工作树、计划、内存文件与上下文。 | | 模型查询与消息 | `query`、`handlePromptSubmit`、`utils/messages`、`messageQueueManager`、`QueryGuard`、`queryProfiler` | 提交用户输入、调用模型、处理流式响应、维护消息队列、避免并发查询并记录性能。 | | 输入与快捷键 | `PromptInput`、`useSearchInput`、`inputModes`、`GlobalKeybindingHandlers`、`CommandKeybindingHandlers`、`KeybindingSetup` | 输入框、搜索、Vim/输入模式、全局和命令快捷键及快捷键上下文。 | | 消息与全屏显示 | `Messages`、`FullscreenLayout`、`VirtualMessageList`、`ScrollKeybindingHandler`、`messageActions`、`MessageSelector` | 显示会话消息、虚拟滚动、全屏模式、消息选择/复制/编辑等操作。 | | 命令、技能和插件 | `commands`、`useMergedCommands`、`useSkillsChange`、`useManagePlugins`、`performStartupChecks` | 聚合斜杠命令,监听技能变化,管理插件并执行启动检查。 | | 工具与权限 | `tools`、`useMergedTools`、`useCanUseTool`、`PermissionRequest`、`PermissionUpdate`、`SandboxPermissionRequest` | 组装工具池,判断工具可用性,展示权限请求并持久化权限更新;处理沙箱权限。 | | MCP 与 IDE | `MCPConnectionManager`、`useMergedClients`、`ElicitationDialog`、`useIDEIntegration`、`useIdeSelection` | 连接和合并 MCP 服务,处理 MCP 信息征询,以及 IDE 集成、选区和状态。 | | Agent 与协作 | `AgentTool/*`、`InProcessTeammateTask`、`LocalAgentTask`、`useSwarmInitialization`、`useInboxPoller` | 加载/恢复 Agent,管理本地与进程内队友任务、权限同步、收件箱和协作状态。 | | 压缩、令牌与成本 | `compact/*`、`tokenBudget`、`tokens`、`cost-tracker`、`CostThresholdDialog` | 计算令牌预算与上下文窗口,执行压缩,记录会话成本并展示成本提醒。 | | 文件与编辑器 | `fileHistory`、`fileStateCache`、`attachments`、`editor`、`exportRenderer` | 保存文件快照/回退,缓存读取状态,创建附件,导出消息文本并调用外部编辑器。 | | 通知与提示 | `notifications`、`notifier`、`hooks/notifs/*`、`tips/*`、`IssueFlagBanner` | 展示终端/系统通知、设置和网络状态、限流、升级、插件、IDE 等提示。 | | 会话生命周期 | `sessionStart`、`hooks`、`ExitFlow`、`gracefulShutdown`、`preventSleep`、`backgroundHousekeeping` | 执行会话开始/结束钩子,处理退出、后台清理和防止系统休眠。 | | 远程与后台会话 | `useRemoteSession`、`useSSHSession`、`useDirectConnect`、`LocalMainSessionTask`、`useSessionBackgrounding` | 提供远程/SSH/直连会话能力,并支持将主会话转入后台。 | | 配置、实验与遥测 | `config`、`analytics/*`、`diagnosticTracking`、`sessionTracing`、`activityManager` | 读写用户配置和动态实验配置,采集诊断/会话追踪并维护活动状态。 | | 条件加载模块 | `useVoiceIntegration`、`useFrustrationDetection`、`coordinatorMode`、`proactive/*`、`WebBrowserPanel` | 通过 `feature(...)` 或内部构建条件按需 `require`,使未启用功能可被构建工具剔除。 | | 其他界面能力 | `Spinner`、`TaskListV2`、`CompanionSprite`、`DevBar`、`TungstenLiveMonitor` | 显示加载状态、任务列表、助手形象、开发栏及工具实时监视器。 | ## 数据来源 - npm 包:[@anthropic-ai/claude-code](https://www.npmjs.com/package/@anthropic-ai/claude-code) - 还原方式:提取 `cli.js.map` 中的 `sourcesContent` ## 声明 - 源码版权归 [Anthropic](https://www.anthropic.com) 所有 - 仅用于技术研究与学习,请勿用于商业用途 - 如有侵权,请联系删除