请启用 Javascript 以查看内容

我现在这套 OpenCode 配置,如何把插件、MCP、Skills 变成稳定产能

 ·   ·  ☕ 6 分钟  ·  ✍ Wenlong · 👀... 阅读

作者:SRE运维博客
博客地址:https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/260225173838/
相关话题:https://www.cnsre.cn/tags/opencode/
版权声明: 如需转载,请联系作者授权


这篇就按你说的来:不讲泛概念,只讲我现在这套 OpenCode 真实配置里,插件、MCP、Skills 是怎么组合起来提效的,以及我自己踩出来的小技巧。

为了可复现,本文所有结论都来自三类来源:

  1. 我本机配置(~/.config/opencode,敏感字段已脱敏)
  2. OpenCode 官方文档(Config/Plugins/Skills/Providers/Tools)
  3. 社区项目(oh-my-opencodeopencode-background-agents

1) 我当前 OpenCode 架构长什么样

1
2
3
4
# 文件路径: ~/.config/opencode/
# 来源: https://opencode.ai/docs/config/
# 版本: OpenCode Docs (Last updated: 2026-02-25)
ls -la ~/.config/opencode

预期输出:

1
2
3
4
5
6
7
opencode.json
oh-my-opencode.json
plugins/
skills/
commands/
opencode-mem.jsonc
...

我实际采用的是四层组合:

  • opencode.json:Provider/Model/Plugin/MCP 主入口。
  • oh-my-opencode.json:多代理与任务类别的模型路由策略。
  • skills/:可复用能力库(我现在维护了 50+)。
  • plugins/:把习惯动作插件化,避免重复手工操作。

根据官方文档,配置是有 precedence(remote/global/project/.opencode/inline)的。我个人体感:这件事是长期稳定使用 OpenCode 的基础,项目切换时非常省心。

2) 我在用的插件:优势 + 小技巧

我当前 plugin 配置(脱敏后)包含以下核心项:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
// 文件路径: ~/.config/opencode/opencode.json
// 来源: https://opencode.ai/docs/plugins/
// 版本: OpenCode Docs (Last updated: 2026-02-25)
{
  "plugin": [
    "oh-my-opencode@latest",
    "opencode-sessions",
    "@tarquinen/opencode-dcp@latest",
    "opencode-pty@latest",
    "cc-safety-net@latest",
    "@slkiser/opencode-quota@latest",
    "@paulp-o/opencode-background-agent@latest",
    "opencode-worktree@latest",
    "opencode-handoff@latest",
    "opencode-mem@latest"
  ]
}

我最常用的 5 组能力

1. oh-my-opencode(编排中枢)

  • 优势:把不同任务自动路由到不同 agent/model,减少“一个模型包打天下”的不稳定。
  • 小技巧:把“快任务”和“深任务”分不同 category(比如 quickunspecified-high),速度和质量更平衡。

2. opencode-sessions + opencode-handoff(上下文接力)

  • 优势:长任务不怕上下文漂移,支持会话继承和阶段性 handoff。
  • 小技巧:遇到跨阶段任务(调研 -> 实现 -> 验证),我会主动分 session,而不是在一个超长上下文硬扛。

3. opencode-pty + opencode-worktree(执行隔离)

  • 优势:一个用于长进程交互,一个用于工作树隔离,减少互相污染。
  • 小技巧:需要并行验证多个方案时,用 worktree 开分支环境,配合 PTY 跑独立进程,回收也干净。

4. cc-safety-net + quota 插件(风险与成本治理)

  • 优势:把高风险动作和资源开销拉到可见层。
  • 小技巧:我会打开 quota toast,按 session 观察 token 消耗,及时调整是用 mini 模型还是高阶模型。

5. opencode-mem + background-agent(记忆 + 异步)

  • 优势:一个负责长期记忆,一个负责把耗时调研异步化。
  • 小技巧:需要大量资料抓取时先下发 background agent,主线程继续做实现,最后合并结果。

根据官方文档,插件可以挂在多个事件点(例如 tool/session/todo 生命周期),这也是插件真正有价值的地方:不是“多一个功能”,而是把流程自动化。

3) 我在用的 MCP:每个都要有“可交付场景”

我当前启用的 MCP(来自本机配置):

  • context7
  • playwright
  • sequential
  • aws-documentation
  • aws-terraform
  • aws-cdk
  • aws-pricing

我自己的实战映射

context7

  • 用途:查官方库文档和代码片段,避免“记忆幻觉”。
  • 小技巧:先 resolve library id,再 query docs,命中率更高。

