opencode 完全指南:终端 AI 编程代理安装配置与实战
2026/9/8 4:32:22 网站建设 项目流程

这段时间要是你刷技术社区,肯定没少看到 opencode 这个名字。我第一次在 GitHub 上看到它,第一反应是“又来了一个 AI Agent 套壳工具”?但真正在项目里跑了一轮之后,我承认自己判断错了。opencode 不是那种只能聊聊天、改改单文件的小玩具,它是一个能直接跑在终端里的自主编码代理,读代码、规划修改方案、批量改文件、执行命令、跑测试,一条龙干完。简单说,它就是那种“你把 Issue 丢给它,它自己把代码写完并把测试跑到绿”的工具。

这篇文章我会从零开始讲清楚 opencode 是什么,适合谁来用,怎么安装、怎么配置模型、怎么配合 VS Code / IntelliJ IDEA 用,以及我在实际项目中踩过哪些坑。里面所有的安装命令、配置项、排错步骤,都是我亲手跑过的,不是从 README 里复制粘贴过来的。无论你之前只用过 GitHub Copilot,还是已经对 Claude Code 和 Codex 熟悉到不行,这篇内容都能帮你少走很多弯路。

1. opencode 整体设计与思路拆解

1.1 它到底是一个什么东西

opencode 本质上是运行在终端里的 AI 编程 Agent。它和传统的“代码补全”工具完全不是一类东西。补全工具是你在写代码时它帮你续写一段,而 opencode 是拿到你的任务描述之后,自己动手去翻项目目录、读源码、分析依赖关系、定位问题、写修改方案、改代码、然后调用终端执行测试来验证结果。

我记得第一次试用时,我给它下了一个任务:“帮我重构一下 auth 模块里的 session 处理逻辑,把过期时间从固定值改成可配置项,并同步更新测试。”它没有问我任何问题,自己打开了auth/session.goauth/config.goauth/session_test.go,然后把代码改了,测试也改了,最后在终端里跑go test ./...,给我输出了一版全绿的结果。那一刻我确实有被震到,这个工具不是在“辅助”我写代码,它是在“替我干活”。

它底层采用的是类似 Agent 的循环模式:先分析当前环境,再制定执行计划,不断调用工具(读写文件、执行终端命令、搜索代码)来推进任务,每一步都可见、可中断、可回滚。跟那种一次性输出一大段补丁的“问答机器人”相比,这种循环式工作方式更接近真人程序员的做事逻辑,处理复杂任务时准确率明显高很多。

1.2 和 Claude Code、Codex 这类工具相比,差别在哪

很多用过 Claude Code 和 Codex 的人会问,opencode 是不是又一个同类替代品?我的看法是,它和这两者是“同一条赛道上的不同跑法”。Claude Code 绑定了 Anthropic 的模型生态,Codex 则更偏向 OpenAI 的模型和它的云端沙箱环境。opencode 的路线是“模型中立”,你可以接 GPT、Claude、DeepSeek、通义千问、智谱 GLM,甚至是本地跑的 Ollama 模型。

我对“绑定单一模型生态”一直有点警惕。模型迭代太快了,今天最强的模型,三个月后可能就被对手甩开两条街。如果你把整个工作流绑定在一个模型厂商上,换模型的成本会非常高。opencode 在北京这种“模型可插拔”的思路下,反而更容易长期用下去。

我整理了一个简单的对比表,方便你判断自己该选哪个:

维度opencodeClaude CodeCodex
模型支持任意 OpenAI 兼容 API,可本地可云端主要面向 Claude 系列模型主要面向 OpenAI 系列模型
运行方式本地 CLI,支持桌面版和 IDE 插件本地 CLI本地 CLI + 云端沙箱
厂商锁定无,可随时切换模型偏高偏高
自定义能力Skills、Memory、脚本扩展有类似机制但生态绑定较深有自定义指令,但自由度一般
上手成本中等中等中等

