Claude Code 的一个 Fork。不是官方正史,而是平行世界番外篇;不是萌豚整活仓库,而是“认真修、顺手发癫一点点”的工程分支。
免责声明:本项目仅供个人学习与技术研究,不得用于任何商业用途或非法用途。所有原始源码版权归 Anthropic 所有。

Doge Code 基于一份还原后的 Claude Code 源码树继续修改而来。
可以把它理解为:
如果用 ACG 比喻,大概属于:
Claude CodeDoge Code这个仓库当前强调的是以下方向:
~/.doge 路径体系换句话说,它现在更像一个“可自托管 / 可代理 / 可转接”的 Claude Code 变体。
Doge Code 默认不应与原版 Claude Code 共用配置和缓存目录。
当前 Fork 已明确把默认用户目录收口到:
~/.doge~/.doge/.claude.json这样做的目的,是避免以下问题:
Claude Code 的登录态污染 Doge Code.claude.json 或 .claude/ 导致奇怪的网络、认证、模型或 UI 异常如果用户以前装过原版 Claude Code,再运行 Doge Code 时出现“明明没这么配却读到了旧配置”的现象,通常就是历史数据混用导致的。
建议:
.claude / .claude.jsonDoge Code 使用 .doge 目录CLAUDE_CONFIG_DIR 为 Doge Code 指向独立目录一句话总结:
原版走原版的窝,狗子住狗子的窝,别把缓存、认证和配置炖成一锅。
Doge Code 正在加入一个“中间转接层”模式,用来让内部仍按 Anthropic Messages 结构工作的主逻辑,转发到 OpenAI Chat Completions 接口。
目标行为是:
这意味着它不是简单改一个 Base URL,而是协议级别的输入输出流转接。
当前状态:
如果你只是想稳定使用,建议优先走 Anthropic 兼容接口模式;如果你在测试 OpenAI 格式,请把它视为实验功能。
这个仓库不是上游官方源码仓库,也不是 pristine 状态的 Claude Code。
它有两层历史:
因此你会看到两类差异同时存在:
这两类改动都是真实存在的,不建议把当前代码误判成“官方上游源码镜像”。
bun install 可用于安装依赖bun run dev 可用于启动恢复后的 CLI/TUIbun run version 可用于输出当前版本信息Doge Code 分支,部分行为和 UI 已不再与原始 Claude Code 一致因为 source map 并不能召唤完整原仓库,最多只能说“把灵魂碎片召回来一部分”。
常见缺口包括:
因此这个仓库的目标从一开始就不是考古式供奉,而是:
简而言之:
先让它活,再让它能打,再让它变成狗。
环境要求:
安装依赖:
bun install
如果你是直接拉这个仓库源码来用,最快的方式是用 bun link 把它注册成全局命令。
在仓库根目录执行:
bun install
bun link
注册成功后:
@doge-code/clidoge此后可直接运行:
doge
如果你要在别的工程里依赖它,可以使用:
bun link @doge-code/cli
或者在 package.json 中写:
{
"dependencies": {
"@doge-code/cli": "link:@doge-code/cli"
}
}
这个 Fork 很适合直接通过 Git 拉取更新,而不是走传统已发布包升级。
典型更新流程:
git pull
bun install
bun link
含义分别是:
git pull:拉取最新源码改动bun install:同步依赖变化bun link:刷新全局 link 注册,确保命令入口与当前源码一致如果你本地就是长期用源码目录跑 Doge Code,这基本就是“源码级更新”的标准姿势。
首次安装:
git clone <your-fork-or-repo-url>
cd claude-code-rev
bun install
bun link
doge
后续更新:
git pull
bun install
bun link
doge
运行 Doge Code CLI:
bun run dev
安装为全局命令后,默认命令名为:
doge
也就是说,这个 Fork 现在的目标入口名是 doge,而不是 claude。
如果你使用 bun link 进行全局注册链接,那么现在注册出来的包名也不再是原版名,而是:
@doge-code/cli
输出版本号:
bun run version
这个 Fork 内置了一个名为 Buddy 的小企鹅宠物,会显示在输入框旁边,并在部分对话后冒泡吐槽或打气。
常用命令如下:
/buddy
/buddy pet
/buddy mute
/buddy unmute
/buddy help
补充说明:
/buddy mute 是“关闭显示和冒泡”,不是删除宠物数据/buddy unmute 会恢复显示Buddy,它有时会自己在气泡里回应Claude Code 的 Fork:Doge Code$ claude mcp add doge-code \
-- python -m otcore.mcp_server <graph>