OpenCode 完全指南:120k Stars 的开源终端 AI 编程代理

OpenCode 是最受欢迎的开源 AI 编程代理,GitHub 120k+ stars,MIT 协议。Go 编写的单二进制文件,支持 75+ 模型 provider,终端 TUI 交互。本文覆盖安装配置、日常使用、高级技巧和真实案例。


什么是 OpenCode

OpenCode 是一个开源的终端 AI 编程代理,用 Go 编写,提供漂亮的 TUI 界面。它是 2026 年 GitHub 上 star 数最高的 AI 编程工具(120k+),900+ 贡献者。

⚠️ 注意:OpenCode 原始仓库(opencode-ai/opencode)已归档,项目以 "Crush" 的名义由原作者在 Charm 团队继续开发。但 OpenCode 的 fork 和社区版本仍然活跃。

核心特性:

  • 开源(MIT),Go 单二进制,跨平台
  • 精美的 TUI 界面(基于 Bubble Tea 框架)
  • 75+ AI 模型 provider 支持
  • Session 管理:保存和切换多个对话
  • 工具集成:执行命令、搜索文件、修改代码
  • Vim 风格编辑器
  • LSP 集成:语言服务器支持
  • MCP 支持:外部工具接入
  • 自定义命令系统
  • 自动上下文压缩

和竞品对比:

维度 OpenCode Claude Code Codex CLI Oh My Pi
开源 MIT 闭源 Apache-2.0 MIT
语言 Go TypeScript TypeScript TS + Rust
Stars 120k+ - 85k+ 17.7k
安装 单二进制 npm npm/curl bun/curl
TUI Bubble Tea 自研 自研 自研
Provider 75+ Anthropic OpenAI 40+
自定义命令 Markdown 文件 Slash 命令
学习曲线

简单说:OpenCode 最轻量、最易上手、社区最大。适合想要一个简洁好用的终端 AI 助手的开发者。


安装

各平台安装命令

bash 复制代码
# Linux / macOS(推荐,一键安装)
curl -fsSL https://opencode.ai/install | bash

# 指定版本
curl -fsSL https://opencode.ai/install | VERSION=0.1.0 bash

# Homebrew (macOS/Linux)
brew install opencode-ai/tap/opencode

# Arch Linux (AUR)
yay -S opencode-ai-bin

# Go
go install github.com/opencode-ai/opencode@latest

验证安装:

bash 复制代码
opencode --version

配置 API 接入

OpenCode 的配置文件位置(按优先级):

  • ~/.opencode.json(全局)
  • $XDG_CONFIG_HOME/opencode/.opencode.json
  • ./.opencode.json(项目级)

配置七牛云中转示例:

json 复制代码
{
  "providers": {
    "openai": {
      "apiKey": "sk-your-qiniu-api-key",
      "disabled": false
    }
  },
  "agents": {
    "coder": {
      "model": "openai.gpt-5.5",
      "maxTokens": 128000
    },
    "task": {
      "model": "openai.gpt-5.4-mini",
      "maxTokens": 64000
    },
    "title": {
      "model": "openai.gpt-5.4-mini",
      "maxTokens": 80
    }
  },
  "autoCompact": true
}

获取 API Key:

  1. 打开 https://s.qiniu.com/2uMRza 注册七牛云账号
  2. 完成实名认证
  3. 进入费用中心,充值 100 元(开启每分钟 5 次请求额度)
  4. 进入 API Key 管理页面:https://portal.qiniu.com/ai-inference/api-key
  5. 点击「创建」,名称填 "opencode"
  6. 复制 sk- 开头的 Key,粘贴到配置文件的 apiKey 字段

使用自托管/中转端点时,设置环境变量:

bash 复制代码
export OPENAI_API_KEY="sk-your-qiniu-api-key"
export LOCAL_ENDPOINT="https://api.qnaigc.com/v1"

或在配置中指定 self-hosted model:

json 复制代码
{
  "agents": {
    "coder": {
      "model": "local.gpt-5.5",
      "reasoningEffort": "high"
    }
  }
}

验证配置:

bash 复制代码
opencode -p "你好,你是什么模型?"

日常使用

启动

bash 复制代码
# 交互模式(TUI)
cd my-project
opencode

# 单次命令(非交互)
opencode -p "解释这个项目的架构"

# 指定工作目录
opencode -c /path/to/project