如果你只是想要一个开箱即用、不需要折腾模型的工具,Claude Code 和 Codex 都做得很好。但如果你像我一样,手里有多个模型 API,哪个模型在当前任务里表现好就想用哪个,那 opencode 这种“谁来都行”的架构才是最舒服的。

1.3 我为什么愿意长期跟进这个项目

我持续用了 opencode 大概两个多月,最大的体感是它“不吵”。很多 AI 工具会在你干活的时候疯狂给建议,打断思路。opencode 默认在终端里安静地工作,每一步输出都精简到只看关键信息。等你需要介入的时候,它才会停下来提问。这种交互模式特别适合已经习惯命令行工作流的开发者。

另外一个原因是它的配置系统很干净。项目级配置文件opencode.json加用户级配置文件~/.config/opencode/opencode.json,两者合并,项目优先。所有配置都是可序列化、可入库的。这意味着你在一个项目上打磨好的配置,可以直接提交到 Git 里,队友拉下来就能用同一套规则。对于团队协作来说,这比让每个人各自去 IDE 里点设置高效太多了。

2. 安装与初始化,别再卡在“无法识别命令”

2.1 三种主流安装方式对比

opencode 的安装方式有好几种,最常见的三种我放在下表里:

方式适用系统命令推荐度
HomebrewmacOS / Linuxbrew install opencode高,最省事
官方安装脚本macOS / Linux`curl -fsSL https://opencode.ai/installbash`
源码 / npm任意系统go install ...或查看官方文档低,适合想改源码的人

我自己在 macOS 上用 Homebrew 装的,一条命令搞定,环境变量也会自动配好。如果你用 Windows,情况稍微特殊一点,下文单独讲。

装完以后,我建议你先做两件事:第一件是确认版本,第二件是跑一下环境检查。

# 验证安装结果 opencode --version # 查看当前配置环境 opencode auth list

如果opencode --version能正常输出版本号,说明核心安装成功了。如果提示找不到命令,请直接跳到本文第 6 节,那里有完整的排查方法,你大概率是卡在 PATH 环境变量上。

2.2 用 Homebrew 安装的具体步骤

Homebrew 的方式非常简单,打开终端执行:

# 1. 更新 Homebrew 索引 brew update # 2. 安装 opencode brew install opencode # 3. 验证 opencode --version

安装过程中如果遇到下载慢的问题,可以换用国内镜像源,这个属于 Homebrew 通用问题,这里不展开。装完以后,建议顺手跑一下opencode auth,看看当前有没有已经配置好的模型供应商。

2.3 Windows 用户的特殊注意事项

Windows 是重灾区,热搜词里那条 “无法将‘opencode’项识别为 cmdlet、函数、脚本文件或可运行程序的名称” 我太熟悉了,曾经也困扰过我身边不少同事。这个问题背后的核心原因非常朴素:Windows 的 PowerShell 不知道去哪里找 opencode 的可执行文件。解决思路有两条。

第一条,如果你用的是 Windows 原生 PowerShell,那么你必须手动把 opencode 的安装目录加到 PATH 环境变量里。安装脚本通常会把可执行文件放到%USERPROFILE%\.opencode\bin或类似位置,具体看安装时的输出。你可以这样加:

# 临时生效(当前窗口) $env:Path += ";$env:USERPROFILE\.opencode\bin" # 永久生效 [Environment]::SetEnvironmentVariable("Path", $env:Path + ";$env:USERPROFILE\.opencode\bin", "User")

加完后务必重开一个终端窗口,让环境变量重新加载。

第二条,我更推荐的做法是,在 Windows 上直接使用 WSL(Windows Subsystem for Linux)来跑 opencode。原因有两个:一是 opencode 的终端交互体验在类 Linux 环境下更稳定,很多依赖系统信号处理的功能在 WSL 下更顺畅;二是你在 WSL 里装 Linux 版 Homebrew,操作手法和网上绝大多数的教程完全一致,踩坑概率大幅降低。你只需要在 Windows Terminal 里新建一个 Ubuntu 标签页,然后在里面手动安装 opencode。

