mcpField
N
nocobase-plugin-manage

nocobase-plugin-manage

github.com/nocobase开发55240 次安装8 周前更新
代码仓库

关于 nocobase-plugin-manage

nocobase-plugin-manage 是通过直接运行 `nb plugin` 命令来检查和更改 NocoBase 插件状态的技能。它支持列出、启用和禁用插件,并通过回读状态验证变更。

主要功能

  1. 01列出插件清单和状态
  2. 02启用插件
  3. 03禁用插件
  4. 04变更后回读状态
  5. 05指定已配置的 CLI 环境

适用场景

  1. 01检查环境中启用的插件
  2. 02启用指定的 NocoBase 插件
  3. 03禁用插件并在操作后验证
  4. 04确认插件变更已完成或仍待验证

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nocobase/skills --skill nocobase-plugin-manage

安装后在 Claude Code 中输入/nocobase-plugin-manage确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
test-playbook.md
v1-runtime-contract.md

详细介绍

目标

仅使用直接的 nb plugin 命令,提供确定性的插件工作流:

  • nb plugin list [--env <env>]
  • nb plugin enable [--env <env>] <plugin...>
  • nb plugin disable [--env <env>] <plugin...>

此技能不得通过包装脚本或备用渠道执行插件操作。

范围

  • 从 CLI 运行时检查插件清单/状态(nb plugin list [--env <env>])。
  • 使用 nb plugin enable [--env <env>] <plugin...> 启用插件。
  • 使用 nb plugin disable [--env <env>] <plugin...> 禁用插件。
  • 写入后始终使用 nb plugin list 回读。

非目标

  • 不要使用 docker compose exec ... yarn nocobase plugin ...。
  • 不要将 API 操作路由用作备用方案。
  • 不要使用旧版 ctl 命令或包装脚本执行插件操作。
  • 此技能版本不支持 install/remove。

输入约定

输入必填默认值验证澄清问题
action是无inspect/enable/disable 之一“要运行哪项操作:inspect、enable 还是 disable?”
pluginsenable/disable 时必填无非空字符串数组“要更改哪些插件?”
runtime_env_name否当前环境已配置的 CLI 环境名称“要针对哪个环境操作?”
base_dir否当前工作目录已存在的路径“应在哪个目录中运行 nb 命令?”
execution_mode否safesafe/fast 之一“使用 safe 模式还是 fast 模式?”
verify.timeout_seconds否90整数 10..600“验证超时时间设为多少?”

规则:

  • 保持调用简洁:Use $nocobase-plugin-manage <action> [plugin...]。
  • safe 模式要求回读操作前状态和操作后状态。
  • 如果用户说“你决定”,则使用上述默认值。

强制澄清门槛

  • 最多澄清 2 轮
  • 每轮最多提问 3 个
  • 执行 enable/disable 前,必须明确 plugins。
  • 如果缺少必填输入,则停止变更并提问。

工作流

  1. 解析请求并规范为 inspect/enable/disable。
  2. 当 execution_mode=safe 时,通过 nb plugin list 获取操作前状态。
  3. 使用直接命令执行操作:
  • inspect:nb plugin list [--env <env>]
  • enable:nb plugin enable [--env <env>] <plugin...>
  • disable:nb plugin disable [--env <env>] <plugin...>
  1. 通过 nb plugin list 轮询回读,直到超时。
  2. 返回结构化输出。

安全门槛

  • 高影响操作:
  • 禁用 auth/ACL/系统关键插件
  • 在共享环境中批量禁用插件
  • 二次确认模板:
  • “确认执行:对 {{plugins}} 执行 {{action}}。输入 confirm 继续。”
  • 回滚指南:
  • 禁用失败:运行 nb plugin enable [--env <env>] <plugin...>
  • 启用失败:运行 nb plugin disable [--env <env>] <plugin...>(仅在用户要求回滚时)

验证清单

  • 已明确 action 和 plugins。
  • 命令路径仅使用直接的 nb plugin 命令。
  • 在 safe 模式下已获取操作前状态。
  • 已获取操作后状态回读。
  • enable => 插件显示 enabled=true。
  • disable => 插件显示 enabled=false。
  • 超时标记为 pending_verification。

最小测试场景

  1. inspect 使用 nb plugin list。
  2. enable 使用 nb plugin enable,然后通过 nb plugin list 回读。
  3. disable 使用 nb plugin disable,然后通过 nb plugin list 回读。
  4. 缺少插件输入时,应通过澄清阻止变更。

输出约定

始终返回:

  • request
  • commands
  • pre_state
  • post_state
  • verification(passed|failed|pending_verification)
  • assumptions
  • next_steps

参考资料加载映射

参考资料使用时机
V1 Runtime Contract将插件操作映射为最终的 nb plugin 命令时。
Test Playbook检查 inspect/enable/disable 行为和备用方案保证时。

References

评论

支持 Markdown