# 调试模式
opencode -d

# JSON 格式输出(适合脚本)
opencode -p "列出所有 TODO" -f json

# 安静模式(无 spinner,适合管道)
opencode -p "分析代码" -q

核心快捷键

快捷键 功能
Ctrl+O 切换模型
Ctrl+A 切换会话
Ctrl+N 新建会话
Ctrl+K 命令面板
Ctrl+X 取消当前生成
Ctrl+S 发送消息
Ctrl+E 打开外部编辑器
Ctrl+L 查看日志
Ctrl+? 帮助
i 聚焦编辑器
Esc 退出编辑/关闭弹窗

权限对话框

当 AI 要执行可能危险的操作时会弹出权限请求:

快捷键 功能
a 允许
A 本次会话全部允许
d 拒绝

单次命令示例

bash 复制代码
# 理解代码
opencode -p "解释 src/auth/ 目录的认证流程"

# 写代码
opencode -p "实现一个 JWT 中间件,支持 refresh token"

# 修 Bug
opencode -p "运行测试,找到失败原因并修复"

# 重构
opencode -p "把 src/legacy/ 的 callback 风格改成 async/await"

# 文档
opencode -p "给 src/api/ 下所有导出函数加 JSDoc"

# 搜索代码
opencode -p "找到所有使用 deprecated API 的地方"

工具体系

文件和代码工具

工具 功能
glob 按模式查找文件
grep 搜索文件内容
ls 列出目录
view 查看文件内容
write 写入文件
edit 编辑文件
patch 应用补丁
diagnostics LSP 诊断信息

其他工具

工具 功能
bash 执行 shell 命令
fetch 抓取 URL 内容
sourcegraph 跨仓库代码搜索
agent 子代理(子任务)

高级玩法

1. 自定义命令

~/.config/opencode/commands/ 下创建 Markdown 文件即可:

markdown 复制代码
# ~/.config/opencode/commands/prime-context.md

RUN git ls-files
READ README.md
READ package.json

使用:Ctrl+K → 选择 user:prime-context

支持命名参数:

markdown 复制代码
# ~/.config/opencode/commands/review-pr.md

RUN gh pr view $PR_NUMBER --json title,body,files
RUN gh pr diff $PR_NUMBER

运行时会提示输入 $PR_NUMBER 的值。

2. 子目录组织命令

复制代码
~/.config/opencode/commands/
├── git/
│   ├── commit.md        → user:git:commit
│   └── review.md        → user:git:review
├── test/
│   └── coverage.md      → user:test:coverage
└── prime-context.md     → user:prime-context

3. 项目级命令

放在项目目录 .opencode/commands/ 下:

markdown 复制代码
# .opencode/commands/setup.md

RUN npm install
RUN npm run build
RUN npm test

团队成员共享同一套命令。

4. MCP 外部工具

json 复制代码
{
  "mcpServers": {
    "database": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sqlite", "mydb.sqlite"]
    },
    "web-tool": {
      "type": "sse",
      "url": "https://example.com/mcp",
      "headers": {
        "Authorization": "Bearer token"
      }
    }
  }
}

5. LSP 集成

配置语言服务器获取代码诊断:

json 复制代码
{
  "lsp": {
    "go": {
      "disabled": false,
      "command": "gopls"
    },
    "typescript": {
      "disabled": false,
      "command": "typescript-language-server",
      "args": ["--stdio"]
    },
    "python": {
      "disabled": false,
      "command": "pylsp"
    }
  }
}

AI 能通过 diagnostics 工具获取 lint/type 错误并自动修复。

6. 自动压缩(Auto Compact)

对话接近模型上下文窗口时自动总结压缩,创建新 session 继续。默认开启:

json 复制代码
{
  "autoCompact": true
}

7. 多 Agent 配置

为不同角色指定不同模型:

json 复制代码
{
  "agents": {
    "coder": {
      "model": "openai.gpt-5.6-sol",
      "maxTokens": 128000,
      "reasoningEffort": "high"
    },
    "task": {
      "model": "openai.gpt-5.4-mini",
      "maxTokens": 64000,
      "reasoningEffort": "low"
    },
    "title": {
      "model": "openai.gpt-5.4-mini",
      "maxTokens": 80
    }
  }
}
  • coder:主编码 agent(贵模型、高推理)
  • task:子任务 agent(便宜模型)
  • title:会话标题生成(最轻量)