3. 模型接入与配置思路:免费模型和本地模型都可以

3.1 第一次启动前,先把模型供应商搞清楚

opencode 本身只是“干活的人”,真正“出脑子”的是底下接的模型。这也是很多人第一次使用时困惑的地方:安装完成后,我该填什么?

默认情况下,opencode 可以引导你配置一些主流云服务商。你第一次运行opencode时,它会比较友好地询问你想使用哪个模型供应商,然后引导你把 API Key 填进去。但如果你想自由接第三方模型,就需要自己写配置文件了。

我的建议是:如果你手头已经有了某个模型的 API Key,第一优先就是用 OpenAI 兼容格式去配。目前市面上几乎所有主流模型都提供 OpenAI 兼容的接口格式,opencode 对这种格式的支持也是最成熟的。可以理解为:OpenAI 兼容接口已经成为大模型时代的“普通话”,而 opencode 是一个默认说普通话的工具。

3.2 配置一个“OpenAI 兼容 API”的完整示例

在 opencode 里,模型供应商的配置文件是 JSON 格式。用户级配置文件通常在~/.config/opencode/opencode.json。下面是一个接第三方 OpenAI 兼容服务的实际例子:

{ "$schema": "https://opencode.ai/config.json", "provider": { "custom": { "npm": "@ai-sdk/openai-compatible", "name": "My Compatible Provider", "options": { "baseURL": "https://api.example.com/v1", "apiKey": "{env:MY_API_KEY}" }, "models": { "my-model": { "name": "My Model" } } } }, "model": "my-model" }

这里解释一下几个关键字段:

  • provider:定义你的模型供应商,“custom” 这个名字可以换成你喜欢的任意标识。
  • baseURL:你的模型服务地址。使用时记得把示例中的https://api.example.com/v1换成你的真实服务地址。
  • apiKey:我推荐用{env:变量名}这种方式从环境变量里读取密钥,而不是直接把 key 写死在文件里。因为配置文件有可能会被提交到 Git 仓库,密钥一旦入库就会造成泄露风险。自己键盘敲一遍,别偷懒。
  • model:指定默认使用哪个模型,对应models下面定义的模型 ID。

配置完之后,记得先导一下环境变量再启动:

export MY_API_KEY="sk-你的密钥" opencode

如果你的服务商直接提供了 OpenAI 官方的 key,那更简单,运行opencode auth login按提示选择 OpenAI 填入即可。

3.3 免费模型能不能用,怎么用

能,而且现在可用的免费或低成本选择不少。我理解大部分人想要的“免费模型”,其实是“不用为每个小任务单独付费、跑起来不肉疼的模型”。从实际使用角度看,我更推荐关注“高性价比模型”,而不是纯免费。因为纯免费模型往往有频次限制,真要干重活的时候容易卡壳。

我在 opencode 里长期用过的几个高性价比选择:

  • DeepSeek 系列:便宜、上下文窗口大,写代码能力在同类模型里非常能打,特别适合日常重构和写测试。
  • 通义千问 qwen 系列:国产模型里指令遵循能力做得好,拿来改代码风格、迁移模块很方便。
  • 智谱 GLM 系列:中英文混合场景的响应质量稳定,配合 opencode 做项目全局理解不错。
  • 本地 Ollama 跑的 qwen2.5-coder 等开源模型:完全不要钱,模型跑在自己机器上,没有隐私顾虑,但响应速度取决于你的显卡。

接入本地模型的流程也不复杂。先在本地跑一个 Ollama 服务,比如ollama run qwen2.5-coder:14b,然后在 opencode 的配置文件里增加一个本地 Provider:

