当前位置: 首页 > news >正文

OpenCode + Oh-My-OpenCode 学习笔记

OpenCode + Oh-My-OpenCode 学习笔记

一份从零开始的完整教程:安装、配置、入门使用,以及 Oh-My-OpenCode 插件的多 Agent 编排能力。


目录

  • 一、OpenCode 是什么
  • 二、Windows 上安装 OpenCode
  • 三、快速上手
  • 四、核心功能一览
  • 五、支持的模型提供商
  • 六、切换模型提供商与套餐
  • 七、配置文件详解
  • 八、AGENTS.md 项目规则文件
  • 九、Oh-My-OpenCode 插件
  • 十、Oh-My-OpenCode 安装
  • 十一、Agent 系统详解
  • 十二、Skills 与 Commands
  • 十三、实战:用 ultrawork 完成一个任务
  • 十四、常见问题 FAQ

一、OpenCode 是什么

OpenCode是一个开源的终端 AI 编程助手,直接在终端里与 AI 对话来完成编码、调试、重构等开发任务。

特性说明
开源代码完全公开,GitHub: anomalyco/opencode
终端 TUI基于 Bubble Tea 构建的流畅终端界面
多模型支持支持 75+ LLM 提供商(OpenAI、Anthropic、Google、GitHub Copilot 等)
内置工具文件读写、命令执行、代码搜索、LSP 诊断、网页搜索等
多会话支持保存和管理多个对话会话
MCP 扩展支持 Model Context Protocol,可扩展外部工具
类 Vim 编辑内置 Vim 模式的文本编辑能力

官方文档: https://opencode.ai/docs


二、Windows 上安装 OpenCode

方式一:WSL 推荐

Windows 上最稳定的使用方式是通过WSL(Windows Subsystem for Linux)

# 1. 确保已安装 WSL(PowerShell 管理员模式)wsl--install# 2. 进入 WSL 终端wsl# 3. 一键安装 OpenCodecurl-fsSLhttps://opencode.ai/install|bash

安装完成后,在 WSL 中访问 Windows 文件:

cd/mnt/c/Users/你的用户名/项目路径 opencode

方式二:npm 直接安装

npminstall-gopencode-ai

方式三:包管理器

# Chocolateychoco install opencode# Scoopscoop install opencode

方式四:其他包管理

# Bunbuninstall-gopencode-ai# pnpmpnpminstall-gopencode-ai# Yarnyarnglobaladdopencode-ai

验证安装

opencode--version

三、快速上手

1. 配置 API Key

OpenCode 支持多种 AI 提供商,最简单的方式是设置环境变量:

# Anthropic ClaudeexportANTHROPIC_API_KEY=your-key-here# OpenAIexportOPENAI_API_KEY=your-key-here# Google GeminiexportGEMINI_API_KEY=your-key-here

Windows PowerShell:

$env:ANTHROPIC_API_KEY ="your-key-here"

也可以在 OpenCode TUI 中使用/connect命令交互式配置。

2. 启动 OpenCode

# 进入你的项目目录cdD:\my-project# 启动opencode

3. 开始对话

启动后你会看到 TUI 界面,直接输入问题即可:

> 帮我看看这个项目的结构 > 给 src/utils.ts 添加一个防抖函数 > 修复 index.ts 第 42 行的类型错误

4. 切换模式

Tab键在两种模式间切换:

模式说明
Build完整工具访问权限,可以编辑文件、执行命令
Plan仅分析和规划,不做任何修改

四、核心功能一览

内置工具

工具功能
glob按文件名模式搜索
grep按内容搜索
read读取文件内容
write写入文件
edit精确替换编辑文件
bash执行终端命令
webfetch抓取网页内容
websearch网络搜索(Exa 集成)
lsp_diagnostics语言服务器诊断
lsp_goto_definition跳转到定义
lsp_find_references查找引用
task启动子 Agent 执行任务

常用 Slash 命令

命令功能
/connect配置 AI 提供商
/init初始化项目,生成 AGENTS.md
/help查看帮助

注意:OpenCode 中没有/clear命令。如需清空当前对话,可以开启新会话或使用Ctrl+C中断后重新输入。


五、支持的模型提供商

OpenCode 通过 AI SDK 和 Models.dev 支持75+ LLM 提供商,以下是主要分类:

主流提供商

