Configuring Plugins
Plugins are configured through the Console UI or by directly writing JSON config files. Both approaches result in the same output — a JSON file in ~/.daemi/plugin_config/.
Via the Console
- Open the Console at ``
- Navigate to Settings → Plugins
- Click the plugin you want to configure
- Fill in the required fields
- Click Save
DAEMI writes the config file and activates the plugin immediately. No restart needed.
Via Config File
Create a JSON file at ~/.daemi/plugin_config/{plugin_name}.json. The plugin activates on next server startup (or immediately if the server hot-reloads config).
File naming
The filename must exactly match the plugin's registered name:
| Plugin | Config file |
|---|---|
email.json | |
| Slack (if available) | slack.json |
Config File Format
Each plugin defines its own required and optional fields. All config files follow this general shape:
{
"enabled": true,
"...plugin-specific fields..."
}
The enabled field is optional — if the file exists, the plugin is considered enabled unless you explicitly set "enabled": false.
Validating Config
To check whether a plugin loaded correctly:
# Check server logs at startup
daemi logs --filter plugin
# Or via API
GET /api/plugins
Response:
{
"plugins": [
{
"name": "email",
"status": "active",
"tools": ["email_send", "email_read", "email_search"]
}
]
}
Deactivating a Plugin
Two options:
Option 1 — Disable in config:
{
"enabled": false,
...
}
Option 2 — Remove the config file:
rm ~/.daemi/plugin_config/email.json
The plugin's tool nodes are removed from the tool graph on next startup.
Security Notes
Plugin config files may contain credentials (API keys, passwords). They're stored in plain JSON on your local filesystem.
- Ensure
~/.daemi/plugin_config/has appropriate permissions:chmod 700 ~/.daemi/plugin_config - Don't commit config files to version control
- Use app-specific passwords where possible (e.g., Gmail app passwords vs. your account password)