Files
bot/docs/zh-CN/help/environment.md
zeekay 6e661b15d3 rebrand: complete OpenClaw→Hanzo Bot cleanup across 424 files
- Rename lobster extension → flow (dir, types, env vars, docs)
- LOBSTER_* env vars → BOT_FLOW_* / BOT_*
- 🦞 → 🤖 everywhere (src, docs, skills, zh-CN)
- docs.bot.ai → docs.hanzo.bot
- github.com/bot/bot → github.com/hanzoai/bot
- @bot/* → @hanzo/bot-* (npm scope)
- ~/.bot/ → ~/.hanzo/bot/ (config paths)
- discord.gg/hanzo → discord.gg/XthHQQj (real Hanzo Discord)
- clawhub.com → skills.hanzo.bot
- ClawDock → BotDock in shell helpers
- EXFOLIATE lore → Hanzo Bot branding in all locales
- LOBSTER_PALETTE → BOT_PALETTE, LOBSTER_ASCII → BOT_ASCII
2026-02-13 13:22:53 -08:00

2.2 KiB
Raw Permalink Blame History

read_when, summary, title, x-i18n
read_when summary title x-i18n
你需要知道哪些环境变量被加载,以及加载顺序
你在调试 Gateway 网关中缺失的 API 密钥
你在编写提供商认证或部署环境的文档
Hanzo Bot 从哪里加载环境变量以及优先级顺序 环境变量
generated_at model provider source_hash source_path workflow
2026-02-03T07:47:11Z claude-opus-4-5 pi b49ae50e5d306612f89f93a86236188a4f2ec23f667e2388b043832be3ac1546 help/environment.md 15

环境变量

Hanzo Bot 从多个来源拉取环境变量。规则是永不覆盖现有值。

优先级(从高到低)

  1. 进程环境(Gateway 网关进程从父 shell/守护进程已有的内容)。
  2. 当前工作目录中的 .env(dotenv 默认;不覆盖)。
  3. 全局 .env 位于 ~/.hanzo/bot/.env(即 $BOT_STATE_DIR/.env;不覆盖)。
  4. 配置 env 块 位于 ~/.hanzo/bot/bot.json(仅在缺失时应用)。
  5. 可选的登录 shell 导入(env.shellEnv.enabled 或 BOT_LOAD_SHELL_ENV=1),仅对缺失的预期键名应用。

如果配置文件完全缺失,步骤 4 将被跳过;如果启用了 shell 导入,它仍会运行。

配置 env 块

两种等效方式设置内联环境变量(都是非覆盖的):

{
  env: {
    OPENROUTER_API_KEY: "sk-or-...",
    vars: {
      GROQ_API_KEY: "gsk-...",
    },
  },
}

Shell 环境导入

env.shellEnv 运行你的登录 shell 并仅导入缺失的预期键名:

{
  env: {
    shellEnv: {
      enabled: true,
      timeoutMs: 15000,
    },
  },
}

环境变量等效项:

  • BOT_LOAD_SHELL_ENV=1
  • BOT_SHELL_ENV_TIMEOUT_MS=15000

配置中的环境变量替换

你可以使用 ${VAR_NAME} 语法在配置字符串值中直接引用环境变量:

{
  models: {
    providers: {
      "vercel-gateway": {
        apiKey: "${VERCEL_GATEWAY_API_KEY}",
      },
    },
  },
}

完整详情参见配置:环境变量替换。

相关内容