O
OpenCode Tutorial 免费入门指南
氛围编程专属 • 100% 免费文档

OpenCode
免费从入门到精通

从环境配置到构建自定义 AI 智能体,这套免费教程将帮助您掌握下一代编程工具,提升 3 倍开发效率。

User User User
4.8 (1,500+ 评分) • 15,000+ 开发者加入
install_opencode.sh
1# 方式 A: 使用 npm 安装 (全平台推荐)
2npm install -g opencode-ai

3# 方式 B: Mac 用户 (Homebrew)
4brew install opencode

5# 方式 C: Windows 用户 (PowerShell)
6iwr https://opencode.ai/install.ps1 | iex

7# 🎉 初始化你的第一个 AI 项目
8opencode /init

1. OpenCode 简介与核心特性

1.1 什么是 OpenCode?

OpenCode 是一个开源的 AI 编码助手(Coding Agent),专为终端环境设计。它不像传统的图形界面软件,而是通过 命令行交互界面(TUI) 直接“住”在你的终端里,让 AI 编程能力无缝融入你的开发工作流。

1.2 核心特性

开源与模型无关性

不绑定任何特定的 AI 模型提供商。支持 Anthropic, OpenAI, Google, Groq, Local Models 等。

💻

终端优先的 TUI

沉浸式 AI 交互体验,极低资源占用,支持 PowerShell, Bash 等任意 Shell。

🤖

智能代理工作流

不仅仅是问答,支持任务规划、编码实现、测试等多个 Agent 协作。

🛡️

双模式安全机制

Plan Mode(规划)vs Build Mode(执行),随时撤销,保护代码安全。

1.3 客户端形态

形态 说明 适用场景
Terminal 核心形态,命令行启动 终端重度用户、自动化
Desktop 应用 独立桌面应用(Beta) 不想频繁切换窗口的用户
IDE 扩展 VS Code/Cursor 等插件 习惯在 IDE 内完成工作

本教程重点 :以 Terminal(CLI/TUI) 形态为主线,因为它是最灵活、功能最完整的使用方式。

2. 环境准备(必读)

在安装 OpenCode 之前,你需要确保系统已安装必要的运行环境。

2.1 检查是否已有环境

对于 Windows 用户(PowerShell):

node -v
npm -v

对于 Mac 用户(Bash/Zsh):

node -v
npm -v

2.2 安装 Node.js

OpenCode 依赖 Node.js 运行环境(建议 18 及以上版本)。

  • Windows : 访问 Node.js 官网 下载 LTS 版本安装。
  • Mac : 使用 brew install nodenvm 安装。

2.3 关于包管理器

安装 Node.js 后会自动获得 npm 。你也可以选择安装其他包管理器:

  • Bun :新一代高性能 JavaScript 运行时(可选)

但在本教程中,我们统一使用最通用的 npm

3. 快速开始(5 分钟上手)

场景 :在终端中完成安装、配置并运行第一个 AI 编程任务。

第一步:安装 OpenCode

npm install -g opencode-ai

第二步:连接模型(推荐使用向导)

启动 OpenCode(在任意目录都可以):

opencode

在 TUI 界面中输入:

/connect

按照界面提示选择提供商并完成认证。官方推荐新手使用 OpenCode Zen

第三步:创建测试项目

mkdir opencode-demo
cd opencode-demo
echo "console.log('Hello OpenCode')" > index.js
opencode

第四步:初始化项目

/init

OpenCode 会分析你的项目结构,并在根目录创建 AGENTS.md

第五步:完成第一个任务

在输入框中输入以下提示词:

请帮我创建一个名为 hello.js 的文件,内容是输出当前时间的 Hello World 程序。

观察工作流:

  1. OpenCode 进入 Plan Mode ,告诉你它打算做什么
  2. 你可以按 Tab 键切换到 Build Mode
  3. 确认后,OpenCode 会创建文件并写入代码
  4. 去文件夹查看, hello.js 应该已经生成了!

