Chuyển tới nội dung chính

Tham khảo biến môi trường

Tất cả các biến đều nằm trong ~/.hermes/.env. Bạn cũng có thể đặt chúng bằng hermes config set VAR value.

Nhà cung cấp LLM

BiếnMô tả
OPENROUTER_API_KEYKhóa API OpenRouter (được khuyến nghị để linh hoạt)
OPENROUTER_BASE_URLGhi đè URL cơ sở tương thích với OpenRouter
AI_GATEWAY_API_KEYKhóa API Vercel AI Gateway (ai-gateway.vercel.sh)
AI_GATEWAY_BASE_URLGhi đè URL cơ sở của AI Gateway (mặc định: https://ai-gateway.vercel.sh/v1)
OPENAI_API_KEYKhóa API cho các điểm cuối tương thích với OpenAI tùy chỉnh (được sử dụng với OPENAI_BASE_URL)
OPENAI_BASE_URLURL cơ sở cho điểm cuối tùy chỉnh (VLLM, SGLang, v.v.)
COPILOT_GITHUB_TOKENMã thông báo GitHub cho API Copilot — ưu tiên hàng đầu (OAuth gho_* hoặc PAT chi tiết github_pat_*; PAT cổ điển ghp_* không được hỗ trợ)
GH_TOKENMã thông báo GitHub — ưu tiên thứ hai cho Copilot (cũng được sử dụng bởi gh CLI)
GITHUB_TOKENMã thông báo GitHub — ưu tiên thứ ba cho Copilot
HERMES_COPILOT_ACP_COMMANDGhi đè đường dẫn nhị phân Copilot ACP CLI (mặc định: copilot)
COPILOT_CLI_PATHBí danh cho HERMES_COPILOT_ACP_COMMAND
HERMES_COPILOT_ACP_ARGSGhi đè các đối số Copilot ACP (mặc định: --acp --stdio)
COPILOT_ACP_BASE_URLGhi đè URL cơ sở Copilot ACP
GLM_API_KEYz.ai / Khóa API ZhipuAI GLM (z.ai)
ZAI_API_KEYBí danh cho GLM_API_KEY
Z_AI_API_KEYBí danh cho GLM_API_KEY
GLM_BASE_URLGhi đè URL cơ sở z.ai (mặc định: https://api.z.ai/api/paas/v4)
KIMI_API_KEYKhóa API Kimi / Moonshot AI (moonshot.ai)
KIMI_BASE_URLGhi đè URL cơ sở Kimi (mặc định: https://api.moonshot.ai/v1)
MINIMAX_API_KEYKhóa API MiniMax — điểm cuối toàn cầu (minimax.io)
MINIMAX_BASE_URLGhi đè URL cơ sở MiniMax (mặc định: https://api.minimax.io/v1)
MINIMAX_CN_API_KEYKhóa API MiniMax — Điểm cuối Trung Quốc (minimaxi.com)
MINIMAX_CN_BASE_URLGhi đè URL cơ sở MiniMax Trung Quốc (mặc định: https://api.minimaxi.com/v1)
KILOCODE_API_KEYKhóa API mã Kilo (kilo.ai)
KILOCODE_BASE_URLGhi đè URL cơ sở Mã Kilo (mặc định: https://api.kilo.ai/api/gateway)
HF_TOKENMã thông báo Ôm khuôn mặt dành cho Nhà cung cấp suy luận (huggingface.co/settings/tokens)
HF_BASE_URLGhi đè URL cơ sở Ôm khuôn mặt (mặc định: https://router.huggingface.co/v1)
GOOGLE_API_KEYKhóa API Google AI Studio (aistudio.google.com/app/apikey)
GEMINI_API_KEYBí danh cho GOOGLE_API_KEY
GEMINI_BASE_URLGhi đè URL cơ sở Google AI Studio
ANTHOPIC_API_KEYKhóa API của Anthropic Console (console.anthropic.com)
ANTHROPIC_TOKENGhi đè thủ công hoặc kế thừa OAuth/mã thông báo thiết lập Anthropic
DASHSCOPE_API_KEYKhóa API của Alibaba Cloud DashScope cho các mô hình Qwen (modelstudio.console.alibabacloud.com)
DASHSCOPE_BASE_URLURL cơ sở DashScope tùy chỉnh (mặc định: https://coding-intl.dashscope.aliyuncs.com/v1)
DEEPSEEK_API_KEYKhóa API DeepSeek để truy cập DeepSeek trực tiếp (platform.deepseek.com)
DEEPSEEK_BASE_URLURL cơ sở API DeepSeek tùy chỉnh
OPENCODE_ZEN_API_KEYKhóa API OpenCode Zen — quyền truy cập trả tiền khi bạn sử dụng vào các mô hình được quản lý (opencode.ai)
OPENCODE_ZEN_BASE_URLGhi đè URL cơ sở OpenCode Zen
OPENCODE_GO_API_KEYKhóa API OpenCode Go — đăng ký $10/tháng cho các mô hình mở (opencode.ai)
OPENCODE_GO_BASE_URLGhi đè OpenCode Go URL cơ sở
CLAUDE_CODE_OAUTH_TOKENGhi đè mã thông báo Claude Code rõ ràng nếu bạn xuất thủ công
HERMES_MODELTên mẫu máy ưa thích (được chọn trước LLM_MODEL, được sử dụng bởi cổng)
LLM_MODELTên mô hình mặc định (dự phòng khi không được đặt trong config.yaml)
VOICE_TOOLS_OPENAI_KEYKhóa OpenAI ưa thích dành cho các nhà cung cấp dịch vụ chuyển lời nói thành văn bản và chuyển văn bản thành giọng nói OpenAI
HERMES_LOCAL_STT_COMMANDMẫu lệnh chuyển giọng nói thành văn bản cục bộ tùy chọn. Hỗ trợ các phần giữ chỗ {input_path}, {output_dir}, {lingu}{model}
HERMES_LOCAL_STT_LANGUAGENgôn ngữ mặc định được chuyển tới HERMES_LOCAL_STT_COMMAND hoặc dự phòng CLI whisper cục bộ được phát hiện tự động (mặc định: en)
HERMES_HOMEGhi đè thư mục cấu hình Hermes (mặc định: ~/.hermes). Đồng thời xác định phạm vi tệp PID cổng và tên dịch vụ systemd, do đó, nhiều cài đặt có thể chạy đồng thời

Xác thực nhà cung cấp (OAuth)

Đối với xác thực Anthropic gốc, Hermes ưu tiên các tệp thông tin xác thực của riêng Claude Code khi chúng tồn tại vì những thông tin xác thực đó có thể tự động làm mới. Các biến môi trường như ANTHROPIC_TOKEN vẫn hữu ích khi ghi đè thủ công, nhưng chúng không còn là đường dẫn ưu tiên để đăng nhập Claude Pro/Max.

BiếnMô tả
HERMES_INFERENCE_PROVIDERGhi đè lựa chọn nhà cung cấp: auto, openrouter, nous, openai-codex, copilot, copilot-acp, anthropic, huggingface, zai, kimi-coding, minimax, minimax-cn, kilocode, alibaba, deepseek, opencode-zen, opencode-go, ai-gateway (mặc định: auto)
HERMES_PORTAL_BASE_URLGhi đè URL Cổng thông tin Nous (để phát triển/thử nghiệm)
NOUS_INFERENCE_BASE_URLGhi đè URL API suy luận Nous
HERMES_NOUS_MIN_KEY_TTL_SECONDSKhóa tác nhân tối thiểu TTL trước khi đúc lại (mặc định: 1800 = 30 phút)
HERMES_NOUS_TIMEOUT_SECONDSHết thời gian chờ HTTP cho luồng thông tin xác thực / mã thông báo Nous
HERMES_DUMP_REQUESTSKết xuất tải trọng yêu cầu API vào tệp nhật ký (true/false)
HERMES_PREFILL_MESSAGES_FILEĐường dẫn đến tệp JSON chứa các thông báo điền trước tạm thời được chèn vào thời điểm gọi API
HERMES_TIMEZONEGhi đè múi giờ IANA (ví dụ America/New_York)

API công cụ

BiếnMô tả
PARALLEL_API_KEYTìm kiếm trên web dựa trên AI (parallel.ai)
FIRECRAWL_API_KEYQuét web và trình duyệt đám mây (firecrawl.dev)
FIRECRAWL_API_URLĐiểm cuối API Firecrawl tùy chỉnh cho các phiên bản tự lưu trữ (tùy chọn)
TAVILY_API_KEYKhóa API Tavily để tìm kiếm, trích xuất và thu thập thông tin trên web gốc AI (app.tavily.com)
EXA_API_KEYKhóa API Exa dành cho nội dung và tìm kiếm trên web gốc AI (exa.ai)
BROWSERBASE_API_KEYTự động hóa trình duyệt (browserbase.com)
BROWSERBASE_PRO DỰ ÁN_IDID dự án cơ sở trình duyệt
BROWSER_USE_API_KEYTrình duyệt Sử dụng khóa API trình duyệt đám mây (browser-use.com)
FIRECRAWL_BROWSER_TTLPhiên trình duyệt Firecrawl TTL tính bằng giây (mặc định: 300)
BROWSER_CDP_URLURL giao thức Chrome DevTools cho trình duyệt cục bộ (được đặt qua /browser connect, ví dụ: ws://localhost:9222)
CAMOFOX_URLURL trình duyệt chống phát hiện cục bộ Camofox (mặc định: http://localhost:9377)
BROWSER_INACTIVITY_TIMEOUTThời gian chờ không hoạt động của phiên trình duyệt tính bằng giây
FAL_KEYTạo hình ảnh (fal.ai)
GROQ_API_KEYKhóa API Groq Whisper STT (groq.com)
ELEVENLABS_API_KEYGiọng nói TTS cao cấp của ElevenLabs (elevenlabs.io)
STT_GROQ_MODELGhi đè mô hình Groq STT (mặc định: whisper-large-v3-turbo)
GROQ_BASE_URLGhi đè điểm cuối STT tương thích với Groq OpenAI
STT_OPENAI_MODELGhi đè mô hình OpenAI STT (mặc định: whisper-1)
STT_OPENAI_BASE_URLGhi đè điểm cuối STT tương thích với OpenAI
GITHUB_TOKENMã thông báo GitHub cho Trung tâm kỹ năng (giới hạn tỷ lệ API cao hơn, xuất bản kỹ năng)
HONCHO_API_KEYLập mô hình người dùng giữa các phiên (honcho.dev)
HONCHO_BASE_URLURL cơ sở cho các phiên bản Honcho tự lưu trữ (mặc định: đám mây Honcho). Không cần khóa API cho phiên bản cục bộ
SUPERMEMORY_API_KEYBộ nhớ dài hạn ngữ nghĩa với tính năng thu hồi hồ sơ và nhập phiên (supermemory.ai)
TINKER_API_KEYĐào tạo RL (tinker-console.thinkingmachines.ai)
WANDB_API_KEYCác chỉ số đào tạo RL (wandb.ai)
DAYTONA_API_KEYHộp cát đám mây Daytona (daytona.io)

Phần cuối của thiết bị đầu cuối

BiếnMô tả
TERMINAL_ENVPhần cuối: local, docker, ssh, singularity, modal, daytona
TERMINAL_DOCKER_IMAGEHình ảnh Docker (mặc định: nikolaik/python-nodejs:python3.11-nodejs20)
TERMINAL_DOCKER_FORWARD_ENVMảng JSON chứa các tên var env để chuyển tiếp rõ ràng tới các phiên cuối của Docker. Lưu ý: required_environment_variables được khai báo theo kỹ năng được chuyển tiếp tự động - bạn chỉ cần điều này đối với các vars không được khai báo bởi bất kỳ kỹ năng nào.
TERMINAL_DOCKER_VOLUMESCác phần gắn kết khối lượng Docker bổ sung (cặp host:container được phân tách bằng dấu phẩy)
TERMINAL_DOCKER_MOUNT_CWD_TO_WORKSPACEChọn tham gia nâng cao: gắn cwd khởi chạy vào Docker /workspace (true/false, mặc định: false)
TERMINAL_SINGULARITY_IMAGEHình ảnh kỳ dị hoặc đường dẫn .sif
TERMINAL_MODAL_IMAGEHình ảnh vùng chứa phương thức
TERMINAL_DAYTONA_IMAGEHình ảnh hộp cát Daytona
TERMINAL_TIMEOUTThời gian chờ lệnh tính bằng giây
TERMINAL_LIFETIME_SECONDSThời gian tồn tại tối đa cho các phiên cuối tính bằng giây
TERMINAL_CWDThư mục làm việc cho tất cả các phiên cuối
SUDO_PASSWORDBật sudo mà không cần lời nhắc tương tác

Đối với các chương trình phụ trợ hộp cát trên đám mây, tính bền vững được định hướng theo hệ thống tệp. TERMINAL_LIFETIME_SECONDS kiểm soát thời điểm Hermes dọn dẹp phiên cuối không hoạt động và các lần tiếp tục sau đó có thể tạo lại hộp cát thay vì tiếp tục chạy các quy trình trực tiếp tương tự.

Phần cuối SSH

BiếnMô tả
TERMINAL_SSH_HOSTTên máy chủ từ xa
TERMINAL_SSH_USERtên người dùng SSH
TERMINAL_SSH_PORTCổng SSH (mặc định: 22)
TERMINAL_SSH_KEYĐường dẫn đến khóa riêng
TERMINAL_SSH_PERSISTENTGhi đè shell liên tục cho SSH (mặc định: tuân theo TERMINAL_PERSISTENT_SHELL)

Tài nguyên vùng chứa (Docker, Singularity, Modal, Daytona)

BiếnMô tả
TERMINAL_CONTAINER_CPULõi CPU (mặc định: 1)
TERMINAL_CONTAINER_MEMORYBộ nhớ tính bằng MB (mặc định: 5120)
TERMINAL_CONTAINER_DISKĐĩa tính bằng MB (mặc định: 51200)
TERMINAL_CONTAINER_PERSISTENTDuy trì hệ thống tập tin vùng chứa qua các phiên (mặc định: true)
TERMINAL_SANDBOX_DIRThư mục máy chủ cho không gian làm việc và lớp phủ (mặc định: ~/.hermes/sandboxes/)

Vỏ liên tục

BiếnMô tả
TERMINAL_PERSISTENT_SHELLBật shell liên tục cho các chương trình phụ trợ không cục bộ (mặc định: true). Cũng có thể giải quyết thông qua terminal.persistent_shell trong config.yaml
TERMINAL_LOCAL_PERSISTENTKích hoạt shell liên tục cho chương trình phụ trợ cục bộ (mặc định: false)
TERMINAL_SSH_PERSISTENTGhi đè shell liên tục cho chương trình phụ trợ SSH (mặc định: tuân theo TERMINAL_PERSISTENT_SHELL)

Messaging

VariableDescription
TELEGRAM_BOT_TOKENTelegram bot token (from @BotFather)
TELEGRAM_ALLOWED_USERSComma-separated user IDs allowed to use the bot
TELEGRAM_HOME_CHANNELDefault Telegram chat/channel for cron delivery
TELEGRAM_HOME_CHANNEL_NAMEDisplay name for the Telegram home channel
TELEGRAM_WEBHOOK_URLPublic HTTPS URL for webhook mode (enables webhook instead of polling)
TELEGRAM_WEBHOOK_PORTLocal listen port for webhook server (default: 8443)
TELEGRAM_WEBHOOK_SECRETSecret token for verifying updates come from Telegram
TELEGRAM_REACTIONSEnable emoji reactions on messages during processing (default: false)
DISCORD_BOT_TOKENDiscord bot token
DISCORD_ALLOWED_USERSComma-separated Discord user IDs allowed to use the bot
DISCORD_HOME_CHANNELDefault Discord channel for cron delivery
DISCORD_HOME_CHANNEL_NAMEDisplay name for the Discord home channel
DISCORD_REQUIRE_MENTIONRequire an @mention before responding in server channels
DISCORD_FREE_RESPONSE_CHANNELSComma-separated channel IDs where mention is not required
DISCORD_AUTO_THREADAuto-thread long replies when supported
DISCORD_REACTIONSEnable emoji reactions on messages during processing (default: true)
DISCORD_IGNORED_CHANNELSComma-separated channel IDs where the bot never responds
DISCORD_NO_THREAD_CHANNELSComma-separated channel IDs where bot responds without auto-threading
SLACK_BOT_TOKENSlack bot token (xoxb-...)
SLACK_APP_TOKENSlack app-level token (xapp-..., required for Socket Mode)
SLACK_ALLOWED_USERSComma-separated Slack user IDs
SLACK_HOME_CHANNELDefault Slack channel for cron delivery
SLACK_HOME_CHANNEL_NAMEDisplay name for the Slack home channel
WHATSAPP_ENABLEDEnable the WhatsApp bridge (true/false)
WHATSAPP_MODEbot (separate number) or self-chat (message yourself)
WHATSAPP_ALLOWED_USERSComma-separated phone numbers (with country code, no +), or * to allow all senders
WHATSAPP_ALLOW_ALL_USERSAllow all WhatsApp senders without an allowlist (true/false)
WHATSAPP_DEBUGLog raw message events in the bridge for troubleshooting (true/false)
SIGNAL_HTTP_URLsignal-cli daemon HTTP endpoint (for example http://127.0.0.1:8080)
SIGNAL_ACCOUNTBot phone number in E.164 format
SIGNAL_ALLOWED_USERSComma-separated E.164 phone numbers or UUIDs
SIGNAL_GROUP_ALLOWED_USERSComma-separated group IDs, or * for all groups
SIGNAL_HOME_CHANNEL_NAMEDisplay name for the Signal home channel
SIGNAL_IGNORE_STORIESIgnore Signal stories/status updates
SIGNAL_ALLOW_ALL_USERSAllow all Signal users without an allowlist
TWILIO_ACCOUNT_SIDTwilio Account SID (shared with telephony skill)
TWILIO_AUTH_TOKENTwilio Auth Token (shared with telephony skill)
TWILIO_PHONE_NUMBERTwilio phone number in E.164 format (shared with telephony skill)
SMS_WEBHOOK_PORTWebhook listener port for inbound SMS (default: 8080)
SMS_ALLOWED_USERSComma-separated E.164 phone numbers allowed to chat
SMS_ALLOW_ALL_USERSAllow all SMS senders without an allowlist
SMS_HOME_CHANNELPhone number for cron job / notification delivery
SMS_HOME_CHANNEL_NAMEDisplay name for the SMS home channel
EMAIL_ADDRESSEmail address for the Email gateway adapter
EMAIL_PASSWORDPassword or app password for the email account
EMAIL_IMAP_HOSTIMAP hostname for the email adapter
EMAIL_IMAP_PORTIMAP port
EMAIL_SMTP_HOSTSMTP hostname for the email adapter
EMAIL_SMTP_PORTSMTP port
EMAIL_ALLOWED_USERSComma-separated email addresses allowed to message the bot
EMAIL_HOME_ADDRESSDefault recipient for proactive email delivery
EMAIL_HOME_ADDRESS_NAMEDisplay name for the email home target
EMAIL_POLL_INTERVALEmail polling interval in seconds
EMAIL_ALLOW_ALL_USERSAllow all inbound email senders
DINGTALK_CLIENT_IDDingTalk bot AppKey from developer portal (open.dingtalk.com)
DINGTALK_CLIENT_SECRETDingTalk bot AppSecret from developer portal
DINGTALK_ALLOWED_USERSComma-separated DingTalk user IDs allowed to message the bot
FEISHU_APP_IDFeishu/Lark bot App ID from open.feishu.cn
FEISHU_APP_SECRETFeishu/Lark bot App Secret
FEISHU_DOMAINfeishu (China) or lark (international). Default: feishu
FEISHU_CONNECTION_MODEwebsocket (recommended) or webhook. Default: websocket
FEISHU_ENCRYPT_KEYOptional encryption key for webhook mode
FEISHU_VERIFICATION_TOKENOptional verification token for webhook mode
FEISHU_ALLOWED_USERSComma-separated Feishu user IDs allowed to message the bot
FEISHU_HOME_CHANNELFeishu chat ID for cron delivery and notifications
WECOM_BOT_IDWeCom AI Bot ID from admin console
WECOM_SECRETWeCom AI Bot secret
WECOM_WEBSOCKET_URLCustom WebSocket URL (default: wss://openws.work.weixin.qq.com)
WECOM_ALLOWED_USERSComma-separated WeCom user IDs allowed to message the bot
WECOM_HOME_CHANNELWeCom chat ID for cron delivery and notifications
MATTERMOST_URLMattermost server URL (e.g. https://mm.example.com)
MATTERMOST_TOKENBot token or personal access token for Mattermost
MATTERMOST_ALLOWED_USERSComma-separated Mattermost user IDs allowed to message the bot
MATTERMOST_HOME_CHANNELChannel ID for proactive message delivery (cron, notifications)
MATTERMOST_REQUIRE_MENTIONRequire @mention in channels (default: true). Set to false to respond to all messages.
MATTERMOST_FREE_RESPONSE_CHANNELSComma-separated channel IDs where bot responds without @mention
MATTERMOST_REPLY_MODEReply style: thread (threaded replies) or off (flat messages, default)
MATRIX_HOMESERVERMatrix homeserver URL (e.g. https://matrix.org)
MATRIX_ACCESS_TOKENMatrix access token for bot authentication
MATRIX_USER_IDMatrix user ID (e.g. @hermes:matrix.org) — required for password login, optional with access token
MATRIX_PASSWORDMatrix password (alternative to access token)
MATRIX_ALLOWED_USERSComma-separated Matrix user IDs allowed to message the bot (e.g. @alice:matrix.org)
MATRIX_HOME_ROOMRoom ID for proactive message delivery (e.g. !abc123:matrix.org)
MATRIX_ENCRYPTIONEnable end-to-end encryption (true/false, default: false)
MATRIX_REQUIRE_MENTIONRequire @mention in rooms (default: true). Set to false to respond to all messages.
MATRIX_FREE_RESPONSE_ROOMSComma-separated room IDs where bot responds without @mention
MATRIX_AUTO_THREADAuto-create threads for room messages (default: true)
HASS_TOKENHome Assistant Long-Lived Access Token (enables HA platform + tools)
HASS_URLHome Assistant URL (default: http://homeassistant.local:8123)
WEBHOOK_ENABLEDEnable the webhook platform adapter (true/false)
WEBHOOK_PORTHTTP server port for receiving webhooks (default: 8644)
WEBHOOK_SECRETGlobal HMAC secret for webhook signature validation (used as fallback when routes don't specify their own)
API_SERVER_ENABLEDEnable the OpenAI-compatible API server (true/false). Runs alongside other platforms.
API_SERVER_KEYBearer token for API server authentication. Strongly recommended; required for any network-accessible deployment.
API_SERVER_CORS_ORIGINSComma-separated browser origins allowed to call the API server directly (for example http://localhost:3000,http://127.0.0.1:3000). Default: disabled.
API_SERVER_PORTPort for the API server (default: 8642)
API_SERVER_HOSTHost/bind address for the API server (default: 127.0.0.1). Use 0.0.0.0 for network access only with API_SERVER_KEY and a narrow API_SERVER_CORS_ORIGINS allowlist.
MESSAGING_CWDWorking directory for terminal commands in messaging mode (default: ~)
GATEWAY_ALLOWED_USERSComma-separated user IDs allowed across all platforms
GATEWAY_ALLOW_ALL_USERSAllow all users without allowlists (true/false, default: false)

Agent Behavior

VariableDescription
HERMES_MAX_ITERATIONSMax tool-calling iterations per conversation (default: 90)
HERMES_TOOL_PROGRESSDeprecated compatibility variable for tool progress display. Prefer display.tool_progress in config.yaml.
HERMES_TOOL_PROGRESS_MODEDeprecated compatibility variable for tool progress mode. Prefer display.tool_progress in config.yaml.
HERMES_HUMAN_DELAY_MODEResponse pacing: off/natural/custom
HERMES_HUMAN_DELAY_MIN_MSCustom delay range minimum (ms)
HERMES_HUMAN_DELAY_MAX_MSCustom delay range maximum (ms)
HERMES_QUIETSuppress non-essential output (true/false)
HERMES_API_TIMEOUTLLM API call timeout in seconds (default: 1800)
HERMES_EXEC_ASKEnable execution approval prompts in gateway mode (true/false)
HERMES_ENABLE_PROJECT_PLUGINSEnable auto-discovery of repo-local plugins from ./.hermes/plugins/ (true/false, default: false)
HERMES_BACKGROUND_NOTIFICATIONSBackground process notification mode in gateway: all (default), result, error, off
HERMES_EPHEMERAL_SYSTEM_PROMPTEphemeral system prompt injected at API-call time (never persisted to sessions)

Session Settings

VariableDescription
SESSION_IDLE_MINUTESReset sessions after N minutes of inactivity (default: 1440)
SESSION_RESET_HOURDaily reset hour in 24h format (default: 4 = 4am)

Context Compression (config.yaml only)

Context compression is configured exclusively through the compression section in config.yaml — there are no environment variables for it.

compression:
enabled: true
threshold: 0.50
summary_model: "" # empty = use main configured model
summary_provider: auto
summary_base_url: null # Custom OpenAI-compatible endpoint for summaries

Auxiliary Task Overrides

VariableDescription
AUXILIARY_VISION_PROVIDEROverride provider for vision tasks
AUXILIARY_VISION_MODELOverride model for vision tasks
AUXILIARY_VISION_BASE_URLDirect OpenAI-compatible endpoint for vision tasks
AUXILIARY_VISION_API_KEYAPI key paired with AUXILIARY_VISION_BASE_URL
AUXILIARY_WEB_EXTRACT_PROVIDEROverride provider for web extraction/summarization
AUXILIARY_WEB_EXTRACT_MODELOverride model for web extraction/summarization
AUXILIARY_WEB_EXTRACT_BASE_URLDirect OpenAI-compatible endpoint for web extraction/summarization
AUXILIARY_WEB_EXTRACT_API_KEYAPI key paired with AUXILIARY_WEB_EXTRACT_BASE_URL

For task-specific direct endpoints, Hermes uses the task's configured API key or OPENAI_API_KEY. It does not reuse OPENROUTER_API_KEY for those custom endpoints.

Fallback Model (config.yaml only)

The primary model fallback is configured exclusively through config.yaml — there are no environment variables for it. Add a fallback_model section with provider and model keys to enable automatic failover when your main model encounters errors.

fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4

See Fallback Providers for full details.

Provider Routing (config.yaml only)

These go in ~/.hermes/config.yaml under the provider_routing section:

KeyDescription
sortSort providers: "price" (default), "throughput", or "latency"
onlyList of provider slugs to allow (e.g., ["anthropic", "google"])
ignoreList of provider slugs to skip
orderList of provider slugs to try in order
require_parametersOnly use providers supporting all request params (true/false)
data_collection"allow" (default) or "deny" to exclude data-storing providers
mẹo

Use hermes config set to set environment variables — it automatically saves them to the right file (.env for secrets, config.yaml for everything else).