playwright

  • 用途:UI 自动化验证、截图、页面交互复现。
  • 小技巧:先 snapshot 拿元素引用,再执行 click/fill,稳定性会明显提升。

sequential

  • 用途:复杂问题拆解(尤其是调试链路和方案对比)。
  • 小技巧:先做 problem_breakdownstep_by_step_plan,比直接写“宏大计划”更实用。

aws-documentation

  • 用途:查 AWS 官方文档,确保术语和参数准确。
  • 小技巧:先 search,再 read,避免直接啃长文档浪费上下文。

aws-terraform + aws-cdk + aws-pricing

  • 用途:IaC 编写/校验 + 成本核算一体化。
  • 小技巧:我会先查 provider 文档与模块输入输出,再跑 plan/validate,最后补 pricing 估算,避免“功能对了但账单翻车”。

4) 我在用的 Skills:不是越多越好,而是要分层

我本地 ~/.config/opencode/skills/ 目前是 50+ skills。真正高频的不是全部,而是以下几层:

A. 基础工程层(每天都用)

  • planning-with-files
  • codebase-librarian
  • test-automation-expert
  • post-impl-docs

这层的作用是把“做完”提升成“做完整”:计划、实现、测试、文档闭环。

B. 领域能力层(按任务加载)

  • 云与 IaC:aws-cdk-developmentterraform-module-librarymastering-aws-cli
  • 前端与设计:frontend-designui-ux-pro-maxweb-design-guidelines
  • 文档与办公:pdfdocxxlsxpptx

这层的作用是减少“跨领域切换成本”。

C. 生态与自动化层(提速器)

  • find-skillsskills-updater
  • agent-browserbrowser-use
  • write-blog(你现在看到的这篇就是这个思路)

这层的作用是让能力体系持续演进,而不是一次性配置。

1
2
3
4
# 文件路径: ~/.config/opencode/skills/
# 来源: https://opencode.ai/docs/skills/
# 版本: OpenCode Docs (Last updated: 2026-02-25)
find ~/.config/opencode/skills -name SKILL.md | wc -l

预期输出:

1
一个大于 0 的数字(表示已安装 skill 数量)

5) 三个我自己验证过的“小技巧”

技巧 1:模型分层,不要“全程最强模型”

我的 oh-my-opencode.json 里已经把 agent/category 做了模型分层。快任务走 mini,关键决策走高阶模型,整体吞吐更好。

技巧 2:高风险工具默认 ask

根据官方工具权限机制,我建议对可能带来破坏性的操作保持显式确认,减少误操作成本。

技巧 3:长任务拆 session,异步查资料

把“调研”和“实现”解耦:资料检索交给 background-agent,主会话持续编码,这个对复杂任务特别明显。

6) 我建议的最小可复用配置模板

如果你也想按这个思路起步,可以先落地最小版:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
// 文件路径: ~/.config/opencode/opencode.json
// 来源: https://opencode.ai/docs/config/
// 版本: OpenCode Docs (Last updated: 2026-02-25)
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": [
    "oh-my-opencode@latest",
    "opencode-sessions",
    "opencode-pty@latest"
  ],
  "mcp": {
    "context7": { "command": ["npx", "-y", "@upstash/context7-mcp"] },
    "playwright": { "command": ["npx", "@playwright/mcp@latest"] }
  }
}

验证命令:

1
2
3
4
5
6
# 文件路径: current shell
# 来源: https://opencode.ai/docs/providers/
# 版本: OpenCode Docs (Last updated: 2026-02-25)
/connect
/models
opencode

预期输出:

1
Provider 可连接,模型可切换,插件和 MCP 可被正常调用

7) 最后一句真实感受

我现在对 OpenCode 的评价是:它不是“AI 帮你写几段代码”的工具,而是“把你的工程习惯系统化”的工作台。

当插件负责流程,MCP 负责外部能力,Skills 负责可复用经验,再加上分层模型路由,你会明显感觉到:任务不只是完成了,而是完成得越来越稳。


作者:SRE运维博客
博客地址:https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/260225173838/
相关话题:https://www.cnsre.cn/tags/opencode/
版权声明: 如需转载,请联系作者授权


参考资料

本文验证的信息来源:

  1. 官方文档

  2. GitHub 源码 / 社区项目

  3. 本地配置(已脱敏)

    • ~/.config/opencode/opencode.json
    • ~/.config/opencode/oh-my-opencode.json
    • ~/.config/opencode/skills/
    • ~/.config/opencode/plugins/
您的鼓励是我最大的动力
alipay QR Code
wechat QR Code

Avatar
作者
Wenlong
一位只会重启的运维


目录