{ "provider": { "ollama": { "npm": "@ai-sdk/openai-compatible", "name": "Local Ollama", "options": { "baseURL": "http://localhost:11434/v1", "apiKey": "ollama" }, "models": { "qwen2.5-coder:14b": { "name": "Qwen2.5 Coder 14B" } } } }, "model": "qwen2.5-coder:14b" }

注意baseURL一定要指向 Ollama 的兼容端点/v1,Ollama 的 API 和 OpenAI 的 format 并不完全一样,opencode 会按 OpenAI 格式去请求,所以必须走它的兼容层。我一开始直接填了根地址http://localhost:11434,结果一直报 404,白白折腾了十分钟。

3.4 用 CC Switch 这类工具管理多套模型配置

用了一段时间之后,你大概率不会满足于只接一个模型。写前端时可能用 DeepSeek 更省,做深度重构时又想切到 Claude,日常小改动用一个便宜的国产模型就够。如果每次都在配置文件里手改,那太痛苦了。

社区里比较通行的做法是借助 CC Switch 这类工具统一管理模型服务。它的原理也很简单:你在本机起一个代理服务,比如监听http://localhost:1234/v1,CC Switch 负责把请求转发到你选中的真实模型服务商。opencode 这边只需要固定填这一个本地地址,要切换模型时,去 CC Switch 里点一下就好了。

这种方案的好处有两个:第一,opencode 的配置文件可以始终保持稳定,不需要频繁改动;第二,团队里所有人的 opencode 配置可以统一成同一套,模型选择权交给个人,互不干扰。热搜词里提到的 “opencode go 需要配合 CC Switch 等工具”,说的就是这个场景。多模型环境下,这个思路非常值得试。

3.5 常用配置项一览

我把自己常用的几个配置项整理成了表,方便你按需查询:

配置项作用我的建议值
model默认模型按当前任务选择
temperature随机性控制,代码任务需要低一点0.2 左右
maxTokens单次响应最大 token 数,重构大文件时调大8000 起
theme终端 UI 主题opencode默认即可
autoupdate自动更新开关true,大部分修复都是正向的
verbose输出详细日志false,排查问题时再打开

4. 日常使用与进阶玩法:从单文件修改到跨目录重构

4.1 基础会话:第一条任务怎么提

安装配置好之后,在项目根目录直接输入opencode就能进入交互界面。第一次进入你会看到类似聊天窗口的界面,底部有输入框,顶部显示当前模型。

我的建议是,从一个小任务开始试水,比如让它在某个文件里加一个函数。这里有一个非常关键的技巧:任务描述越具体,效果越好。例如:

“在utils/format.go里新增一个FormatDuration函数,接受time.Duration类型参数,返回人可读的字符串,比如1h2m3s,并补上单元测试。”

这样一个任务下来,它能自己打开文件、实现函数、写测试、跑测试、给你反馈。如果任务描述模糊,比如只写“帮我优化一下工具类”,那它就会按照自己的理解发挥,结果你可能还得自己收拾烂摊子。

4.2 让 Agent 理解项目的“正确打开姿势”

很多人用完一次就放弃,是因为 Agent 对项目的理解不够,改出来的代码和项目既有风格不一致。这里说一个我的习惯:在每个项目根目录下放一个AGENTS.md文件,里面写清楚项目的基本信息、技术栈、目录结构、代码风格、构建和测试命令。

opencode 在启动时会读取这个文件,作为“项目背景知识”。它读完之后,再回答问题和改代码时会明显更贴合项目实际。例如:

# AGENTS.md ## 项目简介 用户后台服务,Go 语言编写,使用 Gin 框架。 ## 常用命令 - 构建:go build ./... - 测试:go test ./... - 启动:go run main.go ## 规范约定 - 目录结构:handler / service / repository 分层 - 错误处理:返回业务错误码,不直接暴露内部错误 - 日志:使用 zap 库,统一 JSON 格式

