opencode使用心得
2026/7/23 8:51:36 网站建设 项目流程

安装

先装node,再安装opencode:

sudo npm install -g opencode-ai@latest

命令行输入:

opencode

即可打开TUI界面。

要退出,可Ctrl+C或Ctrl+D。

设置大模型

接入方舟code plan参考:

https://www.volcengine.com/docs/82379/2188958?lang=zh

可以安装ark helper工具一键配置:

curl -fsSL https://lf3-static.bytednsdoc.com/obj/eden-cn/ylwslo-yrh/ljhwZthlaukjlkulzlp/install.sh | sudo sh

顺带说一下:

doubao-code和doubao-pro的token耗起来飞快,似乎它在思考过程中也会大量消耗token,很容易触发5小时限制。用其deepseek模型还可以,消耗没那么快,响应速度也ok。

也可以修改opencode配置文件,linux下在:~/.config/opencode/opencode.json里。比如新增deepseekV4的大模型:

"deepseek-v4-flash":{"name":"deepseek-v4-flash","limit":{"context":1024000,"output":4096}},"deepseek-v4-pro":{"name":"deepseek-v4-pro","limit":{"context":1024000,"output":4096}},

使用

初始化工程

在开发工程的根目录打开opencode,执行:

/init

命令,opencode会先扫描整个工程,生成AGENTS.md,帮助AI理解。

切换模式

opencode有两种模式:build和plan,通过TAB键切换。

plan模式会为我们建立todo列表,然后切换到build模式,按todo列表进行开发。很好用的一个功能。

切换主题

/theme

切换模型

使用/models命令

顺带说一下模型选择。

GLM5.1比较昂贵、也比较慢,核心代码或算法用GLM5.1写,事务性、重复性的工作交给deepseek,免费的trae用来写UT或简单的参数增删。不建议拿GLM5.1来写UT,太浪费了。

开发skill

与AI协作过程中,我们会写大量的prompt,这其中有些promt是可以作为经验保存下来,供下次复用的。这,大概就是skill设计的初衷吧。

一个SKILL.md样例:

--- name: multi-tables-join-checker description: 三表及以上关联检查 license: MIT compatibility: opencode --- ## What I do 检查LINQ的三表关联及AsNoTracking是否正确使用 ## When to use me 开发CRUD型的Service服务,要书写LINQ时。 ## Instructions - 找出Service中使用了三表及以上关联的LINQ,因三表及以上的关联查询可能有性能风险。搜索时不仅要搜索join关键字,还要搜索Include和嵌套Select,它们也算关联一张表。 - 排查Service中涉及DBContext的ToListAsync方法,调用它之前必须使用AsNoTracking()方法,若未使用,请补充;若已使用,一个LINQ里只需一个AsNoTracking(),多余的请清除。 ## Notes UT类(以Tests结尾的类)不用排查

放到~/.config/opencode/skills/multi-tables-join-checker/SKILL.md下即可。

开发完后,重启opencode,使用/skills命令应该就能找到该skill,执行即可。

与AI协作的经验

我常用的两种协作方式:

一是AI完成核心代码,即先在plan下制定整体方案,人看过没问题,切到build,让AI完成所有代码,最后人来检视并修改合入。

二是人来搭建框架代码,划分好类、定义好数据结构,但类的方法体都空着,只写了todo注释,然后由AI补齐。

第一种方式用于首次搭建,第二种方式常用于代码重构。

写todo注释让AI去处理,也是让AI进行代码微调的好方法,因为AI一般会去阅读todo的上下文,了解这个todo的确切含义。其实等价与trae里选择某段代码让AI去处理。只不过opencode没界面编辑能力,相当于用todo注释去替代。

另外,todo注释跟prompt一样,应尽可能详细,考虑全面,因为这种情况下,AI所知的上下文毕竟有限。

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

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

立即咨询