4. 详细安装指南(多平台多方式)

除了 npm 安装外,OpenCode 还提供了多种便捷的安装方式。

4.1 Windows 安装方式

  • 方式 1:npm(推荐新手)npm install -g opencode-ai
  • 方式 2:桌面应用(Beta) :访问 OpenCode 官网下载 .exe 安装包。
  • 方式 3:二进制文件 :从 GitHub Releases 下载 opencode-windows-amd64.exe 并放入 PATH。

4.2 Mac 安装方式

  • 方式 1:Homebrew(推荐)brew install opencode
  • 方式 2:npmnpm install -g opencode-ai
  • 方式 3:安装脚本curl -fsSL https://opencode.ai/install | bash
  • 方式 4:桌面应用(Beta) :下载 .dmg 安装包。

4.4 选择建议

使用场景 推荐方式
新手、已有 Node.js 环境 npm 安装
不想安装 Node.js 二进制文件 / 桌面应用
想要独立窗口体验 桌面应用(Beta)
高频终端使用、脚本化 Terminal 版(CLI/TUI)

3. 快速开始(5 分钟上手)

场景 :在终端中完成安装、配置并运行第一个 AI 编程任务。

第一步:安装 OpenCode

npm install -g opencode-ai

第二步:连接模型(推荐使用向导)

启动 OpenCode(在任意目录都可以):

opencode

在 TUI 界面中输入:

/connect

按照界面提示选择提供商并完成认证。官方推荐新手使用 OpenCode Zen

第三步:创建测试项目

mkdir opencode-demo
cd opencode-demo
echo "console.log('Hello OpenCode')" > index.js
opencode

第四步:初始化项目

/init

OpenCode 会分析你的项目结构,并在根目录创建 AGENTS.md

第五步:完成第一个任务

在输入框中输入以下提示词:

请帮我创建一个名为 hello.js 的文件,内容是输出当前时间的 Hello World 程序。

观察工作流:

  1. OpenCode 进入 Plan Mode ,告诉你它打算做什么
  2. 你可以按 Tab 键切换到 Build Mode
  3. 确认后,OpenCode 会创建文件并写入代码
  4. 去文件夹查看, hello.js 应该已经生成了!

4. 详细安装指南

使用场景 推荐方式
新手、已有 Node.js 环境 npm install -g opencode-ai
不想安装 Node.js 二进制文件 / 桌面应用
想要独立窗口体验 桌面应用(Beta)

5. 配置详解

5.1 两种配置方式

方式 A:交互式向导(推荐新手)

在 TUI 中使用 /connect ,或在命令行使用 opencode auth login 。这会启动一个交互式向导,让你选择提供商并保存凭据。

方式 B:手动配置(适合高级用户)

使用环境变量 (最灵活的方式)

ANTHROPIC_API_KEY
Claude 系列模型
OPENAI_API_KEY
OpenAI 系列模型
GEMINI_API_KEY
Google Gemini 系列
GITHUB_TOKEN
GitHub Copilot 模型
GROQ_API_KEY
Groq 系列模型
AZURE_OPENAI_ENDPOINT
Azure OpenAI 服务
LOCAL_ENDPOINT
自托管兼容模型

Windows 设置: 临时设置用 $env:OPENAI_API_KEY="sk-..." ,永久设置需在“系统环境变量”中添加。

Mac 设置:~/.zshrc 中添加 export OPENAI_API_KEY="sk-..."

5.2 配置文件 opencode.json

平台 配置文件位置
Windows C:\Users\用户名\.config\opencode\opencode.json
Mac ~/.config/opencode/opencode.json

配置文件结构示例:

{
  "providers": {
    "openai": { "apiKey": "sk-..." },
    "anthropic": { "apiKey": "sk-ant-..." }
  },
  "agents": {
    "coder": { 
      "model": "gpt-4-turbo",
      "temperature": 0.1
    }
  },
  "shell": {
    "path": "/bin/zsh",
    "args": ["-l"]
  },
  "mcpServers": {
    "my-tool": { "type": "stdio", "command": "path/to/tool" }
  },
  "autoCompact": true
}

核心配置项说明

  • providers :配置各 AI 提供商的 API 密钥。
  • agents :定义不同代理(如 coder, task)使用的默认模型和参数。
  • shell :自定义 bash 工具使用的 Shell 类型及启动参数。
  • mcpServers :配置 MCP 服务器以扩展外部工具能力。
  • autoCompact :是否自动压缩上下文(默认 true ),防止 Token 溢出。

5.3 日志与数据目录

平台 日志目录 数据目录
Windows %USERPROFILE%\.local\share\opencode\log\ %USERPROFILE%\.local\share\opencode\
Mac ~/Library/Logs/opencode/ ~/.local/share/opencode/

提高日志级别: opencode --log-level DEBUG

6. 基础使用

6.1 启动 TUI

cd /path/to/your/project
opencode

6.2 核心概念:Plan vs Build 模式

OpenCode 的核心安全机制是"先计划,后执行"。

Plan Mode (计划模式)

AI 只分析和规划,不修改文件。用于明确需求、迭代方案。

按 Tab 键切换

Build Mode (构建模式)

AI 根据确认的计划执行实际的文件修改。

按 Tab 键切换

6.3 项目初始化

首次使用时应运行 /init 。这会分析项目结构,并在根目录创建 AGENTS.md

6.4 常用命令

命令 功能 场景
/connect 连接/切换模型 初次配置或更换模型
/init 初始化项目 首次在项目中使用
/undo 撤销上次修改 AI 改错了代码时后悔药
/redo 重做撤销的修改 发现撤销是误操作
/compact 压缩对话历史 上下文太长时手动触发
/exit 退出 OpenCode 完成工作

6.5 新手建议

  • 先从“只读任务”开始 :例如问项目架构、文件作用。
  • 尝试简单的修改 :如添加一段注释或一个小功能。
  • 复杂任务先要计划 :先看计划再切换到 Build 模式。

7. 高效交互技巧

7.1 引用文件 (@)

使用 @ 可以精确引用文件,让 AI "看准文件再回答"。

请解释 @src/server/index.ts 中的路由配置逻辑

多文件引用:

对比 @src/auth.ts 和 @src/utils/validate.ts 的输入验证方式,哪个更安全?

7.2 执行命令 (!)

使用 ! 可以执行 Shell 命令,并将输出传递给 AI 分析。

!npm test
请分析上面的测试失败原因

Windows 示例: !dir ,Mac 示例: !ls -lh

7.3 新手最稳提示词模板

模板 1:先读后改(避免瞎改)
请先不要修改任何文件。
1)你需要先阅读哪些文件才能理解这个需求?
2)根据这些文件,给出 2-3 个解决方案,并说明利弊
3)给出你推荐的最小改动方案(包含会改哪些文件)
模板 2:改动前先给计划
先给我一个逐步计划(不要改文件):
- 涉及哪些文件
- 每一步做什么
- 如何验证
我确认后你再开始修改。
模板 3:渐进式重构
请用 3 个步骤重构 @src/legacy.js:
第 1 步:只提取重复代码为函数,不改逻辑
第 2 步:改善命名和注释
第 3 步:优化性能
每完成一步,等我确认后再继续下一步。

7.4 快捷键速查

快捷键 功能
Ctrl+C 退出应用
Ctrl+K 打开命令对话框
Tab 切换 Plan/Build 模式
Ctrl+A 切换会话
Ctrl+L 查看日志
Ctrl+O 打开模型选择
Esc 关闭弹窗

8. 非交互式使用

OpenCode 支持在命令行中"跑一次就退出",非常适合脚本化和自动化。

