Claude Code 个人使用笔记:从安装到无限制模式

本文记录我在 Linux 环境下使用 Claude Code 的实践,涵盖 ClawGod 运行时补丁 的安装原理、cc-switch-cli 多供应商 API 管理,以及 Linux 虚拟机无限制模式 的开启方法。


一、ClawGod:让 Claude Code 进入"上帝模式"

1.1 它是什么?

ClawGod 不是第三方 Claude Code 客户端,而是一个运行时补丁(Runtime Patch),直接作用在官方 Claude Code 之上。

它的核心设计哲学是:兼容任何版本。当 Claude Code 官方升级后,ClawGod 会在下次启动时自动从新版本中重新抽取并重新打补丁,无需手动维护。

1.2 安装原理:用户目录 Hook 机制

ClawGod 的安装过程本质上是一次 "中间人注入" ,在用户目录下构建一套独立的运行时环境,劫持官方 claude 命令的执行链路。

安装流程拆解

第一步:定位官方二进制

ClawGod 首先通过 which claude 检测用户系统中已安装的 Claude Code 位置,支持 npm/pnpm/yarn 全局安装或官方独立二进制安装。

第二步:提取嵌入的 cli.js 源码

自 Claude Code v2.1.113 起,npm 包不再直接分发 cli.js,而是作为一个轻量加载器,将请求分发给平台特定的 Bun standalone 二进制文件。这些二进制文件位于:

复制代码
~/.local/share/claude/versions/   # macOS/Linux

ClawGod 从这些 Bun 二进制文件中提取嵌入的 cli.js 源码(从 __BUN 段中解析 Mach-O / ELF / PE 格式),以及嵌入的原生模块(audio-captureimage-processorcomputer-use-*url-handler)。

第三步:在用户目录构建独立运行时

所有提取的文件被放置到用户目录下的 ~/.clawgod/ 中:

复制代码
~/.clawgod/
├── cli.original.js          # 提取出的原始 cli.js(备份)
├── cli.js                   # 打过补丁的版本
├── patch.js                 # 补丁器脚本
├── vendor/                  # 提取的原生模块
│   ├── audio-capture.node
│   ├── image-processor.node
│   ├── computer-use-*.node
│   └── url-handler.node
├── features.json            # 功能开关配置
├── provider.json            # API 供应商配置
└── .source-version          # 记录补丁来源版本

第四步:应用 23 个正则补丁

ClawGod 使用版本无关的正则表达式cli.js 进行 20+ 处修改,这些补丁不依赖具体版本号,因此跨版本兼容:

补丁类别 具体修改 效果
功能解锁 USER_TYPE → ant 开启内部用户模式,解锁 24+ 隐藏命令(/share/teleport/issue/bughunter 等)
GrowthBook 环境/配置覆盖 可通过 features.json 覆盖任意功能开关
Agent Teams 强制启用 多 Agent 协作无需额外权限
Computer Use 订阅绕过 macOS 屏幕控制无需 Max/Pro 订阅
Auto-mode 解锁 第三方 API 用户也能使用自动模式
Ultraplan / Ultrareview 多 Agent 规划与自动化 Bug 狩猎
限制移除 CYBER_RISK_INSTRUCTION 移除安全测试拒绝(渗透测试、C2、漏洞利用不再被拒绝)
URL 生成限制 移除"绝不生成或猜测 URL"的指令
Cautious Actions 移除破坏性操作前的强制确认
Login Notice 移除未登录启动提醒
视觉标识 Logo/品牌色 → 绿色 一眼识别是否已打补丁
消息过滤器 显示对非 Anthropic 用户隐藏的内容
可靠性 1h Prompt Cache 强制 1 小时缓存 TTL(原为 5 分钟)
第三方 Cache 修复 非 Anthropic 域名时自动关闭 x-anthropic-billing-header,避免第三方代理的 prompt-cache 命中率归零
Auto Re-patch 检测到官方二进制升级后自动重新打补丁

第五步:创建启动器劫持原命令

安装脚本会:

  1. 将原始 claude 命令重命名为 claude.orig
  2. 创建新的 claude 启动器(shell 脚本 / cmd 文件)
  3. 启动器调用 bun 运行打过补丁的 cli.js,并指向提取的原生模块
bash 复制代码
# 安装后的命令映射
claude           # → 运行 ClawGod 补丁版(绿色 Logo)
claude.orig      # → 运行官方原版(橙色 Logo)
clawgod          # → 别名,同 claude
自动重补丁机制

.source-version 文件记录当前补丁对应的官方版本号。每次启动 claude 时,启动器会比对 ~/.local/share/claude/versions/ 中的最新版本与 .source-version

  • 版本一致 → 直接运行现有补丁
  • 版本更新 → 自动重新提取、打补丁、更新启动器

这意味着用户执行 claude update 时,ClawGod 已将该命令 patch 为走自己的 installer,从 npm 拉取最新 Anthropic 发布、重新提取、重新打补丁,一条龙完成。

1.3 安装命令

bash 复制代码
# 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

前置依赖:Node.js ≥ 18、ripgrep、Bun(缺失时自动安装)、已安装的官方 Claude Code。

1.4 配置第三方 API 供应商

ClawGod 在用户目录下创建 ~/.clawgod/provider.json,用于配置非 Anthropic 官方的 API 端点:

json 复制代码
{
  "apiKey": "sk-ant-api03-...",
  "baseURL": "https://api.anthropic.com",
  "model": "claude-sonnet-4-20250514",
  "smallModel": "claude-haiku-...",
  "timeoutMs": 3000000
}
  • 设置 apiKey 后,ClawGod 会将其注入为 ANTHROPIC_API_KEY,并隔离于 ~/.claude/settings.json
  • 非 Anthropic 的 baseURL 还会自动填充 ANTHROPIC_AUTH_TOKEN 用于网关认证
  • apiKey 留空则走 OAuth 路径,运行 claude auth login 一次即可

