Loading...
Loading...
Inspect NocoBase plugin inventory and plugin state from runtime-backed sources, and safely enable or disable plugins for local or remote applications. For local apps, inspect/readback should prefer CLI `pm list` JSON output, while write actions should follow deterministic fallback `docker_cli -> remote_api -> manual`.
npx skill4agent add nocobase/skills nocobase-plugin-manageenabledinstalledyarn nocobase pm list--- BEGIN_PLUGIN_LIST_JSON ------ END_PLUGIN_LIST_JSON ---pm enablepm disablenocobase pmpm removenocobase-ctlinspect/enable/disable| Input | Required | Default | Validation | Clarification Question |
|---|---|---|---|---|
| yes | none | one of | "Which action should I run: inspect, enable, or disable?" |
| no | | one of | "Should I force local or remote target?" |
| no | auto-detected from workspace | existing directory with NocoBase app | "Which local NocoBase app path should I use?" |
| no | remote default | valid HTTP(S) URL | "What base URL should I query for plugin state?" |
| no | | non-empty docker compose service name | "Which compose service should be used for local Docker CLI?" |
| no | | env var exists and non-empty when required | "Which env var contains the access token?" |
| enable/disable: yes | none | non-empty array of plugin names/package names | "Which plugin(s) should be changed?" |
| no | | one of | "Should I force docker_cli, host_cli, or remote_api?" |
| no | | one of | "Use safe mode (recommended) or fast mode?" |
| no | | integer in | "What verification timeout should I use?" |
Use $nocobase-plugin-manage <action> [plugin...]target.base_url/safetarget.mode=autotarget.app_pathlocaltarget.base_urltarget.base_urltarget.app_pathremote.envlocalNOCOBASE_BASE_URLAPP_BASE_URLremotelocalexecution_backend=autoremoteremote_apilocalenable/disabletarget.base_urldocker compose port <service> 80target.app_path1900013000localinspectdocker_clihost_clilocalenable/disabledocker_cliremote_apitarget.base_url{
"action": "inspect",
"target": {
"mode": "auto",
"app_path": null,
"base_url": null,
"compose_service": "app"
},
"auth": {
"token_env": "NOCOBASE_API_TOKEN"
},
"execution_backend": "auto",
"plugins": [],
"execution_mode": "safe",
"verify": {
"timeout_seconds": 90
}
}23actiontarget.app_pathtarget.base_urlpluginsdocker_cliremote_apitarget.base_urlUse $nocobase-plugin-manage enable @nocobase/plugin-api-doctarget.mode=autoexecution_backend=autoremote_apidocker_clidocker compose exec -T <service> yarn nocobase pm ...pm listhost_cliyarn nocobase pm listpm listdocker_cli -> remote_api -> manualyarn nocobase pm listpm:listpm:getpm:listEnabledpm:listEnabledV2pm:listpm:getsafeinspectdocker_clidocker compose exec -T <service> yarn nocobase pm listtarget.app_pathhost_cliyarn nocobase pm listtarget.app_pathpm:listpm:listEnabledenabledocker_clidocker compose exec -T <service> yarn nocobase pm enable <plugin>target.app_pathpm:enablepm:enablefilterByTkdisabledocker_clidocker compose exec -T <service> yarn nocobase pm disable <plugin>target.app_pathpm:disablepm:disablefilterByTkenableenabled=truepm listpm:getdisableenabled=falsepm listpm:getpending_verificationchannelcommands_or_actionspre_statepost_stateverificationnext_stepsexecution_backendtarget_resolutionfallback_hints| Mode | Inspect | Enable | Disable |
|---|---|---|---|
| local CLI ( | | |
| remote API ( | remote API ( | remote API ( |
| Backend | Inspect | Enable | Disable | When to prefer |
|---|---|---|---|---|
| | | | local Docker app detected |
| | inspect/readback only | inspect/readback only | local non-docker inspect fallback |
pm list--- BEGIN_PLUGIN_LIST_JSON ------ END_PLUGIN_LIST_JSON ---pm:enablepm:disablerunAsCLIpm:listpm:getpm:enablepm:disabledocker_clipm:enable/pm:disabletarget.mode=localexecution_backend=docker_cli| Reference | Use When | Notes |
|---|---|---|
| references/v1-runtime-contract.md | any action | endpoint and command templates for local/remote flows |
| references/test-playbook.md | running acceptance tests | prompt-driven test cases with expected outcomes |
| pm.ts | implementing local CLI inspect/enable/disable | confirms |
| resource.ts | implementing inspect or remote mutation | confirms |
| preset index.ts | proving plugin info source is runtime-backed | shows |
| client PluginManager.tsx | confirming front-end action routes | uses |
| app PluginManager.ts | confirming enabled-plugin lane route | uses |
{{action}}{{plugins}}{{target.base_url or target.app_path}}confirmsafepm enable <plugin>pm:enablepm disable <plugin>Local Docker pathdocker compose psappRemote API fallbackpm:enable/pm:disabletarget.base_urlUI fallback{{base_url}}/admin/settings/plugin-managerCLI runtime dependency special case@nocobase/plugin-api-doc@nocobase/plugin-api-keysnocobase-env-bootstrapnocobase-acl-manageAuth fallback401/403{{base_url}}/admin/settings/api-keysbase_urlhttp://127.0.0.1:13000localremoteexecution_backendtarget.app_pathtarget.base_urltarget.mode=autolocalsafeenabled=trueenabled=falseBEGIN_PLUGIN_LIST_JSONEND_PLUGIN_LIST_JSONpending_verificationdocker_cliremote_apiverification=failedfallback_hintsnext_stepsyarn nocobase pm listUse $nocobase-plugin-manage enable <plugin>docker_clidocker compose exec -T app ...pm enableenabled=trueapp_pathbase_urlremote_apirequestchannelexecution_backenddocker_cli | host_cli | remote_apicommands_or_actionspre_statepost_stateverificationpassed | failed | pending_verificationassumptionstarget_resolutionfallback_hintsnext_stepspm