使用 OpenCode 一段时间后,本文系统梳理其安装、模型配置,以及两个实际落地场景——内网知识库问答和 PR Review。整体使用下来,最直观的感受是:这款工具与 Cursor 并不冲突,但玩法确实不同。 本文主要内容 OpenCode 是什么、与 Cursor 有什么区别 如何安装,
使用 OpenCode 一段时间后,本文系统梳理其安装、模型配置,以及两个实际落地场景——内网知识库问答和 PR Review。整体使用下来,最直观的感受是:这款工具与 Cursor 并不冲突,但玩法确实不同。
OpenCode 是什么、与 Cursor 有什么区别
长期稳定更新的攒劲资源: >>>点此立即查看<<<
如何安装,如何确认安装成功
如何利用 GitHub Copilot 订阅和低价 API 接入 OpenCode
两个场景分别启动一个 OpenCode 实例
场景一:文档仓实例,内网 Markdown + Copilot 问答
场景二:代码仓实例,PR 自动 Review
简单来说,OpenCode 是一款开源的 AI 编程 Agent,安装在本机运行,不绑定特定模型。默认进入终端 TUI(Terminal User Interface),也可通过 opencode run 单条执行命令,或使用 opencode serve 让其他人连接。
它与 Cursor 并不冲突——OpenCode 更偏向终端环境,支持自由更换模型,并且可脚本化。实际操作中,Tab 键用于切换 plan 和 build 模式:Plan 模式只读,适合审查;Build 模式写入磁盘,适合执行修改。对话时还可以通过 @文件 携带特定上下文。
模型 ID 的格式为 provider/model,例如 deepseek/deepseek-chat。在 TUI 中,通过 /connect 配置 API Key,通过 /models 切换模型;配置默认写入 opencode.json 文件。
软件本身免费,模型使用您已有的订阅或购买的 API。
GitHub Copilot 接入方式:如果公司有 Copilot 订阅,可直接在 OpenCode 中使用,无需额外购买 Claude API。在 TUI 中通过 /connect 选择 GitHub Copilot,浏览器会提示在 github.com/login/device 输入设备码完成登录。之后通过 /models 命令即可切换 Copilot 提供的模型——注意部分模型可能需要 Pro+ 套餐。
凭证保存在 ~/.local/share/opencode/auth.json,切勿提交到 Git。可以在 opencode.json 中设置默认模型,但具体可用 ID 仍以 /models 列表为准。
低价 API 作为补充:在 PR Review 的 Actions 场景中,有时会使用 DeepSeek(按量付费),与本机 Copilot 区分开。Groq、OpenRouter 等平台同样可通过 /connect 接入。
日常使用组合如下:
| 场景 | 模式 | 模型 |
|---|---|---|
| 实例一:问文档 | plan | GitHub Copilot |
| 实例二:本地看 PR | plan | GitHub Copilot |
| 实例二:PR 自动评论 | Actions | DeepSeek(或 Copilot) |
关键点:实例一只 @ 相关的 Markdown 文件;实例二才配置 GitHub workflow,仓库不要混用。
如果之前安装过旧版,请先卸载。以下五条安装路径任选其一,安装完成后验证方式完全一致。
| 安装方式 | 命令 |
|---|---|
| macOS / Linux 脚本 | curl -fsSL opencode.ai/install | bash |
| Homebrew | brew install anomalyco/tap/opencode |
| npm | npm i -g opencode-ai@latest |
| Windows | scoop install opencode 或 choco install opencode;也可通过 WSL 使用脚本安装 |
| 桌面版 | opencode.ai/download 或 brew install --cask opencode-desktop |
安装验证:执行 opencode --version 查看版本号 → 运行 opencode 进入 TUI → 执行 /connect → 执行 /models 确认有模型列表 → 在 plan 模式随意提问一次,跑通即可。
进入仓库后,执行 cd your-repo && opencode 即可开始使用。
| 操作 | 具体做法 |
|---|---|
| 携带文件 | @文件名 |
| 连接模型 | /connect、/models |
| 只读 | Tab → plan |
| 修改代码 | Tab → build |
| 团队规范 | /init → AGENTS.md |
脚本场景:使用 opencode run -m (模型 ID 从 /models 中查看)。如需多人共用,可执行 opencode serve 启动服务,其他人通过 opencode attach http://IP:4096 连接——注意,每个人仍需使用自己的 Copilot 登录。
这两套场景没有使用同一个 OpenCode 会话或同一个仓库,而是拆分为两套独立的实例:各对应一个 Git 仓库、一份 AGENTS.md、一套用法。混用会导致上下文混乱——文档问答的 prompt 和 PR Review 的规则相互干扰,权限也不好控制(文档实例只读即可,代码实例可能需要写权限)。
| 实例一:文档问答 | 实例二:PR Review | |
|---|---|---|
| 仓库 | 单独的内网文档仓,如 company-docs | 业务代码仓,如 app-backend |
| 进入方式 | cd company-docs && opencode | cd app-backend && opencode,或通过 GitHub Actions |
| 默认模式 | 长期 plan | 本地看 PR 用 plan;CI 中自动 Review |
AGENTS.md | 只回答文档、禁止访问外网、必须注明出处 | 安全、测试、代码规范 |
| 长期服务 | 可选 opencode serve --port 4096 挂载文档仓 | 一般不开启 serve,走 workflow + /oc 评论 |
| 模型 | 本机 Copilot | 本机 Copilot;Actions 可用 DeepSeek |
实例一只存放 Markdown 文档,不要作为业务代码仓使用。实例二才执行 opencode github install、才放置 opencode-review.yml。如果在两台机器上各运行一个 serve,端口要分开,例如文档用 4096,代码用 4097,避免同事 attach 到错误环境。
下面分别说明这两个实例的具体落地方法。
目标是让 AI 能够方便地查询需求文档、API 规范、发布流程等内部资料。
做法是将这些文档整理为 Markdown 格式,存放在内网 Git 仓库,OpenCode 接入 GitHub Copilot,通过 @ 只携带相关 MD 文件,使用 plan 模式(只读,不修改代码)。文档放在内网仓,提问时通过 @ 控制范围;模型侧走 Copilot,前提是公司允许使用 Copilot 且您拥有有效订阅。
从飞书、Confluence 等平台导出或同步为 .md 文件,按主题分目录存放,例如:
docs/运维/发布.md
docs/API/鉴权.md
一篇文档只讲一件事,标题清晰——这比一个大 PDF 好用得多。
可单独建立文档仓库,也可挂靠在业务仓库的 docs/ 目录下,但必须确保内网能 clone 下来。
在文档仓(实例一),找一台能访问 GitHub 的开发机操作:
cd /path/to/docs-repo
opencode
进入 TUI:
1.执行 /connect → 选择 GitHub Copilot
2.终端会显示设备码,用浏览器打开 github.com/login/device 并输入设备码完成授权
3.执行 /models 选择 Copilot 中合适的模型(文档问答场景建议使用能力较强的模型)
4.按 Tab 切换到 plan 模式,避免 Agent 意外修改仓库文件
首次完成后,之后进入仓库会自动带上 Copilot。如需固定默认模型,将 /models 中看到的模型 ID 写入 opencode.json 的 model 字段即可。
好的提问方式会明确范围,并用 @ 指定具体文件:
根据 @docs/运维/发布.md,生产环境回滚需要几步?只根据文档回答;文档未提及则明确说明,不要编造。
尽量避免以下提问:
「帮我看看需求文档」——范围过大,AI 容易编造内容。
一上来 @ 整个 docs/ 目录——上下文窗口会超限,回答质量也会下降。
如果文档特别多、单文件较长,可以使用 opencode mcp add 接入公司自有的检索 MCP 服务,先搜索再 @ 命中段落;文档量不大时,直接 @ 两三个相关 MD 文件即可。
在仓库中执行 /init,或手动编写一个 AGENTS.md,至少包含以下两条:
禁止使用 webfetch 访问外网。
回答时必须注明依据的文档及章节;找不到则明确说明「文档未记载」。
这比每次口头提醒更稳定可靠。
文档仓库每个团队成员各自 clone 到本地,在各自的实例一中通过 opencode + /connect 连接自己的 Copilot 即可。
如需固定一台「文档问答专用机」,让它只运行实例一:
cd /path/to/company-docs
opencode serve --hostname 0.0.0.0 --port 4096
设置环境变量 OPENCODE_SERVER_PASSWORD。其他人通过 opencode attach http://10.x.x.x:4096 连接时,工作目录仍为文档仓。注意不要与实例二共用 4096 端口。
在业务代码仓单独启动实例二。当 PR 提交后,让 AI 先进行初步审查:明显的安全问题、遗漏的测试、代码规范不一致之处,先留下评论,再由人工重点审查。OpenCode 官方提供了 GitHub 集成,既可在 Actions 中自动运行,也可在 PR 评论中手动触发。
常见三种用法:
| 方式 | 使用场景 |
|---|---|
| PR 打开/更新自动运行 | 团队默认流程,每个 PR 都有初步评审 |
评论中写 /oc | 对某一段 diff 想单独修改或检查 |
本地 opencode pr | 合并前自己先运行一遍 |
在业务代码仓根目录(实例二,不要与文档仓混用):
opencode github install
按照向导完成以下步骤:
1.安装 OpenCode GitHub App 到目标仓库(或整个组织)。
2.生成 .github/workflows/opencode.yml(或专门的 review workflow)。
3.提示前往仓库 Settings → Secrets → Actions 添加环境变量,例如 DEEPSEEK_API_KEY。
DeepSeek 按量付费较为便宜,PR Review 默认使用它;如果公司有 Azure/Bedrock,可将 model 和 env 替换为对应配置。
单独放置一个 opencode-review.yml,仅在 PR 事件触发时运行:
name: opencode-review
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
jobs:
review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: anomalyco/opencode/github@latest
env:
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
model: deepseek/deepseek-chat
use_github_token: true
prompt: |
按仓库 AGENTS.md 的规范 Review 这个 PR:
- 安全:注入、权限、密钥是否泄露
- 错误处理和边界条件
- 测试是否覆盖主要变更
只评论确定的问题,不要凑字数,不要建议风格小事。
当 pull_request 触发且未写 prompt 时,OpenCode 也会进行默认 Review;此处加入 prompt 是为了对齐仓库中的 AGENTS.md 规范。
合并到 main 分支后,下次任何人开 PR 或推送新 commit,Actions 中就会自动运行 Review,评论会出现在 PR 对话中。
在 GitHub 的 Files changed 页面,在某一行下方写评论:
/oc 这里改成参数化查询,不要拼接 SQL
OpenCode 会携带文件路径、行号、diff 上下文,这比在总评中泛泛说「注意 SQL」要精确得多。如果希望它能直接 push commit 到同一 PR,workflow 中需要设置 contents: write 权限——但初评阶段建议只使用只读权限,代码修改仍由人工合并。
在代码仓开 PR 前,用实例二在本地扫描一遍 diff:
cd /path/to/app-backend
opencode pr 42
这条命令会 checkout 到 PR 的分支。在同一仓库中再执行 opencode,切换到 plan 模式,例如:
对比当前分支和 main 的 diff,列出 3 个最值得人工检查的风险点。
这比在网页中逐行翻看 patch 要快得多,尤其适合大型 PR。
Secrets 切勿写入仓库,只放入 GitHub Actions Secrets。
permissions 配置要恰当:仅做 Review 使用 contents: read;需要自动修改 PR 再开启 write。
公共仓库需注意 OpenCode 的 share 默认行为,敏感项目建议关闭或仅使用私有仓库。
评论过多会干扰他人,prompt 中写明「只评确定的」,可减少无效评论。
只要有真实的 CLI 需求、希望在内网部署、或想对接自己的业务系统,OpenCode 就值得安装。它与直接调用模型 API 最大的区别在于:能编排上下文,能指定工作目录,拥有不亚于 Cursor、Codex 的完整 Agent 机制。
此外,它还能与 OpenSpec、Superpowers 配合使用:OpenSpec 定义任务,Superpowers 管理流程,OpenCode 负责执行——三者分工清晰明确。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述