终端AI编程助手opencode实战:从安装配置到LSP与Playwright联动
2026/9/9 5:52:56 网站建设 项目流程

最近圈子里聊得最多的终端 AI 编程助手,除了 Claude Code 和 Codex CLI,就是 opencode 了。我最初是在一个开源项目群看到有人用它在终端里直接改代码,第一反应是:又来一个套壳聊天框?实际用了一周之后,我把 IDE 里的 AI 聊天面板基本闲置了,日常改 bug、写测试、读老项目全都拉到终端里跑。这篇文章不是官方文档的翻译,我把自己从安装、配模型、接 IDE 到踩坑排错的全过程整理出来,包含不少实际操作中才发现的经验。如果你正准备试 opencode,或者装了以后卡在某个报错上,这篇应该能帮你少走不少弯路。

1. opencode 不是又一个聊天框:先搞清楚它解决什么问题

1.1 它和 IDE 里的对话面板到底差在哪

很多人第一次打开 opencode 的反应和我一样:这不就是在终端里聊天吗?其实差别巨大。IDE 里的 AI 面板本质上是"问答工具",你问它一个问题,它给你一段答案,最多帮你生成一个代码片段,然后需要你自己粘贴、自己定位、自己跑测试。opencode 属于 agent 形态的工具,它被授权去读取项目文件、搜索代码、执行命令、修改多个文件、然后跑测试验证结果。

举个例子。我之前在处理一个老项目的内存泄漏问题,传统聊天面板的用法是:我手动把相关代码贴进去,问"哪里可能有泄漏",然后在几个候选位置之间来回切换。opencode 的用法是:直接让它阅读项目入口、梳理模块引用关系、定位全局缓存和定时器的生命周期,然后给出修改建议,我确认后它自己改完代码再跑一遍构建。这个体验的本质区别在于:它不是一个问答窗口,而是一个能真正在你项目里干活的执行者。

1.2 和 Claude Code、Codex CLI 是什么关系

市面上这种终端 agent 已经有几个代表,opencode 算是其中比较特别的一个。

  • Claude Code:Anthropic 官方出的终端编程 agent,闭源,深度绑定 Claude 模型,用起来确实强,但基本被自家模型生态框住了。
  • Codex CLI:OpenAI 官方出的开源 CLI agent,同样更偏向 GPT 模型体系。
  • opencode:开源项目,模型层面相对中立,Anthropic、OpenAI、Google、本地模型、各类 OpenAI 兼容接口都能接。

opencode 底层用 Go 写的,这也是很多人在搜"opencode go"的原因之一。它不跟某一家模型厂商绑定,意味着你可以今天用 Claude、明天切到国产模型、后天接一个本地跑的模型,全部通过配置文件切换。对于需要同时对接多个模型渠道、或者对 API 成本比较敏感的人来说,这种中立性是实打实的优势。

1.3 三款终端 agent 的直观对比

维度opencodeClaude CodeCodex CLI
开源情况开源闭源开源
模型绑定多模型可选主要绑定 Claude偏向 GPT 系列
技术栈Go 编写闭源实现TypeScript
配置文件JSON,透明可控配置项相对封闭JSON 配置
第三方模型接入支持 OpenAI 兼容接口受限有限支持
IDE 联动VS Code / JetBrains 插件官方集成较少官方插件

这个表格只是给个直观印象,具体到某一版本可能有些出入。但方向很明确:如果你追求模型自由度和开源可控,opencode 是三者里最合适的选择。

1.4 什么人适合用 opencode

我的建议是:重度依赖命令行的开发者、需要频繁切换模型的开发者、以及想省掉"复制粘贴代码到聊天框"这种低效操作的人都值得试。纯前端新手、完全没碰过终端的同学可以先在 IDE 插件里体验,等熟悉了再切到纯终端模式。终端 agent 不是银弹,它适合的是愿意给 AI 一定文件操作和执行命令权限的人——授权越多,效率越高,但你也得学会约束它。

2. 从零装好:安装方式、首次启动和 Windows 的 PATH 坑

2.1 官方支持的几种安装方式

opencode 的安装方式比较常规,官方提供了脚本、包管理器和二进制下载几种渠道。我最推荐的是包管理器方式,因为后续升级方便。

macOS 用户如果有 Homebrew,一行命令就能装好:

brew install sst/tap/opencode

