vibe coding之opencode的使用

本篇目标:

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.官网:

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

的安装程序。

  1. 安装

双击安装包:

复制代码
Next
√ Accept Agreement
Next

到这个界面时建议勾选:

复制代码
√ Add "Open with Code" Action
√ Add to PATH

尤其是:

复制代码
Add to PATH

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

复制代码
code .

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


  1. 验证安装

打开 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了。

相关推荐
装不满的克莱因瓶1 小时前
从梯度下降到 Adam 优化器:掌握神经网络参数优化的核心原理
人工智能·python·深度学习·神经网络·机器学习·计算机视觉·ai
笨蛋©1 小时前
基于Infra CONVERT 正版授权的图纸识别与FAI自动化实务
ai·数字化·cad·制造业·图纸识别
ShareBeHappy_Qin1 小时前
AI —— Agent相关概念-1
人工智能·ai·agent
lifallen1 小时前
第五章 从 Tool 到 Skill:认知复用如何发生
人工智能·ai·语言模型·agi
岳小哥AI1 小时前
一篇标题只有5个单词的论文,改变了整个AI世界,并打开了AI大语言模型时代
ai·ai基础
lovePaul772 小时前
CSDN 自动发布测试
ai·自动化·csdn
难以触及的高度2 小时前
Dify 本地部署实操全教程:零基础快速搭建私有化 AI 应用
人工智能·ai·github·ai编程·dify
古城小栈4 小时前
langchainrust:构建一个高效智能体
ai·rust
boonya6 小时前
Winter is Coming:当AI疯王们举起屠刀,弑君者已在路上
ai·ai编程