0Chencc/clawgod
0Chencc/clawgod has 2,283 GitHub stars and 366 forks. GitHot measured +3 stars in 24 hours and +35 in 7 days. Last checked 2026-11-08 07:19 UTC. Last push 2026-11-05.
ClawGod is a runtime patch applied to the official Claude Code. It continues to be supported with each version update.
实测星标增长
- 24小时
- +3
- 7天
- +35
- 15天
- 更新延迟
- 1个月
- 更新延迟
各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。
README_ZH.md
原文ClawGod
Claude Code 上帝模式。
这不是第三方 Claude Code 客户端。 ClawGod 是作用在官方 Claude Code 之上的运行时补丁。它兼容任何版本——当 Claude Code 升级,ClawGod 会在下次启动时自动从新版本重新抽取并重新打补丁。
默认启用隐私保护: 中和日期提示词中已识别的地区/代理隐写,并从 v2.3.0 起阻断 x-claude-code-wiggly-dove 自动采集 Git origin 和环境信息。保护范围和配置见隐私保护。
前置依赖
运行 ClawGod 安装脚本之前先装好:
| 工具 | 用途 | 安装 |
|---|---|---|
| Claude Code(原生二进制) | ClawGod 是基于你已装的官方 Bun standalone 二进制做 patch | claude.ai/install.sh(macOS/Linux)或 claude.ai/install.ps1(Windows) |
| ripgrep | Claude Code 内置 Grep tool 必需 | brew install ripgrep / apt install ripgrep / winget install BurntSushi.ripgrep.MSVC |
| Node.js >= 18 | patcher 使用 | nodejs.org |
| Bun | 运行 patched cli.js 的 runtime,缺失时自动安装 | bun.sh、npm install -g bun、scoop install bun 或 choco install bun |
安装
macOS / Linux:
curl -fsSL https://github.com/0Chencc/clawgod/releases/latest/download/install.sh | bash
Windows (PowerShell):
irm https://github.com/0Chencc/clawgod/releases/latest/download/install.ps1 | iex
绿色 Logo = 已 Patch。橙色 Logo = 原版。