Linux 和 macOS 通用的是官方安装脚本:

curl -fsSL https://opencode.ai/install | bash

npm 方式也可以,适合已经装了 Node 环境的同学:

npm install -g opencode-ai

注意 npm 包名是opencode-ai,不是opencode。npm 上有个叫opencode的老包,跟这个工具完全不是一回事,装错了会出现各种诡异问题。Windows 用户我建议优先走 WSL,因为 opencode 在 Windows 原生环境下的权限模型和路径处理还是不如 Linux/macOS 顺畅。如果一定要在 Windows 原生环境用,也可以用官方提供的二进制文件,但后面会遇到 PATH 问题,我在 2.3 里详细说。

2.2 安装后的第一步:先验证版本号

装完先别急着跑,确认一下命令能不能正常执行:

opencode --version

如果输出一个正常的版本号,说明安装成功。这里有个小经验:opencode 迭代很快,经常一个大版本升级之后配置格式会有变化。我见过不少人在旧版本上排查问题排查了半天,一查发现是版本太老导致的行为差异。所以遇到莫名其妙的问题,第一件事永远是先看版本,然后跑一下升级:

opencode upgrade

2.3 高频报错:无法将“opencode”项识别为 cmdlet

这个报错基本是 Windows 用户安装后的第一道坎。完整的报错长这样:

opencode : 无法将“opencode”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

翻译成人话就是:PowerShell 在环境变量 PATH 里找不到 opencode 这个可执行文件。不是安装失败了,是安装完以后,可执行文件所在的目录没有被加进 PATH,或者你把终端关了重开之后 PATH 没有刷新。

排查路径是这样的:

  1. 先找到 opencode 装到了哪个目录。如果用的 npm,执行npm prefix -g会显示全局包目录,可执行文件在<该目录>下;如果直接下载的二进制,看看你解压到了哪里。
  2. 把这个目录加到用户 PATH。Windows 下可以在"系统属性 -> 环境变量"里手动加,也可以用 PowerShell 快速追加:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\你解压的目录", "User")
  1. 关掉当前 PowerShell 窗口,重新开一个,再执行opencode --version

注意修改完 PATH 之后,已经打开的所有终端窗口都不会自动刷新,必须新开窗口。很多人在这里反复敲命令报错,其实只是没有重开终端。如果你用的终端是 Windows Terminal,直接新开一个标签页就行。

2.4 独立二进制方式和自动更新的取舍

官方安装脚本默认装的是独立二进制,升级靠opencode upgrade命令。我个人经验是:用 brew 或 npm 装的话,升级交给包管理器更省心;用官方脚本装的,一定要记得定期opencode upgrade。opencode 的版本差异有时候能直接改变行为,比如 2.0 之后对多 agent 会话的支持、配置文件字段的调整,旧版本可能没法直接套用新版本教程。你搜到的很多配置示例,如果发现字段对不上,先看看自己是不是版本太旧。

3. 模型接入是重头戏:Provider、API Key、免费模型和订阅套餐

3.1 配置文件到底放在哪里

opencode 的配置体系非常透明,核心就是一个 JSON 文件。它支持两种位置:

  • 项目级配置:放在项目根目录下的opencode.json
  • 全局配置:放在~/.config/opencode/opencode.json(Linux/macOS)或用户目录下的对应路径(Windows)

两者会合并,项目级配置优先。这个设计很实用:全局配置文件里放公共的 provider 和模型信息,项目级配置里放这个项目特有的 agent 行为、系统提示词和额外模型。我刚用的时候把所有东西都塞进全局配置,后来发现不同项目的约束需求完全不一样,拆开后清晰很多。

3.2 官方 Provider 配置的基本写法

登录官方 provider 用opencode auth login最省事,它会列出支持的厂商,你选一个然后按提示粘贴 API Key。不过我更推荐直接写配置文件,一来能进版本管理,二来以后换模型不用重新登录。

一个典型的配置长这样:

{ "$schema": "https://opencode.ai/config.json", "provider": { "anthropic": { "api_key": "sk-ant-xxx" } }, "model": "anthropic/claude-sonnet-4" }

$schema字段不是摆设,加上它之后,支持 JSON Schema 校验的编辑器(VS Code、JetBrains 都行)会自动提示字段补全和类型错误,写配置的时候能少很多低级错误。

3.3 OpenAI 兼容接口怎么填

