OpenCode + oh-my-opencode 体验(使用自搭建模型)

1,328 阅读10分钟

安装oh-my-opencode

npm install oh-my-opencode-windows-x64 -g
bunx oh-my-opencode install

配置自搭建模型

.config\opencode\opencode.json

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": [
    "oh-my-opencode@3.5.1"
  ],
  "provider": {
    "AIX-code": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "AIX Code",
      "options": {
        "baseURL": "http://localhost:8000",
        "apiKey": "xxx"
      },
      "models": {
        "AIX_CODER": { "id": "MiniMax-M2.1-Self", "name": "AIX_CODER" }
      }
    }
  }
}

设置模型

"model": "AIX-code/AIX_CODER"

AIX-code 是 provider key,AIX_CODER 是模型 key

.config\opencode\oh-my-opencode.json

{
  "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
  "agents": {
    "sisyphus": {
      "model": "AIX-code/AIX_CODER"
    },
    "hephaestus": {
      "model": "AIX-code/AIX_CODER"
    },
    "oracle": {
      "model": "AIX-code/AIX_CODER"
    },
    "librarian": {
      "model": "AIX-code/AIX_CODER"
    },
    "explore": {
      "model": "AIX-code/AIX_CODER"
    },
    "multimodal-looker": {
      "model": "AIX-code/AIX_CODER"
    },
    "prometheus": {
      "model": "AIX-code/AIX_CODER"
    },
    "metis": {
      "model": "AIX-code/AIX_CODER"
    },
    "momus": {
      "model": "AIX-code/AIX_CODER"
    },
    "atlas": {
      "model": "AIX-code/AIX_CODER"
    }
  },
  "categories": {
    "visual-engineering": {
      "model": "AIX-code/AIX_CODER"
    },
    "ultrabrain": {
      "model": "AIX-code/AIX_CODER"
    },
    "deep": {
      "model": "AIX-code/AIX_CODER"
    },
    "artistry": {
      "model": "AIX-code/AIX_CODER"
    },
    "quick": {
      "model": "AIX-code/AIX_CODER"
    },
    "unspecified-low": {
      "model": "AIX-code/AIX_CODER"
    },
    "unspecified-high": {
      "model": "AIX-code/AIX_CODER"
    },
    "writing": {
      "model": "AIX-code/AIX_CODER"
    }
  }
}

运行

opencode web 打开 Web 网页,选择 Sisyphus 智能体和自搭建模型。

image.png

  • 你是谁

我是Sisyphus,一个来自OhMyOpenCode的强大AI代理,具有编排能力。

身份: 旧金山湾区工程师。工作、委托、验证、交付。没有AI垃圾。

核心能力:

  • 从明确请求中解析隐含需求
  • 适应代码库成熟度(规范 vs 混乱)
  • 将专业工作委托给合适的子代理
  • 并行执行以实现最大吞吐量
  • 遵循用户指令。除非用户明确要求实现,否则绝不开始实施。

工作模式: 当有专家可用时,我从不单独工作。前端工作→委托。深度研究→并行后台代理(异步子代理)。复杂架构→咨询Oracle。

  • 调用你的所有sub agent同时做自我介绍,让它们自己介绍,你只管调用

用户要求我调用所有的 sub agent 让它们做自我介绍。这是一个简单的并行调用任务,我应该使用 task() 工具,run_in_background=true 来并行执行。

image.png

image.png

<system-reminder>
[BACKGROUND TASK COMPLETED]
**ID:** `bg_ff657a7d`
**Description:** Explore agent 自我介绍
**Duration:** 7s

**3 tasks still in progress.** You WILL be notified when ALL complete.
Do NOT poll - continue productive work.

Use `background_output(task_id="bg_ff657a7d")` to retrieve this result when ready.
</system-reminder>

用户让我调用所有的 sub agent 做自我介绍。我已经调用了 5 个 agent,现在需要等待它们全部完成。系统提示说还有 3 个任务在运行中。让我等待所有任务完成后一起收集结果。