直接提问 (One-shot)

opencode "请用 Python 写一个快速排序算法"

静默模式 (Quiet)

opencode -q "重构 app.py 文件"

指定输出格式 (JSON)

opencode -f json "分析 package.json" > report.json

批量脚本化 (Bash)

for file in *.py; do
  opencode -q "分析 $file 代码质量" > "${file}_report.txt"
done

9. 进阶定制

当你已经熟练掌握基础用法后,可以通过自定义命令、代理和工作流来打造专属的 AI 助手。

9.1 自定义命令 (Commands)

自定义命令是"可复用的提示词模板"。

创建示例

文件: refactor.md

---
description: "代码质量优化助手"
---

请分析当前正在讨论的文件,并进行代码重构优化:

1. 识别代码异味和潜在问题
2. 提取重复代码,提高复用性
3. 改善变量和函数命名
4. 优化代码结构和逻辑
5. 添加必要的注释和文档
6. 确保重构后行为保持一致

请先给出优化建议和改动计划,等我确认后再执行。

使用方法

  1. 在 TUI 中正常与 AI 讨论某个文件的代码
  2. 当需要优化重构时,直接输入 /refactor
  3. AI 会自动分析当前上下文中的文件并给出重构方案
  4. 确认方案后,AI 将执行优化

存储位置

范围 Windows Mac
用户级 C:\Users\用户名\.config\opencode\commands\ ~/.config/opencode/commands/
项目级 项目根目录\.opencode\commands\ 项目根目录/.opencode/commands/

9.2 自定义代理 (Agents)

代理是专门化的 AI 角色,拥有自己的指令和配置。

存储位置

范围 Windows Mac
用户级 C:\Users\用户名\.config\opencode\agents\ ~/.config/opencode/agents/
项目级 项目根目录\.opencode\agents\ 项目根目录/.opencode/agents/

示例 1:任务规划代理

文件: task-planner.md

---
name: task-planner
description: 将功能需求分解为可执行的任务清单
---

# 任务规划代理

你是一名技术项目经理和软件架构师。

## 核心职责
- 深入分析功能需求
- 识别需要创建或修改的所有文件
- 将工作分解为逻辑清晰的步骤
- 评估每个步骤的风险和依赖关系

## 输出格式
以 Markdown 列表形式提供:
1. 任务清单
2. 文件清单
3. 实施顺序建议
4. 风险提示

示例 2:编码实现代理

文件: coder-impl.md

---
name: coder-impl
description: 根据任务规划实现代码
---

# 编码实现代理

你是一名资深软件工程师。

## 实现指南
- 严格遵循任务规划代理的计划
- 保持与项目现有代码风格一致
- 编写清晰、自解释的代码
- 添加必要的错误处理和边界检查
- 遵循 SOLID 原则和最佳实践

## 代码规范
- 变量命名:驼峰式(camelCase)
- 函数命名:动词开头
- 注释:关键逻辑必须注释
- 测试:关键函数需要单元测试

查看可用代理

opencode agent list

9.3 工作流 (Workflows)

工作流将多个代理串联成自动化流水线。

存储位置

范围 Windows Mac
用户级 C:\Users\用户名\.config\opencode\workflows\ ~/.config/opencode/workflows/

示例:功能开发工作流

文件: feature-dev.json

{
  "$schema": "https://opencode.ai/workflow.json",
  "name": "feature-dev",
  "description": "完整的功能开发流水线",
  "agents": [
    {
      "name": "task-planner",
      "waitForCompletion": true,
      "stopOnFailure": true
    },
    {
      "name": "coder-impl",
      "waitForCompletion": true,
      "stopOnFailure": true
    }
  ]
}

运行工作流

在 TUI 中:

使用 feature-dev 工作流为我们的个人网站设计一个首页 /index 页面

OpenCode 会:

  1. 先调用 task-planner 规划任务
  2. 等待你确认计划
  3. 再调用 coder-impl 实现代码

