找到方法在 opencode 里暂时关闭 superpowers 了

2026-04-13 12:071阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

superpowers 有时候真的很好用,比如在大项目做修改后自动 review、或是从头开始 vibecoding 的时候想确认完约束后,让它减少停下来的次数。

但有些时候不需要它,比如一点小修改,只会平白浪费时间。所以我需要找个办法暂时关闭它。

opencode 目前还没有动态关闭插件的功能(而且我觉得关闭了插件也不一定可以关掉已经 load 的 skill)。

最后我灵机一动:既然 superpowers 本质是一堆 skill,那我就写个 skill 让模型不要主动去使用 skill 不就好了!

~/.config/opencode/skills/no-skill/SKILL.md 中加入

--- name: no-skill description: This skill is explicitly requested by user, used to disable all skills. --- **Do not use any skills unless the user explicitly requests it.** ---

然后,如果不需要用 superpowers,就用 /no-skill <instructions> 去启动一个对话。

(不过也许我应该再写个可以恢复 superpowers 的 skill )

网友解答:
--【壹】--:

其实把superpower改成skill手动触发就行了,你这样disable掉所有skill了


--【贰】--:

@Xiwis_Homed @muggle_e 感谢二位,我现在把它改成手动触发了。

github.com/obra/superpowers

feat: add superpower for opencode

已提交 01:21PM - 12 Apr 26 UTC rijuyuezhu +51 -38

以上是我的 diff


--【叁】--:

哇,为你的行动力,点赞.但是你的pr,实际上不怎么好的.

  1. 首先我先说我对应这个的解决方案,我是vb一个脚本,添加了一个oc的options字段,里面可以控制每个agent是否插入那个superpowers.js中的内容,这个让ai做很好实现的.然后对于不同的子智能体,我是依然考虑注入,但是我用oc的permission对skill进行了比较精细化的权限控制.(例如里面的debug的skill依然保留)
  2. 你的修改涉及范围太广,因为这个本来不仅适用于oc的,你的这样的修改方法会影响到cc等.本来我也不喜欢这个的强迫使用skill,但是最终发现superpowers这个工作流依然是很棒的,官方是比较强迫你使用,你只需要把一开始的强制的加载变成手动的就可以了,不需要修改每个的desc. skills/using-superpowers/SKILL.md对于这个文件,这个tool的映射不应该直接插入到这个skill本身的,对skill引入了噪音.

--【肆】--:

其实是superpowers.js(这个文件),在项目的.opencode/plugins/下或者用户目录中
里面的脚本会在一开始就注入superpowers,并且里面强调说1%可能性就要考虑加载skill.(我记得是)
你可以在里面,工具的映射的提示词还可以保留,那些强调使用skill的,可以删除掉,需要的时候手动加载using-superpowers这个skill就可以了.
因为他这个插件确实对oc不怎么好,如果你不设置好权限,子代理也会优先考虑加载superpowers.