OpenCode 实战教程:15分钟跑通AI编程安全闭环
📚 分类: AI 编程工具 ⏱️ 预计耗时: 15 分钟 🎯 难度: 入门 🔧 环境要求: macOS / Linux / Windows (WSL)
你将学到什么
完成本教程后,你将能够:
- [ ] 在终端中安装并启动 OpenCode
- [ ] 成功连接一个 AI 模型提供商
- [ ] 让 OpenCode 安全地读取并分析一个 Git 项目
- [ ] 执行一次受控的、低风险的代码修改
- [ ] 使用
/undo命令撤销不满意的修改
最终效果
你将在一个真实的 Git 仓库里,让 OpenCode 完成一次“只读分析”和一次“限定范围的文件修改”。你会看到一个 AI 编程助手在你的控制下,清晰地理解项目结构,并按照你的指令精确地修改代码,而不会越界。
前置准备
在开始前,请确认你的环境满足以下条件:
| 检查项 | 要求版本 | 验证命令 |
|---|---|---|
| 现代终端 | WezTerm / Alacritty / Ghostty / Kitty / iTerm2 | 打开你的终端即可 |
| Git | ≥ 2.30 | git --version |
| 网络连接 | 能够访问 opencode.ai 及你选择的模型提供商 | 无 |
1. 准备:获取 LLM 模型 API 密钥
OpenCode 本身不提供推理能力,它需要连接一个外部的 AI 模型。你需要提前准备好一个 API 密钥。
- 推荐方式:访问你选择的模型提供商(如 OpenAI、Anthropic 或其他兼容服务)的官网,注册并创建一个 API Key。
- 与 OpenCode 的关系:API Key 是 OpenCode 与模型通信的“密码”。它会被安全地保存在你的本地凭据系统中,不会写入你的项目文件。
第 1 步:安装 OpenCode
🎯 目标:在你的开发机器上成功安装 OpenCode,并能在终端中运行它。
📝 操作:
打开你的终端,根据你的系统选择以下一种方式进行安装。
macOS / Linux (推荐): 使用官方安装脚本,这是最直接的方式。
# 运行官方安装脚本
$ curl -fsSL https://opencode.ai/install | bashmacOS (Homebrew 用户): 如果你使用 Homebrew,也可以使用官方 tap。
$ brew install anomalyco/tap/opencodeNode.js 环境: 如果你有 Node.js 环境,可以通过 npm 全局安装。
$ npm install -g opencode-aiWindows: 强烈建议先安装 WSL(Windows Subsystem for Linux),然后在 WSL 环境中使用上述 macOS/Linux 的安装方式。这能避免很多与 shell、Git 和文件权限相关的兼容性问题。
✅ 验证: 安装完成后,在终端输入以下命令,检查是否安装成功。
$ opencode --help💡 预期输出:你应该能看到 OpenCode 的帮助信息,列出了各种可用命令和选项。
⚠️ 常见错误:如果提示 command not found,说明安装路径没有在系统的 PATH 环境变量中。可以尝试以下命令查找安装位置:
$ which opencode
$ echo $PATH如果 which 找不到,可能需要重新打开终端或手动将安装路径添加到 ~/.bashrc 或 ~/.zshrc 文件中。
第 2 步:连接模型提供商
🎯 目标:让 OpenCode 通过你的 API 密钥连接到 AI 模型,使其具备推理能力。
📝 操作:
首先,在终端中输入 opencode 并回车,启动 OpenCode 的 TUI(文本用户界面)。
# 启动 OpenCode
$ opencode进入 TUI 后,输入以下命令来连接模型提供商:
/connect你会看到一个列表,让你选择提供商。对于第一次尝试,选择 OpenCode Zen 是一个不错的选择。按照屏幕上的提示,用浏览器打开 opencode.ai/auth,登录你的账户,添加账单信息并复制 API Key。然后,将复制的 Key 粘贴回终端。
🤔 为什么要用 /connect?/connect 是专为 TUI 设计的交互式命令,它引导你完成整个认证流程,非常适合第一次上手。你也可以在终端中使用 opencode auth login 命令来管理凭据,但 /connect 更直观。
✅ 验证: 连接成功后,TUI 界面应该会显示已连接的模型信息。此时,你可以尝试输入一个简单的对话,比如“你好”,如果模型能正常回复,说明连接成功。
⚠️ 常见错误:
- 连接失败:不要立刻怀疑 OpenCode 坏了。请按以下顺序排查:
- API Key 是否正确:检查是否复制了完整的 Key,没有多余空格。
- 账单状态:确认你的模型提供商账户没有欠费。
- 网络代理:如果你使用代理,确保它没有干扰 OpenCode 的网络连接。
- 提供商服务状态:检查提供商的服务是否正常。
第 3 步:在真实项目中初始化
🎯 目标:让 OpenCode 理解你当前项目的结构、技术栈和约定,为后续的智能操作打下基础。
📝 操作:
- 首先,退出当前的
opencode会话(按Ctrl + C或:q退出)。 - 进入一个你真正想要使用 OpenCode 的 Git 项目目录。
- 再次启动
opencode。
# 进入你的项目目录(请替换为你的实际路径)
$ cd /path/to/your/project
# 启动 OpenCode
$ opencode- 在 TUI 中,输入以下命令:
/initOpenCode 会开始分析你的项目,并生成一个名为 AGENTS.md 的文件。这个文件位于项目根目录,记录了项目结构、包管理器、测试命令、编码约定等关键信息。
🤔 为什么要做 /init?/init 创建了一个“项目上下文说明书”,让 OpenCode 在后续任务中能理解项目的基本规则,避免“乱猜”。这个文件应该被提交到 Git 仓库,成为团队共享的知识库。
✅ 验证: 执行完 /init 后,在你的项目根目录下应该能看到一个新文件 AGENTS.md。你可以用 cat AGENTS.md 命令查看它的内容。它应该包含类似“项目使用 Python 和 pip”、“测试命令是 pytest”之类的描述。
⚠️ 重要提醒: /init 生成的是初稿。在提交到 Git 之前,你必须人工检查并修改它。确保其中的测试命令、部署命令、敏感目录(如包含密码的 config 文件夹)和“哪些文件绝对不能改”的规则是正确的。
第 4 步:第一轮只读分析
🎯 目标:验证 OpenCode 能否正确理解项目结构,并严格遵循“只读不写”的指令。
📝 操作:
在 TUI 中,输入以下提示词。这个提示词专门设计来测试 OpenCode 的理解能力和纪律性。
请快速阅读这个仓库的目录结构,不要修改任何文件。
请按这四点输出:
1. 这个项目的主要功能是什么?
2. 项目使用了哪些主要的技术栈?
3. 你会优先阅读哪些文件来理解项目?
4. 你现在还不确定、需要我确认的问题。✅ 验证: 一个合格的回复应该:
- 清晰地回答了上述 4 个问题。
- 引用了具体的文件或目录,例如“根据
src/main.py和requirements.txt,我认为...”。 - 完全没有任何“正在修改文件”或“创建新文件”的迹象。
💡 提示:如果你想引用特定文件,可以在提示词中使用 @ 符号进行模糊搜索,例如:How is authentication handled in @packages/functions/src/api/index.ts。
⚠️ 如果它开始改文件: 如果你发现 OpenCode 在执行这个只读任务时尝试修改文件,请立即停止。这说明你需要检查:
- 你的提示词是否足够清晰(是否明确写了“不要修改文件”)?
- 当前模式是否为
Build模式(默认)?对于复杂任务,可以先按Tab键切换到Plan模式,让它只给出计划。
第 5 步:第一轮受控写入
🎯 目标:让 OpenCode 执行一次低风险的、范围明确的文件修改,并学习如何审查它的改动。
📝 操作:
在完成只读分析后,我们来尝试一个简单的写入任务。这个任务风险极低,因为修改的是文档文件。
只修改 README.md 中的安装说明部分,把命令整理成 macOS、Linux、Windows 三段。
不要修改其他任何文件。
改完后,先解释你具体修改了哪里(diff),再告诉我建议运行什么检查命令(比如 cat README.md)来验证。✅ 验证: 一个合格的回复应该满足以下四点:
- 只修改了你指定的文件:
README.md。 - 能解释具体的 diff:例如“我在
## Installation章节下,将原来的单行命令替换为了三个独立的代码块,分别对应 macOS、Linux 和 Windows。” - 能给出合理的验证命令:例如“建议运行
cat README.md查看修改后的内容。” - 不会自作主张:不会擅自
git commit、git push或运行部署命令。
🤔 为什么要先解释 diff? 这让你有机会在代码被“提交”或“执行”之前,审查 AI 的意图。这是安全使用 AI 编程助手的核心原则。
第 6 步:学习撤销与重做
🎯 目标:掌握 /undo 命令,让你在 AI 犯错时能轻松回退,增强使用信心。
📝 操作:
OpenCode 支持撤销当前会话中产生的所有文件修改。在 TUI 中,输入以下命令:
/undo如果你撤销错了,还可以重做:
/redo✅ 验证: 执行 /undo 后,检查刚才被修改的 README.md 文件,它应该恢复到了修改前的状态。
⚠️ 能撤销不等于可以随便改: /undo 只适用于当前会话中的文件修改。它不能撤销以下操作:
- 数据库迁移
- 外部服务的 API 调用
- 已发布的部署
- 删除文件(某些情况下)
- 批量格式化
对于这些高风险操作,仍然需要先让 OpenCode 给出计划,审查通过后再执行。
进阶技巧(可选)
掌握基础后,你可以尝试:
- 分享会话:在 TUI 中输入
/share可以生成一个分享链接。注意:分享前务必检查会话中是否包含 API Key、密码、客户数据等敏感信息。 - 个性化配置:在
~/.config/opencode/或项目根目录下,你可以配置:- 主题和快捷键:让 TUI 更符合你的喜好。
rules:在AGENTS.md之外,添加更细致的项目规则。commands:将常用的复杂提示词变成简单的斜杠命令,比如/fix-lint。
常见问题 (FAQ)
Q1: 安装脚本卡住或报错怎么办?A: 检查网络连接,并确保 curl 和 bash 命令可用。如果反复失败,可以尝试使用包管理器(如 brew 或 npm)安装。
Q2: 如何切换不同的 AI 模型?A: 在 TUI 中再次输入 /connect,可以选择不同的提供商或模型。你也可以在配置文件中进行更详细的设置。
Q3: 我可以不使用 TUI,只用命令行吗?A: 当然可以。OpenCode 提供了丰富的 CLI 命令,如 opencode run 用于直接执行任务。本教程专注于 TUI 入门,CLI 的使用是下一步学习的内容。
总结
恭喜你完成了本教程!🎉
回顾一下我们今天学到的核心内容:
- 安装与连接:掌握了 OpenCode 的安装和与 AI 模型的连接方法。
- 项目初始化:学会了用
/init让 AI 理解你的项目上下文。 - 安全闭环:体验了“只读分析 → 受控写入 → 撤销回退”的安全工作流。
- 核心原则:理解了“先验证,再信任;先计划,再执行”是安全使用 AI 编程助手的关键。