Settings · providers
Provider configurationWhat's wired, what's partial, what's missing.
What this is
Source-of-truth status for every external provider Hermes Loop can talk to. Read directly from process.env.
What to do
Find a feature that says NOT CONFIGURED. Add the listed env vars to .env.local, restart, and the feature lights up here.
What happens next
Secrets are never displayed. Only env-var names + ready/partial/missing status.
Production warnings
WARN
MISSION_RUN_MODE is not 'queued'
Production deploys should set MISSION_RUN_MODE=queued and run a separate worker service (npm run worker). Without it, scheduled missions and inbound triage will not progress automatically.
WARN
Runtime backend is 'local' in production
terminal_exec / python_rpc will run in the host process without container isolation. Set RUNTIME_BACKEND=docker on the worker service for ephemeral, sandboxed execution.
Total
14
Ready
13
Partial
0
Missing
1
Hermes (text)
ReadyOpen
Configured. Default model: nousresearch/hermes-4-70b.
HERMES_API_BASE · HERMES_API_KEY · HERMES_MODEL
Multi-model routing
ReadyOpen
Active. 1/4 roles explicitly routed (vision). Unset roles fall back to nousresearch/hermes-4-70b.
HERMES_MODEL_DEFAULT · HERMES_MODEL_FAST · HERMES_MODEL_STRONG · HERMES_MODEL_JUDGE · HERMES_MODEL_VISION
Vision (multimodal)
ReadyOpen
Configured.
VISION_MODEL · VISION_API_BASE · VISION_API_KEY · HERMES_MODEL_VISION
Image generation
ReadyOpen
Primary: Hermes (chat-completions + image modalities). Fal / Replicate are fallbacks.
HERMES_API_KEY · IMAGE_API_BASE · IMAGE_API_KEY · IMAGE_MODEL · FAL_KEY · REPLICATE_API_TOKEN
Text-to-speech
ReadyOpen
Primary: ElevenLabs. Voice ID: 21m00Tcm4TlvDq8ikWAM (default). eleven_multilingual_v2 model.
ELEVENLABS_API_KEY · ELEVENLABS_VOICE_ID · ELEVENLABS_MODEL_ID · TTS_API_BASE · TTS_API_KEY · TTS_MODEL
Integrations webhook
ReadyOpen
Live. /api/integrations/webhook accepts posts. Set INTEGRATIONS_WEBHOOK_SECRET in production to require HMAC signing.
INTEGRATIONS_WEBHOOK_SECRET
Runtime backend
ReadyOpen
Active: local Node process. terminal_exec + python_rpc run on host. Set RUNTIME_BACKEND=docker (with Docker installed) to enable container isolation.
RUNTIME_BACKEND · DOCKER_RUNTIME_IMAGE · DOCKER_PYTHON_IMAGE
Discord
ReadyOpen
Inbound: live (set DISCORD_WEBHOOK_SECRET to require signing). Outbound: optional (add DISCORD_WEBHOOK_URL or BOT_TOKEN for approval notifications).
DISCORD_WEBHOOK_URL · DISCORD_BOT_TOKEN · DISCORD_CHANNEL_ID · DISCORD_WEBHOOK_SECRET
Slack
ReadyOpen
Live. Inbound route accepts posts. Set SLACK_SIGNING_SECRET in production to require Slack v0 signing.
SLACK_SIGNING_SECRET
Email inbound
ReadyOpen
Live. Accepts SendGrid / Mailgun / Postmark / generic JSON. Set EMAIL_WEBHOOK_SECRET when fronted by a signing forwarder.
EMAIL_WEBHOOK_SECRET
MCP (Model Context Protocol)
Not configuredOpen
Set MCP_SERVERS to a JSON array of { name, url, headers? } to expose remote MCP tools to agents.
MCP_SERVERS
Cross-session memory recall
ReadyOpen
Live. Every mission queries operator-approved memory across all prior sessions; the top matches are injected into the Triage Agent + first-step prompts.
Learning loop · autonomous skill creation
ReadyOpen
Live. After a mission settles, Hermes Loop distils up to 3 durable lessons into Skill rows on the same crew. Future runs of that crew inject the top skills into their system prompt.
Secrets are never read or displayed. This page shows env-var names only.