10. MCP 集成

MCP(Model Context Protocol) 是一个协议,允许 OpenCode 通过与外部工具交互来扩展能力。

10.1 MCP 命令

# 添加 MCP 服务器
opencode mcp add

# 查看已安装列表
opencode mcp list

# OAuth 认证
opencode mcp auth <server-name>

10.2 配置 MCP 服务器

推荐方式:使用命令行(而非手动编辑配置文件)

opencode mcp add

按提示选择或输入 MCP 服务器信息。

备选方式:手动编辑 opencode.json

{
  "mcp": {
    "my-database-tool": {
      "type": "stdio",
      "command": "/path/to/database-mcp",
      "env": [],
      "args": []
    }
  }
}

10.3 使用示例

User 请使用 database-tool 查询用户表中所有注册时间在 2024 年的用户
AI 好的,我将调用 MCP 工具查询数据库...

11. 最佳实践与避坑

11.1 Windows 用户必看

  • 路径分隔符问题 :虽然 OpenCode 尽量兼容,但 AI 有时会混淆 /\建议: 在对话中尽量只给文件名(如 src/index.js ),OpenCode 内部会自动处理路径格式。
  • PowerShell 执行策略 :如果运行 opencode 报错"禁止运行脚本":
    # 以管理员身份运行 PowerShell
    Set-ExecutionPolicy RemoteSigned
    # 选择 Y 确认
  • 权限问题 :OpenCode 修改文件需要相应权限。建议避免在 C:\Program Files 或系统目录下操作,将项目放在用户目录下(如 d:\Projects )。
  • 终端选择 :推荐使用 Windows Terminal 或 VS Code 内置终端,而非老旧的 cmd.exe

11.2 Mac 用户建议

  • Shell 配置 :确保在 ~/.bashrc~/.zshrc 中正确配置环境变量:
    export OPENAI_API_KEY="sk-..."
    export ANTHROPIC_API_KEY="sk-ant-..."
  • 权限问题 :如果遇到权限错误,检查文件所有者:
    # 修改文件所有者(如果需要)
    sudo chown -R $USER:$USER /path/to/project

11.3 通用最佳实践

❌ 避免"全自动"灾难

错误做法: 重构整个项目,优化所有代码

正确做法:先分析项目结构,告诉我哪些模块最需要重构。

✅ 小步快跑

一次改一个文件或一个函数,确认无误后再进行下一个。随时准备 /undo

🛡️ 版本控制

在使用 OpenCode 进行大规模修改前,务必创建备份分支:

git checkout -b backup-before-opencode
git add .
git commit -m "Backup before OpenCode refactor"

🧠 上下文管理

对话太长时,手动执行 /compact 压缩。对于新任务,考虑开启新会话 ( Ctrl+A )。

🔒 安全第一

对于生产代码:始终在 Plan 模式审查计划,并在修改后立即运行测试套件验证。

12. 常见问题解答 (FAQ)

Q1:启动后看不到模型或无法请求?

优先检查日志文件。

  • Windows: %USERPROFILE%\.local\share\opencode\log\
  • Mac: ~/Library/Logs/opencode/

也可以提高日志级别: opencode --log-level DEBUG

Q2:配置文件在哪里?
  • Windows: C:\Users\你的用户名\.config\opencode\opencode.json
  • Mac: ~/.config/opencode/opencode.json
Q3:我只想做简单的问答,不想折腾很多命令怎么办?

两步主线即可:

  1. opencode/connect 连接模型
  2. cd 到项目目录 → opencode/init 初始化

然后就可以开始对话了。

Q4:/init 后生成了什么?

会在项目根目录创建 AGENTS.md ,包含项目的上下文信息。

Q5:对话变得太长,AI 开始“遗忘”怎么办?

OpenCode 默认启用 autoCompact 功能。你也可以手动执行 /compact 。这会总结之前的对话,并用总结替换原始上下文。