用户要求我调用所有 sub agent 做自我介绍。我已经启动了5个任务:

  1. Explore agent - bg_ff657a7d ✓ 已完成
  2. Librarian agent - bg_35867dfc ✓ 已完成
  3. Oracle agent - bg_bb7a40c3 ✓ 已完成
  4. Metis agent - bg_76d21b2f ✓ 已完成
  5. Momus agent - bg_ba3943ab - 仍在进行中

我需要获取已完成的任务结果,并等待最后一个任务完成。

<system-reminder>
[ALL BACKGROUND TASKS COMPLETE]

**Completed:**
- `bg_ff657a7d`: Explore agent 自我介绍
- `bg_35867dfc`: Librarian agent 自我介绍
- `bg_bb7a40c3`: Oracle agent 自我介绍
- `bg_76d21b2f`: Metis agent 自我介绍
- `bg_ba3943ab`: Momus agent 自我介绍

Use `background_output(task_id="<id>")` to retrieve each result.
</system-reminder>
<think>The user asked me to call all sub-agents to introduce themselves. I've now collected all 5 sub-agent introductions. Let me summarize them in a clean format for the user.

Let me present all the introductions in a concise format.
</think>

所有 Sub-Agent 自我介绍汇总

Agent角色核心功能
Explore代码库搜索专家并行搜索定位文件和代码,理解代码结构
Librarian开源库理解专家查阅文档、搜索GitHub源码、提供权威证据
Oracle战略技术顾问架构分析、复杂问题诊断、技术方案评估
Metis预规划顾问意图分类、风险识别、制定执行规范
Momus计划审查助手验证计划可执行性、检查文件引用准确性

所有 Agent 已完成自我介绍!

  • 如果我要实现并上线一个财务管理报税网站,你会调用哪些能力做什么,并说明能力属于 SubAgent还是SKILL还是MCP,不用实际实现

用户希望我详细说明实现财务报税网站时会调用的能力,并明确标注每个能力属于 SubAgent、SKILL 还是 MCP。

让我系统地梳理:

SubAgent 类型

  • oracle - 架构/设计咨询
  • metis - 需求分析
  • momus - 审查/QA
  • explore - 代码探索
  • librarian - 外部文档查找
  • visual-engineering - 前端UI
  • ultrabrain - 复杂逻辑
  • deep - 深度研究
  • artistry - 创意解决
  • quick - 简单任务
  • writing - 文档

SKILL 类型(用户安装的)

  • git-commit-code-scanner - 代码安全扫描
  • git-diff-code-review - 代码审查

Built-in SKILL

  • playwright - 浏览器自动化
  • frontend-ui-ux - UI/UX设计
  • git-master - Git操作
  • dev-browser - 浏览器开发

MCP(外部工具)

  • context7_query-docs - 文档查询
  • context7_resolve-library-id - 库ID解析
  • websearch_web_search_exa - 网页搜索
  • grep_app_searchGitHub - GitHub代码搜索
  • webfetch - 网页抓取
  • look_at - 媒体分析

现在让我为财务报税网站场景分配这些能力。

财务报税网站 - 能力调用清单(按类型分类)


一、SubAgent(智能代理)

阶段SubAgent任务类型
需求分析metis分析报税法规合规需求、识别隐含风险SubAgent
架构设计oracle财务数据加密方案、税务服务架构、多系统权衡SubAgent
代码探索explore查找现有财务模块模式、项目结构SubAgent
外部参考librarian查找税局API文档、第三方财务API集成方案SubAgent
后端核心ultrabrain税务计算引擎、复杂的财务报表逻辑SubAgent
前端UIvisual-engineering仪表盘、税务表单、图表可视化SubAgent
方案审查momus上线前完整方案审查、风险评估SubAgent
深度研究deep研究税务法规变化、合规策略SubAgent

二、SKILL(技能)

