完整开源的 Claude Code 项目 - 基于 Anthropic 官方源码重建 🌐 Languages: 中文 | English
> /plugin marketplace add LING71671/Open-ClaudeCode
Repo: LING71671/Open-ClaudeCode
What's inside
完整开源的 Claude Code 项目 - 基于 Anthropic 官方源码重建
本项目由衷感谢 Anthropic 公司的开源贡献!
Anthropic 通过 npm 包发布 Claude Code,使我们能够学习和研究这个优秀的 AI 编程助手架构。本项目的源码是从官方 npm 包的 source map 中恢复的,仅供学习和研究使用。
"您说的对,我不应该把map文件一并发布到npm中,这是一个非常严重的错误。"
我们理解 source map 文件本应用于开发调试,而非公开发布。Anthropic 对此问题的认识和处理方式值得我们学习。
Open-ClaudeCode 是一个完整的 Claude Code 开源版本,包含:
Open-ClaudeCode/
├── package/ # 可运行的 CLI
│ ├── cli.js # 编译后的 CLI (12.5MB)
│ ├── cli.js.map # Source Map (57MB)
│ ├── package.json # 包配置
│ ├── bun.lock # Bun 锁文件
│ ├── sdk-tools.d.ts # SDK 类型定义 (117KB)
│ └── vendor/ # 原生二进制模块
│ ├── audio-capture/ # 音频捕获 (6 平台)
│ └── ripgrep/ # 代码搜索工具 (6 平台)
├── src/ # 完整 TypeScript 源码 (1,902 文件)
│ ├── tools/ # 30+ 工具实现 (184 文件)
│ ├── commands/ # 50+ 命令实现 (207 文件)
│ ├── services/ # API、MCP、OAuth 服务 (130 文件)
│ ├── components/ # React UI 组件 (389 文件)
│ ├── ink/ # Ink UI 框架 (96 文件)
│ ├── utils/ # 工具函数 (564 文件)
│ ├── hooks/ # React Hooks (104 文件)
│ ├── bridge/ # 桥接模块 (31 文件)
│ ├── vendor/ # 原生模块源码 (4 文件)
│ └── ... # 更多模块
├── plugins/ # 13 个官方插件
│ ├── agent-sdk-dev/
│ ├── claude-opus-4-5-migration/
│ ├── code-review/
│ ├── commit-commands/
│ ├── explanatory-output-style/
│ ├── feature-dev/
│ ├── frontend-design/
│ ├── hookify/
│ ├── learning-output-style/
│ ├── plugin-dev/
│ ├── pr-review-toolkit/
│ ├── ralph-wiggum/
│ └── security-guidance/
├── examples/ # 配置示例
│ └── settings/ # strict / lax / bash-sandbox
├── docs/ # 文档
├── README.md # 本文件
├── ACKNOWLEDGEMENTS.md # 感谢声明
├── CHANGELOG.md # 版本更新记录
├── LICENSE # 许可证说明
├── .gitignore # Git 忽略规则
└── .gitattributes # Git 属性
⚠️ OpenAI 格式代理(如 MiniMax、OpenRouter 等)请使用 Universal-AI-Protocol-Bridge 进行协议转换
# 1. 克隆仓库
git clone https://github.com/LING71671/Open-ClaudeCode.git
cd Open-ClaudeCode
# 2. 验证环境
node --version # 需要 >= 18.0.0
node package/cli.js --version # 应显示 2.1.88
# 3. 启动!
node package/cli.js
首次运行需要认证,选择以下任一方式:
适合中国大陆用户,无需科学上网:
settings.json:{
"env": {
"ANTHROPIC_BASE_URL": "https://你的代理地址",
"ANTHROPIC_AUTH_TOKEN": "sk-你的密钥"
}
}
node package/cli.js --settings settings.jsonsk-ant-...)settings.json:{
"env": {
"ANTHROPIC_AUTH_TOKEN": "sk-ant-你的密钥"
}
}
node package/cli.js --settings settings.json需要 Claude 订阅 + 科学上网:
# 直接运行,会自动打开浏览器登录
node package/cli.js

