Skip to main content

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

  1. Open the Console at ``
  2. Navigate to Settings → Plugins
  3. Click the plugin you want to configure
  4. Fill in the required fields
  5. 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:

PluginConfig file
Emailemail.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

caution

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)

Go Deeper