我做过对比实验,同样一个“帮我加一个获取用户详情的接口”任务,没有 AGENTS.md 时,它给出来的代码经常自己创新文件结构;有 AGENTS.md 之后,它会严格按照已有的三层架构去写。差别非常明显,这个文件强烈建议放在项目里并入库维护。

4.3 用 Memory 记录你的个人偏好和常用约定

除了项目级背景知识,opencode 还支持全局的 Memory,用来记录你个人的编程偏好。比如你习惯用 tabs 而不是空格、你希望提交信息用中文还是英文、你写函数时总是先写注释再写实现等等。这些偏好在每个项目里都会生效,不用挨个项目去配置。

我的做法是在全局 Memory 文件里写清楚自己的默认偏好,这样不管开哪个项目,它输出的代码都自带“我的味道”。比如:

# 我的默认偏好 - 变量命名使用驼峰式 - 注释使用中文 - 不需要为简单函数单独写注释 - 每个文件末尾保留一个换行 - 依赖管理统一使用 go mod

4.4 用 Skills 把重复操作变成标准流程

如果你有某个高频任务,比如每次上线前要做 code review,或者每次都要生成规范的提交信息,那就可以把它做成一个 Skill。Skill 本质上是一组预定义好的提示词和流程说明,你可以把它放在项目的.opencode/skills目录下,也可以放到全局用户目录下。

举个例子,我写了一个 “review” 的 Skill,内容大致是:

# Review Skill 当用户说“帮我 review 这段代码”时,请执行以下步骤: 1. 先阅读指定文件或 Git diff 2. 检查是否存在安全漏洞和性能问题 3. 检查是否遵循项目 AGENTS.md 中的规范 4. 输出结果分成三个部分:严重问题、改进建议、小细节 5. 所有建议必须给出具体的代码示例

有了这个 Skill 之后,我每次只需要打一句“帮我 review 这段代码”,它就会按照这个流程严格走一遍,输出结构清晰、有代码示例的审查报告。这比我每次手工把 review 标准敲一遍效率高太多。

4.5 连接 Playwright 调试前端 Bug

前端项目最头疼的问题是“本地跑得好好的,一集成环境就崩”。opencode 对前端任务也不能总靠读代码猜,它需要真正去浏览器里跑一下看看。这时候就可以接 Playwright 来做端到端验证。

我自己常用的姿势是:开一个 Playwright 的交互式会话,让 opencode 驱动浏览器打开本地开发服务器,执行指定的点击流程,然后对比截图或控制台报错来定位问题。这样做的好处是它不再靠猜,能真实看到页面的渲染结果。比如排查登录按钮点了没反应的问题,它可以:

  1. 启动开发服务器
  2. 用 Playwright 打开登录页面
  3. 填写测试账号并点击登录
  4. 捕获网络请求返回的状态码和控制台报错
  5. 据此判断是接口问题、前端事件绑定问题还是参数问题

这一套流程非常适合那种“改了前端逻辑但影响到了另一个模块”的隐性 Bug。

5. 与 IDE 的配合:VS Code 插件、JetBrains 插件和桌面版

5.1 在 VS Code 里像聊天一样改代码

虽然 opencode 生在终端里,但很多朋友还是离不开 IDE。好消息是 VS Code 插件已经做得比较完善了。在扩展市场搜索opencode就能找到官方插件,安装后左侧会多出一个 opencode 面板。

这个面板的优势是,改动的代码可以直接在编辑器里以 diff 形式展示。你可以在右侧看到 Agent 对文件的修改,可以选择接受或者拒绝。这种可视化的审查方式比在终端里只看文字描述安心很多。而且插件和终端版的会话是同一个工作区,中途去终端里执行opencode命令,也并不会冲突。

我的使用习惯是简单任务直接用终端版,碰到大型重构时用 VS Code 插件一边看 diff 一边调整,两种模式互补。

