Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux使用Claude Code

Linux环境下使用Claude Code的实战指南

作者:vortex5

本文记录我在 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,并指向提取的原生模块
# 安装后的命令映射
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 安装命令

# 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 端点:

{
  "apiKey": "sk-ant-api03-...",
  "baseURL": "https://api.anthropic.com",
  "model": "claude-sonnet-4-20250514",
  "smallModel": "claude-haiku-...",
  "timeoutMs": 3000000
}

1.5 卸载

# 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 安装与使用

# 快速安装(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,还支持:

三、Linux 虚拟机无限制模式

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

# 在 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 绕过所有权限提示,完全自主执行直到任务完成。

适用场景

安全实践

3.2 Docker 隔离方案示例

# 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

四、快速参考

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

以上就是Linux环境下使用Claude Code的实战指南的详细内容,更多关于Linux使用Claude Code的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文