提供商说明
AnthropicClaude 系列(Sonnet、Opus、Haiku)
OpenAIGPT 系列(GPT-5、GPT-4o、o3 等)
GoogleGemini 系列
GitHub Copilot使用 Copilot 订阅(部分模型需 Pro+)
GitLab DuoClaude 为基础的模型(Haiku、Sonnet、Opus)
DeepSeekDeepSeek Reasoner 等
xAIGrok 系列
Mistral AIMistral 系列模型
MiniMaxM2 系列
Moonshot AIKimi K2
Groq高速推理模型
Cerebras超高速推理(Qwen 3 Coder 480B 等)
OpenRouter多模型聚合网关
Together AI开源模型聚合
Fireworks AI开源模型
Hugging Face开放模型,支持 17+ 推理提供商
Z.AIGLM 系列(智谱)
302.AI国内聚合 API

云服务提供商

提供商说明
Amazon BedrockAWS 托管模型
Azure OpenAI微软 Azure 托管 OpenAI
Azure Cognitive Services微软认知服务
Google Vertex AIGoogle Cloud 模型
Cloudflare AI GatewayCloudflare 统一网关
Cloudflare Workers AI边缘推理
Scaleway欧洲云提供商
OVHcloud AI Endpoints法国云提供商
Nebius Token Factory云推理

本地/自建模型

提供商说明
Ollama本地运行开源模型
Ollama Cloud云端 Ollama
LM Studio本地模型 GUI + API
llama.cppllama-server 本地推理

网关/代理

提供商说明
OpenCode ZenOpenCode 官方推荐模型集合
OpenCode GoOpenCode 低成本订阅计划
HeliconeLLM 可观测性 + 网关
Vercel AI GatewayVercel 网关
Cloudflare AI GatewayCloudflare 网关
ZenMux多模型路由
Baseten模型部署平台
Firmware模型推理平台
Cortecs模型推理
IO.NET去中心化推理网络
Deep Infra开源模型推理
LLM Gateway通用网关
SAP AI CoreSAP AI 平台
STACKIT德国云 AI

自定义提供商

任何兼容 OpenAI API 格式的提供商都可以通过自定义配置接入。


六、切换模型提供商与套餐

方式一:TUI 内切换(推荐)

  1. 在 OpenCode TUI 中输入/models查看所有可用模型
  2. 输入/model <provider>/<model>切换到指定模型
/models # 查看可用模型列表 /model anthropic/claude-sonnet-4-5 # 切换到 Claude Sonnet /model openai/gpt-5 # 切换到 GPT-5

方式二:配置文件切换

opencode.json中设置默认模型:

{"$schema":"https://opencode.ai/config.json","model":"anthropic/claude-sonnet-4-5","small_model":"anthropic/claude-haiku-4-5"}
  • model:默认使用的主模型
  • small_model:用于轻量任务(如生成会话标题),节省成本

方式三:命令行启动时指定

opencode--modelanthropic/claude-sonnet-4-5# 或简写opencode-mopenai/gpt-5

切换提供商套餐

一些提供商支持多种认证方式或套餐:

  • Anthropic:支持 API Key 或 Claude Pro/Max 订阅认证(通过/connect选择认证方式)
  • GitHub Copilot:免费订阅可用,部分模型需 Pro+ 订阅
  • OpenCode Zen:官方推荐,通过/connectOpenCode Zen注册并获取 API Key
  • OpenCode Go:低成本订阅计划,适合预算有限的用户

禁用/启用特定提供商

{"$schema":"https://opencode.ai/config.json","disabled_providers":["openai","gemini"],"enabled_providers":["anthropic","github-copilot"]}

七、配置文件详解