5.2 在 IntelliJ IDEA 里配合 Java / Go / 前端项目

用 JetBrains 系列的同学也不用担心,官方同样提供了 IDEA 插件。安装后在 IDEA 的右侧工具窗口就能看到 opencode 面板,可以直接把当前打开的文件、选中的代码传给 Agent,让它基于当前上下文做修改。

我之前在 IDEA 里处理一个 Java 项目的接口迁移,直接在编辑器里选中了一个 Controller 类的几十行代码,然后对 Agent 说:“把这些代码转换成新的 Service 层风格,并生成对应的单元测试。”它很自然地在工具窗口里给出了完整的改写结果,我用 IDEA 的代码审查功能看完后一键应用。整个过程没有离开编辑器,体验很顺滑。

JetBrains 插件比较适合重度使用 IDEA / GoLand / PyCharm 的同学,因为它对项目结构的感知和跳转逻辑天然有优势。如果你平时写 Java 或 Kotlin,强烈建议直接装插件。

5.3 不想碰命令行的同学:试试 OpenCode Desktop

如果你不是程序员,或者对终端天生抗拒,open code 也有桌面版。OpenCode Desktop 把聊天界面、文件树、代码预览、模型配置全部塞进了一个图形窗口里,交互方式和主流 AI 聊天工具有点接近,但背后还是完整的 Agent 能力。

桌面版适合两类人:一类是非开发人员,他们需要在某个项目里让 AI 做特定范围内的修改,又不想学命令行;另一类是喜欢 GUI 的开发者,希望在文件树和代码预览之间来回切换时效率更高。

我的个人建议是:纯后端开发直接命令行最顺手;写前端和做代码审查,用 VS Code 插件;主力就在 IntelliJ 里的,用 IDEA 插件;完全不熟悉开发工具的,选桌面版。

6. 常见问题与排查技巧实录

6.1 “无法将 opencode 识别为 cmdlet”的完整解决思路

这条报错在热搜词里排名很高,我在实际工作中也帮人处理过很多次。报错本身不复杂,本质就是命令所在目录不在 PATH 环境变量里。

排查步骤我建议按顺序走:

  1. 先确认 opencode 到底装到了哪里。如果你用安装脚本装的,通常在~/.opencode/bin~/.local/bin;如果用 Homebrew,通常在/opt/homebrew/bin(Apple Silicon)或/usr/local/bin(Intel)。
  2. 手动看一下这个目录是否存在,里面有没有opencode可执行文件。
  3. 把这个目录添加到 PATH。
  4. 重开终端,再执行opencode --version验证。

如果以上都做了还是不行,还有一个非常快的兜底方案:直接用完整路径运行。

~/.opencode/bin/opencode

能运行,就说明文件没问题,剩下的就是环境变量。另外,Windows 用户如果不想跟 PATH 纠缠,直接上 WSL 是最省心的选择。

6.2Error: Unexpected server error. Check server logs怎么排查

这个报错出现的原因很多,但绝大多数情况下是模型服务商的接口地址填错了,或者是网络环境导致 OpenAI 兼容端点请求失败。我这里给一套通用排查方法:

第一步,确认 baseURL 配置正确。很多兼容服务的实际路径是https://api.xx.com/v1,你如果只填了根域名https://api.xx.com,就会在请求时拼接出错误路径。

第二步,看服务端日志。opencode 支持开调试模式,日志级别调成 DEBUG 后会打印详细的 HTTP 请求信息,看到具体是哪个接口返回了异常状态码。

opencode --log-level DEBUG

第三步,检查 API Key 是否有效。先在其他 HTTP 客户端里直接请求一次接口,比如用 curl:

curl https://api.example.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-你的key" \ -d '{"model":"your-model","messages":[{"role":"user","content":"hello"}]}'

