关于 nocobase-plugin-manage
nocobase-plugin-manage 是通过直接运行 `nb plugin` 命令来检查和更改 NocoBase 插件状态的技能。它支持列出、启用和禁用插件,并通过回读状态验证变更。
主要功能
- 01列出插件清单和状态
- 02启用插件
- 03禁用插件
- 04变更后回读状态
- 05指定已配置的 CLI 环境
适用场景
- 01检查环境中启用的插件
- 02启用指定的 NocoBase 插件
- 03禁用插件并在操作后验证
- 04确认插件变更已完成或仍待验证
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nocobase/ skills --skill nocobase-plugin-manage安装后在 Claude Code 中输入/nocobase-plugin-manage确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/test-playbook.mdv1-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?” |
plugins | enable/disable 时必填 | 无 | 非空字符串数组 | “要更改哪些插件?” |
runtime_env_name | 否 | 当前环境 | 已配置的 CLI 环境名称 | “要针对哪个环境操作?” |
base_dir | 否 | 当前工作目录 | 已存在的路径 | “应在哪个目录中运行 nb 命令?” |
execution_mode | 否 | safe | safe/fast 之一 | “使用 safe 模式还是 fast 模式?” |
verify.timeout_seconds | 否 | 90 | 整数 10..600 | “验证超时时间设为多少?” |
规则:
- 保持调用简洁:
Use $nocobase-plugin-manage <action> [plugin...]。 safe模式要求回读操作前状态和操作后状态。- 如果用户说“你决定”,则使用上述默认值。
强制澄清门槛
- 最多澄清
2轮 - 每轮最多提问
3个 - 执行
enable/disable前,必须明确plugins。 - 如果缺少必填输入,则停止变更并提问。
工作流
- 解析请求并规范为
inspect/enable/disable。 - 当
execution_mode=safe时,通过nb plugin list获取操作前状态。 - 使用直接命令执行操作:
inspect:nb plugin list [--env <env>]enable:nb plugin enable [--env <env>] <plugin...>disable:nb plugin disable [--env <env>] <plugin...>
- 通过
nb plugin list轮询回读,直到超时。 - 返回结构化输出。
安全门槛
- 高影响操作:
- 禁用 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。
最小测试场景
inspect使用nb plugin list。enable使用nb plugin enable,然后通过nb plugin list回读。disable使用nb plugin disable,然后通过nb plugin list回读。- 缺少插件输入时,应通过澄清阻止变更。
输出约定
始终返回:
requestcommandspre_statepost_stateverification(passed|failed|pending_verification)assumptionsnext_steps
参考资料加载映射
| 参考资料 | 使用时机 |
|---|---|
| V1 Runtime Contract | 将插件操作映射为最终的 nb plugin 命令时。 |
| Test Playbook | 检查 inspect/enable/disable 行为和备用方案保证时。 |
References
评论
支持 Markdown