OpenCode体验日记
安装
在我自己的Mac OS上,直接使用下面的命令安装 OpenCode
curl -fsSL https://opencode.ai/install | bash
安装完之后,迫不及待地想试一试。随便找了一个项目来分析。使用默认的配置和默认免费的模型。在工程目录下使用 opencode命令。
/Users/admin/Desktop/repo/unity_projects/VTNavigation2D opencode
进行一顿分析之后,输出了Unity版本和项目能力,并且把项目结构都输出出来了。基本符合预期。

随后我继续询问,四叉树的编码方案优劣性。它给了我一个改进前的方案,负优化了属于是。

随后继续追问,是否有其他更好的编码方案,然后它给了我好几种方案,对不对且不论,但确实学到东西了。

切换DeepSeek模型
首先去 DeepSeek官网进行充值,可以选择使用微信或支付宝支付。

然后创建 API-KEY,OpenCode会使用它来进行认证。这里创建之后就没办法复制了,所以自己复制到本地进行保存,面得找不到了。

在VSCode终端,启动 OpenCode之后,输入 /connect,选择 DeepSeek作为提供商,然后输入 API-KEY。


这里 DeepSeek有两个模型,按官网的意思,第一个是非深度思考的模型,第二个是深度思考的模型,都升级成了 deepseek-v3.2

然后随便与他对话,就可以在官网上看到扣费的结果。

MCP服务配置
在MCP星球中,随便找一个服务来试试。
然后把URL复制下来,配置到 opencode.jsonc文件中。

给AI输入提示词,简单生成一张Excel表,可以看到它运行和调用的过程。这个过程中,用户是需要关心生成结果,而不需要知道AI内部的分析过程和执行函数的过程。

最终得到的Excel表格长下面这样,符合预期:

Skill配置
Skill是针对客户端来配置的,用来指导和规范AI的行为。OpenCode的Skill分为多种,主要是全局配置和项目配置。具体的配置方法可以查阅文档。
我今天主要试用,就以生成python文件为例,编写 SKILL.md保存在 ~/.config/opencode/skills/PythonStandard目录下。
---
name: Python 内部命名规范技能
description: 当用户要求重构、审查或编写 Python 代码时,请参考此规范。
---
## 指令
1. 所有的内部辅助函数必须以 `_internal_` 前缀命名。
2. 如果发现不符合此规则的代码,请自动提出修改建议。
## 参考示例
- 正确:`def _internal_calculate_risk():`
- 错误:`def _calculate_risk():`
这里头部必须要写 name和 description。其他的可选项就自行搜索吧。
SKILL.md只要求会Markdown语法即可,且描述都是自然语言。接着我们调用 OpenCode简单生成一个 python文件。

这很简单,打开即可看到生成的内容(对错尚且不论)
接着要求它把其中定义的函数改成内部函数。然后我们可以看到它读取了该文件

然后根据SKILL分析要如何修改,输出diff结果,最终输出到目标文件中。

使用心得
试用了一天 OpenCode之后。发现目前的AI的基本结构可以总结为 模型——MCP Server——SKILL——Agent的结构,其中还有 SKILL扩展。不过它们之间的连接应该不是单线连接的,以后会有更多和更大规模的联络方式。
关于 MCP Server,它本质上还是服务器,模型在分析任务时根据配置的服务来规划完成任务的步骤,并调用相应的服务来获得返回结果。所以这在AI生态中属于后端逻辑,需要编写代码。
SKILL是配置在本地的,所以我认为这属于前端逻辑。这从它的语法格式中就可以看出来了。它需要一个接近自然语言的格式,程序可读可分析,又要减轻用户的负担,所以选择了 Markdown。对人和机器来说都容易处理(写的人轻松,机器解析方便),且格式固定。
未来催生出专门的 MCP Server开发岗位,而前端则是 AI Agent开发岗,用户要学会写 Markdown,或者要学会上网。
GitLab CI/CD集成
在GitLab CI/CD中配置OpenCode主要涉及 .gitlab-ci.yml文件的编写。通过配置CI流水线,可以在代码提交时自动触发OpenCode进行代码分析、质量检查和自动修复。
![]()
上图展示了一个典型的OpenCode CI配置示例。
2. Agent的配置
OpenCode Agent是给OpenCode添加一个角色,用描述职责和可使用的工具权限等。具体的内容可以参考opencode的文档。下图是我自己配置的Reviewer角色。

3. Skill的配置
Skill则是通过自然语言说明评审的要点和输出格式。如下图所示

通过GitLab CI/CD集成,OpenCode可以成为团队开发流程中不可或缺的一部分,帮助团队提高代码质量、减少技术债务,并促进知识共享和最佳实践的传播。