
1. Mac 上 opencode 装完只是开始插件和通道才是重点如果你刚在 Mac 上把 opencode 装好打开终端敲opencode -v能看到版本号那说明主程序没问题了。但真正决定它好不好用的是后面两件事插件骨架能不能挂上以及模型通道能不能统一收口。opencode 本身是个终端里的编码代理框架它负责调度、读写文件、跑命令而 Oh-My-Opencode 和 SuperPower 这类插件负责给它加技能包——前者提供 Sisyphus、Oracle 这类代理角色后者提供 brainstorming、systematic-debugging 这些可加载技能。这篇面向的是已经在 Mac 上装好 opencode、想继续把插件和统一 API 通道配起来的人。我会先给 Oh-My-Opencode 和 SuperPower 的安装命令与目录结构再落地 TaoToken 统一 Key/API 通道的配置骨架opencode.json/oh-my-opencode.json最后用一次最小请求验证插件和通道是否真的生效。全程可复制踩坑点我会标出来。先说清楚一个前提opencode 的插件配置目录在~/.config/opencode/所有插件、代理、技能都围绕这个目录展开。你后面改的每一个 json基本都在这里。2. 前置准备TaoToken 统一 Key 与 API 通道在配插件之前先把模型通道定下来。opencode 支持自定义 provider我们可以把 TaoToken 作为一个统一的 OpenAI 兼容通道接进去这样 Oh-My-Opencode 里那些代理角色sisyphus、oracle 等就能指向同一个 Key不用每个插件单独填。先去控制台拿 Key打开 https://taotoken.net/console 创建一个 API Key。拿到之后API 基地址用https://taotoken.net/api注意这个地址不带任何查询参数直接作为 base_url。注意Key 只显示一次复制后先存到密码管理器或临时文件里别直接贴在聊天窗口。TaoToken 在这里的角色是统一出口opencode 只认一个 provider插件里的模型标识符都写成这个 provider 下的模型名换模型时只改一处。对 Oh-My-Opencode 这种有九个代理角色的插件来说这点很关键——否则你要在九个地方分别填 Key。如果你还没装 opencode先补上brew install anomalyco/tap/opencode brew install --cask opencode-desktop opencode -v版本号能打印出来就继续。接下来所有配置都基于~/.config/opencode/这个目录。3. 可复制配置Oh-My-Opencode 与 SuperPower 骨架3.1 安装 Oh-My-Opencode 并确认目录Oh-My-Opencode 的安装是通过 opencode 自身的对话式引导完成的。启动 opencode 后在对话框里输入Fetch and follow instructions from https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/docs/guide/installation.md它会依次问你几个问题是否已有订阅、是否安装等。如果你用的是 TaoToken 统一通道前面几个订阅相关问题都选 No最后说明你走自定义 provider 即可。安装完成后它会告诉你两个关键文件位置~/.config/opencode/opencode.json # 插件注册 ~/.config/opencode/oh-my-opencode.json # 代理与模型配置默认情况下所有代理会被写成opencode/big-pickle这个回退模型。我们要做的就是把它改成 TaoToken 通道下的模型标识符。3.2 安装 SuperPower 并确认目录SuperPower 同样用对话式安装。在 opencode 里输入Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.opencode/INSTALL.md安装完成后目录结构是这样的~/.config/opencode/superpowers # 仓库本体 ~/.config/opencode/plugins/superpowers.js # 插件入口 ~/.config/opencode/skills/superpowers # 技能目录技能目录下会有 13 个技能包括 brainstorming、systematic-debugging、test-driven-development、writing-plans 等。这些技能不是自动全开的需要你在对话里用 skill 工具按需加载。注意SuperPower 装完后必须重启 opencode 才会生效。重启后可以在对话里问一句 do you have superpowers? 来验证。3.3 配置 TaoToken 通道opencode.json打开~/.config/opencode/opencode.json加入 provider 配置。下面是一个可复制的骨架把YOUR_TAOTOKEN_KEY换成你在控制台拿到的 Key{ $schema: https://opencode.ai/config.json, provider: { taotoken: { npm: ai-sdk/openai-compatible, name: TaoToken, options: { baseURL: https://taotoken.net/api, apiKey: YOUR_TAOTOKEN_KEY }, models: { kimi-k2-5: { name: Kimi K2.5 } } } }, plugin: [ oh-my-opencode, superpowers ] }这里几个字段的作用provider.taotoken定义了一个 OpenAI 兼容通道baseURL指向 TaoToken 的 API 地址models里声明你要用的模型标识符。plugin数组把两个插件注册进去。3.4 配置代理模型oh-my-opencode.json接着改~/.config/opencode/oh-my-opencode.json把九个代理角色和七个分类都指向 TaoToken 通道下的模型{ $schema: https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json, agents: { sisyphus: { model: taotoken/kimi-k2-5 }, oracle: { model: taotoken/kimi-k2-5 }, librarian: { model: taotoken/kimi-k2-5 }, explore: { model: taotoken/kimi-k2-5 }, multimodal-looker: { model: taotoken/kimi-k2-5 }, prometheus: { model: taotoken/kimi-k2-5 }, metis: { model: taotoken/kimi-k2-5 }, momus: { model: taotoken/kimi-k2-5 }, atlas: { model: taotoken/kimi-k2-5 } }, categories: { visual-engineering: { model: taotoken/kimi-k2-5 }, ultrabrain: { model: taotoken/kimi-k2-5 }, artistry: { model: taotoken/kimi-k2-5 }, quick: { model: taotoken/kimi-k2-5 }, unspecified-low: { model: taotoken/kimi-k2-5 }, unspecified-high: { model: taotoken/kimi-k2-5 }, writing: { model: taotoken/kimi-k2-5 } } }模型标识符的格式是provider名/模型名也就是taotoken/kimi-k2-5要和opencode.json里models下声明的键一致。如果你在 TaoToken 控制台看到的是别的模型名把kimi-k2-5换成对应的即可。3.5 目录结构总览配完之后~/.config/opencode/大致长这样~/.config/opencode/ ├── opencode.json # provider plugin 注册 ├── oh-my-opencode.json # 代理与分类模型 ├── plugins/ │ └── superpowers.js # SuperPower 插件入口 ├── skills/ │ └── superpowers/ # 13 个技能 └── superpowers/ # SuperPower 仓库本体改完两个 json 后重启 opencode。4. 验证请求一次最小对话确认通道与插件生效重启 opencode 后先做通道验证。在对话里输入一句最简单的请求比如用一句话说明当前使用的模型通道。如果返回正常说明 TaoToken 通道通了。如果报 401多半是 Key 没填对或没重启如果报 404检查baseURL是不是写成了带路径的形式——它应该就是https://taotoken.net/api。接着验证插件。先问 SuperPowerdo you have superpowers?正常的话它会列出可用技能。然后加载一个技能试试use skill tool to load superpowers/brainstorming再验证 Oh-My-Opencode 的代理是否指向了正确模型。在对话里让它调用 sisyphus 代理处理一个小任务观察返回内容里有没有模型标识。你也可以直接检查配置文件是否被正确读取cat ~/.config/opencode/oh-my-opencode.json | grep -c taotoken/kimi-k2-5如果输出是 16九个代理加七个分类说明所有角色都指向了 TaoToken 通道。最后跑一次/init让 opencode 在当前工作目录初始化项目上下文。这一步完成后工作目录就具备了插件提供的超能力。5. 本篇常见错排查报错一provider not found: taotoken说明opencode.json里的 provider 没被读到。检查两点文件是不是在~/.config/opencode/下以及 json 有没有语法错误。可以用python3 -m json.tool ~/.config/opencode/opencode.json验证格式。报错二插件装了但技能列表为空SuperPower 装完必须重启 opencode。如果重启后还是空检查~/.config/opencode/plugins/superpowers.js是否存在以及opencode.json的plugin数组里有没有写superpowers。报错三代理仍然走opencode/big-pickle这是 Oh-My-Opencode 安装时的默认回退模型。如果你改了oh-my-opencode.json但没生效多半是文件路径不对——它应该在~/.config/opencode/下而不是项目目录里。改完记得重启。报错四401 UnauthorizedKey 错了或过期了。去 https://taotoken.net/api-keys 重新生成一个替换opencode.json里的apiKey字段。注意别把 Key 提交到 git 仓库里。报错五模型标识符不匹配oh-my-opencode.json里的taotoken/kimi-k2-5必须和opencode.json里models下的键完全一致。大小写、连字符都要对上。如果你在 TaoToken 控制台看到的是Kimi-K2.5这种写法以控制台显示的模型 ID 为准。6. 通道与插件都通了之后到这里Mac 上的 opencode、Oh-My-Opencode、SuperPower 三层就串起来了opencode 是框架两个插件是能力层TaoToken 是统一的模型出口。后面你要换模型只改opencode.json里的models和oh-my-opencode.json里的标识符不用动插件本身。如果你打算长期用这套组合跑编码任务或 Agent 流程可以看下 Coding Plan 的额度方案https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。日常调试模型行为、验证通道是否正常用模型对话页面就够了https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite Key 管理在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。一个实用小技巧把~/.config/opencode/整个目录用 git 管起来换机器时 clone 下来改一下 Key 就能用省得重新配一遍插件。