直接运行,像聊天一样对话:
node package/cli.js
进入后你会看到交互界面,可以直接输入问题或指令:
> 帮我创建一个 Python Flask 项目
> 解释一下这段代码
> 帮我修复这个 bug
常用操作:
Ctrl+C → 中断当前操作/help → 查看所有可用命令/clear → 清空对话/exit → 退出适合自动化、脚本调用:
# 简单问答
node package/cli.js -p "解释一下什么是闭包"
# 处理文件
node package/cli.js -p "帮我重构 src/main.ts 中的 getUser 函数"
# 指定模型
node package/cli.js -p "写一个排序算法" --model sonnet
# JSON 输出(适合程序处理)
node package/cli.js -p "列出当前目录的文件" --output-format json
# 继续当前目录的最近对话
node package/cli.js -c
# 恢复指定会话
node package/cli.js -r <session-id>
如果你使用第三方 API 代理服务或有自定义端点,可以这样配置:
// settings.json
{
"env": {
"ANTHROPIC_BASE_URL": "https://你的代理地址",
"ANTHROPIC_AUTH_TOKEN": "sk-你的API密钥"
}
}
node package/cli.js --settings settings.json
# PowerShell
$env:ANTHROPIC_BASE_URL = "https://你的代理地址"
$env:ANTHROPIC_AUTH_TOKEN = "sk-你的API密钥"
node package/cli.js
# CMD
set ANTHROPIC_BASE_URL=https://你的代理地址
set ANTHROPIC_AUTH_TOKEN=sk-你的API密钥
node package/cli.js
Claude Code 会自动读取 ~/.claude/settings.json:
// C:\Users\你的用户名\.claude\settings.json (Windows)
// ~/.claude/settings.json (macOS/Linux)
{
"env": {
"ANTHROPIC_BASE_URL": "https://你的代理地址",
"ANTHROPIC_AUTH_TOKEN": "sk-你的API密钥"
}
}
配置后每次运行 node package/cli.js 都会自动使用这些设置。
# 常用模型
node package/cli.js --model sonnet # Claude Sonnet(默认)
node package/cli.js --model opus # Claude Opus(最强)
node package/cli.js --model haiku # Claude Haiku(最快)
# 指定完整模型名
node package/cli.js --model claude-sonnet-4-6
node package/cli.js --model claude-opus-4-6
ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY 任选其一即可# Sonnet(默认,速度快,性价比高)
node package/cli.js --model sonnet
# Opus(最强,但较慢较贵)
node package/cli.js --model opus
# Haiku(最快最便宜)
node package/cli.js --model haiku
# 默认模式(每次操作需要确认)
node package/cli.js
# 自动接受编辑(不用每次确认文件修改)
node package/cli.js --permission-mode acceptEdits
# 跳过所有权限检查(⚠️ 仅限沙箱环境)
node package/cli.js --dangerously-skip-permissions
# 从指定目录加载插件
node package/cli.js --plugin-dir ./plugins/code-review
# 加载多个插件
node package/cli.js --plugin-dir ./plugins/code-review --plugin-dir ./plugins/commit-commands
# 进入你的项目目录
cd your-project
# 启动 Claude
node /path/to/Open-ClaudeCode/package/cli.js
# 然后输入:
> 帮我创建一个用户登录 API,使用 Express.js
> 给这个函数添加单元测试
> 修复 src/auth.ts 中的类型错误
# 使用 code-review 插件
node package/cli.js --plugin-dir ./plugins/code-review
# 或者直接让 Claude 审查
> 帮我审查最近的 git diff
> 检查这个 PR 有没有潜在问题
# 使用 commit-commands 插件
node package/cli.js --plugin-dir ./plugins/commit-commands
# 或者直接用内置命令
> /commit # 智能生成 commit message
在交互模式下输入 / 开头的命令:
| 命令 | 功能 |
|---|---|
/help | 显示帮助 |
/clear | 清空对话 |
/compact | 压缩对话历史 |
/model | 切换模型 |
/theme | 切换主题 |
/vim | 切换 Vim 模式 |
/cost | 查看费用统计 |
/stats | 查看使用统计 |
/share | 分享会话 |
/exit | 退出 |
A: 首次运行需要登录。运行后会自动打开浏览器,用你的 Claude 账号登录即可。或者设置 ANTHROPIC_API_KEY 环境变量。
A: 检查网络连接。如果在中国大陆,可能需要代理:
$env:HTTPS_PROXY="http://127.0.0.1:7890"
node package/cli.js
A: 在交互模式下输入 /cost 或 /stats 查看。
A: 创建 settings.json 文件,内容如下:
{
"env": {
"ANTHROPIC_BASE_URL": "https://你的代理地址",
"ANTHROPIC_AUTH_TOKEN": "sk-你的密钥"
}
}
然后运行 node package/cli.js --settings settings.json。也可以放到 ~/.claude/settings.json 实现全局配置。
A: 可以!但建议在你的项目目录下运行,这样 Claude 可以访问项目文件。
A: 这个仓库提供的是从 npm 包恢复的完整源码,适合学习研究。功能上和 npm 安装的版本一致。
A: Claude Code 原生使用 Anthropic API 格式。如果你需要使用 OpenAI SDK 格式调用,可以使用 Universal-AI-Protocol-Bridge 进行协议转换:
功能特性:
使用方法:
baseURL 指向该地址即可// 示例:使用 OpenAI SDK 调用 Claude
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://your-bridge-url/proxy/{token}/v1',
apiKey: 'any-key' // 实际 Key 已加密在 token 中
});
// 现在可以用 OpenAI 格式调用 Claude 了!
const response = await client.chat.completions.create({
model: 'claude-3-5-sonnet-latest',
messages: [{ role: 'user', content: 'Hello!' }]
});
源码位于 src/ 目录,包含 1,902 个源文件:
# 查看入口点
cat src/main.tsx
# 查看工具实现
ls src/tools/
# 查看命令实现
ls src/commands/
插件位于 plugins/ 目录,包含 13 个官方插件:
# 查看插件列表
ls plugins/
# 查看插件详情
cat plugins/ralph-wiggum/.claude-plugin/plugin.json
| 类别 | 数量 |
|---|---|
| TypeScript 源码 (.ts + .tsx) | 1,884 文件 |
| JavaScript 源码 (.js) | 18 文件 |
| 所有源码文件总计 | 1,902 文件 |
| 工具实现 | 30+ 个 |
| 命令实现 | 50+ 个 |
| 服务模块 | 15+ 个 |
| UI 组件 | 25+ 个 |
| 官方插件 | 13 个 |
| 原生模块 | 2 个 (audio-capture, ripgrep) |
| 支持平台 | 6 个 (macOS/Linux/Windows × arm64/x64) |
本项目源码版权归 Anthropic PBC 所有。
本仓库仅供学习和研究使用,不代表 Anthropic 官方立场。
详见 LICENSE 和 ACKNOWLEDGEMENTS.md。
最后更新: 2026-04-01
.claude-plugin/
marketplace.json
.codex/
environments/
environment.toml
.gitattributes
.github/
workflows/
desktop-verify.yml
.gitignore
.mcp.json
ACKNOWLEDGEMENTS.md
agent-team-test-artifacts/
agent-1/
npm-cache/
_cacache/
content-v2/
sha512/
ba/
43/
2d6190a2d08edc0f7aedf3dae75f2db40ff66f9341a3fd25bad3161fcf5ef34ec94bcfe56e857c3f28f6feda7769dff01369d25dc8d12a74a42570d93b9d
index-v5/
8e/
df/
5472fe1cc0e8f0c6de8ab9638dcb0eb4220317269f225ef94e7896902fd7
_update-notifier-last-checked
CHANGELOG.md
CLAUDE.md
cliRunner.cjs
DESIGN.md
desktop/
build/
icon.icns
icon.png
icon.svg
conversationContext.js
electron/
appLifecycle.cjs
cliEventParser.cjs
cliRunner.cjs
cliRunner.constants.cjs
crashReporter.cjs
cspInterceptor.cjs
desktopStateStore.cjs
doctor.cjs
e2eVisualQa.cjs
electronSandboxPolicy.cjs
ipc/
clipboardStateIpc.cjs
diagnosticsIpc.cjs
healthIpc.cjs
humanGateIpc.cjs
loopEventIpc.cjs
projectIpc.cjs
providerIpc.cjs
runtimeIpc.cjs
sessionIpc.cjs
ipcContract.cjs
ipcHandlers.cjs
ipcValidation.cjs
ipcValidation.constants.cjs
longRunningToolMonitor.cjs
main.cjs
memoryPolicy.cjs
memoryStore.cjs
nvidiaClient.cjs
persistence/
privateJsonFile.cjs
sqliteStateStore.cjs
stateSchema.cjs
preload.cjs
processControl.cjs
projectFiles.cjs
promptRefiner.cjs
providerAnthropicProtocol.cjs
providerBridge.cjs
providerBridgeHttp.cjs
providerBridgeMessages.cjs
providerBridgeStreams.cjs
providerChecker.cjs
providerConfig.cjs
providerIssue.cjs
providerModelDiscovery.cjs
providerProfilePolicy.cjs
providerProtocol.cjs
providerReasoningStore.cjs
providerRequestState.cjs
providerSecretVault.cjs
providerStreamAdapter.cjs
providerTransport.cjs
rateLimiter.cjs
redaction.cjs
runtimeSupervisor.cjs
selectionController.cjs
sendChannel.cjs
serviceProbe.cjs
sessionStore.cjs
supportBundle.cjs
userDataMigration.cjs
windowManager.cjs
package-lock.json
package.json
providerProfilePolicy.cjs
README.md
renderer/
app.js
assets/
opc-logo.svg
controllers/
chatController.js
projectController.js
projectFileController.js
promptComposerController.js
providerController.js
renderController.js
runController.js
serviceController.js
settingsController.js
css/
activity.css
base.css
inspector.css
message.css
modal.css
project.css
responsive.css
settings.css
shell.css
sidebar.css
styles.css
topbar.css
index.html
ports/
opcClient.js
services/
activity.js
completionGuard.js
confirmationBanner.js
logBuffer.js
markdownRenderer.js
messageActions.js
messageScroll.js
providerEditorModel.js
providerHealth.js
providerIssueRules.js
providerPanelViewModel.js
renderScheduler.js
reportSelection.js
sessionBanner.js
settingsHelpers.js
settingsProviderPanel.js
speedReader.js
state/
advancedPermissionPolicy.js
agentContextBudget.js
agentContract.js
agenticEvaluationScenarios.js
agentProviderRouter.js
agentRuntimeProfile.js
agentStepRunner.js
agentTaskLedger.js
agentTaskStepEngine.js
agentToolEvidence.js
agentToolPlanner.js
agentToolRegistry.js
agentVerificationEngine.js
agentWorkerRuntime.js
builtInSkills.js
commandPolicy.js
competenceProfile.js
conversationContext.js
projectFileIndex.js
projectRuntimeContext.js
providerFailurePolicy.js
providerRuntimeDiagnostics.js
runAudit.js
runRequestPlanner.js
runResumeRecovery.js
runRuntimeState.js
runTaskPlanner.js
runTaskQueue.js
runtimeDiagnostics.js
runtimeQualityDashboard.js
stateRepository.js
stateRules.js
stateStore.js
taskCheckpointStore.js
taskCheckpointSummarizer.js
taskManager.js
workspaceTrust.js
views/
inspectorView.js
messageView.js
projectContextView.js
runtimeContextView.js
sidebarView.js
toolView.js
scripts/
electronEnv.cjs
installApplications.cjs
openApplications.cjs
stateRules.js
test/
accessibilitySmoke.test.cjs
appLifecycle.test.cjs
cliEventParser.test.cjs
cliRunner.test.cjs
cliRunnerConstants.test.cjs
cspInterceptor.test.cjs
desktopStateStore.test.cjs
doctor.test.cjs
electronEnv.test.cjs
electronSandboxPolicy.test.cjs
electronSmoke.cjs
electronVisualSmoke.cjs
helpers/
rendererModules.cjs
installApplications.test.cjs
ipcContract.test.cjs
ipcHandlers.test.cjs
ipcLoopGuards.test.cjs
ipcValidation.test.cjs
ipcValidationConstants.test.cjs
longTaskCycle.test.cjs
memoryPolicy.test.cjs
privateJsonFile.test.cjs
promptRefiner.test.cjs
providerBridge.test.cjs
providerBridgeMessages.test.cjs
providerChecker.test.cjs
providerConfig.test.cjs
providerIssue.test.cjs
providerModelDiscovery.test.cjs
providerProfilePolicy.test.cjs
providerRequestState.test.cjs
providerTransport.test.cjs
redaction.test.cjs
rendererActivityUi.test.cjs
rendererConversationContext.test.cjs
rendererProject.test.cjs
rendererPromptComposer.test.cjs
rendererProviderModels.test.cjs
rendererRunTaskModels.test.cjs
rendererRuntime.test.cjs
rendererSettings.test.cjs
rendererSidebarView.test.cjs
rendererState.test.cjs
rendererStateRepository.test.cjs
runtimeSupervisor.test.cjs
selectionController.test.cjs
sendChannel.test.cjs
serviceProbe.test.cjs
srcBridgeRefactorGates.test.cjs
srcRefactorGates.test.cjs
stateSchema.test.cjs
supportBundle.test.cjs
userDataMigration.test.cjs
windowManager.test.cjs
docs/
OPC_DOMAIN_GLOSSARY.md
OPC_FULL_AUDIT_2026-06-08.md
OPC_LOOP_ENGINEERING_AUDIT_2026-06-21.md
OPC_PRODUCTION_HARDENING_2026-06-08.md
OPC_SCALE_READINESS.md
OPC_SURGICAL_REFACTORING.md
OPC_VS_CODEX_AUDIT.md
examples/
hooks/
bash_command_validator_example.py
settings/
README.md
settings-bash-sandbox.json
settings-lax.json
settings-strict.json
index.html
LICENSE
package/
package-lock.json
package.json
bun.lock
cli.js
cli.js.map
LICENSE.md
package.json
README.md
sdk-tools.d.ts
vendor/
audio-capture/
arm64-darwin/
audio-capture.node
arm64-linux/
audio-capture.node
arm64-win32/
audio-capture.node
x64-darwin/
audio-capture.node
x64-linux/
audio-capture.node
x64-win32/
audio-capture.node
ripgrep/
arm64-darwin/
rg
arm64-linux/
rg
arm64-win32/
rg.exe
COPYING
x64-darwin/
rg
x64-linux/
rg
x64-win32/
rg.exe
plugins/
agent-sdk-dev/
.claude-plugin/
plugin.json
agents/
agent-sdk-verifier-py.md
agent-sdk-verifier-ts.md
commands/
new-sdk-app.md
README.md
claude-opus-4-5-migration/
.claude-plugin/
plugin.json
README.md
skills/
claude-opus-4-5-migration/
references/
effort.md
prompt-snippets.md
SKILL.md
code-review/
.claude-plugin/
plugin.json
commands/
code-review.md
README.md
commit-commands/
.claude-plugin/
plugin.json
commands/
clean_gone.md
commit-push-pr.md
commit.md
README.md
explanatory-output-style/
.claude-plugin/
plugin.json
hooks/
hooks-handlers/
session-start.sh
hooks.json
README.md
feature-dev/
.claude-plugin/
plugin.json
agents/
code-architect.md
code-explorer.md
code-reviewer.md
commands/
feature-dev.md
README.md
frontend-design/
.claude-plugin/
plugin.json
README.md
skills/
frontend-design/
SKILL.md
gstack-workflows/
.claude-plugin/
plugin.json
README.md
skills/
gstack-cso/
SKILL.md
gstack-document-release/
SKILL.md
gstack-investigate/
SKILL.md
gstack-qa-only/
SKILL.md
gstack-review/
SKILL.md
hookify/
.claude-plugin/
plugin.json
.gitignore
agents/
conversation-analyzer.md
commands/
configure.md
help.md
hookify.md
list.md
core/
... 1600 moreShowing a partial view of a very large repo.
FAQ
open-claudecode is a Claude Code plugin with 15 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes claude-opus-4-5-migration, frontend-design, gstack-cso. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.