本篇目标:
1.了解vibe coding在程序员中的使用
2.学会对opencode的基本使用
3.掌握如何利用opencode完成对数据结构的单元测试
一.认识opencode
1.概念
Vibe Coding(氛围编程) 是近几年 AI 编程领域流行起来的一个词,指的是:
开发者不再逐行编写代码,而是通过自然语言描述需求,让 AI 生成、修改和迭代代码。
例如:我们可以通过AI在某个目录下,对AI说:
帮我做一个记账网站,支持:
- 用户注册登录
- 收入和支出记录
- 月度统计图表
- 数据存入 SQLite
然后 AI 自动生成:
- 前端页面
- 后端 API
- 数据库模型
- 登录认证
- 图表功能
你再继续说:
把界面改成深色主题。
AI 再帮你修改。
整个过程更像是在"指挥"而不是"写代码"。
这实际上将程序员的工作流程从传统的**"构思需求→编写代码→调试"** 转变为"Vibe Coding模式:构
思需求→描述需求→AI生成代码→审核结果"。由于AI生成的代码并非完美,可能存在一些缺陷,
因此仍然需要程序员进行专业审查。这一转变凸显了开发者角色正在向"产品经理+代码审核员"的
双重身份演进。
2.编程代理
概念:这是一种可以提供终端界面、桌面应用、网页端和IDE扩展等多种使用方式的工具, 这和
ClaudeCode,Cline,GeminiCLI,codex等是同⼀类⼯具。
那么编程代理可以做什么呢?
例如:
- 阅读整个代码库
- 找到订单和用户模块
- 设计支付数据结构
- 编写后端接口
- 修改前端页面
- 添加权限和异常处理
- 编写测试用例
- 运行测试
- 修复发现的问题
- 提交代码变更
可能有人会问:为什么要使用opencode呢?
原因如下:
• 开源,不需要科学上网,普通人就能使用上,但是形如codex就需要的使用特殊手段,可能还需
要付费。
• 默认支持LSP(语⾔服务器协议),在终端上看到的代码都是有语法高亮的.1
• 提供免费的模型接⼊,使用成本低.
• 可自由切换模型,⽀持模型可达75+.
3.安装软件
3.1.node.js和npm安装
我们直接复制这个链接:**https://nodejs.org/zh-cn/download,**这就是官网的下载地址,并且这
也会将npm一并下载**,下载如图所示:**

拿到安装包后,直接双击,开始安装,⼀路next就可以了,中途可以⾃⾏调整安装路径。
我们在终端里面直接node -v和npm -v即可查看安装的是否成功,-v相当于是-version(版本),
如图:

3.2.opencode的下载
npm 包管理的下载资源⼀般是国外的资源,但是由于网络的问题,下载可能会比较慢,有时候因
为网络的问题⽆法访问,所以用这种方式之前,需确保网络能访问npm源(推荐切换国内源,避免
安装慢)。命令如下:
cpp
npm config set registry https://registry.npmmirror.com
然后,这里说一下:openCode有终端界面、桌⾯应用、⽹页端及IDE扩展,在这⾥建议⼤家使用
终端界面,不仅可以单独使用,还可以在各种IDE和编辑器中直接嵌⼊使用,在终端中的命令如
下:
cpp
npm i -g opencode-ai
我们再验证⼀下opencode的版本,⼀样的方法,输入:opencode -v。
3.3.VScode的安装
如果我们已经安装好了 Node.js,那么安装 VS Code(Visual Studio Code) 很简单。
1.官网:

我们直接点击Download for Windows
它会下载一个类似:
VSCodeUserSetup-x64.exe
的安装程序。
- 安装
双击安装包:
Next
√ Accept Agreement
Next
到这个界面时建议勾选:
√ Add "Open with Code" Action
√ Add to PATH
尤其是:
Add to PATH
一定要勾,这相当与是配置vscode当当前环境变量中,如果配置了,我们就可以在终端里面直接输入code,即可打开vscode,例如:
code .
相当于是在当前目录下打开vscode。
- 验证安装
打开 PowerShell:
cpp
code -v
如果看到版本号就说明安装成功。
二.opencode的使用
1.进入opencode
我们下载好opencode后,可以直接在终端里面执行opencode打开opencode,如图:

终端的最右下脚1.16.2是opencode的版本号 ,然后我们在输入框中输入:你现在使用的是什么模型?
如图所示:

解释工作区:
<1>.Plan
这个表示工作模式,我们按键盘上的tab就可以切换到Build模式了。
<2>.MiniMax-M2.7
表示的是当前使用的大模型,还有其他的大模型,例如:
GPT-5
Claude Sonnet 4
Gemini 2.5 Pro
DeepSeek V3
MiniMax-M2.7
这里显示的是:
MiniMax-M2.7
说明当前 Agent 的推理是由这个模型完成。
<3>.Context
Context
8,861 tokens
4% used
Context = 上下文窗口。
AI 每次回答时都会把:
- 聊天历史
- 文件内容
- 系统提示
- 工具结果
一起塞进上下文。
8,861 tokens
表示:当前已占用8861 Tokens
Token 可以理解为:
汉字 ≈ 1~2 Token
英文单词 ≈ 1~3 Token
例如:
你好
大约:
2~4 Tokens
4% used
表示:已经用了 4%的上下文窗口
反推:
8861 / 0.04
≈ 221,525 Tokens
说明当前模型的上下文窗口大约:
200K~256K Tokens
还有 96% 空间可用。
$0.00 spent
表示:当前会话花费
如果使用 API:
输入 Token
+
输出 Token
=
费用
OpenCode 会实时统计。
例如:
$0.07
代表这次会话已经消耗了 7 美分。
<4>.LSP
LSP
LSPs are disabled
LSP =
Language Server Protocol
语言服务器协议。
它相当于代码智能分析器。
例如:
Python
def add(a,b):
return a+b
LSP 能知道:
- add 是函数
- a、b 是参数
- 返回值是什么
TypeScript
const user: User
LSP 能知道:
User {
id: number
name: string
}
开启 LSP 后,AI 可以:
✅ 找定义
Go to Definition
✅ 查引用
Find References
✅ 类型分析
Type Checking
✅ 语法错误检测
Diagnostics
截图里:
LSPs are disabled
表示:
当前 OpenCode 没连接任何语言服务器。
AI 只能看文本。
不能利用 IDE 级别的代码分析能力。
<5>./~
右下角的./~表示当前工作目录。
2.打开opencode
前面已经讲了关于opencode的布局含义,这里教大家如何正确的打开和退出opencode
比如,当我们打开某个目录时,可以参照下图所示:

在当前目录下右键单击,从弹出菜单中选择【在终端中打开】。随后在终端中输入命令opencode,
并发送问候语"你好",即可观察到右下角opencode的工作目录是我们之前打开的目录,效果如图所
示:
当然我们也可以在当前目录上方复制这个目录的绝对路径,然后再次打开终端,输入:
cpp
opencode F:\Java\code\code2
然后我们就会发现opencode的工作目录是我们之前打开的目录。
当我们和opencode打招呼后,不想用但是想要下一次仍然打开这个目录,咋办?
很简单,我们在终端里面输入:/exit或者/quit或者/q都可以退出opencode,但是此时不要急的关闭
终端,此时终端显示:

解释:
<1>.Session
这里表示:最近一次会话(Session)名称
<2>.Continue
意思是恢复这个会话
相当于:
opencode -s 会话ID
其中:
ses_16532efd4ffeI0ewZo2NDS3mqi
是 Session ID。
建议:只需复制这段 opencode -s ses_16532efd4ffeIOewZo2NDS3mqi 并保存。当需要恢复对话
时,将其粘贴到终端即可继续之前的交流。
3.切换模型
打开OpenCode时,您可能会发现默认加载的大模型并非MiniMax,这属于正常现象。由于我的账
号是通过MiniMax官方渠道开通的会员,因此若您需要切换至其他模型,可按以下步骤操作:
我们现在终端输入:
cpp
/connect
这个就是用来链接供应商,如图:

这些都是 OpenCode 支持接入的模型供应商。部分海外供应商(如 OpenAI、Anthropic、Google
等)在某些地区可能存在访问限制,并且通常需要购买 API 或订阅服务。对于预算有限的用户,
可以优先考虑 DeepSeek、Qwen、Kimi 等国内模型的 API,或者直接使用 OpenCode 提供的免费
模型和套餐进行体验。
当我们想要切换到另外一个模型时,我们可以执行如下的操作:
cpp
/models

注意:如果我们对应的模型不是免费的/充值过的,即使切换到这个模型也是无法对话的
4.切换工作模式
Plan 和 Build是OpenCode的两个主agent(主代理),在键盘上按Tab就可以切换两个模式。
<1>.Plan:规划模式
当切换到 Plan 时,AI 的主要职责是:
✅ 分析需求
✅ 阅读代码
✅ 设计方案
✅ 拆解任务
✅ 给出修改建议
而不是直接改代码。官方将其定义为一个受限 Agent ,默认限制文件修改和命令执行权限,以避免误操作。
例如:
给这个项目增加 RBAC 权限系统
Plan 可能会输出:
1. 新增 roles 表
2. 新增 permissions 表
3. 建立角色权限关联
4. 修改 JWT Payload
5. 增加权限中间件
6. 修改前端路由守卫
但不会直接动你的代码。
Plan 适合什么场景?
新功能设计
帮我设计一个支付模块
架构讨论
这个项目应该改成微服务吗?
重构前评估
分析一下 auth 模块的问题
Code Review
审查一下这个 PR
大型项目任务拆分
把这个需求拆成开发任务
<2>.Build:构建模式
官方定义:
Build 是启用了所有工具的默认主 Agent,用于需要完整文件操作和系统命令权限的开发工作。
简单说:
Plan 负责想
Build 负责干
例如:
实现用户登录功能
在Build 模式下会直接执行操作,例如:
读取代码
↓
创建文件
↓
修改路由
↓
安装依赖
↓
运行测试
↓
修复错误
而不仅仅是给建议。
Build 能做什么?
修改代码
编辑文件
重构模块
生成代码
执行命令
npm install
npm test
pnpm build
创建文件
新组件
新 API
新配置
调试项目
读取报错
自动修复
重新测试
这里大家可以自己演示一下。
5.init
作用:用来创建和更新AGENTS.md文件的。
/init 是 OpenCode 里非常重要的初始化命令。第一次执行时,它会扫描当前工作目录下的项目文件,理解这个项目是做什么的、目录结构如何、使用什么技术栈、代码规范是什么、常用命令有哪些,然后自动生成一个 AGENTS.md 文件。
AGENTS.md 可以理解成给 AI Agent 看的"项目说明书"。
里面通常会包含:
项目用途
技术栈
目录结构
开发规范
测试命令
构建命令
注意事项
Agent 工作规则
这样以后 OpenCode 在这个项目里工作时,就不需要每次都重新猜项目结构,而是可以先读取 AGENTS.md,更快理解项目背景。
如果项目里已经存在 AGENTS.md,再次执行 /init 时,OpenCode 通常不会直接覆盖,而是会尝试基于现有内容进行补充和更新。
例如我们在一个有html的目录下执行/init,直接上Built模式,如图:

然后在当前目录下,就会创建一个AGENTS.md,我们使用记事本打开,如图:

在 A GENTS.md 文件中,我们可以根据自己的需要加入⼀些内容,⽤于定义AI在当前工作环境中的行为约定。
⽐如:
• 定义AI的角色定位(如示例中指定为"C/C++程序员")
• 约束代码风格格(注释规范、大括号格式等)
• 规定交互原则(确认后再执行、删除前需确认等)
6.其它的使用
<1>/new :开始新的会话
<2>/sessions: 显示当前目录的历史会话记录,并支持在会话间切换。不同目录的历史会话相互独立,切换目录时不会显示其他位置的会话记录。
<3>.卸载:如果是通过 npm 全局安装的,可以使用:npm uninstall -g opencode-ai.
三.高效利用opencode
1.配置C/C++开发环境
先要下载 w64devkit 的安装包
w64devkit 的意思是:Windowsx64/x86的dev(开发)kit(⼯具)包,⼯具包中包含了9个⼯具。
下载链接:**https://github.com/skeeto/w64devkit/releases**(需要科学上网)

