AstrBot Desktop 环境变量清单

June 4, 2026 · View on GitHub

更新时间:2026-03-13
主要来源:桌面运行时 Rust 模块(如 src-tauri/src/backend/config.rssrc-tauri/src/update_channel.rssrc-tauri/src/bridge/updater_messages.rssrc-tauri/src/runtime_paths.rssrc-tauri/src/launch_plan.rs)、资源准备脚本(scripts/prepare-resources*.mjs)和发布工作流(.github/workflows/build-desktop-tauri.yml)。以下按主要解析/写入阶段分组。

1. 桌面运行时直接读取(src-tauri

变量用途默认值/行为
ASTRBOT_BACKEND_URL后端基础 URL默认 http://127.0.0.1:6185/
ASTRBOT_BACKEND_AUTO_START是否自动拉起后端默认 1(启用)
ASTRBOT_BACKEND_TIMEOUT_MS后端就绪等待超时开发模式默认 20000;打包模式默认回退 900000
ASTRBOT_BACKEND_STARTUP_IDLE_TIMEOUT_MS后端启动 heartbeat 空闲超时默认 60000,范围 5000~900000
ASTRBOT_BACKEND_READY_HTTP_PATH就绪探针 HTTP 路径默认 /api/stat/start-time
ASTRBOT_BACKEND_READY_PROBE_TIMEOUT_MS就绪探针单次超时默认回退到 ASTRBOT_BACKEND_PING_TIMEOUT_MS
ASTRBOT_BACKEND_READY_POLL_INTERVAL_MS就绪轮询间隔默认 300,并按边界 clamp
ASTRBOT_BACKEND_PING_TIMEOUT_MS后端 ping 超时默认 800,范围 50~30000
ASTRBOT_BRIDGE_BACKEND_PING_TIMEOUT_MS桥接层 ping 超时默认回退到 ASTRBOT_BACKEND_PING_TIMEOUT_MS
ASTRBOT_BACKEND_CMD后端启动命令覆盖未设置则按 launch plan 推导
ASTRBOT_BACKEND_CWD后端工作目录覆盖未设置则按 launch plan 推导
ASTRBOT_WEBUI_DIRWebUI 目录覆盖未设置则按资源目录推导
ASTRBOT_ROOTAstrBot 根目录未设置则按打包/临时目录回退
ASTRBOT_DASHBOARD_HOST后端读取的 dashboard host 变量DASHBOARD_HOST 与本变量都未设置,打包态桌面默认写入 DASHBOARD_HOST=127.0.0.1
ASTRBOT_DASHBOARD_PORT后端读取的 dashboard port 变量DASHBOARD_PORT 与本变量都未设置,打包态桌面默认写入 DASHBOARD_PORT=6185
ASTRBOT_DESKTOP_EXTRA_PATH启动后端时追加 PATH未设置则不追加
ASTRBOT_DESKTOP_LOCALE托盘/壳层文案语言默认 zh-CN
ASTRBOT_DESKTOP_LOG_PATH桌面日志文件路径覆盖未设置则回退到 ASTRBOT_ROOT/logs/desktop.log 或临时目录
ASTRBOT_DESKTOP_MANUAL_DOWNLOAD_URLmanual-download reason 文案里的下载地址默认 https://github.com/AstrBotDevs/AstrBot-desktop/releases/latest
ASTRBOT_DESKTOP_STARTUP_MODE启动画面模式提示未设置则自动判定 loading/panel-update
ASTRBOT_DESKTOP_UPDATER_STABLE_ENDPOINTstable 通道 manifest URL 覆盖未设置则读 plugins.updater.channelEndpoints.stable,再回退 plugins.updater.endpoints[0]
ASTRBOT_DESKTOP_UPDATER_NIGHTLY_ENDPOINTnightly 通道 manifest URL 覆盖未设置则读 plugins.updater.channelEndpoints.nightly

2. 源码与资源准备(开发态运行时 / prepare-resources / backend build)

变量用途默认值/行为
ASTRBOT_SOURCE_DIR源码目录覆盖运行时未设置则自动探测;脚本未设置则用 vendor/AstrBot
ASTRBOT_SOURCE_GIT_URL资源准备时源仓库 URL默认 https://github.com/AstrBotDevs/AstrBot.git
ASTRBOT_SOURCE_GIT_REF资源准备时源仓库 ref默认空(不强制切 ref)
ASTRBOT_SOURCE_GIT_REF_IS_COMMIT将 ref 明确标记为 commit默认关闭
ASTRBOT_SOURCE_FORCE_CHECKOUT强制 git checkout -f 覆盖本地改动(CI 默认启用)默认关闭
ASTRBOT_DESKTOP_VERSION桌面版本号覆盖默认读取源码 pyproject.toml
ASTRBOT_DESKTOP_RELEASE_BASE_URLdashboard release 跳转基地址默认 https://github.com/AstrBotDevs/AstrBot-desktop/releases
ASTRBOT_DESKTOP_STRICT_BRIDGE_EXPECTATIONSbridge 产物校验严格模式默认关闭
ASTRBOT_PBS_RELEASEpython-build-standalone release默认 20260211
ASTRBOT_PBS_VERSIONpython-build-standalone Python 版本默认 3.12.12
ASTRBOT_DESKTOP_BACKEND_RUNTIME外部后端 runtime 根目录存在时优先使用
ASTRBOT_DESKTOP_CPYTHON_HOME外部 CPython 根目录作为 bundled runtime 回退
ASTRBOT_DESKTOP_TARGET_ARCH显式指定资源准备阶段要打包的桌面目标架构默认空;未设置时回退到当前 Node 进程架构,CI 建议显式传 amd64arm64
ASTRBOT_DESKTOP_WINDOWS_ARM_BACKEND_ARCHWindows ARM64 构建时覆盖 bundled backend Python 架构默认空;在 Windows ARM64 上默认为 amd64,可显式设为 amd64/x64arm64/aarch64

3. 桌面进程写入给后端子进程

变量用途默认值/行为
ASTRBOT_DESKTOP_CLIENT标记桌面客户端环境打包态启动后端时写入 1
ASTRBOT_BACKEND_STARTUP_HEARTBEAT_PATH桌面端写给后端启动器的 heartbeat 文件路径打包态默认写到 ASTRBOT_ROOT/data/backend-startup-heartbeat.json

局域网访问 WebUI

桌面端默认写入 DASHBOARD_HOST=127.0.0.1,因此 WebUI 默认仅允许本机访问。如果需要从同一局域网内的其他设备访问,推荐编辑 AstrBot 命令配置:

~/.astrbot/data/cmd_config.json

Windows 对应路径通常为 C:\Users\<用户名>\.astrbot\data\cmd_config.json

{
  "dashboard": {
    "host": "0.0.0.0",
    "port": 6185
  }
}

设置后需要完全退出并重新启动 AstrBot Desktop,再通过 http://<主机内网 IP>:6185/ 访问。开启前请确认系统防火墙允许端口 6185,并避免在不可信网络或公网环境暴露该端口。如需恢复默认本机访问,可将 dashboard.host 设回 127.0.0.1 后重启应用。

环境变量优先级高于 cmd_config.json。如果同时设置了 ASTRBOT_DASHBOARD_HOST / DASHBOARD_HOSTASTRBOT_DASHBOARD_PORT / DASHBOARD_PORT,桌面端会优先保留环境变量值。

4. 发布/CI(GitHub Actions)

变量用途默认值/行为
ASTRBOT_DESKTOP_UPDATER_PUBLIC_KEYupdater 公钥透传到构建步骤默认空;当前由 .github/workflows/build-desktop-tauri.yml 传递,Rust 运行时不直接解析
ASTRBOT_DESKTOP_TARGET_ARCH透传矩阵目标架构给资源准备脚本默认空;Windows workflow 当前会传 matrix.arch,避免在 WOA 上误用仿真层 Node 的 process.arch
ASTRBOT_DESKTOP_WINDOWS_ARM_BACKEND_ARCH透传 Windows ARM64 backend runtime 架构覆盖配置到构建步骤默认空;具体取值与默认行为见第 2 节

5. 维护约定

  • 新增 ASTRBOT_* 变量时,必须同步更新本文件与对应模块注释。
  • 变量解析与边界逻辑建议集中在 src-tauri/src/backend/config.rssrc-tauri/src/update_channel.rssrc-tauri/src/bridge/updater_messages.rsscripts/prepare-resources/* 子模块,避免散落在入口文件。