本篇目标:

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源(推荐切换国内源,避免

安装慢)。命令如下:

npm config set registry https://registry.npmmirror.com

然后,这里说一下:openCode有终端界面、桌⾯应用、⽹页端及IDE扩展,在这⾥建议⼤家使用

终端界面,不仅可以单独使用,还可以在各种IDE和编辑器中直接嵌⼊使用,在终端中的命令如

下:

npm i -g opencode-ai

我们再验证⼀下opencode的版本,⼀样的方法,输入:opencode -v。

3.3.VScode的安装

如果我们已经安装好了 Node.js,那么安装 VS Code(Visual Studio Code) 很简单。

1.官网:

Visual Studio Code - The open source AI code editor | Your home for multi-agent developmentVisual Studio Code is a free, open source AI code editor. Build with AI agents that plan, code, and debug for you. Manage multi-agent workflows across environments on Linux, macOS, and Windows.https://code.visualstudio.com/

我们直接点击Download for Windows

它会下载一个类似:

VSCodeUserSetup-x64.exe

的安装程序。

2. 安装

双击安装包:

Next
√ Accept Agreement
Next

到这个界面时建议勾选:

√ Add "Open with Code" Action
√ Add to PATH

尤其是:

Add to PATH

一定要勾,这相当与是配置vscode当当前环境变量中,如果配置了,我们就可以在终端里面直接输入code,即可打开vscode,例如:

code .

相当于是在当前目录下打开vscode。


3. 验证安装

打开 PowerShell:

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的工作目录是我们之前打开的目录,效果如图所

示:

当然我们也可以在当前目录上方复制这个目录的绝对路径,然后再次打开终端,输入:

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官方渠道开通的会员,因此若您需要切换至其他模型,可按以下步骤操作:

我们现在终端输入:

 /connect

这个就是用来链接供应商,如图:

这些都是 OpenCode 支持接入的模型供应商。部分海外供应商(如 OpenAI、Anthropic、Google

等)在某些地区可能存在访问限制,并且通常需要购买 API 或订阅服务。对于预算有限的用户,

可以优先考虑 DeepSeek、Qwen、Kimi 等国内模型的 API,或者直接使用 OpenCode 提供的免费

模型和套餐进行体验。

当我们想要切换到另外一个模型时,我们可以执行如下的操作:

/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了。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