Claude Code 和 OpenCode 命令行 AI 编程工具实践

1. Claude Code

Claude Code 是 Anthropic 推出的命令行 AI 编程助手,默认集成 Claude 模型,支持切换至兼容的第三方 API 提供商(如 SiliconFlow)。该工具通过终端环境提供实时代码编辑、调试和重构能力,适用于需要高频交互的开发场景。

1.1 安装与卸载

1
2
3
4
5
6
7
8
9
10
11
12
# 官方安装脚本(推荐)
curl -fsSL https://claude.ai/install.sh | bash

# npm 安装
npm install -g @anthropic-ai/claude-code

# 完全卸载
npm uninstall -g @anthropic-ai/claude-code
rm -rf ~/.claude-code
rm -rf ~/.claude
npm cache clean --force
rm -rf ~/.local/state/claude/locks/

1.2 API 提供商切换方案

Claude Code 支持两种主流的 API 提供商切换方式,针对不同使用场景提供灵活选择。

1.2.1 CC Switch

CC Switch 通过直接修改 Claude Code 配置文件实现 API 提供商切换,适用于需要在不同提供商间快速切换的场景。

项目地址:https://github.com/farion1231/cc-switch

核心特性:

  • 配置方式:直接修改 ~/.claude/config.json,使用 /model 命令可查看当前生效的模型
  • API 端点:https://api.siliconflow.cn(无需 /v1 后缀)
  • 生效机制:修改配置后需重启终端或 Claude Code 客户端
  • 恢复官方:选择 “ 官方登录 “ 预设(Claude/Codex)或 “Google 官方 “ 预设(Gemini),按提示完成登录流程

1.2.2 CCR (Claude Code Router)

CCR 通过路由层代理转发请求,无需修改 Claude Code 原始配置,提供透明的 API 切换能力。

1
2
3
4
5
6
7
8
# 安装 CCR
npm install -g @musistudio/claude-code-router

# 启动配置界面
ccr ui

# 启动代理
ccr code

核心特性:

  • 无侵入设计:CCR 作为独立代理转发请求,不修改 Claude Code 原始配置,使用 /model 命令查看仍显示原模型名称
  • 标准 API 格式:支持 OpenAI 兼容格式,API 端点为 https://api.siliconflow.cn/v1/chat/completions
  • 透明转发:客户端无感知切换,保留原生配置和功能完整性

1.3 核心功能与最佳实践

1.3.1 项目配置:CLAUDE.md

CLAUDE.md 是 Claude Code 的核心配置文件,相当于项目的长期记忆和编码规范集。

创建方式:

1
/init

关键作用:

  • 项目上下文:记录项目目标、技术栈、业务逻辑等核心信息
  • 编码规范:定义代码风格、命名约定、最佳实践等
  • 业务规则:固化业务逻辑和领域知识,减少重复解释

更新策略:

  • 项目结构发生重大变更时同步更新
  • 新增技术债务或架构决策时补充文档
  • 定期(每 2-4 周)审查和优化内容

1.3.2 权限控制

Claude Code 在执行文件操作、命令执行等敏感操作时会提示用户确认,支持跳过权限检查:

1
2
# 自动批准所有工具调用(仅限完全信任的环境)
claude code --dangerously-skip-permissions

安全建议:

  • 生产环境谨慎使用 --dangerously-skip-permissions
  • 首次使用建议开启权限确认,熟悉操作后再考虑自动化
  • 定期审查操作日志,确保无异常访问

1.3.3 高级命令与操作

命令功能使用场景
/tasks管理后台任务查看长时间运行任务的状态和输出
/compact压缩对话历史减少 token 消耗,提升响应速度
/cost显示 token 统计监控 API 使用量和成本
/review代码审查检查代码质量、安全性和性能问题
/model查看当前模型确认当前使用的 API 提供商和模型

多行输入技巧:

在行尾输入反斜杠 \ 后按 Enter 键继续下一行,适用于所有终端环境,适合输入长命令或代码片段。

后台任务管理:

  • Ctrl+B:将正在运行的 Bash 命令移至后台
  • /background:显式将命令移至后台执行

2. OpenCode

OpenCode 是基于命令行的 AI 编程助手,强调模块化代理系统和高度可扩展性,通过 Oh My OpenCode 插件实现多代理协作。

2.1 安装与配置

1
2
# 一键安装
curl -fsSL https://opencode.ai/install | bash