1.5 卸载

bash 复制代码
# macOS / Linux
curl -fsSL https://github.com/0Chencc/clawgod/releases/latest/download/install.sh | bash -s -- --uninstall
hash -r

# Windows
irm https://github.com/0Chencc/clawgod/releases/latest/download/install.ps1 -OutFile install.ps1; .\\install.ps1 -Uninstall

卸载会将 claude.orig 还原为 claude,并移除 clawgod 别名。


二、API 供应商管理:cc-switch-cli

当使用第三方 API 聚合平台(如 AIHubMix、小麦 API、硅基流动等)时,频繁切换 API Key 和端点非常麻烦。cc-switch-cli 是一个命令行工具,专门用于管理多个 CLI 工具的供应商配置。

2.1 核心概念

供应商(Provider) = 供应商名称 + API Base URL + API Key + 模型名称。切换供应商的本质是自动将这套配置写入对应 CLI 工具的配置文件。

2.2 安装与使用

bash 复制代码
# 快速安装(macOS / Linux)
curl -fsSL https://github.com/SaladDay/cc-switch-cli/releases/latest/download/install.sh | bash

# 交互式模式(推荐)
cc-switch

# 命令行模式
cc-switch provider list              # 列出供应商
cc-switch provider switch <id>       # 切换供应商
cc-switch provider export <id>       # 导出配置
cc-switch provider stream-check <id> # 检查供应商流健康度
cc-switch env tools                  # 检查本地 CLI 工具
cc-switch mcp sync                   # 同步 MCP 服务器

# 指定应用
cc-switch --app claude provider list    # 管理 Claude 供应商
cc-switch --app codex mcp sync          # 同步 Codex MCP
cc-switch --app gemini prompts list     # 列出 Gemini 提示词

2.3 支持的 CLI 工具

cc-switch 不仅管理 Claude Code,还支持:

  • Codex(OpenAI)
  • Gemini CLI(Google)
  • OpenCode(开源多 Provider CLI)
  • OpenClaw(兼容 OpenAI 接口的自定义工具)

三、Linux 虚拟机无限制模式

在 Linux 虚拟机或 Docker 容器中,以 root 用户运行 Claude Code 时,官方会出于安全考虑阻止 --dangerously-skip-permissions 的使用。此时需要配合环境变量:

bash 复制代码
# 在 root 用户下开启无限制模式(适用于 Docker/VM)
IS_SANDBOX=1 claude --dangerously-skip-permissions

IS_SANDBOX=1 向 Claude Code 声明当前处于沙盒环境,从而允许 root 用户使用危险模式。

3.1 危险模式的安全边界

--dangerously-skip-permissions 是 Anthropic 官方提供的"Safe YOLO Mode",让 Claude 绕过所有权限提示,完全自主执行直到任务完成。

适用场景

  • 重复性低风险的 Lint 错误修复
  • 标准代码脚手架生成
  • 自动化重构
  • CI/CD 流水线中的自动化执行
  • 沙盒和容器环境(强烈推荐)

安全实践

  • 仅在隔离环境运行:Docker 容器、VM、CI Runner
  • 避免生产环境:不要在有生产凭证、客户数据的机器上使用
  • 网络隔离:容器内限制外网访问,防止数据外泄

3.2 Docker 隔离方案示例

yaml 复制代码
# docker-compose.yml
services:
  agent:
    image: claude-code:latest
    environment:
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
      - IS_SANDBOX=1
    volumes:
      - ${WORKSPACE}:/workspace
    working_dir: /workspace
    network_mode: none  # 网络隔离
    command: claude --dangerously-skip-permissions

四、快速参考

场景 命令
安装 ClawGod `curl -fsSL https://github.com/0Chencc/clawgod/releases/latest/download/install.sh
运行补丁版 claude(绿色 Logo)
运行原版 claude.orig(橙色 Logo)
更新(自动重补丁) claude update
卸载 ClawGod bash ~/.clawgod/install.sh --uninstall
添加 API 供应商 cc-switch provider add(交互式)
切换供应商 cc-switch provider switch <id>
VM root 无限制模式 IS_SANDBOX=1 claude --dangerously-skip-permissions

五、参考资源

相关推荐
沐风_ZTL5 小时前
Ubuntu 22.04中OpenCode 安装与配置完整指南,及常问题解决办法
linux·ai·opencode
Johnny20045 小时前
什么是AI?从零认识人工智能
人工智能·机器学习·ai·大模型·入门教程
AI原来如此5 小时前
我用AI Agent做产品设计,省了20小时原型时间
人工智能·ai·大模型·ai编程
葡萄星球5 小时前
OpenClaw通过多agent创建数字分身方法
人工智能·ai
这是谁的博客?5 小时前
AI 领域精选新闻(2026-05-24)
人工智能·ai·大模型·agent·ai安全
胡耀超6 小时前
《设计数据密集型应用》(DDIA, 2nd ed.) 心智模型导览——《Designing Data-Intensive Applications》书介绍导航
大数据·数据库·分布式·ai·架构·数据
@蔓蔓喜欢你6 小时前
技术博客写作:分享知识,提升影响力
人工智能·ai
茉莉玫瑰花茶6 小时前
LangGraph 持久化(Persistence)[ 2 ]
开发语言·python·ai·langgraph
Loli_Wolf6 小时前
AI 原生研发闭环:从提需到线上监测,再自动回到提需
人工智能·深度学习·算法·microsoft·ai·ai编程·harness