功能一览
功能解锁
| 补丁 | 效果 |
|---|---|
| 内部用户模式 | 24+ 隐藏命令(/share、/teleport、/issue、/bughunter...),调试日志,API 请求记录 |
| GrowthBook 覆盖 | 通过配置文件覆盖任意 Feature Flag |
| Agent Teams | 多智能体协作,无需额外参数 |
| Computer Use | 无需 Max/Pro 订阅即可使用屏幕控制(macOS) |
| Auto-mode | 解锁第三方 API 用户的 auto-mode(移除 firstParty 限制) |
| Classifier 调优 | Auto-mode 分类器可调:超时 / 模型 / 重试次数(CLAWGOD_CLASSIFIER_TIMEOUT_MS、CLAWGOD_CLASSIFIER_MODEL、CLAWGOD_CLASSIFIER_RETRIES) |
| Ultraplan | 通过 Claude Code Remote 进行多智能体规划 |
| Ultrareview | 通过 Claude Code Remote 自动化 Bug 查找 |
限制移除
| 补丁 | 移除内容 |
|---|---|
| CYBER_RISK_INSTRUCTION | 安全测试拒绝提示(渗透测试、C2 框架、漏洞利用) |
| URL 限制 | "禁止生成或猜测 URL" 指令 |
| 操作审慎 | 破坏性操作前的强制确认 |
| 登录提示 | 启动时的"未登录"提醒 |
| 企业远程设置 | 组织托管的远程设置(~/.claude/remote-settings.json)——强制权限规则、disableRemoteControl、allowManagedPermissionRulesOnly、版本锁定。可用 CLAWGOD_FEATURE_REMOTE_SETTINGS=false 关闭 |
隐私保护
ClawGod 针对已识别的额外元数据附加路径,在本地 patched 客户端中实施保护。对于包含相应路径的上游版本,以下保护均默认开启。
| 补丁 | 中和内容 |
|---|---|
| 日期字符串 (qla) | 系统提示词通过 Unicode 撇号变体(U+0027 / U+2019 / U+02BC / U+02B9)和日期分隔符(中国时区 - → /)编码用户地理位置。Patch 后始终使用 ASCII ' 和原始日期格式 |
| 地区检测探针 (rdp) | 客户端三维检测:时区(Asia/Shanghai / Asia/Urumqi)、代理域名与 XOR 混淆的 100+ 域名黑名单比对、base URL 中的国产大模型关键词。Patch 后始终返回 null |
| 撇号选择器 (odp) | 根据检测结果选择四种 Unicode 撇号之一。Patch 后始终返回 ASCII '(纵深防御) |
| Git/环境信息字段 | 在 header 生成前阻断 x-claude-code-wiggly-dove 的自动采集,包括 Git origin 和环境信息。默认开启;已核对 Claude Code 2.1.299、2.1.301 和 2.1.303 |
wiggly-dove 补丁会在采集器运行前,让共用的资格 gate 返回 false,阻止这条路径读取 Git origin、采集容器/沙箱等环境信息及生成 header。Git origin 可能暴露仓库主机名和组织/项目路径。即使上游开启 tengu_wiggly_dove 灰度,保护仍然生效,也不依赖 GrowthBook 配置覆盖。
默认无需配置。如需明确保持两项保护开启,将以下字段合并到现有的 ~/.clawgod/patches.json:
{ "geo-neutralize": true, "wiggly-dove": true }
将任一项设为 false 会恢复对应的上游行为。CLAWGOD_FEATURE_WIGGLY_DOVE 等单次启动环境变量优先于文件配置,详见功能开关。
保护范围限于上表列出的已识别元数据路径。正常模型请求中包含的提示词、工具结果和代码仍会发送至配置的端点;其他遥测、网关的数据处理方式及新出现的采集路径需要单独核查。上游实现变化、wiggly-dove matcher 无法确认补丁位置时,默认会在写入源码前中止;显式使用 --tolerate-stale 可能跳过此保护并保留上游行为。
视觉
| 补丁 | 效果 |
|---|---|
| 绿色主题 | 品牌色 → 绿色,一眼辨别是否已 Patch |
| 消息过滤 | 显示对非 Anthropic 用户隐藏的内容 |
可靠性
| 功能 | 作用 |
|---|---|
| Glob/Grep 恢复 | Bun 编译时将 EMBEDDED_SEARCH_TOOLS=true 内联为字面量,导致内置 Glob/Grep 工具被隐藏。Patch 还原 env 检查并加入 bfs/ugrep 可用性检测——在 Bun runtime 下运行时工具自动恢复 |
| 渲染器 Shim(2.1.271+) | Claude Code 2.1.271 的 TUI 渲染器依赖 Bun.ant.CellSegmenter,这是 Anthropic 自带 Bun 才有的私有 API。ClawGod 在 patched bundle 前加载一份 JS 实现,让 TUI 在标准 Bun 上正常绘制,而不是在第一帧前卡住 |
| 1h Prompt Cache | 强制启用 1h TTL allowlist(默认实际是 5m → 空闲后导致大量 cache_creation token 浪费) |
| 第三方 Cache 修复 | 当 baseURL 指向非 Anthropic 域名时自动关闭 x-anthropic-billing-header。该 header 里的 cch 字段每请求都变,会让 DeepSeek / OneAPI / Bedrock / vLLM 以及所有 Anthropic 协议代理的 prompt-cache 命中率归零。不需要再自行配置 CLAUDE_CODE_ATTRIBUTION_HEADER=0。 |
| 自动重打补丁 | 检测到用户官方升级了 native Claude binary 时,下次启动自动重新抽取 + 重新 patch |
| 更新通知 | 每 24h 异步检查 GitHub releases(非阻塞),发现新版本时启动前显示一行提示 |
| 精简设置 | 三级 token 优化,作用于 ~/.claude/settings.json。on(默认):移除未使用工具定义 + 禁用 Workflows/Artifact,保留 Remote Control。max:额外禁用 Remote Control,并移除 Plan mode、Agent Teams、内置 skills。off:恢复全部工具 |
精简设置不会破坏现有配置,更新时保持用户选择。随时切换:
claude --lean-on(默认)/claude --lean-max(激进)/claude --lean-off(恢复全部)。取消单项设置只需自行修改(如"disableArtifact": false)。
Remote Control(/remote-control、/rc)在 on/off 下允许使用,仅在 max 下默认禁用。默认 on 模式更新安装或执行 claude --lean-on 会清除旧版 Lean 遗留的远程控制禁用项。仅 max 默认设置 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1;用户显式设置的环境变量限制保持不变。远程控制仍需满足上游账号、认证、端点及组织策略要求。
使用
claude # 已 Patch 的 Claude Code(替换官方 launcher)
clawgod # 同 `claude`,显式且永远生效的入口
claude.orig # 原版未修改版本(自动备份)
clawgod 是一个无歧义的入口:Windows 上即便 claude.exe 抢占了 claude.cmd,clawgod.cmd 始终生效;即便官方自动更新覆盖了 claude,clawgod 仍跑 patched 版本。
配置
首次启动会自动生成 ~/.clawgod/provider.json。填入 apiKey 即可跳过 OAuth 登录,对接任何 Anthropic 协议端点。
{
"apiKey": "sk-ant-...",
"baseURL": "https://api.anthropic.com",
"model": "",
"smallModel": "",
"effort": "",
"timeoutMs": 3000000
}
- 填写
apiKey:ClawGod 注入ANTHROPIC_API_KEY并与~/.claude/settings.json隔离。默认要求上游兼容 Anthropic Messages 协议;仅支持 Chat Completions 的网关请使用下方配置。baseURL指向非 Anthropic 域名时,仅注入ANTHROPIC_AUTH_TOKEN以适配网关鉴权。 - 留空
apiKey:走 OAuth 路径,执行一次claude auth login,~/.claude下的 subagents / skills / MCP 配置继续有效。 effort:设置推理强度,已有的CLAUDE_CODE_EFFORT_LEVEL优先。使用protocol: "openai-chat"、type: "grok"或"openai-compat"时,即使 Claude 没有为自定义模型发送 effort,代理也会发送配置对应的reasoning_effort。low、medium、high、xhigh原样传递,max转为xhigh,auto则省略该参数、使用上游默认值。请选用上游模型支持的档位。配置为空或未设置时,沿用请求中的 effort;请求也未指定时不添加该参数。
OpenAI Chat Completions 端点
如果上游提供 /v1/chat/completions,请配置:
{
"protocol": "openai-chat",
"apiKey": "sk-...",
"baseURL": "https://example.com/v1",
"model": "上游模型名称",
"smallModel": "上游模型名称"
}
baseURL 填 API 基础地址(按上游要求包含 /v1),不要填写完整的 /chat/completions 路径。模型名称必须是上游支持的 ID。ClawGod 会在启动器进程内启动本地转换代理,无需部署外部网关或独立服务。timeoutMs 同时约束上游请求和响应流;已有的 API_TIMEOUT_MS 优先。
- 不填
protocol时保持原有行为。继续兼容type: "openai-compat"和type: "grok";显式protocol优先。protocol: "anthropic"直接使用 Messages 协议。Grok 默认地址为https://api.x.ai/v1,继续支持从 Grok 配置或环境变量读取密钥;其他 Chat 提供商必须填写 API 基础地址和密钥。 - 支持文本、system、工具调用/结果、强制工具选择、并行工具控制、流式响应、usage,以及 base64/URL 图片。并行工具参数会在组装完整并验证后输出内容块;文本仍实时输出。上游缺少 usage 时保持为零,不伪造精确计数。
- base64 PDF 转为 Chat Completions 的
file块,要求上游模型/API 支持文件;文本型文档转为文本。PDF URL、文档引用、非文本工具结果、服务端工具和结构化输出格式会明确报错。历史 Anthropic thinking/signature 块会省略,模型专属推理能力无法无损转换。 /v1/messages/count_tokens使用本地估算,不额外调用计费接口。响应头x-clawgod-token-count: estimate标记估算结果。算法为文本 UTF-8 字节数 / 3 加消息开销,每张图片预算 1600 token,PDF 按解码字节数 / 3 估算。这不是模型 tokenizer;PDF 字节数不等于页数,估算不能保证上下文窗口一定容纳得下。- Chat 的
stop映射为end_turn(响应包含工具调用时映射为tool_use),因为该协议不区分自然结束与命中停止序列。length、tool_calls、content_filter分别映射为max_tokens、tool_use、refusal。上游 HTTP 错误保留状态码和Retry-After;损坏或提前截断的流会报错。 - 暂不支持
/v1/responses和自动协议探测;openai-chat仅用于 Chat Completions 端点。
功能开关
~/.clawgod/patches.json(首次安装自动创建)可持久关闭指定功能,配置在更新和重装后保留。未列出的 key 默认开启。
{ "theme": false, "geo-neutralize": false }
| Feature id | 控制内容 |
|---|---|
agent-teams |
Agent Teams 恒开 |
computer-use |
Computer Use 解锁 |
ultraplan |
Ultraplan 命令 |
ultrareview |
Ultrareview 命令 |
voice-mode |
Voice Mode |
auto-mode |
第三方 API 的 auto-mode 模型选择 |
classifier-tuning |
Auto-mode 分类器覆盖:CLAWGOD_CLASSIFIER_TIMEOUT_MS(deadline 下限;未设置=按上下文 60-120s,需 v2.1.251+)、CLAWGOD_CLASSIFIER_MODEL、CLAWGOD_CLASSIFIER_RETRIES(未设置=4) |
theme |
绿色品牌/Logo 配色 |
geo-neutralize |
中和 system prompt 中的地区/代理隐写 |
wiggly-dove |
阻断 x-claude-code-wiggly-dove 自动采集 Git/环境信息;关闭此保护会恢复上游行为 |
cyber-risk |
移除 system prompt 中的 CYBER_RISK_INSTRUCTION |
url-restriction |
移除 URL 生成限制 |
cautious-actions |
移除 "Executing actions with care" 段落 |
not-logged-in |
移除 "Not logged in" 提示 |
message-filter |
绕过非 ant 用户的消息/附件过滤 |
bun-ant-shim |
Claude Code 2.1.271+ 的 Bun.ant.CellSegmenter 渲染器 shim(见「可靠性」) |
仅对单次启动生效时用环境变量——feature id 大写、连字符转下划线:
CLAWGOD_FEATURE_THEME=false claude # 本次运行关闭绿色主题
CLAWGOD_FEATURE_GEO_NEUTRALIZE=true claude # 临时恢复 patches.json 里关闭的功能
工作原理
从 @anthropic-ai/claude-code v2.1.113 起,npm 包不再带 cli.js——它只是个 thin loader 转发到平台特定的 Bun standalone 二进制。ClawGod 这样适配:
- 在
~/.local/share/claude/versions/定位用户已装的 Bun native binary - 从
__BUNsegment(Mach-O / ELF / PE)抽出嵌入的cli.js源码 - 抽出嵌入的
.node原生模块(audio-capture、image-processor、computer-use-*、url-handler)放到~/.clawgod/vendor/ - 把
/$bunfs/...虚拟路径重写到本地 vendor 路径 - 应用 29 条正则 patch(跨版本兼容,同一组 regex 覆盖多个 release)
claude/clawgodlauncher 在 Bun runtime 下跑 patched cli.js- 在 patched cli.js 之前加载
bun-ant-shim.cjs,补上 Claude Code 2.1.271+ 需要的Bun.ant.CellSegmenter渲染接口
~/.clawgod/.source-version 标记当时被 patch 的版本号。每次启动 wrapper 比对它和 versions/ 里最新二进制;如果用户走官方途径升级了 Claude Code,下次启动会自动重打补丁。
更新
直接照常跑 claude update 即可。 ClawGod 把这条命令 patch 成走自己的 installer——从 npm 拉 Anthropic 当前发布(@anthropic-ai/claude-code-<plat>@latest)、重新提取 cli.js、重新打补丁、重写 launcher。所以上游 claude update 命令对用户依然如常工作——一条命令拿到最新 Claude + 补丁仍然生效。
额外选项:
claude update --version 2.1.180 # 锁定到指定 Claude Code 版本
claude update --no-upgrade # 不下载新版,只用最新 patcher 重新打补丁
--version 适用于新版有问题、想停留在已知稳定版本时。--no-upgrade 使用当前版本的完整干净源码备份重新应用最新补丁。旧安装若缺少这份备份,会下载一次相同版本来恢复源码,不会升级 Claude;之后重复打补丁直接复用本地备份。
如果你想直接调 installer(效果一样,两条路径都会拉同一个上游 release 并重新 patch):
macOS / Linux:
curl -fsSL https://github.com/0Chencc/clawgod/releases/latest/download/install.sh | bash
Windows:
irm https://github.com/0Chencc/clawgod/releases/latest/download/install.ps1 | iex
如果你想脱离 ClawGod、使用 Anthropic 原本的 claude update(它会写到自己管的目录、并把我们的 launcher 替换掉),请先卸载:
bash ~/.clawgod/install.sh --uninstall
卸载
macOS / Linux:
curl -fsSL https://github.com/0Chencc/clawgod/releases/latest/download/install.sh | bash -s -- --uninstall
hash -r # 刷新 shell 缓存
Windows:
irm https://github.com/0Chencc/clawgod/releases/latest/download/install.ps1 -OutFile install.ps1; .\install.ps1 -Uninstall
卸载会把 claude.orig 还原成 claude,并移除 clawgod 别名。
安装或卸载后,如果命令未立即生效,请重启终端或执行
hash -r。
许可证
GPL-3.0 — 与 Anthropic 无关,风险自负。