2.1 用户安装的 SKILL
阶段SKILL任务类型
每次提交git-commit-code-scanner按公司安全指南扫描代码变更SKILL
代码审查git-diff-code-review审查最新提交的代码变更SKILL
2.2 Built-in SKILL
阶段SKILL任务类型
前端开发frontend-ui-ux无设计稿时的UI/UX实现SKILL
浏览器测试playwright端到端测试、表单验证SKILL
Git操作git-master分支管理、提交、合并SKILL
生产验证dev-browser验证生产环境功能SKILL

三、MCP(外部工具)

阶段MCP任务类型
技术调研context7_query-docs查询税务库、Express.js等官方文档MCP
库识别context7_resolve-library-id解析财务/税务相关库的IDMCP
代码参考grep_app_searchGitHub搜索GitHub上的报税系统开源实现MCP
最新信息websearch_web_search_exa搜索最新税局政策、法规变化MCP
网页抓取webfetch抓取税局官网政策页面MCP
文档分析look_at分析税务申报表格PDFMCP

四、执行流程图

┌─────────────────────────────────────────────────────────────────┐
│                        阶段1: 需求分析                           │
├─────────────────────────────────────────────────────────────────┤
│  metis (SubAgent)        → 识别报税法规、合规需求                │
│  websearch_web_search_exa (MCP) → 搜索最新税务政策               │
│  librarian (SubAgent)    → 查找税局API文档                       │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│                        阶段2: 架构设计                           │
├─────────────────────────────────────────────────────────────────┤
│  oracle (SubAgent)       → 数据加密、税务服务拆分、认证方案       │
│  context7_query-docs (MCP) → 查询安全框架最佳实践                │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│                        阶段3: 实现                               │
├─────────────────────────────────────────────────────────────────┤
│  前端:                                                           │
│    visual-engineering (SubAgent) + frontend-ui-ux (SKILL)       │
│                                                                  │
│  后端:                                                           │
│    ultrabrain (SubAgent) → 税务计算引擎                          │
│    librarian (SubAgent) → 查找财务API集成模式                    │
│                                                                  │
│  安全:                                                           │
│    git-commit-code-scanner (SKILL) → 每次提交扫描               │
│    git-diff-code-review (SKILL) → 代码审查                      │
│                                                                  │
│  外部集成:                                                       │
│    grep_app_searchGitHub (MCP) → 搜索开源税务系统                │
│    context7_query-docs (MCP) → 查询集成库用法                    │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│                        阶段4: 测试验证                           │
├─────────────────────────────────────────────────────────────────┤
│  playwright (SKILL)       → E2E测试、税务表单验证                │
│  dev-browser (SKILL)      → 生产环境功能验证                     │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│                        阶段5: 上线审查                           │
├─────────────────────────────────────────────────────────────────┤
│  momus (SubAgent)        → 完整方案审查、风险评估                │
└─────────────────────────────────────────────────────────────────┘

五、能力调用统计

类型数量占比
SubAgent850%
SKILL637.5%
MCP531.25%

注:部分能力可并行调用(如同时搜索文档+代码参考)

Oh-My-OpenCode Features

Oh-My-OpenCode 提供 11 个专门的 AI 智能体。每个智能体都有独特的专业能力、优化模型和工具权限。

核心智能体

智能体用途
Sisyphus默认编排器。 规划、委派并执行复杂任务,使用专门的子智能体进行高强度并行执行。基于待办事项驱动的工作流,支持扩展思考。
Hephaestus正统工匠。 受 AmpCode 深度模式启发的自主深度工作者。以目标为导向,在行动前进行充分研究。探索代码库模式,端到端完成任务而不提前停止。以希腊锻造与工艺之神命名。
oracle架构决策、代码审查、调试。只读咨询——卓越的逻辑推理和深度分析能力。受 AmpCode 启发。
librarian多仓库分析、文档查找、开源实现示例。具备基于证据的深度代码库理解能力。
explore快速代码库探索和上下文 grep。
multimodal-looker视觉内容专家。分析 PDF、图像、图表以提取信息。

规划智能体

