用途
Open-ClaudeCode 是一个针对 Anthropic Claude Code CLI 的研究归档项目,其内容由官方 npm 包 source map 重建而来。它同时承担两类目标:一是作为研究与学习资源,用于研究 Claude Code 的整体架构与实现细节;二是作为一个可运行的命令行工具,可用于日常的开发任务。资料将其定位为“研究/学习资源为主,但 CLI 完全可用”。
主要能力
- 完整 TypeScript 源码:共 1,902 个文件,覆盖工具、命令、服务、UI 组件、终端框架、核心工具函数、状态管理 hooks 与通信层等模块,便于逐层研究架构。
- 可运行 CLI(v2.1.88):据资料描述,其行为与 npm 发布版本一致。
- 官方插件(13 个):包括代码审查、提交信息生成、PR 分析、安全指导、功能开发、前端设计、插件开发、Agent SDK 开发等。
- 配置示例与多场景配置模式(项目级、全局、开发/生产、权限模式、自定义系统提示、输出格式、会话管理、Token 预算控制等)。
- 原生 vendor 模块:用于音频采集与 ripgrep。
使用方式
环境要求
- Node.js 18 及以上。
- API 访问方式(任选其一):Anthropic API Key、兼容 Anthropic API 的第三方代理、或 Claude 订阅(OAuth 登录)。
获取与验证
git clone https://github.com/LING71671/Open-ClaudeCode.git
cd Open-ClaudeCode
node --version # 必须 >= 18.0.0
node package/cli.js --version # 应显示 2.1.88
认证配置
- API Key:在
~/.claude/settings.json中配置ANTHROPIC_AUTH_TOKEN,或通过环境变量设置。 - 第三方代理:设置
ANTHROPIC_BASE_URL与ANTHROPIC_AUTH_TOKEN。 - OAuth(Claude 订阅):直接运行
node package/cli.js,将打开浏览器登录。
常用运行命令
# 交互模式
node package/cli.js
node package/cli.js --model opus
node package/cli.js --permission-mode acceptEdits
# 非交互模式
node package/cli.js -p "explain closures in JavaScript"
node package/cli.js -p "..." --output-format json
node package/cli.js -c
node package/cli.js -r <session-id>
# 模型选择
node package/cli.js --model sonnet
node package/cli.js --model opus
node package/cli.js --model haiku
# 插件加载
node package/cli.js --plugin-dir ./plugins/code-review
配置模式
- 项目级
settings.json:可设置 model、permissionMode、env、systemPrompt。 - 全局
~/.claude/settings.json:对所有会话生效。 - 权限模式:默认逐项提示、
acceptEdits自动接受文件编辑、--dangerously-skip-permissions跳过所有权限(仅限沙箱)。 - 自定义系统提示、输出格式(人类可读/JSON/紧凑)、会话管理(列出、恢复、继续、共享)、Token 预算控制等。
适用场景
- 代码生成、代码审查、重构、Git 工作流(智能提交信息、PR 审查)、多文件修改。
- 集成到 CI/CD 流水线或 pre-commit hook 中执行自动审查与提交信息生成。
- 编辑器集成(如通过子进程调用 CLI 并解析 JSON 输出)。
- 研究 Claude Code 的架构:工具系统、命令注册表、权限模型、MCP 集成、Ink 终端 UI、CLI 中的 React hooks 状态管理。
- 扩展功能:编写自定义工具与插件。
限制与注意事项
- 安装时需提供 API 访问凭据;资料未说明各访问方式的收费或价格细节。
--dangerously-skip-permissions明确标注仅限沙箱使用。- 若平台二进制缺失(vendor 中的 ripgrep、audio-capture),CLI 会回退到 JavaScript 实现,除非需要特定功能否则无需处理。
- 资料中未提供官方支持渠道、许可证信息,以及除上述插件清单外的其他插件细节。