如果这个请求本身就不通过,那问题大概率不在 opencode,而在模型服务本身或网络链路。如果这个请求通过,但 opencode 里仍然报错,那就可以进一步去比对两者的请求体格式差异,重点检查model字段是否写对了。

6.3 模型响应慢、频繁断流,先别急着换模型

很多人一遇到响应慢,第一反应是“换个更快的模型”。但我的经验是,先排查本地网络和代理,再考虑模型选型的问题。如果你的电脑上挂了系统级代理,代理规则又走得比较乱,很可能会导致 opencode 向模型服务商发请求时走了一条绕远的路,响应自然就慢。

另外,上下文过长也会导致首字响应时间明显增加。opencode 会把项目背景文件、历史对话、当前文件内容都放进上下文里。如果你在一个很大的仓库里持续对话了很久,上下文可能已经变得非常沉重。这时候开一个新会话,往往速度立刻快起来。

我之前处理一个报错排查任务,一开始响应稳定在 30 秒以上,我把会话清掉、重新描述问题之后,响应时间直接降到 5 秒以内。原因就是前面的会话积累了太多无用的历史信息,模型每次请求都要重新处理一遍。

6.4 大项目里 Agent“找不到北”,怎么帮它定位

如果你接手的是一个几个人维护多年的大仓库,首次运行 opencode 时它可能会显得有些迟钝,改代码时定位不准确。这时候不要急着骂工具,先确认两件事:

第一,确认当前工作目录确实是项目根目录。你在项目根目录下运行opencode,它更容易构建全局认知。如果你从src/子目录进入,那它看到的“项目根”就是src/,对顶层结构感知会差很多。

第二,检查 AGENTS.md 是否覆盖了项目的关键模块说明。大项目里模块关系复杂,如果 AGENTS.md 没有写清楚目录职责和核心流程,Agent 就只能靠猜。花二十分钟把 AGENTS.md 写好,后续它能为你节省大量的沟通成本。

6.5 常见问题速查表

现象大概率原因处理方法
opencode 命令找不到PATH 未配置添加安装目录到 PATH,重开终端
报错 Unexpected server errorbaseURL 或 API Key 配置错误检查配置,用 curl 单独验证接口
响应速度慢上下文过长或网络链路异常新开会话,检查网络代理规则
模型回答跑偏缺少项目背景信息编写 AGENTS.md
命令行提示没有权限安装脚本未授权可执行给可执行文件增加执行权限chmod +x
插件面板空白插件与 CLI 版本不一致升级插件到最新版本

6.6 我的几条避坑建议

聊到最后一个话题,分享几个我在实战中总结出来的土办法。

第一,任何时候都别把 API Key 写在opencode.json里。你永远不知道哪个配置文件会被提交到仓库。用环境变量引用,这是底线。

第二,大任务切小任务执行。不要一次性让它“重构整个模块、补充全部测试、更新所有文档”。任务拆得越细,每一段输出质量越可控。我一般让它一次只解决一个完整问题。

第三,重要分支开工前建议开新会话。opencode 是有上下窗口感的“短期记忆”的,但是跨很多轮之后确实会精度下降。开新会话不是否定前面的工作,而是让模型轻装上阵。

第四,多利用 IDE 插件里的 diff 审查功能。Agent 写出来的代码,就算测试全绿也一定要先过一遍 diff。很多历史包袱只有花时间看了才知道它可能踩了什么雷。工具能帮你提速,但代码质量的最终责任人永远是你自己。

我目前的工作流是:代码理解、接口设计、重构规划丢给 opencode 在终端里跑;具体到某个文件的修改,在 VS Code 里看 diff 最踏实;切模型的话就在 CC Switch 里点一下,整个过程不需要改任何配置文件。这套搭配我已经稳定用了很久,建议你从最基础的安装开始试,一步一步在不同的项目里体会这个工具擅长什么、不擅长什么。工具是死的,用的人才是活的。希望你也能找到最适合自己的那套节奏。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询