掌握 opencode
AI 编程的新纪元

从零开始学习 opencode 命令行工具,释放 AI 编程的无限潜能

$ opencode
🤖 opencode 启动中...
📁 扫描项目文件...
✨ 准备就绪!输入你的请求:

什么是 opencode?

开源 AI 编程代理,让代码编写变得更智能

🚀

自然语言交互

用日常语言描述需求,AI 自动生成代码

📁

智能上下文

自动理解项目结构和代码逻辑

🔧

直接修改

无需手动复制粘贴,直接应用代码变更

快速迭代

支持撤销、重做和版本控制集成

安装与配置

5 分钟完成环境搭建

Windows 安装

1

下载可执行文件

GitHub Releases 下载最新版本

opencode-windows-x64.zip
2

解压并配置环境变量

将 opencode.exe 添加到系统 Path 中

setx PATH "%PATH%;C:\path\to\opencode"
3

验证安装

opencode --version

配置 API 密钥

方式一:环境变量

setx OPENAI_API_KEY "your-api-key"

方式二:内置登录

opencode auth login

快速上手

3 步开始你的 AI 编程之旅

🚀

启动会话

cd your-project && opencode

进入项目目录并启动 opencode

⚙️

初始化项目

/init

让 AI 熟悉你的项目结构

💬

开始对话

"给我的 Express 应用添加一个 /health 接口"

用自然语言描述你的需求

核心命令详解

掌握所有 / 命令,提升工作效率

核心操作

/init

初始化项目,扫描文件结构

/commit

提交所有更改到 Git

/undo

撤销上一步操作

/exit

退出 opencode 会话

模型配置

/models

切换不同的 AI 模型

/themes

更改界面主题

上下文管理

/add <文件>

添加文件到上下文中

/remove <文件>

从上下文中移除文件

/files

查看当前上下文文件

其他命令

/help

显示帮助信息

/history

查看操作历史

进阶技巧与最佳实践

基于原文档深度扩展的实用指南

🎯 明确你的意图

不好的示例

当你这样请求时,AI 很难理解你的具体需求:

"修复我的代码"

AI 需要猜测你想要什么,这往往导致不准确的结果。

好的示例

具体描述问题和期望的解决方案:

"在 userController.js 文件中,当用户未登录时,/profile 路由应该重定向到 /login,而不是抛出 500 错误。"

AI 能准确理解并提供针对性的解决方案。

📍

文件路径的重要性

总是指定具体的文件路径,让 AI 知道操作的目标:

"在 src/routes/auth.js 中添加密码重置功能,使用 JWT token 验证"

这样 AI 就能直接定位到正确的文件并进行修改。

🎯

预期行为描述

详细说明你希望实现的功能和行为:

"创建一个用户注册 API,需要:邮箱验证、密码强度检查、返回 JWT token、错误处理"

AI 会据此生成完整的功能代码。

🔄 分步解决复杂问题

🚫

避免大而全的请求

一次性要求太多功能会导致质量下降:

"创建一个完整的用户管理系统,包括注册、登录、密码重置、个人资料管理、权限控制等所有功能"

AI 难以一次性处理如此复杂的请求。

📋

任务分解策略

将复杂功能分解成可管理的步骤:

第一步: "创建一个 Button React 组件,包含 onClick 和 children props。"
第二步: "现在为这个 Button 组件添加一个 disabled 状态的样式。"
第三步: "为 Button 组件添加 loading 状态和 spinner 动画。"

每个步骤都专注于一个具体的功能点。

🔧

依赖关系处理

按照逻辑顺序逐步构建功能:

第1步: 创建数据库模型
第2步: 实现数据访问层
第3步: 构建业务逻辑层
第4步: 开发 API 端点
第5步: 添加前端界面

确保每个步骤都建立在之前步骤的基础上。

验证与测试

每个步骤完成后都要验证结果:

"检查生成的代码是否正确实现了所需功能,如果有问题请修复"

及时发现并修正问题,避免积累错误。

📂 结合 Git 使用

🔍

工作区检查

使用 opencode 前先确保工作区状态:

git status
git diff

查看是否有未提交的更改,避免冲突。

💾

及时提交

使用 /commit 命令保存有效的修改:

/commit
opencode 会自动生成合适的 commit 信息

或者使用 git commit 手动提交,并写明修改内容。

🌿

分支策略

为每个功能创建独立的分支:

git checkout -b feature/user-auth
git checkout -b feature/product-api

保持主分支的整洁,便于代码审查和回滚。

🔄

定期同步

定期推送到远程仓库:

git push origin feature-branch

避免本地代码丢失,方便团队协作。

🎛️ 善用上下文管理

📊

查看当前上下文

使用 /files 命令了解 AI 当前可见的文件:

/files

确保 AI 看到了所有相关的文件。

添加重要文件

手动添加 AI 需要了解的文件:

/add src/config/database.js
/add src/models/User.js

让 AI 理解项目的核心配置和数据结构。

移除无关文件

排除不相关的文件减少干扰:

/remove dist/bundle.js
/remove node_modules/

专注于当前任务相关的代码文件。

🎯

大型项目策略

对于大型项目,只包含当前模块的文件:

当前任务: 用户认证模块
包含文件: auth.js, user.js, middleware.js
排除文件: 产品管理、订单处理等无关模块

提高 AI 响应的准确性和速度。

⚡ 深入的技术细节

🔧

环境变量配置

正确设置 API 密钥到系统环境变量:

Windows:
setx OPENAI_API_KEY "your-key-here"
Linux/Mac:
export OPENAI_API_KEY="your-key-here"

重启终端后生效,确保密钥安全。

📁

项目初始化

/init 命令的详细作用:

扫描内容:
• 项目结构和文件组织
• 代码语言和框架类型
• 依赖关系和配置文件
• 代码规范和风格

帮助 AI 更好地理解项目背景。

⚙️

模型配置

根据需求选择合适的 AI 模型:

快速任务: GPT-3.5-turbo
复杂代码生成: GPT-4
高质量对话: Claude-3-opus

不同模型在速度、质量、成本间做权衡。

🎨

界面主题

使用 /themes 命令切换界面配色:

/themes
选择适合你的配色方案

改善长时间使用的视觉体验。

🚀 更多实用技巧

⌨️

终端快捷键

提高终端操作效率:

Ctrl+C: 取消当前操作
Ctrl+L: 清空屏幕
↑↓: 历史命令导航
Tab: 自动补全

熟练使用可以大大提升工作效率。

🔄

撤销操作

使用 /undo 命令撤销最近的修改:

/undo
撤销上一步的代码修改

如果对 AI 生成的代码不满意,立即撤销重试。

📚

会话历史

使用 /history 查看当前会话的所有操作:

/history

回顾之前的请求和 AI 的响应,总结经验教训。

获取帮助

使用 /help 命令查看所有可用命令:

/help

随时了解新的功能和命令选项。

VS Code 集成

无缝开发体验

安装扩展

在 VS Code 扩展市场搜索 "opencode" 并安装

Ctrl+Shift+P → "Extensions: Install Extension" → "opencode"

快捷键

Ctrl+Esc 打开/切换 opencode
Ctrl+Shift+Esc 新建 opencode 会话