Claude Code 和 OpenCode 命令行 AI 编程工具实践
1. Claude Code
Claude Code 是 Anthropic 推出的命令行 AI 编程助手,默认集成 Claude 模型,支持切换至兼容的第三方 API 提供商(如 SiliconFlow)。该工具通过终端环境提供实时代码编辑、调试和重构能力,适用于需要高频交互的开发场景。
1.1 安装与卸载
1 | # 官方安装脚本(推荐) |
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 | # 安装 CCR |
核心特性:
- 无侵入设计: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 | # 自动批准所有工具调用(仅限完全信任的环境) |
安全建议:
- 生产环境谨慎使用
--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 | # 一键安装 |
配置文件结构
1 | ~/.config/opencode/opencode.json # 主配置文件 |
配置项说明:
opencode.json:存储基础配置、API 密钥、默认模型等oh-my-opencode.json:管理插件、代理定义、技能映射等
2.2 Oh My OpenCode 插件
Oh My OpenCode 是 OpenCode 的核心增强插件,提供多代理协作、技能系统、自定义命令等高级功能。
- 项目地址:https://github.com/code-yeongyu/oh-my-opencode
- 完整文档:https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/README.md
核心能力:
- 多代理系统:同时启动多个专业化子代理,并行处理复杂任务
- 技能系统:通过 SKILL.md 定义专业化工作流,自动匹配任务到合适的代理
- 会话管理:跨会话持久化记忆,追踪项目上下文
- 自定义命令:扩展终端命令,集成外部工具和脚本
2.3 常用命令
1 | # 查看会话统计信息 |
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:显式将任务移至后台
典型工作流:
- 主代理接收到复杂任务
- 主代理分析任务,拆分为多个子任务
- 并行启动专业化子代理(Explore、Librarian、Build 等)
- 子代理异步执行,实时汇报进度
- 主代理聚合结果,综合分析后反馈用户
%%{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 | # 项目级技能(推荐) |