作者:SRE运维博客
博客地址:https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/260225173838/
相关话题:https://www.cnsre.cn/tags/opencode/
版权声明: 如需转载,请联系作者授权
这篇就按你说的来:不讲泛概念,只讲我现在这套 OpenCode 真实配置里,插件、MCP、Skills 是怎么组合起来提效的,以及我自己踩出来的小技巧。
为了可复现,本文所有结论都来自三类来源:
- 我本机配置(
~/.config/opencode,敏感字段已脱敏) - OpenCode 官方文档(Config/Plugins/Skills/Providers/Tools)
- 社区项目(
oh-my-opencode、opencode-background-agents)
1) 我当前 OpenCode 架构长什么样
|
|
预期输出:
|
|
我实际采用的是四层组合:
opencode.json:Provider/Model/Plugin/MCP 主入口。oh-my-opencode.json:多代理与任务类别的模型路由策略。skills/:可复用能力库(我现在维护了 50+)。plugins/:把习惯动作插件化,避免重复手工操作。
根据官方文档,配置是有 precedence(remote/global/project/.opencode/inline)的。我个人体感:这件事是长期稳定使用 OpenCode 的基础,项目切换时非常省心。
2) 我在用的插件:优势 + 小技巧
我当前 plugin 配置(脱敏后)包含以下核心项:
|
|
我最常用的 5 组能力
1. oh-my-opencode(编排中枢)
- 优势:把不同任务自动路由到不同 agent/model,减少“一个模型包打天下”的不稳定。
- 小技巧:把“快任务”和“深任务”分不同 category(比如
quick与unspecified-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(来自本机配置):
context7playwrightsequentialaws-documentationaws-terraformaws-cdkaws-pricing
我自己的实战映射
context7
- 用途:查官方库文档和代码片段,避免“记忆幻觉”。
- 小技巧:先 resolve library id,再 query docs,命中率更高。
playwright
- 用途:UI 自动化验证、截图、页面交互复现。
- 小技巧:先 snapshot 拿元素引用,再执行 click/fill,稳定性会明显提升。
sequential
- 用途:复杂问题拆解(尤其是调试链路和方案对比)。
- 小技巧:先做
problem_breakdown再step_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-filescodebase-librariantest-automation-expertpost-impl-docs
这层的作用是把“做完”提升成“做完整”:计划、实现、测试、文档闭环。
B. 领域能力层(按任务加载)
- 云与 IaC:
aws-cdk-development、terraform-module-library、mastering-aws-cli - 前端与设计:
frontend-design、ui-ux-pro-max、web-design-guidelines - 文档与办公:
pdf、docx、xlsx、pptx
这层的作用是减少“跨领域切换成本”。
C. 生态与自动化层(提速器)
find-skills、skills-updateragent-browser、browser-usewrite-blog(你现在看到的这篇就是这个思路)
这层的作用是让能力体系持续演进,而不是一次性配置。
|
|
预期输出:
|
|
5) 三个我自己验证过的“小技巧”
技巧 1:模型分层,不要“全程最强模型”
我的 oh-my-opencode.json 里已经把 agent/category 做了模型分层。快任务走 mini,关键决策走高阶模型,整体吞吐更好。
技巧 2:高风险工具默认 ask
根据官方工具权限机制,我建议对可能带来破坏性的操作保持显式确认,减少误操作成本。
技巧 3:长任务拆 session,异步查资料
把“调研”和“实现”解耦:资料检索交给 background-agent,主会话持续编码,这个对复杂任务特别明显。
6) 我建议的最小可复用配置模板
如果你也想按这个思路起步,可以先落地最小版:
|
|
验证命令:
|
|
预期输出:
|
|
7) 最后一句真实感受
我现在对 OpenCode 的评价是:它不是“AI 帮你写几段代码”的工具,而是“把你的工程习惯系统化”的工作台。
当插件负责流程,MCP 负责外部能力,Skills 负责可复用经验,再加上分层模型路由,你会明显感觉到:任务不只是完成了,而是完成得越来越稳。
作者:SRE运维博客
博客地址:https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/260225173838/
相关话题:https://www.cnsre.cn/tags/opencode/
版权声明: 如需转载,请联系作者授权
参考资料
本文验证的信息来源:
-
官方文档
-
GitHub 源码 / 社区项目
-
本地配置(已脱敏)
~/.config/opencode/opencode.json~/.config/opencode/oh-my-opencode.json~/.config/opencode/skills/~/.config/opencode/plugins/