Minimum access instructions for plugin center
April 8, 2026 ยท View on GitHub
This is the minimum integration guide for quickly connecting a third-party or internal plugin source. As long as your endpoint returns data using the following fields and interfaces, it can integrate with the CodexManager plugin center.
1. What do you want to pick up?
- Front-end routing:
/plugins/ - Market Mode:
builtin/private/custom - Data format: Plugin list JSON
- Execution method: Rhai Script
2. Minimum market return
Returns the top-level array, or returns:
{ "items": [] }
Each plugin must have at least:
{
"id": "cleanup-banned-accounts",
"name": "Clear banned accounts",
"version": "1.0.0",
"scriptBody": "fn run(context) { ... }",
"permissions": ["accounts:cleanup"],
"tasks": [
{
"id": "run",
"name": "Scheduled automatic cleaning",
"entrypoint": "run",
"scheduleKind": "interval",
"intervalSeconds": 60,
"enabled": true
}
]
}
3. Minimum field
| Field | Required | Description |
|---|---|---|
id | Yes | Unique ID |
name | No | Name, default falls back to id |
version | No | Version number, default 0.0.0 |
scriptBody | Choose one | Embed script directly |
scriptUrl | Choose one | Script address |
permissions | No | Permission List |
tasks | No | Task Definition |
It is recommended to add:
manifestVersioncategoryruntimeKindtags
4. Minimal interface
Tauri
service_plugin_catalog_listservice_plugin_installservice_plugin_updateservice_plugin_uninstallservice_plugin_listservice_plugin_enableservice_plugin_disableservice_plugin_tasks_updateservice_plugin_tasks_listservice_plugin_tasks_runservice_plugin_logs_list
RPC
plugin/catalog/listplugin/installplugin/updateplugin/uninstallplugin/listplugin/enableplugin/disableplugin/tasks/updateplugin/tasks/listplugin/tasks/runplugin/logs/list
5. Rhai Minimum available function
If the plugin applies for these permissions, it can use the corresponding functions:
settings:read->get_setting(key),list_settings()network->http_get(url),http_post(url, body)accounts:cleanup->cleanup_banned_accounts(),cleanup_unavailable_free_accounts()
Public functions:
log(message)
6. Entrance conclusion
If you are:
- Official selected market, directly returns built-in JSON with the same structure
- Enterprise private marketplace: return the private source JSON
- To customize the repository, just keep
scriptBodyorscriptUrl
Currently, the most stable connection method is "list first, script later". Do not pile heavy logic directly into Rhai.