CreatePluginRequest
Request to create a new plugin
Command arguments
["/opt/codex/plugins/mangabaka/dist/index.js"]Auto-match conditions (JSON object with mode and rules)
Command to spawn the plugin
nodePlugin-specific configuration
How credentials are delivered to the plugin: "env", "init_message", or "both"
envCredentials (will be encrypted before storage)
Description of the plugin
Fetch manga metadata from MangaBaka (MangaUpdates)Human-readable display name
MangaBakaWhether to enable immediately
falseenv object[]
Additional environment variables
Library IDs this plugin applies to (empty = all libraries)
[]Metadata targets: which resource types this plugin auto-matches against null = auto-detect from plugin capabilities
["book"]Unique identifier (alphanumeric with underscores)
mangabakaRBAC permissions for metadata writes
["metadata:write:summary","metadata:write:genres"]Plugin type: "system" (default) or "user"
systemRate limit in requests per minute (default: 60, None = no limit)
60Scopes where plugin can be invoked
["series:detail","series:bulk"]Preprocessing rules for search queries (JSON array of regex rules)
Handlebars template for customizing search queries
Whether to skip search when external ID exists for this plugin
trueWorking directory for the plugin process
{
"args": [
"/opt/codex/plugins/mangabaka/dist/index.js"
],
"command": "node",
"credentialDelivery": "env",
"description": "Fetch manga metadata from MangaBaka (MangaUpdates)",
"displayName": "MangaBaka",
"enabled": false,
"env": {
"LOG_LEVEL": "info"
},
"libraryIds": [],
"metadataTargets": [
"book"
],
"name": "mangabaka",
"permissions": [
"metadata:write:summary",
"metadata:write:genres"
],
"pluginType": "system",
"rateLimitRequestsPerMinute": 60,
"scopes": [
"series:detail",
"series:bulk"
],
"searchQueryTemplate": "string",
"useExistingExternalId": true,
"workingDirectory": "string"
}