OpenCode 的配置文件为opencode.json,按以下优先级加载:

  1. 远程配置(.well-known/opencode
  2. 全局配置:~/.config/opencode/opencode.json
  3. 项目配置:项目根目录下的opencode.json
  4. .opencode目录下的 agents、commands、plugins

基础配置示例

{"$schema":"https://opencode.ai/config.json","model":"anthropic/claude-sonnet-4-5","providers":{"anthropic":{"apiKey":"sk-ant-xxx"}},"permission":{"edit":"ask","bash":"ask"}}

常用配置项

配置项说明
model默认使用的模型
providers各 AI 提供商的 API Key 和配置
permission编辑和命令执行的权限策略(ask/allow/deny
mcpServersMCP 服务器配置
lsp语言服务器配置
agents自定义 Agent 配置

八、AGENTS.md 项目规则文件

AGENTS.md是项目级别的 AI 行为指令文件,类似于 Cursor 的 Rules。

创建方式

在 OpenCode TUI 中输入:

/init

会自动扫描项目并生成AGENTS.md

手动编写示例

# 项目规则 ## 技术栈 - TypeScript + React + Vite - Tailwind CSS 样式 - Vitest 测试框架 ## 代码规范 - 使用函数式组件 - 所有组件必须有 TypeScript 类型定义 - 遵循 ESLint 规则 ## 构建命令 - `npm run dev` - 开发服务器 - `npm run build` - 生产构建 - `npm test` - 运行测试

最佳实践

  • 提交到 Git:让团队成员共享规则
  • 保持简洁:只写关键规则
  • 包含内容:构建命令、架构说明、编码规范

九、Oh-My-OpenCode 插件

什么是 Oh-My-OpenCode?

Oh-My-OpenCode(OMO)是一个为 OpenCode 打造的全功能多 Agent 编排插件。它把 OpenCode 从"单个 AI 聊天机器人"变成"一个 AI 开发团队"。

核心能力

  • 自动将任务拆分并分配给多个专业 Agent
  • 并行执行多个子任务
  • 内置 11 个专业 Agent,覆盖规划、编码、审查、搜索等场景
  • 兼容 Claude Code 的 hooks、commands、skills、MCPs
  • 开箱即用,安装后无需额外配置

GitHub: https://github.com/code-yeongyu/oh-my-openagent

为什么需要 Oh-My-OpenCode?

场景原生 OpenCode+ Oh-My-OpenCode
简单问答直接回答直接回答
单文件修改手动编辑自动委派 Agent
多模块重构需要手动分步自动拆分、并行执行
查找外部文档需要手动搜索自动调用 Librarian Agent
代码审查需要手动要求自动启动 5 个并行审查 Agent

十、Oh-My-OpenCode 安装

前置条件

确保已安装 OpenCode 和 Bun(或 npm):

# 安装 Bun(如果还没有)powershell-c"irm bun.sh/install.ps1|iex"

安装步骤

方式一:使用 LLM Agent 自动安装(官方推荐)

Oh-My-OpenCode 官方推荐使用一个 LLM Agent 来帮你完成安装和配置。复制以下提示词粘贴到你的 LLM Agent(Claude Code、Cursor 等)会话中:

Install and configure oh-my-opencode by following the instructions here: https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/refs/heads/dev/docs/guide/installation.md

Agent 会自动读取安装指南并完成所有配置,包括模型选择、API Key 设置等。这是最省心的方式。

方式二:手动交互式安装

# 交互式安装(推荐)bunx oh-my-opencodeinstall# 或非交互式安装bunx oh-my-opencodeinstall--no-tui--claude=yes--openai=no--gemini=no

安装过程中会提示你选择拥有的 AI 订阅/服务(Claude Pro/Max、OpenAI/ChatGPT、Gemini 等),根据你实际拥有的订阅进行选择。

验证安装

bunx oh-my-opencode doctor

初始化 Agent 模型配置

安装完成后,必须初始化各个 Agent 的模型配置,否则 Agent 系统无法正常工作。

方式一:使用/init-deep命令(推荐)

在 OpenCode TUI 中直接运行:

/init-deep

这会自动生成分层AGENTS.md文件,并初始化 Agent 配置。

方式二:手动编辑配置文件

Oh-My-OpenCode 的配置文件位置(按优先级):

  1. 项目配置:.opencode/oh-my-opencode.json
  2. 用户配置:
    • Windows:%APPDATA%\opencode\oh-my-opencode.json
    • macOS/Linux:~/.config/opencode/oh-my-opencode.json

配置文件使用JSONC 格式(支持注释和尾逗号):

{ "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json", // 自定义 Agent 模型 "agents": { "sisyphus": { "model": "anthropic/claude-opus-4-7" }, "oracle": { "model": "openai/gpt-5.4", "variant": "high" }, "librarian": { "model": "google/gemini-3-flash" } }, // 自定义任务类别模型 "categories": { "visual-engineering": { "model": "google/gemini-3.1-pro", "variant": "high" }, "quick": { "model": "openai/gpt-5-nano" } } }

注意:如果没有 Claude 订阅,Sisyphus Agent 可能无法正常工作。官方强烈建议至少拥有 Claude Pro/Max 订阅。如果只有 OpenAI/ChatGPT 订阅,需要在配置中手动指定 Sisyphus 使用 OpenAI 模型。


十一、Agent 系统详解

Oh-My-OpenCode 提供了11 个专业 Agent,每个都针对特定场景优化。

核心 Agent

Agent用途触发场景
Sisyphus主编排者,负责任务分解和委派复杂多步任务
Hephaestus深度执行 Worker,端到端执行任务需要完整实现的场景
Oracle架构决策、代码审查、调试复杂架构、2+ 次修复失败后
Librarian外部资源搜索(文档、GitHub、Web)不熟悉的库/API
Explore代码库内搜索(上下文感知的 grep)查找现有代码模式

规划 Agent

Agent用途
Prometheus战略规划,创建详细工作计划
Metis计划顾问,识别隐藏意图和歧义
Momus计划审查,验证计划的清晰度和完整性

编排 Agent

Agent用途
AtlasTodo 列表编排,系统化执行计划任务
Sisyphus-Junior类别执行器,不能再次委派
Multimodal-Looker视觉内容专家,分析 PDF、图片、图表

Category 任务类别

通过task(category="...")调用,每个类别使用不同的优化模型:

类别默认模型适用场景
visual-engineeringgemini-3.1-pro前端、UI/UX、设计、动画
ultrabraingpt-5.4 (xhigh)深度逻辑推理
deepgpt-5.4 (medium)自主问题解决
quickgpt-5.4-mini简单修改、拼写错误
unspecified-highclaude-opus-4-7复杂通用任务
writinggemini-3-flash文档、技术写作

十二、Skills 与 Commands

内置 Skills(技能)

Skills 是领域专业知识包,通过skill(name="...")加载:

Skill触发条件说明
git-mastercommit、rebase、squashGit 专家,原子提交、变基策略
playwright浏览器任务Playwright MCP 浏览器自动化
dev-browser状态化浏览持久化页面的浏览器自动化
frontend-ui-uxUI/UX 任务设计师兼开发者角色
review-work“review work”、“QA”5 个并行子 Agent 的代码审查
ai-slop-remover“remove AI slop”清除 AI 生成的代码异味

内置 Commands(斜杠命令)

命令说明
/init-deep初始化分层 AGENTS.md 知识库
/ralph-loop自引用开发循环直到完成
/ulw-loopUltrawork 循环,持续执行直到完成
/cancel-ralph取消活跃的 Ralph Loop
/refactor智能重构(LSP + AST-grep + TDD)
/start-work从 Prometheus 计划启动工作会话
/stop-continuation停止所有续传机制
/handoff创建上下文摘要以便新会话继续

内置 MCP 集成

MCP功能
websearchExa AI 网络搜索
context7库文档查询
grep_appGitHub 代码搜索

十三、实战:用 ultrawork 完成一个任务

什么是 ultrawork?

ultrawork(简称ulw)是 Oh-My-OpenCode 的魔法关键词。当你的提示中包含这个词时:

  • 所有 Agent 自动激活
  • 后台任务并行启动
  • 深度探索自动执行
  • 系统不会停止,直到任务 100% 完成

实战示例

场景:为一个 Express.js 项目添加 JWT 认证

ultrawork 帮我为这个 Express 项目添加 JWT 认证, 包括登录、注册、token 刷新中间件。 要求: 1. 使用 httpOnly cookie 存储 token 2. 实现 refresh token 轮换 3. 遵循项目现有的错误处理模式 4. 添加单元测试

Oh-My-OpenCode 会自动:

  1. Sisyphus分析任务,拆分为 4 个子任务
  2. Explore并行搜索现有的认证实现和错误处理模式
  3. Librarian搜索 JWT 安全最佳实践
  4. Sisyphus-Junior们并行实现各个模块
  5. Oracle审查最终实现
  6. 全部完成后交付结果

日常使用技巧

# 简单任务 - 直接说 帮我修复 auth.ts 的类型错误 # 复杂任务 - 加 ultrawork ultrawork 重构整个用户模块,拆分为 service/controller/model 三层 # 需要外部知识 ultrawork 查找 Stripe API 最新的订阅管理方式并实现 # 代码审查 /review-work

十四、常见问题 FAQ

Q: Windows 上必须用 WSL 吗?

A: 不是必须,但强烈推荐。WSL 提供更好的文件系统性能和完整的终端支持。直接用 npm 安装也能运行,但某些高级功能(如 LSP)在 WSL 下更稳定。

Q: 需要哪些 API Key?

A: 至少需要一个 AI 提供商的 API Key。推荐 Anthropic Claude(Sisyphus 默认使用),也可以用 OpenAI GPT 系列。Oh-My-OpenCode 的某些 Agent 可以使用不同模型,按需配置。

Q: 如何切换模型?

A: 在opencode.json中修改model字段,或在 TUI 中使用/model命令。

Q: Oh-My-OpenCode 收费吗?

A: Oh-My-OpenCode 本身是开源免费的。但使用的 AI 模型(如 Claude、GPT)需要各自的 API Key,按模型提供商的定价计费。

Q: 可以同时使用多个模型吗?

A: 可以。Oh-My-OpenCode 的不同 Agent 可以配置不同的模型。例如 Sisyphus 用 Claude Opus,Librarian 用 Gemini Flash,Oracle 用 GPT-5。在oh-my-opencode.jsonagents配置中分别指定即可。

Q: 如何自定义 Agent 行为?

A: 通过.opencode/oh-my-opencode.json配置文件,可以覆盖每个 Agent 的模型、权限、提示词等。也可以编写自定义 Skills 来扩展能力。

Q: 任务执行到一半失败了怎么办?

A: Oh-My-OpenCode 支持会话恢复。使用session_id可以继续之前的 Agent 会话,保留所有上下文。也可以用/handoff创建上下文摘要,在新会话中继续工作。


附录:常用环境变量

变量名说明
ANTHROPIC_API_KEYAnthropic API Key
OPENAI_API_KEYOpenAI API Key
GEMINI_API_KEYGoogle Gemini API Key
GITHUB_TOKENGitHub Copilot Token
LOCAL_ENDPOINT自托管模型端点
OPENCODE_CONFIG自定义配置文件路径
OPENCODE_SERVER_PASSWORD服务器访问密码

附录:键盘快捷键

快捷键功能
Tab切换 Build/Plan 模式
Ctrl+C中断当前操作
Ctrl+K清空输入
Esc取消/返回

提示:本教程基于 OpenCode 和 Oh-My-OpenCode 的最新版本编写。具体功能可能随版本更新有所变化,建议参考 官方文档 获取最新信息。

http://www.jsqmd.com/news/674202/

相关文章:

  • 上线当天注册接口被刷爆:我用滑块验证码 + 请求指纹把羊毛党拦在了网关层
  • 微服务测试覆盖
  • 实体获客AI利器:轻语IP智能体,一键生成AI口播视频,无配置要求,3000元电脑也能用,支持Windows、Mac电脑及安卓/iOS移动设备
  • 潍坊小区充电桩安装运营公司
  • mysql如何设计个人名片系统_mysql图文混合存储方案
  • 月之暗面估值三月翻四倍拟2026下半年IPO,AI大模型溢价狂欢能撑多久?
  • TOOLS.md 机制详解( 代码级解析)
  • 5分钟掌握智慧树自动学习插件:让网课效率提升150%
  • GPT Pro悄悄升级速度暴增4倍,网友热议GPT-5.5何时到来?
  • 网吧MAC地址批量与自定义修改工具|高效绕过VTD验证
  • 从 JIT 到 AOT 的生死切换:Dify 客户端在 .NET 9+ 中实现零依赖单文件部署(含完整 PowerShell 自动化脚本)
  • R 4.5并行计算提速仅1.8×?你漏掉了最关键的——自动向量化预编译(AVX-512适配+RcppParallel动态绑定配置)
  • 什么是消费战略?用一个结构化框架讲清增长问题的底层解法
  • Harmonyos状态管理7:@LocalStorageLink` 和 `@LocalStorageProp
  • Dify 2026微调避坑清单(含官方未文档化的4个runtime陷阱与2个checkpoint兼容性断层)
  • MaxEnt 建模七步法:数据获取→清洗→优化→预测→论文制图
  • 技术日报|金融终端FinceptTerminal夺冠,WiFi信号实时人体姿态估计工具RuView亮相榜单
  • 计算机毕业设计:Python棉花种植生产智能监测与预测系统 Django框架 ARIMA算法 数据分析 可视化 爬虫 大数据 大模型(建议收藏)✅
  • 2026最新|零基础在Windows搭建AI Agent开发环境完整教程(附可运行代码)
  • 【2026年版|收藏级】AI大模型学习保姆级规划,小白程序员零门槛入门指南
  • FITC-Fe₃O₄ NPs,荧光素标记四氧化三铁纳米颗粒,物理性质
  • 22岁天才小伙破解“AI黑箱“:融合DeepSeek思路,参数效率翻倍!
  • 人工智能概览
  • 基于Flask和MySQL的维修管理系统是否能让3-5家连锁店共用
  • EF Core 10向量扩展“黑盒”逆向工程报告(反编译+IL注入验证):官方未文档化的QueryFilter向量化机制揭秘
  • SAP GUI 760环境下,ABAP Dialog Screen开发的5个新手常见坑及避坑指南
  • 2026年雄县全屋定制工厂实力大揭秘
  • TCC本质用的是不是2PC模型??
  • Element UI表格太长省略号?手把手教你用原生JS实现一个更通用的overflow-tooltip组件
  • 从命令行到IDE:OMNeT++ 4.6安装后,如何高效创建你的第一个网络仿真项目?