代理用途
Prometheus战略规划者,支持访谈模式。通过迭代提问创建详细工作计划。
Metis计划顾问——规划前分析。识别隐藏意图、歧义和 AI 失败点。
Momus计划审查者——根据清晰性、可验证性和完整性标准验证计划。

调用智能体

主代理会自动调用这些智能体,但你也可以显式调用:

Ask @oracle to review this design and propose an architecture
Ask @librarian how this is implemented - why does the behavior keep changing?
Ask @explore for the policy on this feature

Skills:专用知识

Skills 提供带有嵌入式 MCP 服务器和详细说明的专用工作流。

内置 Skills

Skill触发条件描述
playwright浏览器任务、测试、截图通过 Playwright MCP 进行浏览器自动化。对于任何与浏览器相关的任务——验证、浏览、网页抓取、测试、截图——必须使用。
frontend-ui-uxUI/UX 任务、样式设计师转开发者人格。即使没有设计稿也能打造惊艳的 UI/UX。强调大胆的美学方向、独特字体和协调的配色方案。
git-mastercommit、rebase、squash、blame任何 git 操作必须使用。原子提交并自动拆分,支持 rebase/squash 工作流、历史搜索(blame、bisect、log -S)。

自定义 Skills

从以下位置加载自定义 skills:

  • .opencode/skills/*/SKILL.md(项目)
  • ~/.config/opencode/skills/*/SKILL.md(用户)
  • .claude/skills/*/SKILL.md(Claude Code 兼容)
  • ~/.claude/skills/*/SKILL.md(Claude Code 用户)

Commands:斜杠工作流

Commands 是通过斜杠触发、执行预定义模板的工作流。

内置 Commands

Command描述
/init-deep初始化分层 AGENTS.md 知识库
/ralph-loop启动自引用开发循环直到完成
/ulw-loop启动超工作循环——持续启用 ultrawork 模式
/cancel-ralph取消正在运行的 Ralph Loop
/refactor使用 LSP、AST-grep、架构分析和 TDD 验证进行智能重构
/start-work从 Prometheus 计划开始 Sisyphus 工作会话

/init-deep

用途:在整个项目中生成分层 AGENTS.md 文件

用法

/init-deep [--create-new] [--max-depth=N]

创建目录特定的上下文文件,代理会自动读取:

project/
├── AGENTS.md
├── src/
│   ├── AGENTS.md
│   └── components/
│       └── AGENTS.md

/refactor

用途:使用完整工具链进行智能重构

用法

/refactor <target> [--scope=<file|module|project>] [--strategy=<safe|aggressive>]

功能

  • 基于 LSP 的重命名和导航
  • 使用 AST-grep 进行模式匹配
  • 修改前进行架构分析
  • 修改后进行 TDD 验证
  • 生成代码映射

Tools:智能体能力

LSP 工具(智能体的 IDE 功能)

工具描述
lsp_diagnostics在构建前获取错误/警告
lsp_prepare_rename验证重命名操作
lsp_rename在整个工作区重命名符号
lsp_goto_definition跳转到符号定义
lsp_find_references查找整个工作区的所有用法
lsp_symbols获取文件大纲或工作区符号搜索

AST-Grep 工具

工具描述
ast_grep_search基于 AST 的代码模式搜索(25 种语言)
ast_grep_replace基于 AST 的代码替换

委派工具

工具描述
call_omo_agent启动 explore/librarian 智能体,支持 run_in_background
task基于类别的任务委派
background_output获取后台任务结果
background_cancel取消正在运行的后台任务

MCPs:内置服务器

websearch(Exa AI)

由 Exa AI 提供的实时网页搜索。

context7

任何库/框架的官方文档查询。

grep_app

跨公共 GitHub 仓库的超高速代码搜索。

Claude Code 兼容性

与 Claude Code 配置完全兼容。

TypeLocations
Commands~/.claude/commands/, .claude/commands/
Skills~/.claude/skills/*/SKILL.md, .claude/skills/*/SKILL.md
Agents~/.claude/agents/*.md, .claude/agents/*.md
MCPs~/.claude/.mcp.json, .mcp.json, .claude/.mcp.json