双击这个⽂件,就开始安装,需要选择安装路径,这⾥可以选择安装到任意路径下,然后点击
Extract,提取,然后我们在安装路径下看到这个文件就说明安装成功了,

复制这个路经,然后搜索:环境变量,点击【编辑系统环境变量】,如图:

点击【环境变量】,进⼊编辑⻚⾯,在当前⽤⼾的变量中找到Path,双击进⼊下⼀⻚⾯,再点击【新 建】,如图:

输⼊:bin⽂件夹的路径(这⾥要根据我们之前的安装路径来输⼊),如图:

然后都点击确定就可以了。
打开⼀个新的终端窗⼝,验证gcc的版本和安装位置,如图:

2.单元测试
概念:
验证一个最小功能单元是否按照预期工作。
这里的"单元"通常指:
- 一个函数
- 一个方法
- 一个类
- 一个模块中的某个独立逻辑
而不是整个系统。
举个简单例子
假设你写了一个计算器函数:
function add(a, b) {
return a + b;
}
单元测试会验证它是否正确:
test("1 + 2 应该等于 3", () => {
expect(add(1, 2)).toBe(3);
});
test("5 + 7 应该等于 12", () => {
expect(add(5, 7)).toBe(12);
});
运行测试:
✓ 1 + 2 应该等于 3
✓ 5 + 7 应该等于 12
说明这个函数工作正常。
例如,在plan模式下,我们可以让opencode介绍一下单元测试,如图:

由于我是主学C++的,使用vs2022,所以接下来,我就主要在vs2022上进行单元测试,然后接下来我就让opencode介绍一下Google 开发的 C++ 单元测试框架,如图:

假设我们写了个数据结构中的顺序表,而我们的opencode也在当前目录下,那么此时我们可以
在Build说:对当前项目的所有接口用gtest写⼀下单元测试,并给单元测试代码部分写⼀下注释,
直接使用vs编译器默认⽀持的GoogleTest框架创建⼀个项目到当前 解决方案下面进行测试吧。
⽅案Build执⾏后,AI⼀般会给出使用⽅法,要对着他的使用⽅法进⾏⼀些操作,这里理解两个操 作。
◦ vs下面试⼀个解决方案可以建立多个项目,方便管理。这⾥的单元测试就会建立⼀个新的项目 如SqListTest来对顺序表进行单元测试。
◦ gtest是google开源写好的库,⼀般是动态库或静态库形式提供,我们要使用就要下载配置,vs 下提供NuGet程序包安装gtest库,安装好以后,把SqListTest设置为默认启动项,就可以编译 运行SqListTest单元测试。
操作如图:

但是这里要注意的是:
<1>.实践项目中我们是需要去审核AI写出的测试⽤例,必要时补充测试用例,帮助AI完善测试用例。
<2>.AI写的测试单元可能写好后并不能运行,所以还需要我们多次操作和命令opencode,直到运行成功。
3.部署vscode
比如我想在 F:\Java\code 路径下写代码,我们就可以在 F:\Java\code 路径下新建⼀个code⽂件
夹,然后进⼊Code⽂件夹中,右击⿏标打开终端,接下来在终端中输⼊: code . ,就可以使用
VSCode打开 F:\Java\code ⽂件夹来写代码了,接下来选择【是,我信任此作者】,让我们的
VSCode有权限访问该⽂件夹。
可以通过如图,认识一下Vscode,

我们第一次下载的vscode的语言应该是英文的,如果我们想要切换到汉语,可以在VSCode的左边
栏选中【扩展】,搜索chinese,找到简体中⽂的插件,可以把VSCode汉化,点击 【install】安
装,安装后会看到提⽰重启,重启后就是汉化后的版本,如图:

然后在VSCode中,按 Ctrl+ ` 组合键,可以在VSCode上打开终端,输⼊:opencode,回车,就
启动了opencode,如图:


然后,我们就可以在vscode上使用opencode了。