跳到主要内容

环境变量

所有变量都放在 ~/.hermes/.env 中。你也可以使用 hermes config set VAR value 来设置。

LLM Providers

VariableDescription
OPENROUTER_API_KEYOpenRouter API key(推荐,灵活性最高)
OPENROUTER_BASE_URL覆盖 OpenRouter 兼容 base URL
NOUS_BASE_URL覆盖 Nous Portal base URL(很少需要,主要用于开发/测试)
NOUS_INFERENCE_BASE_URL直接覆盖 Nous 推理端点
AI_GATEWAY_API_KEYVercel AI Gateway API key
AI_GATEWAY_BASE_URL覆盖 AI Gateway base URL(默认 https://ai-gateway.vercel.sh/v1
OPENAI_API_KEY自定义 OpenAI 兼容端点的 API key(配合 OPENAI_BASE_URL 使用)
OPENAI_BASE_URL自定义端点 base URL(VLLM、SGLang 等)
COPILOT_GITHUB_TOKENCopilot API 用 GitHub token,优先级最高(支持 gho_* 或 fine-grained PAT github_pat_*,不支持经典 ghp_*
GH_TOKENGitHub token,Copilot 的第二优先级(同时也供 gh CLI 使用)
GITHUB_TOKENGitHub token,Copilot 的第三优先级
HERMES_COPILOT_ACP_COMMAND覆盖 Copilot ACP CLI 二进制路径(默认 copilot
COPILOT_CLI_PATHHERMES_COPILOT_ACP_COMMAND 的别名
HERMES_COPILOT_ACP_ARGS覆盖 Copilot ACP 参数(默认 --acp --stdio
COPILOT_ACP_BASE_URL覆盖 Copilot ACP base URL
GLM_API_KEYz.ai / ZhipuAI 的 GLM API key
ZAI_API_KEYGLM_API_KEY 的别名
Z_AI_API_KEYGLM_API_KEY 的别名
GLM_BASE_URL覆盖 z.ai base URL(默认 https://api.z.ai/api/paas/v4
KIMI_API_KEYKimi / Moonshot AI API key
KIMI_BASE_URL覆盖 Kimi base URL(默认 https://api.moonshot.ai/v1
KIMI_CN_API_KEYKimi / Moonshot 中国站 API key
ARCEEAI_API_KEYArcee AI API key
ARCEE_BASE_URL覆盖 Arcee base URL(默认 https://api.arcee.ai/api/v1
MINIMAX_API_KEYMiniMax 全球站 API key
MINIMAX_BASE_URL覆盖 MiniMax base URL(默认 https://api.minimax.io/anthropic
MINIMAX_CN_API_KEYMiniMax 中国站 API key
MINIMAX_CN_BASE_URL覆盖 MiniMax 中国站 base URL(默认 https://api.minimaxi.com/anthropic
KILOCODE_API_KEYKilo Code API key
KILOCODE_BASE_URL覆盖 Kilo Code base URL(默认 https://api.kilo.ai/api/gateway
XIAOMI_API_KEYXiaomi MiMo API key
XIAOMI_BASE_URL覆盖 Xiaomi MiMo base URL(默认 https://api.xiaomimimo.com/v1
HF_TOKENHugging Face Inference Providers token
HF_BASE_URL覆盖 Hugging Face base URL(默认 https://router.huggingface.co/v1
GOOGLE_API_KEYGoogle AI Studio API key
GEMINI_API_KEYGOOGLE_API_KEY 的别名
GEMINI_BASE_URL覆盖 Google AI Studio base URL
HERMES_GEMINI_CLIENT_IDgoogle-gemini-cli PKCE 登录用 OAuth client ID
HERMES_GEMINI_CLIENT_SECRETgoogle-gemini-cli 用 OAuth client secret
HERMES_GEMINI_PROJECT_ID付费 Gemini 层使用的 GCP project ID
ANTHROPIC_API_KEYAnthropic Console API key
ANTHROPIC_TOKEN手动或旧版 Anthropic OAuth/setup-token 覆盖值
DASHSCOPE_API_KEY阿里云 DashScope(Qwen)API key
DASHSCOPE_BASE_URL自定义 DashScope base URL
DEEPSEEK_API_KEYDeepSeek API key
DEEPSEEK_BASE_URL自定义 DeepSeek API base URL
NVIDIA_API_KEYNVIDIA NIM API key
NVIDIA_BASE_URL覆盖 NVIDIA base URL(本地 NIM 也可用)
OLLAMA_API_KEYOllama Cloud API key
OLLAMA_BASE_URL覆盖 Ollama Cloud base URL(默认 https://ollama.com/v1
XAI_API_KEYxAI(Grok)API key,用于聊天和 TTS
XAI_BASE_URL覆盖 xAI base URL
MISTRAL_API_KEYMistral API key,用于 Voxtral TTS/STT
AWS_REGIONBedrock 推理所在 AWS 区域
AWS_PROFILEBedrock 认证所用 AWS named profile
BEDROCK_BASE_URL覆盖 Bedrock runtime base URL,通常建议直接用 AWS_REGION
HERMES_QWEN_BASE_URLQwen Portal base URL 覆盖值
OPENCODE_ZEN_API_KEYOpenCode Zen API key
OPENCODE_ZEN_BASE_URL覆盖 OpenCode Zen base URL
OPENCODE_GO_API_KEYOpenCode Go API key
OPENCODE_GO_BASE_URL覆盖 OpenCode Go base URL
CLAUDE_CODE_OAUTH_TOKEN手动导出的 Claude Code token 显式覆盖值
HERMES_MODEL在进程级覆盖模型名(cron 会用到;日常更推荐 config.yaml
VOICE_TOOLS_OPENAI_KEYOpenAI 语音转写与 TTS 的首选 OpenAI key
HERMES_LOCAL_STT_COMMAND可选的本地 STT 命令模板,支持 {input_path} 等占位符
HERMES_LOCAL_STT_LANGUAGE传给本地 STT 命令或本地 whisper CLI 回退的默认语言(默认 en
HERMES_HOME覆盖 Hermes 配置目录(默认 ~/.hermes),也会影响 gateway PID 文件和 systemd 服务名

Provider Auth(OAuth)

对于原生 Anthropic 认证,Hermes 会优先使用 Claude Code 自带的凭证文件,因为它们可以自动刷新。像 ANTHROPIC_TOKEN 这样的环境变量仍然可以作为手动覆盖,但已不再是 Claude Pro/Max 登录的首选方案。

VariableDescription
HERMES_INFERENCE_PROVIDER覆盖大模型提供商(provider)选择,默认 auto
HERMES_PORTAL_BASE_URL覆盖 Nous Portal URL
NOUS_INFERENCE_BASE_URL覆盖 Nous inference API URL
HERMES_NOUS_MIN_KEY_TTL_SECONDSNous agent key 重新签发前的最小 TTL
HERMES_NOUS_TIMEOUT_SECONDSNous 凭证/令牌流程的 HTTP 超时
HERMES_DUMP_REQUESTS是否把 API 请求 payload 写入日志
HERMES_PREFILL_MESSAGES_FILE指向一个 JSON 文件,在 API 调用时临时注入 prefill messages
HERMES_TIMEZONEIANA 时区覆盖值,例如 America/New_York

Tool APIs

VariableDescription
PARALLEL_API_KEYAI-native Web 搜索(parallel.ai)
FIRECRAWL_API_KEYWeb 抓取与云浏览器(Firecrawl)
FIRECRAWL_API_URL自托管 Firecrawl 的自定义 API 端点
TAVILY_API_KEYTavily 的 Web 搜索/提取/抓取 API key
EXA_API_KEYExa 的 Web 搜索与内容 API key
BROWSERBASE_API_KEYBrowserbase 浏览器自动化 API key
BROWSERBASE_PROJECT_IDBrowserbase project ID
BROWSER_USE_API_KEYBrowser Use 云浏览器 API key
FIRECRAWL_BROWSER_TTLFirecrawl 浏览器会话 TTL(秒)
BROWSER_CDP_URL本地浏览器的 Chrome DevTools Protocol URL
CAMOFOX_URLCamofox 本地反检测浏览器 URL
BROWSER_INACTIVITY_TIMEOUT浏览器会话空闲超时(秒)
FAL_KEY图像生成(fal.ai)
GROQ_API_KEYGroq Whisper STT API key
ELEVENLABS_API_KEYElevenLabs 高级 TTS voice API key
STT_GROQ_MODEL覆盖 Groq STT 模型
GROQ_BASE_URL覆盖 Groq OpenAI 兼容 STT 端点
STT_OPENAI_MODEL覆盖 OpenAI STT 模型
STT_OPENAI_BASE_URL覆盖 OpenAI 兼容 STT 端点
GITHUB_TOKENSkills Hub 使用的 GitHub token
HONCHO_API_KEY跨会话用户建模(Honcho)
HONCHO_BASE_URL自托管 Honcho 的 base URL
SUPERMEMORY_API_KEYSupermemory 长期语义记忆 API key
TINKER_API_KEYRL 训练 API key
WANDB_API_KEYRL 训练指标(W&B)
DAYTONA_API_KEYDaytona 云沙箱 API key

Nous Tool Gateway

这些变量用于配置 Tool Gateway,面向付费 Nous 订阅用户或自托管 gateway 部署。大多数用户不需要手动设置。

VariableDescription
TOOL_GATEWAY_DOMAINTool Gateway 路由所用基础域名
TOOL_GATEWAY_SCHEMEgateway URL 的协议,httphttps
TOOL_GATEWAY_USER_TOKENTool Gateway 认证 token,通常会由 Nous 认证自动填充
FIRECRAWL_GATEWAY_URL专门覆盖 Firecrawl gateway 端点 URL

Terminal Backend

VariableDescription
TERMINAL_ENV后端类型:localdockersshsingularitymodaldaytona
TERMINAL_DOCKER_IMAGEDocker 镜像
TERMINAL_DOCKER_FORWARD_ENV显式转发到 Docker 终端会话的环境变量名 JSON 数组
TERMINAL_DOCKER_VOLUMES额外挂载卷,格式为逗号分隔的 host:container
TERMINAL_DOCKER_MOUNT_CWD_TO_WORKSPACE是否把启动时 cwd 挂到 Docker 的 /workspace
TERMINAL_SINGULARITY_IMAGESingularity 镜像或 .sif 路径
TERMINAL_MODAL_IMAGEModal 容器镜像
TERMINAL_DAYTONA_IMAGEDaytona 沙箱镜像
TERMINAL_TIMEOUT命令超时时间(秒)
TERMINAL_LIFETIME_SECONDS终端会话最大生命周期(秒)
TERMINAL_CWD所有终端会话的工作目录
SUDO_PASSWORD允许免交互 sudo 的密码

对于云沙箱后端,持久化主要是文件系统层面的。TERMINAL_LIFETIME_SECONDS 控制 Hermes 何时清理空闲终端会话,后续恢复时可能会重新创建沙箱,而不是保留原来的活进程。

SSH Backend

VariableDescription
TERMINAL_SSH_HOST远程主机名
TERMINAL_SSH_USERSSH 用户名
TERMINAL_SSH_PORTSSH 端口(默认 22)
TERMINAL_SSH_KEY私钥路径
TERMINAL_SSH_PERSISTENT覆盖 SSH 的 persistent shell 配置

Container Resources(Docker、Singularity、Modal、Daytona)

VariableDescription
TERMINAL_CONTAINER_CPUCPU 核数
TERMINAL_CONTAINER_MEMORY内存大小(MB)
TERMINAL_CONTAINER_DISK磁盘大小(MB)
TERMINAL_CONTAINER_PERSISTENT是否在会话间持久化容器文件系统
TERMINAL_SANDBOX_DIRworkspaces 与 overlays 的宿主目录

Persistent Shell

VariableDescription
TERMINAL_PERSISTENT_SHELL是否为非本地后端启用 persistent shell
TERMINAL_LOCAL_PERSISTENT是否为本地后端启用 persistent shell
TERMINAL_SSH_PERSISTENTSSH 后端的 persistent shell 覆盖值

Messaging

VariableDescription
TELEGRAM_BOT_TOKENTelegram bot token
TELEGRAM_ALLOWED_USERS允许使用 bot 的 Telegram 用户 ID,逗号分隔
TELEGRAM_HOME_CHANNELTelegram 默认 cron 投递目标
TELEGRAM_HOME_CHANNEL_NAMETelegram home channel 显示名
TELEGRAM_WEBHOOK_URLwebhook 模式的公网 HTTPS URL
TELEGRAM_WEBHOOK_PORTwebhook 本地监听端口
TELEGRAM_WEBHOOK_SECRET用于验证 Telegram 更新的 secret token
TELEGRAM_REACTIONS处理期间是否用 emoji reaction 标记消息
TELEGRAM_REPLY_TO_MODE回复引用策略:offfirstall
TELEGRAM_IGNORED_THREADS机器人永不响应的 Telegram 论坛 topic/thread ID
TELEGRAM_PROXYTelegram 连接代理 URL
DISCORD_BOT_TOKENDiscord bot token
DISCORD_ALLOWED_USERS允许使用 bot 的 Discord 用户 ID
DISCORD_ALLOWED_ROLES允许使用 bot 的 Discord 角色 ID
DISCORD_ALLOWED_CHANNELS机器人只会响应的 Discord 频道 ID
DISCORD_PROXYDiscord 连接代理 URL
DISCORD_HOME_CHANNELDiscord 默认 cron 投递频道
DISCORD_HOME_CHANNEL_NAMEDiscord home channel 显示名
DISCORD_COMMAND_SYNC_POLICYDiscord slash command 启动同步策略:safebulkoff
DISCORD_REQUIRE_MENTION在服务器频道中是否必须 @mention 才响应
DISCORD_FREE_RESPONSE_CHANNELS无需 @mention 也会响应的频道 ID
DISCORD_AUTO_THREAD是否自动把长回复发到 thread
DISCORD_REACTIONS处理期间是否使用 emoji reaction
DISCORD_IGNORED_CHANNELS机器人永不响应的 Discord 频道 ID
DISCORD_NO_THREAD_CHANNELS禁止自动 thread 的频道 ID
DISCORD_REPLY_TO_MODE回复引用策略:offfirstall
DISCORD_ALLOW_MENTION_EVERYONE是否允许机器人提及 @everyone / @here
DISCORD_ALLOW_MENTION_ROLES是否允许机器人提及 @role
DISCORD_ALLOW_MENTION_USERS是否允许机器人提及单个 @user
DISCORD_ALLOW_MENTION_REPLIED_USER回复时是否 ping 原作者
SLACK_BOT_TOKENSlack bot token
SLACK_APP_TOKENSlack app 级 token(Socket Mode 必需)
SLACK_ALLOWED_USERS允许使用 bot 的 Slack 用户 ID
SLACK_HOME_CHANNELSlack 默认 cron 投递频道
SLACK_HOME_CHANNEL_NAMESlack home channel 显示名
WHATSAPP_ENABLED是否启用 WhatsApp bridge
WHATSAPP_MODEbotself-chat
WHATSAPP_ALLOWED_USERS允许使用的电话号码列表,或 * 表示全部
WHATSAPP_ALLOW_ALL_USERS是否允许所有 WhatsApp 发送者
WHATSAPP_DEBUG是否记录 bridge 的原始消息事件
SIGNAL_HTTP_URLsignal-cli daemon HTTP 端点
SIGNAL_ACCOUNTbot 电话号码(E.164)
SIGNAL_ALLOWED_USERS允许的 E.164 电话号码或 UUID
SIGNAL_GROUP_ALLOWED_USERS允许的群组 ID,或 * 表示全部
SIGNAL_HOME_CHANNEL_NAMESignal home channel 显示名
SIGNAL_IGNORE_STORIES是否忽略 Signal stories/status
SIGNAL_ALLOW_ALL_USERS是否允许所有 Signal 用户
TWILIO_ACCOUNT_SIDTwilio Account SID
TWILIO_AUTH_TOKENTwilio Auth Token
TWILIO_PHONE_NUMBERTwilio 电话号码(E.164)
SMS_WEBHOOK_URLTwilio 签名校验使用的公网 URL
SMS_WEBHOOK_PORT入站 SMS webhook 监听端口
SMS_WEBHOOK_HOSTwebhook 绑定地址
SMS_INSECURE_NO_SIGNATURE是否关闭 Twilio 签名校验(仅限本地开发)
SMS_ALLOWED_USERS允许聊天的 E.164 电话号码
SMS_ALLOW_ALL_USERS是否允许所有 SMS 发送者
SMS_HOME_CHANNELcron/通知默认投递手机号
SMS_HOME_CHANNEL_NAMESMS home channel 显示名
EMAIL_ADDRESSEmail 网关适配器使用的邮箱地址
EMAIL_PASSWORD邮箱密码或 app password
EMAIL_IMAP_HOSTIMAP 主机名
EMAIL_IMAP_PORTIMAP 端口
EMAIL_SMTP_HOSTSMTP 主机名
EMAIL_SMTP_PORTSMTP 端口
EMAIL_ALLOWED_USERS允许给 bot 发信的邮箱地址
EMAIL_HOME_ADDRESS主动邮件投递默认收件人
EMAIL_HOME_ADDRESS_NAMEEmail home target 显示名
EMAIL_POLL_INTERVAL邮件轮询间隔(秒)
EMAIL_ALLOW_ALL_USERS是否允许所有发件人
DINGTALK_CLIENT_IDDingTalk bot AppKey
DINGTALK_CLIENT_SECRETDingTalk bot AppSecret
DINGTALK_ALLOWED_USERS允许使用 bot 的 DingTalk 用户 ID
FEISHU_APP_IDFeishu/Lark bot App ID
FEISHU_APP_SECRETFeishu/Lark bot App Secret
FEISHU_DOMAINfeishu(中国区)或 lark(国际区)
FEISHU_CONNECTION_MODEwebsocketwebhook
FEISHU_ENCRYPT_KEYwebhook 模式可选加密 key
FEISHU_VERIFICATION_TOKENwebhook 模式可选验证 token
FEISHU_ALLOWED_USERS允许使用 bot 的 Feishu 用户 ID
FEISHU_HOME_CHANNELFeishu 默认 cron/通知投递 chat ID
WECOM_BOT_IDWeCom AI Bot ID
WECOM_SECRETWeCom AI Bot secret
WECOM_WEBSOCKET_URL自定义 WeCom WebSocket URL
WECOM_ALLOWED_USERS允许使用 bot 的 WeCom 用户 ID
WECOM_HOME_CHANNELWeCom 默认 cron/通知投递 chat ID
WECOM_CALLBACK_CORP_IDcallback 自建应用的 Corp ID
WECOM_CALLBACK_CORP_SECRETcallback 自建应用的 Corp secret
WECOM_CALLBACK_AGENT_IDcallback 自建应用的 Agent ID
WECOM_CALLBACK_TOKENcallback 验证 token
WECOM_CALLBACK_ENCODING_AES_KEYcallback 加密用 AES key
WECOM_CALLBACK_HOSTcallback 服务绑定地址
WECOM_CALLBACK_PORTcallback 服务端口
WECOM_CALLBACK_ALLOWED_USERScallback allowlist 用户 ID
WECOM_CALLBACK_ALLOW_ALL_USERScallback 是否允许所有用户
WEIXIN_ACCOUNT_ID通过 iLink Bot API 二维码登录获得的 Weixin account ID
WEIXIN_TOKEN通过 iLink Bot API 获得的 Weixin token
WEIXIN_BASE_URL覆盖 Weixin iLink Bot API base URL
WEIXIN_CDN_BASE_URL覆盖 Weixin 媒体 CDN base URL
WEIXIN_DM_POLICY私聊策略:openallowlistpairingdisabled
WEIXIN_GROUP_POLICY群聊策略:openallowlistdisabled
WEIXIN_ALLOWED_USERS允许私聊 bot 的 Weixin 用户 ID
WEIXIN_GROUP_ALLOWED_USERS允许群组交互的 Weixin 群 ID
WEIXIN_HOME_CHANNELWeixin 默认 cron/通知投递 chat ID
WEIXIN_HOME_CHANNEL_NAMEWeixin home channel 显示名
WEIXIN_ALLOW_ALL_USERS是否允许所有 Weixin 用户
BLUEBUBBLES_SERVER_URLBlueBubbles server URL
BLUEBUBBLES_PASSWORDBlueBubbles server password
BLUEBUBBLES_WEBHOOK_HOSTBlueBubbles webhook 绑定地址
BLUEBUBBLES_WEBHOOK_PORTBlueBubbles webhook 监听端口
BLUEBUBBLES_HOME_CHANNELBlueBubbles 默认 cron/通知投递目标
BLUEBUBBLES_ALLOWED_USERS授权用户列表
BLUEBUBBLES_ALLOW_ALL_USERS是否允许所有用户
QQ_APP_IDQQ Bot App ID
QQ_CLIENT_SECRETQQ Bot App Secret
QQ_STT_API_KEY外部 STT 回退 provider 的 API key
QQ_STT_BASE_URL外部 STT provider 的 base URL
QQ_STT_MODEL外部 STT provider 使用的模型名
QQ_ALLOWED_USERS允许与 bot 私聊的 QQ openID
QQ_GROUP_ALLOWED_USERS允许群 @ 消息交互的 QQ 群 ID
QQ_ALLOW_ALL_USERS是否允许所有 QQ 用户
QQBOT_HOME_CHANNELQQ 默认 cron/通知投递目标
QQBOT_HOME_CHANNEL_NAMEQQ home channel 显示名
QQ_SANDBOX是否将 QQ Bot 路由到沙箱网关
MATTERMOST_URLMattermost server URL
MATTERMOST_TOKENMattermost bot token 或个人 access token
MATTERMOST_ALLOWED_USERS允许使用 bot 的 Mattermost 用户 ID
MATTERMOST_HOME_CHANNEL主动消息默认投递频道 ID
MATTERMOST_REQUIRE_MENTION频道中是否必须 @mention
MATTERMOST_FREE_RESPONSE_CHANNELS无需 @mention 也响应的频道 ID
MATTERMOST_REPLY_MODE回复模式:threadoff
MATRIX_HOMESERVERMatrix homeserver URL
MATRIX_ACCESS_TOKENMatrix access token
MATRIX_USER_IDMatrix 用户 ID
MATRIX_PASSWORDMatrix 密码
MATRIX_ALLOWED_USERS允许使用 bot 的 Matrix 用户 ID
MATRIX_HOME_ROOM主动消息默认投递 room ID
MATRIX_ENCRYPTION是否启用端到端加密
MATRIX_DEVICE_ID稳定的 Matrix device ID,用于 E2EE 持久化
MATRIX_REACTIONS是否为入站消息加处理状态 emoji reaction
MATRIX_REQUIRE_MENTION房间中是否必须 @mention
MATRIX_FREE_RESPONSE_ROOMS无需 @mention 也响应的 room ID
MATRIX_AUTO_THREAD是否自动为 room 消息创建 thread
MATRIX_DM_MENTION_THREADS私聊中被 @mentioned 时是否建 thread
MATRIX_RECOVERY_KEYE2EE 跨签名恢复 key
HASS_TOKENHome Assistant Long-Lived Access Token
HASS_URLHome Assistant URL
WEBHOOK_ENABLED是否启用 webhook 平台适配器
WEBHOOK_PORT接收 webhook 的 HTTP 端口
WEBHOOK_SECRETwebhook 签名校验的全局 HMAC secret
API_SERVER_ENABLED是否启用 OpenAI 兼容 API server
API_SERVER_KEYAPI server 的 bearer token
API_SERVER_CORS_ORIGINS允许直接调用 API server 的浏览器来源
API_SERVER_PORTAPI server 端口
API_SERVER_HOSTAPI server 绑定地址
API_SERVER_MODEL_NAME/v1/models 上显示的模型名
GATEWAY_PROXY_URL远程 Hermes API server URL,用于 proxy mode
GATEWAY_PROXY_KEYproxy mode 下访问远端 API server 的 bearer token
MESSAGING_CWD消息模式下终端命令的工作目录
GATEWAY_ALLOWED_USERS全平台共享 allowlist 用户 ID
GATEWAY_ALLOW_ALL_USERS是否允许所有用户,无需 allowlist

Agent Behavior

VariableDescription
HERMES_MAX_ITERATIONS每次对话的最大工具调用迭代次数
HERMES_TOOL_PROGRESS兼容用旧变量,推荐改用 config.yamldisplay.tool_progress
HERMES_TOOL_PROGRESS_MODE兼容用旧变量,推荐改用 display.tool_progress
HERMES_HUMAN_DELAY_MODE回复节奏:off / natural / custom
HERMES_HUMAN_DELAY_MIN_MS自定义延迟范围最小值(毫秒)
HERMES_HUMAN_DELAY_MAX_MS自定义延迟范围最大值(毫秒)
HERMES_QUIET是否隐藏非关键输出
HERMES_API_TIMEOUTLLM API 调用超时(秒)
HERMES_API_CALL_STALE_TIMEOUT非流式调用的 stale 超时(秒)
HERMES_STREAM_READ_TIMEOUT流式 socket 读取超时(秒)
HERMES_STREAM_STALE_TIMEOUT流式输出无新 chunk 时的 stale 超时(秒)
HERMES_EXEC_ASK在网关模式中启用执行审批提示
HERMES_ENABLE_PROJECT_PLUGINS是否自动发现仓库本地 ./.hermes/plugins/ 插件
HERMES_BACKGROUND_NOTIFICATIONS网关中后台进程通知模式:allresulterroroff
HERMES_EPHEMERAL_SYSTEM_PROMPT仅在 API 调用时注入、不会持久化的临时 system prompt
DELEGATION_MAX_CONCURRENT_CHILDREN每批 delegate_task 的最大并发子 agent 数

Interface

VariableDescription
HERMES_TUI设为 1 时启动 TUI,等价于传 --tui
HERMES_TUI_DIR指向预构建好的 ui-tui/ 目录,用于跳过首次启动时的 npm install

Cron Scheduler

VariableDescription
HERMES_CRON_TIMEOUTcron 任务 agent 运行的空闲超时(秒)
HERMES_CRON_SCRIPT_TIMEOUTcron 前置脚本的超时(秒)

Session Settings

VariableDescription
SESSION_IDLE_MINUTES空闲 N 分钟后重置会话
SESSION_RESET_HOUR每日自动重置小时(24 小时制)

Context Compression(仅 config.yaml

上下文压缩只通过 config.yaml 配置,没有对应环境变量。阈值配置位于 compression:,摘要模型/大模型提供商(provider)位于 auxiliary.compression:

compression:
enabled: true
threshold: 0.50
target_ratio: 0.20
protect_last_n: 20
旧配置迁移

旧版配置中的 compression.summary_modelcompression.summary_providercompression.summary_base_url 会在首次加载时自动迁移到 auxiliary.compression.*

Auxiliary Task Overrides

VariableDescription
AUXILIARY_VISION_PROVIDER覆盖视觉任务使用的 provider
AUXILIARY_VISION_MODEL覆盖视觉任务使用的模型
AUXILIARY_VISION_BASE_URL视觉任务使用的 OpenAI 兼容端点
AUXILIARY_VISION_API_KEYAUXILIARY_VISION_BASE_URL 配对的 API key
AUXILIARY_WEB_EXTRACT_PROVIDER覆盖 Web 提取/摘要任务使用的 provider
AUXILIARY_WEB_EXTRACT_MODEL覆盖 Web 提取/摘要任务使用的模型
AUXILIARY_WEB_EXTRACT_BASE_URLWeb 提取/摘要任务使用的 OpenAI 兼容端点
AUXILIARY_WEB_EXTRACT_API_KEYAUXILIARY_WEB_EXTRACT_BASE_URL 配对的 API key

对于任务级自定义端点,Hermes 会使用该任务的 API key 或 OPENAI_API_KEY,不会复用 OPENROUTER_API_KEY

Fallback Model(仅 config.yaml

主模型回退只通过 config.yaml 配置,没有对应环境变量。添加一个带 providermodelfallback_model 配置块,即可在主模型报错时自动切换:

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

完整说明请见 Fallback Providers

Provider Routing(仅 config.yaml

这些项放在 ~/.hermes/config.yamlprovider_routing 节:

KeyDescription
sortprovider 排序方式:"price"(默认)、"throughput""latency"
only允许使用的 provider slug 列表
ignore要跳过的 provider slug 列表
order按顺序尝试的 provider slug 列表
require_parameters是否只使用支持全部请求参数的 provider
data_collection"allow"(默认)或 "deny",用于排除会存储数据的 provider
提示

可使用 hermes config set 设置环境变量。Hermes 会自动把密钥类变量写入 .env,把其他配置写入 config.yaml