文章目录
- [一、开发工具介绍(进行 Vibe Coding)](#一、开发工具介绍(进行 Vibe Coding))
-
- [1. VS Code 发行版](#1. VS Code 发行版)
- [2. CLI 工具](#2. CLI 工具)
- [3. ⼀句话搭建应用程序(适合小白开发者)](#3. ⼀句话搭建应用程序(适合小白开发者))
- 二、OpenCode的安装
-
- [1. Node.js的介绍 与 安装](#1. Node.js的介绍 与 安装)
- [2. Node.js 的常用命令(npm的介绍)](#2. Node.js 的常用命令(npm的介绍))
- [3. 安装 OpenCode](#3. 安装 OpenCode)
- [三、opencode中的 基础命令](#三、opencode中的 基础命令)
-
- [1. 启动OpenCode 和 退出OpenCode](#1. 启动OpenCode 和 退出OpenCode)
- [2. 配置主题](#2. 配置主题)
- [3. 配置模型](#3. 配置模型)
- [4. 进入命令面板](#4. 进入命令面板)
- [5. 压缩上下文](#5. 压缩上下文)
- [6. 切换会话 和 创建新会话](#6. 切换会话 和 创建新会话)
- [7. 选择skill 和 选择文件](#7. 选择skill 和 选择文件)
- [四、opencode的 基本结构](#四、opencode的 基本结构)
-
- [1. 内置 Agent](#1. 内置 Agent)
- [2. 理解 LLM 的记忆(上下文)](#2. 理解 LLM 的记忆(上下文))
一、开发工具介绍(进行 Vibe Coding)
要进行 Vibe Coding, 首先需要使用一款 AI 开发工具. 目前来看, AI 开发工具主要有三个流派:
(1) VSCode 发行版
(2) 终端 CLI 工具
(3) "⼀句话搭建应用程序" 系列
1. VS Code 发行版
VS Code 是同学们非常熟悉的开发工具了,也是业界最流行的开发工具 (没有之一)

同时, VSCode 有⾮常良好的开放生态。当 AI 浪潮吹来的时候,基于 VSCode 进行 "魔改" 成了⼀个性价比很高的选择。
典型代表:
• Cursor
• Trae(字节)
• Kiro(亚马逊)
• Antigravitiy(谷歌)
• Code Buddy(腾讯)
• QCoder(阿里)
• ...

这个系列的⼯具本身使用起来都非常好上手,已经熟悉 VSCode 的同学们应该都很容易驾驭。
2. CLI 工具
CLI 全称为 "Command Line Interface",即为在终端中的 "命令行界面",通过命令的方式和用户进行交互。
典型代表:
• Claude Code
• Codex
• Gemini CLI
• OpenCode
• ...

3. ⼀句话搭建应用程序(适合小白开发者)
典型代表:
• Devin
• atoms
• 秒哒
• 码上飞
• ...

这部分产品不需要搭建任何开发环境,直接在网页上和 AI 沟通,完成开发过程。目前这种形态的产品还处于发展阶段,还没有被大部分研发团队认可和使用。
二、OpenCode的安装
1. Node.js的介绍 与 安装
安装OpenCode前,得先安装 Node.js
Node.js 是啥?
大家肯定都听说过 JavaScript , 也知道 JavaScript 是运行在浏览器上的语言。
浏览器中用来解释运行 JavaScript 的模块被称为 "JavaScript 引擎", 其中最知名的就是 Chrome 中的引擎 V8 Worker .
后来, 有大佬把 V8 Worker 单独拎出来,封装了⼀下,赋予其更多的能力 (比如可以调用系统 API), 此时就得到了 Node.js .
Node.js 使 JavaScript 的应用场景更广泛了, 不仅仅可以进行 Web 前端开发,还能进行后端开发和桌面应用开发。
目前我们使用的 AI CLI 系列的开发工具,大部分都是使用 Node.js 开发的。

- 在 linux系统下安装(Ubuntu 24.04)
在 Node.js 官网 https://nodejs.org/zh-cn/download 提供了下载安装的方案.

但是对于国内的网络环境来说,上述操作有⼀定概率失败。
此处我们使用 apt 的方式安装。
(1)引入 Node.js 的 apt 源.
在 root 用户下:
bash
curl -sL https://deb.nodesource.com/setup_24.x | bash -
对于 Ubuntu 24.04 来说, apt 默认源中的 Node.js 版本较低, 通常不满足 AI 开发工具的需求.
因此我们需要额外安装源, 使 apt 可以安装高版本的 Node.js , 此处是 v24 版本.
(2) 安装 Node.js
bash
apt install nodejs
- 在 Windows系统下安装(Windows 11)
Windows 上 Node.js 的安装就简单多了,直接在官网下载

然后双击安装包,⼀路 Next 即可。
2. Node.js 的常用命令(npm的介绍)
在linux下安装好 Node.js 后,我们会获得 node 和 npm 两个命令。
使用 node命令 可以进入Node.js(.exit命令 可以退出)

npm < command >

什么是 npm ?
npm 是 Node.js 内置的 "包管理工具"。类似于 Ubuntu 的 apt。
只不过 npm 下载的软件包是给 Node.js 使用的, 而 apt 下载的软件包则是个 Ubuntu 系统使用的.
3. 安装 OpenCode
在 OpenCode 官网中, 选择 "npm" 安装方式。

使用下列命令即可完成安装 (在 root 用户下执行):
bash
sudo npm i -g opencode-ai
由于 OpenCode 是⼀个 Node.js 上的应用程序,而 Node.js 本身是跨平台的。
因此无论是 Windows 还是 Linux,OpenCode 的安装都是上面相同的命令.
三、opencode中的 基础命令
1. 启动OpenCode 和 退出OpenCode
- 启动OpenCode 的命令(在linux终端的 命令行输入)
bash
opencode

注意:
在哪个目录中运行 opencode,哪个目录就是 "工作目录"。opencode 默认只能针对⼯作目录内部的内容(包括子⽬录)进行操作。
因此我们使用 opencode 编写代码,最好先提前创建好指定的项目 目录,并进入到该目录中,再启动 opencode
- 退出OpenCode 的方法(linux下)
bash
ctrl + c
2. 配置主题
bash
/themes
然后通过 上下方向键 选择不同主题, 按 enter 确认

3. 配置模型
bash
/models
可以直接选择接入好的模型进行使用

- 可以手动接入更多模型进行使用:
ctrl+a:进入 model provider 的选择界面

选择一款 model provider,输入API key,模型就成功接入了:

4. 进入命令面板
bash
ctrl + p

OpenCode 的各种设置项均包含在命令面板中.
5. 压缩上下文
bash
/compact
/compact 命令可以对当前会话上下文进行压缩总结,减少会话上下文的使用


6. 切换会话 和 创建新会话
- 切换会话的命令:
bash
/sessions


- 创建新会话的命令:
bash
/new

7. 选择skill 和 选择文件
- 选择skill的命令:
bash
/skills


- 选择项目下文件的方法:
bash
@对应路径下文件名

四、opencode的 基本结构
1. 内置 Agent
什么是 Agent
Agent 中文名叫做 "智能体", 是当前 AI 应用开发领域中比较核心的概念.
我们知道,AI 开发工具的核心驱动力是 LLM,人 和 LLM 之间的交互,核心就是通过 "提示词".
所谓的 Agent,其实就是⼀些事先准备好的提示词 (系统提示词),这些提示词中描述了该 LLM的 "人设","核心功能","约束" 等内容。用户后续通过 Agent 来和 LLM 交互的时候,这些系统提示词都会自动生效,使 LLM 按照预定的规则进行工作。
举个例⼦类比:
对于⼀个普通人,见到 "着火了" ,第⼀时间想到的是自身的安全,要先撤离到安全地方。
对于消防员来说,见到 "着火了",第⼀时间考虑的则是如何保护人民群众的人身财产安全。
因为在消防员的 "系统提示词" 中,保护人民群众是⾼于自⾝的人身安全的。
在 OpenCode 中,内置了 4 种 Agents:
- Plan: 只回答问题,不修改代码。通常用来提问/进行方案设计/做规划
- Build: 能回答问题,也能修改代码。开发代码的主力 Agent
- general: 独立的子 Agent,有单独的上下文窗口。通常用来处理⼀些单独的子问题。
- explore: 用来解释当前已有的项目代码。通常用来帮助我们理解⼀个已经存在的项目。
OpenCode 也支持自定义 Agent。有需求可以去了解一下
其中,Plan 和 Build 是我们最常使用的 Agent。通过 Tab 键切换。


另外的 general 和 explore ,则可以在对话中通过 @ 的方式来使用。

2. 理解 LLM 的记忆(上下文)
使用 AI ⼯具进行开发,通常需要 "多轮对话" 才能够完成任务。这时候我们发现,当我们进行后续对话的时候,LLM 是能记得前⾯的对话内容的
LLM 是如何记住这些内容的呢?
其实,LLM 自身是没有记忆的。LLM 能够记住前面信息的关键,是 opencode 等开发⼯具,维护了⼀份 "上下文"。
理解 "上下文"
简单来说,就是把前面已经产生的对话,重新发送给 LLM .

显而易见,随着对话轮次的增加,给 LLM 单次发送的内容就会越来越多(每次都会携带当前会话中的所有历史消息)。其中:
- 请求中的开头部分是 "系统提示词",会在每次发送的请求的最上面,作为 LLM 的基本规则。
- 标记了 "用户说" 的部分,称为 "⽤⼾提示词",也就是每轮对话用户输入的内容。
- 标记了 " LLM 说" 的部分,称为 "AI 提示词",也就是每轮对话 LLM 返回的内容。
这个内容不能无限增长。这个上限称为 LLM 的 "上下文窗口大小"
目前,主流的 LLM 上下文窗口都能够达到 1 MB(100万 个 ascii 字符,几十万个汉字)
在 OpenCode 右侧面板,提示了当前上下文窗口的使用量:

注意:
当上下文过长时,即使没有达到窗口上限,LLM 也容易出现 "注意力不集中" 的现象,导致出现更大概率的 "答非所问".
因此,开发时,我们需要控制上下文的大小,使 LLM 能够聚焦于当前任务.
(1)使用 AGENTS.md 保存项目中的关键信息,OpenCode 会把这部分作为系统提示词,相当于持久记忆
(2)使用 /compact 或 /summarize 压缩上下文
(3)使用 /new 创建新的会话,针对不同的功能点,使用不同的 session 来进行开发