opencode 这类工具能火起来,很大程度是因为它把"模型接入"做成了开放体系。很多第三方模型服务、自建网关、甚至本地推理框架都提供 OpenAI 兼容的 API 接口,opencode 里接这种服务只需要额外配一个base_url

{ "provider": { "my_custom": { "npm": "@ai-sdk/openai-compatible", "name": "My Custom Gateway", "options": { "base_url": "https://example.com/v1" }, "models": { "my-model": { "name": "My Model" } } } }, "model": "my_custom/my-model" }

这里npm字段指定了用哪个 AI SDK 的适配器,@ai-sdk/openai-compatible是最通用的选择。只要目标服务是 OpenAI API 格式,这套写法基本都能通。

3.4 opencode go 订阅套餐到底值不值

社区里经常说的"opencode go 套餐"和"opencode go 订阅模型选择",指的是官方提供的托管订阅服务。它解决的问题很直接:你不想自己注册一堆厂商的 API、不想管理一堆 Key、更不想研究各家计费规则,那就按月订阅一个套餐,opencode 官方帮你统一调度模型,你在配置文件里直接选套餐内的模型就行。

我的看法是:这类订阅适合把 opencode 当日常主力、又不想折腾的人。它的优点是一站式,缺点是灵活性换来了供应商锁定,而且套餐内模型清单是官方定的,你没法自己加一个冷门模型。另外,订阅之前一定要确认套餐覆盖你所在区域,不然后面会遇到我第 7 节说到的区域限制问题。如果你本身已经有某家或某几家的 API Key,或者依赖一些特殊模型,自己配 Provider 仍然是更稳的方案。

3.5 免费模型和第三方免费端点的现实

很多人搜索"opencode 免费模型",是因为一开始不想花钱。开源模型领域确实有不少免费可用的选择,比如通过本地推理工具跑 Qwen、Llama 系列,或者使用一些厂商提供的免费额度。但社区里流传的"某某-free 免费端点"这类第三方中转服务,稳定性非常差。我见过好几个免费端点,头两天还挺快,后面要么限流严重,要么直接下线,网上就会冒出一堆"hy3-free 下线了吗"之类的帖子。

我的建议是:免费模型可以拿来试玩、跑通流程,但真正干活别依赖第三方免费端点。花点时间配置一个本地模型作为兜底,或者用一个可靠的付费 API,否则你会在"服务突然挂掉"这件事上浪费大量时间。工具本身是帮你省时间的,不能最后变成伺候工具。

3.6 模型选择的一些参考

使用场景推荐模型方向理由
日常改 bug、写测试Claude Sonnet 级别代码理解能力强,响应速度快
复杂架构重构Claude Opus / GPT 高阶模型长上下文和推理能力更强
追求低成本批量任务Qwen、DeepSeek 等国产模型性价比高,代码能力够用
敏感代码、离线环境本地部署模型数据不出内网
快速体验跑通厂商免费额度零成本熟悉工具流程

这不是绝对标准,模型迭代太快,今天的好用明天可能就被超越。记住一个原则:先跑通、再调优、没事别囤多家 API。

4. 上手跑起来:终端里高效使用 opencode 的日常工作流

4.1 TUI 界面和基本操作逻辑

opencode 启动后是一个终端交互界面(TUI),不是简单的逐行问答。它的核心概念有两条:会话(Session)上下文(Context)

会话很好理解,就是一次连续的对话过程。上下文则有意思得多——opencode 不是只能引用你手打的内容,它可以自动把项目文件、命令输出、错误信息作为上下文传给模型。你让它分析一个报错,它可以直接拿到对应的日志片段;你让它改某个模块,它自己会去读相关源文件。

日常操作里几个高频命令:

  • /init:让 opencode 扫描整个项目结构、识别技术栈、生成项目概览,对新人接手老项目特别有用。
  • /help:查看当前版本支持的命令。
  • /models:快速切换当前会话的模型。
  • /status:查看当前会话消费的 token 和上下文情况。

这些命令在 TUI 里输入/就会弹出提示,不用死记硬背。

4.2 让 opencode"接手"一个成熟项目