配置文件结构

1
2
~/.config/opencode/opencode.json          # 主配置文件
~/.config/opencode/oh-my-opencode.json # Oh My OpenCode 插件配置

配置项说明:

  • opencode.json:存储基础配置、API 密钥、默认模型等
  • oh-my-opencode.json:管理插件、代理定义、技能映射等

2.2 Oh My OpenCode 插件

Oh My OpenCode 是 OpenCode 的核心增强插件,提供多代理协作、技能系统、自定义命令等高级功能。

核心能力:

  • 多代理系统:同时启动多个专业化子代理,并行处理复杂任务
  • 技能系统:通过 SKILL.md 定义专业化工作流,自动匹配任务到合适的代理
  • 会话管理:跨会话持久化记忆,追踪项目上下文
  • 自定义命令:扩展终端命令,集成外部工具和脚本

2.3 常用命令

1
2
3
4
5
6
7
8
# 查看会话统计信息
opencode stats

# 列出所有可用代理
opencode agent list

# 查看当前会话 ID 和状态
opencode session info

2.4 核心操作与最佳实践

2.4.1 项目初始化

1
/init

/init 命令创建或更新 AGENTS.md,帮助 OpenCode 理解项目结构、技术栈和编码模式,提升后续任务的准确性。

AGENTS.md 内容要点:

  • 项目概述和技术栈
  • 构建命令和测试流程
  • 编码规范和最佳实践
  • 目录结构和模块划分

2.4.2 任务管理与多代理协作

任务挂起与恢复:

  • Ctrl + Z:将当前任务挂起到后台
  • fg:将后台任务恢复到前台

多代理协作:
在 Oh My OpenCode 支持下,可同时启动多个子代理异步执行,大幅提升并行处理效率。

  • Ctrl+X + 方向键:在不同子任务间切换查看进度
  • Ctrl+X + 上方向键:返回主任务上下文
  • /background:显式将任务移至后台

典型工作流:

  1. 主代理接收到复杂任务
  2. 主代理分析任务,拆分为多个子任务
  3. 并行启动专业化子代理(Explore、Librarian、Build 等)
  4. 子代理异步执行,实时汇报进度
  5. 主代理聚合结果,综合分析后反馈用户
%%{init: {'theme': 'base', 'themeVariables': {'actorBkg': '#4F46E5', 'actorTextColor': '#fff', 'actorBorder': '#3730A3', 'signalColor': '#6366F1', 'activationBkgColor': '#E0E7FF', 'activationBorderColor': '#4F46E5'}}}%%
sequenceDiagram
    autonumber
    participant U as "用户"
    participant OC as "OpenCode 主代理"
    participant A1 as "Explore 代理"
    participant A2 as "Librarian 代理"
    participant A3 as "Build 代理"

    U->>OC: "发起复杂任务"
    activate OC
    OC-->>U: "创建任务清单"

    par 并行执行
        OC->>A1: "代码库探索任务"
        activate A1
        A1-->>OC: "探索结果"
        deactivate A1
    and
        OC->>A2: "外部文档查询"
        activate A2
        A2-->>OC: "参考资料"
        deactivate A2
    and
        OC->>A3: "代码生成与构建"
        activate A3
        A3-->>OC: "实现结果"
        deactivate A3
    end

    OC->>OC: "综合分析结果"
    OC-->>U: "任务完成,提交结果"
    deactivate OC

    Note over U,OC: "用户交互"
    Note over OC,A3: "多代理协作"

多代理协作优势:

  • 并行处理:多个子代理同时执行不同任务,大幅提升效率
  • 专业化分工:Explore 负责代码库探索,Librarian 负责外部文档,Build 负责代码实现
  • 实时反馈:子代理实时汇报进度,主代理可动态调整策略
  • 结果聚合:主代理综合所有子代理结果,提供统一且全面的解决方案

2.4.3 技能系统

SKILLS 允许将复杂任务标准化为可复用的工作流,通过 SKILL.md 定义自动化处理流程。

技能文件存放位置:

1
2
3
4
5
6
7
8
9
# 项目级技能(推荐)
.opencode/skill/<name>/SKILL.md

# 全局技能
~/.config/opencode/skill/<name>/SKILL.md

# 兼容 Claude 技能
.claude/skills/<name>/SKILL.md
~/.claude/skills/<name>/SKILL.md

3. 参考资料