Q6:如何处理 API Key?

最佳实践是使用环境变量:

  • 更安全(不会误提交到 Git)
  • 便于在不同项目中切换
  • 支持在 CI/CD 中使用
Q7:Ctrl+C 退不出来怎么办?

尝试:

  1. 连按两次 Ctrl+C
  2. 输入 /exit
  3. 直接关闭终端窗口
Q8:界面显示乱码或布局错乱?

确保使用现代终端:

  • Windows : Windows Terminal 或 VS Code 终端
  • Mac : iTerm2 或 VS Code 终端
Q9:如何在团队中共享自定义命令和代理?

将它们放在项目级目录:

project-root/
  .opencode/
    commands/
      review.md
    agents/
      team-coder.md

然后提交到 Git,团队成员拉取后即可使用。

Q10:OpenCode 支持哪些编程语言?

OpenCode 本身不限制语言,它依赖于你选择的 AI 模型。主流模型(GPT、Claude、Gemini)都支持几乎所有常见编程语言。

13. 附录:OpenCode vs Claude Code 深度对比

对比维度 OpenCode Claude Code (Anthropic)
产品定位 开源的 AI coding agent,可在终端/桌面/IDE 使用 Anthropic 官方的 coding 工具,支持 Web + Terminal 访问
开源性 完全开源 ,代码托管在 GitHub ❌ 闭源产品/服务
模型生态 🌐 多模型/多提供商 :支持 OpenAI、Anthropic、Google、Groq、本地模型等 🏢 Anthropic 生态为主 :绑定 Claude 模型系列
核心优势 自由与掌控
• 完全开源,数据流向你决定
• 可切换任意模型
• 无厂商锁定
极致体验与速度
• 深度优化的专有模型
• 上下文理解极快
• 开箱即用
成本结构 按需付费(BYOK)
• 工具本身免费
• 使用自己的 API Key
• 成本可控(可选便宜模型)
订阅制
• Pro/Max 计划包含 Claude Code 访问
• 价格与权益清晰
• 适合“一站式体验”
可定制性 极高(DIY)
• 可编写自定义 Agent/Workflow
• 可修改源码
• 可对接公司内部 API
较低(黑盒)
• 功能高度封装
• 遵循官方工作流
隐私数据 透明可控
• 代码只发给你配置的模型商
• OpenCode 不存储代码
受控于厂商
• 数据经过 Anthropic 服务器
• 遵循其隐私协议
安装方式 多样化
• Windows: npm/Chocolatey/Scoop
• Mac: Homebrew/npm
官方脚本
• PowerShell 脚本(Windows)
• npm 安装(Node 18+)
客户端形态 形态多
• Terminal(CLI/TUI)
• Desktop(Beta, Windows/Mac)
• IDE 扩展
重点在
• Terminal 工具
• Web 访问(Pro/Max)
适用人群 • 喜欢折腾工具的开发者/极客
• 需要在不同模型间切换
• 有安全合规要求
• 预算有限
• 追求终端自动化
• 追求最高编码效率
• 不想配置环境
• 愿意为顶级体验付费
• 专业团队/全栈工程师

14. 参考资料与来源索引

官方资源


🎉

恭喜你完成了 OpenCode 从入门到精通的学习!

现在,你已经掌握了:

✅ 安装与配置 OpenCode
✅ 基础使用与高效交互技巧
✅ 进阶定制(Commands/Agents/Workflows)
✅ MCP 集成与扩展
✅ 各平台最佳实践
37Flow • AI容人懒

乾坤容人懒,名利任人忙

Hi,我是 37Flow

所有人都在谈论 AI 会如何改变世界,我更想问: 我们是否还能保持自己?

"风口来了,看看;热点起了,聊聊。不追,不卷,只问本质。"

🧘 不随波逐流
🧠 只问本质
🐢 慢即是快
微信公众号二维码
扫码关注