"opencode 接手开发项目"是很多人搜的热词,我上个月正好用 opencode 帮朋友维护了一个三年前的老项目。那个项目用的框架版本很老、文档缺失、代码风格混乱,正常来说光读代码就要大半天。我的做法是:

  1. 在项目根目录执行opencode,先跑/init,让它自动识别项目结构和技术栈。
  2. 直接问:"这个项目的启动流程是怎样的?入口在哪里?" 它会读 package.json、主程序入口和配置文件,给出结构化的解答。
  3. 让它对照 README 和实际代码,找出文档和实现不一致的地方。
  4. 最后才是提具体的改动需求。

这个流程的灵魂在于:不要一上来就让它改代码,先让它当你的"项目讲解员"。opencode 读取文件的能力远超人工翻代码的速度,你只需要确认它理解得对不对。等它把项目结构说清楚,你再让它改东西,成功率会高很多。

4.3 Skills 机制:把重复劳动固化下来

Skills 是 opencode 一个很实用但很多人没注意的功能。它的原理不复杂:在项目目录下建一个.opencode/skills/<技能名>/SKILL.md文件,文件里用 Markdown 描述这个技能的使用场景和具体操作步骤,opencode 在对话过程中会根据用户的请求自动匹配并加载对应的技能文件。

举个我在用的例子。我需要经常给项目新增 API 接口,传统流程是:建路由文件、写参数校验、写数据处理逻辑、更新接口文档。我把它固化成了一个 skill:

--- name: add-api-endpoint description: 新增一个标准 REST API 接口,包含路由、校验、数据层和文档更新。 --- 当用户要求新增接口时,按以下步骤执行: 1. 查看 routes 目录下的现有路由文件的命名和注册方式。 2. 参照已有的接口实现,创建新的路由处理函数。 3. 在参数校验文件中添加对应的校验规则。 4. 更新 docs/api.md,在对应模块追加接口说明。

有了这个文件之后,我只需要说"新增一个获取用户订单列表的接口",opencode 就会自动按照既定流程把一整套改完。团队协作时,把项目规范和流程写成 skill 提交到仓库,等于给 AI 写了一份"团队手册",新成员用 opencode 干活时会自动遵守团队约定,这个价值非常大。

4.4 用 AGENTS.md 约束 AI 的行为边界

除了 Skills,项目根目录的AGENTS.md是 opencode 每次会话都会自动读取的规则文件。我强烈建议每个认真用 opencode 的项目都写一份。里面放什么?放你对 AI 的硬性要求。举例:

# AGENTS.md ## 工程规范 - 所有新增代码必须通过 ESLint 检查。 - 注释使用中文,代码命名使用英文。 - 修改公共模块前,先列出受影响文件再动手。 ## 禁止事项 - 禁止修改数据库迁移历史文件。 - 禁止在未征求确认的情况下执行 git push。 - 禁止升级 package.json 里的依赖主版本。

有了这个文件之后,AI 的"自由发挥"会被明显约束。很多人担心 agent 工具改坏代码,其实大部分事故都可以通过 AGENTS.md 提前规避。

5. 联动开发环境:VS Code 插件、JetBrains 插件与桌面端

5.1 VS Code 插件怎么用

纯终端模式对一部分人来说还是有门槛的,opencode 官方和社区都提供了 VS Code 插件,让你可以在编辑器里直接使用 opencode 的会话能力。

插件的核心价值不是把聊天窗口搬进 VS Code,而是打通"编辑器上下文"和"终端 agent"两个世界。你可以在编辑器里选中一段代码,直接作为上下文发给 opencode,还可以在对话过程中实时查看它修改的文件 diff,不用在终端和编辑器之间来回切换。

我的个人习惯是:简单问答用终端,涉及大范围代码改动时切到 VS Code 插件,因为它看 diff 方便,确认修改内容再点击接受。这个"先看 diff 再接受"的习惯,能避免不少 AI 改错改漏的情况。

5.2 JetBrains IDEA 插件

JetBrains 全家桶也有对应的 opencode 插件,用法和 VS Code 插件类似。如果你平时主力是 IntelliJ IDEA,直接在插件市场搜索 opencode 安装即可。

JetBrains 插件有一个不错的点:它会利用 IDE 本身的分析能力,比如把编译错误、lint 警告直接作为上下文传给模型,让 AI 针对 IDE 报出的真实问题去修复,而不是凭空猜测。这种"IDE 诊断结果 + AI 修复"的组合,比单纯让 AI 闷头看代码效率高很多。不过我建议 JetBrains 用户装好插件后,先在侧边栏跑几个简单需求试试,确认它用的是哪个模型、有没有正确读到项目配置,再上手大规模改动。