8. CI/CD 集成

bash 复制代码
# 非交互模式,适合自动化
opencode -p "运行 lint,修复所有 auto-fixable 问题" -q

# JSON 输出便于后续处理
opencode -p "分析这次 commit 的安全风险" -f json

9. Oh-My-OpenAgent (OmO) 扩展

社区项目 Oh-My-OpenAgent 给 OpenCode 增加了多代理系统:

bash 复制代码
# 安装
pip install oh-my-openagent

# 每个 agent 有独立模型和角色

模型选择策略

通过中转(七牛云/SiliconFlow)可用多种模型:

任务类型 推荐模型 理由
日常编码 gpt-5.5 综合能力强
复杂推理 gpt-5.6-sol 旗舰推理
快速问答 gpt-5.4-mini 便宜快速
代码专项 gpt-5.6-terra 均衡性价比
深度分析 claude-opus-4-8 Claude 最强

切换模型:TUI 中按 Ctrl+O 打开模型选择面板。


真实案例

案例 1:项目初始化

bash 复制代码
opencode
> Ctrl+K → 选择 "Initialize Project"

自动生成 OpenCode.md 项目记忆文件,后续对话自动加载上下文。

案例 2:批量文件操作

bash 复制代码
opencode -p "把 src/ 下所有 .js 文件的 var 替换为 const/let,保持语义正确"

案例 3:代码审查

bash 复制代码
opencode -p "看 git diff HEAD~3..HEAD,给出代码审查意见,按严重程度排序"

案例 4:子任务分发

复制代码
> 分析 src/services/ 目录下的 5 个 service 文件,
> 给每个生成对应的单元测试

agent 工具会自动拆分并发执行。


常见问题

OpenCode 免费吗?

工具本身免费。需要 AI API(按量付费)。用七牛云/SiliconFlow 等中转即可。

项目已经归档了?

原仓库归档,项目以 "Crush" 名义继续。但社区 fork 仍活跃,你装的版本仍可正常使用。

和 omp 选哪个?

OpenCode 更轻量、TUI 更美观、学习曲线低。omp 功能更全(调试器、浏览器、hashline)。看你需要什么。

怎么用国内中转?

设置 LOCAL_ENDPOINT 环境变量或在配置中添加自托管 provider,指向中转 base URL。

支持本地模型吗?

支持。通过 Ollama、LM Studio、llama.cpp 等 OpenAI 兼容本地服务接入。设置 LOCAL_ENDPOINT=http://localhost:11434/v1


延伸阅读

  1. OpenCode GitHub(已归档):https://github.com/opencode-ai/opencode
  2. Crush(后续项目):https://github.com/charmbracelet/crush
  3. 七牛云注册(获取 API Key):https://s.qiniu.com/2uMRza
  4. Oh-My-OpenAgent:https://github.com/nicobailon/oh-my-openagent
  5. OpenCode 教程:https://nxcode.io/resources/blog/opencode-tutorial-2026
相关推荐
学生高德1 小时前
人工智能的关键挑战:把 SVG 当作“可优化画布”进行迭代
人工智能
_codemonster1 小时前
从零手搓大模型(七)GPT 转 Llama:从教学版 GPT 走向现代 LLM 架构
人工智能·gpt·大模型·llama
李二苟1 小时前
从智能眼镜到云端工作流:Rokid AI旅游搭子的设计与实现
人工智能
MY_TEUCK2 小时前
MY_TRUCK - AI 应用|AI 编程三件套:OpenSpec、Superpowers、gstack 如何把 AI 从“手速实习生”变成“高级工程师”
人工智能
阿里技术2 小时前
从 Coder 到 Designer :电商团队数据研发的 Harness Engineering 实践
人工智能·microsoft·机器学习
带娃的IT创业者2 小时前
深度解析 Apple Foundation Models:端侧 AI 的真正革命
人工智能·移动开发·大语言模型·apple·端侧ai
战族狼魂2 小时前
广东备案大模型超百款
人工智能·算法·大模型·大语言模型
Geeys2 小时前
淘宝新店一般要熬几个月?淘宝新店破周期提速实操方案
大数据·人工智能
QN1幻化引擎2 小时前
DalinX V8 — 整体能力地图与 AGI 阶段评估
人工智能·神经网络·目标检测·语言模型·数据挖掘·agi