5.3 opencode desktop 是什么

搜索"opencode desktop"的人应该是想知道有没有图形化客户端。opencode 确实有桌面端产品方向,目的很简单:给不想碰终端的用户一个图形界面入口,同时保留终端 agent 的核心能力。我的看法是:如果你已经能熟练使用终端版,桌面端可装可不装;但如果是团队里不太熟悉命令行的同事,桌面端可以作为他们体验 opencode 的低门槛入口。重点仍然是模型配置和项目权限,界面只是外壳。

6. 实战组合拳:用 Playwright 测前端、用 LSP 提升代码理解

6.1 opencode 里的 LSP 到底是什么

很多人搜"opencode 如何使用 lsp",LSP(Language Server Protocol)是编辑器做代码补全、跳转定义、查找引用所依赖的一套协议。opencode 把它用在了 AI 对话上:模型在回答问题之前,可以调用 LSP 来查询某个符号的定义、引用、类型信息,而不是仅仅靠"读文件"来猜。

这个能力在理解大型项目时价值巨大。比如你让 opencode 修改一个函数,它会先通过 LSP 找到这个函数被哪些地方调用,评估改动的影响面,然后再动手。配置 LSP 通常不需要手动干预,opencode 会自动为常见的语言启动对应的 language server。如果遇到它没有自动识别的情况,可以在配置文件里显式指定:

{ "lsp": { "typescript": { "server": "typescript-language-server", "args": ["--stdio"] } } }

我自己体会最深的是在改 TypeScript 类型的时候。以前靠粘贴代码让模型猜类型关系,现在 opencode 直接通过 LSP 拿到完整的类型推导结果,改起来精准很多。

6.2 让 AI 自己用 Playwright 复现前端 bug

前端 bug 排查是很多人的痛点,因为"复现"这个动作本身就很费时。opencode 可以通过 Playwright 之类的浏览器自动化工具,在实际浏览器里操作页面、截图、收集控制台报错,然后把结果作为上下文喂给模型做分析。

搜"opencode playwright 怎么测试前端 bug"的人,想要的大概率是这个能力。我一次实际经历:用户反馈某个表单在特定条件下提交没反应,但手动复现很难。我把问题描述给 opencode,让它用 Playwright 打开页面、填表、点击提交、抓取控制台错误。它跑完以后告诉我:点击提交时某个字段的值是 undefined,导致前端校验直接 throw,错误被全局异常处理器吞掉了,没有提示。整个过程比我手动点十分钟页面要高效得多。

用 Playwright 配合 opencode 需要注意一点:给它的指令要足够具体。比如"打开本地开发服务器、访问 /login 页面、输入测试账号、点击提交按钮、把 console 输出贴出来"。指令越具体,它复现的成功率越高。不要只说"帮我测一下登录"这种空泛的话。

6.3 一遍完整的操作流程示例

以"排查登录按钮点击无反应"为例,我实际的操作流程是:

  1. 启动项目开发服务器,确认本地可访问。
  2. 在项目目录执行opencode,输入:
使用 Playwright 打开 http://localhost:5173/login, 填写测试账号 admin / test123,点击登录按钮, 然后把页面的 console 错误信息和 network 请求状态返回给我。
  1. 模型调用 Playwright 执行操作,拿到结果后开始分析。
  2. 让它根据分析结果直接修改代码。
  3. 改完后再让它重新跑一遍同样的 Playwright 流程做回归验证。

这个"复现 -> 分析 -> 修复 -> 回归"的闭环,是 opencode 最让我觉得值回票价的地方。传统工作流里,这四个步骤每一步都要程序员手动介入,现在至少前三步可以交给工具半自动完成。

7. 避坑实录:安装和运行中最常见的错误怎么处理

7.1 unexpected server error 的排查链路

搜索里有一条很典型的错误:opencode error: unexpected server error. check server logs。这个报错信息本身很模糊,因为它只是把底层错误往上抛了一层。遇到它,先别慌,按这个顺序排查:

第一步,看是不是模型服务端的问题。最快速的方法是切换一个模型试试。如果你用模型 A 报错、换成模型 B 正常,那问题基本在模型服务商那边,可能是额度用尽、服务波动或者接口变更。

第二步,开调试日志。opencode 支持通过环境变量拉高日志级别:

LOG_LEVEL=DEBUG opencode

日志会输出请求参数、响应状态和具体的错误堆栈。大多数情况下,真正的原因在日志里写得很清楚,比终端里那行笼统的unexpected server error有用得多。

第三步,检查配置里的base_url和 API Key 是否正确。尤其是自建网关的场景,网关地址写错、路径少加/v1、Key 带了个空格,都会导致服务端返回异常,最终表现为 unexpected server error。

第四步,如果你的配置里同时写了多个 provider 或代理转发规则,可以把配置简化到只保留一个 provider 再测试,逐步缩小范围。

这条链路走下来,90% 的 unexpected server error 都能定位到具体原因。

7.2 "this model is not available in your country"到底怎么回事

这个错误是在调用某些模型服务时,服务商返回的区域限制提示。本质上是服务商的授权规则问题:某个模型没有在你所在区域的商用授权,服务端检测到请求来源区域后直接拒绝。

处理方式只有一个方向:以服务商的官方支持范围为准。要么换一个在你所在区域有明确服务的模型供应商,要么改用本地部署的开源模型。一定要明白,这种区域限制是服务商基于授权和合规要求做的硬性限制,作为使用者能做的就是选择合规可用的模型渠道。为了某个模型去折腾各种非常规网络手段,不仅不可靠,还可能违反服务条款,真没必要。

7.3 第三方免费端点说没就没

前面 3.5 提到过"hy3-free 下线"这类热点,本质上是同一个问题。第三方免费模型端点是社区里某些开发者自建的转发服务,他们自己也要承担上游 API 成本。一旦上游涨价或者维护者没精力了,服务就可能毫无预兆地关停。

我的建议是:把"免费端点"当成试用渠道,别当生产配置。如果你日常真的依赖某个第三方端点,至少准备一个可切换的备选方案。opencode 的配置支持多 provider 并存,我给自己的建议是把本地模型的配置常驻,免费端点作为可选,这样就算它下线也就是改一行配置的事。

7.4 Linux 下修改 JSON 配置的注意点

搜"opencode linux 修改 json"的人通常是在 Linux 服务器或开发机上配好了 opencode,但配置不生效。Linux 下全局配置路径是~/.config/opencode/opencode.json,很多人容易把它和项目级配置搞混。两个文件都存在时,项目级覆盖全局,所以如果你在项目目录里跑 opencode,修改全局配置可能没有任何效果——先确认当前生效的配置文件是哪一份。

还有两个 JSON 相关的坑。第一,JSON 不支持注释,但 opencode 的配置文件实际上兼容带注释的 JSONC 格式。不过为了保险,编辑完最好用jq校验一下:

jq . ~/.config/opencode/opencode.json

如果输出有解析错误,说明配置里有语法问题,opencode 会静默忽略或直接报错。第二,Linux 下配置里的路径字段要注意,~不会自动展开,建议写绝对路径,或者使用环境变量。

7.5 版本 2.0 带来的配置变化

opencode 2.0 是一次比较大的版本迭代,我看到一些用户升级后原本的配置突然"失效"了,然后开始搜"opencode 2.0"找答案。这类大版本升级通常会调整配置字段的命名和组织方式,旧配置不能直接套用是正常的。升级前先看一眼官方 changelog,升级后用opencode启动时注意终端里的字段警告。如果某些配置项被废弃,启动日志里一般会有提示,照着提示改就行了。

并且在 2.0 之后,多 agent 会话的体验增强了不少,你可以同时开多个会话给不同的子任务,这在处理多模块改动时很实用。不过这也意味着占用模型并发额度会成倍增加,用之前确认自己的 API 套餐是否支持并发。


最后再分享一个我自己的习惯。用了 opencode 大半年,我最大的感触是:这类工具能不能发挥价值,关键不在于你有什么模型,而在于你有没有给它一个清晰的上下文。我现在每接手一个新项目,第一件事不是写代码,而是先写一份像样的 AGENTS.md,把项目怎么跑、代码规范是什么、哪些事不能做写清楚。然后建一个 skills 目录,把团队里重复的流程沉淀成 SKILL.md。做完这两件事,opencode 的效率和准确性会完全不一样。很多人说 agent 工具"不够聪明",大部分时候其实是"上下文不够清楚"。工具本身只是一个执行者,你怎么组织信息、怎么定义规则,才真正决定它的上限。

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

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

立即咨询