Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/environment-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
| 变量 | 用途 | 默认值/行为 |
| --- | --- | --- |
| `ASTRBOT_DESKTOP_CLIENT` | 标记桌面客户端环境 | 打包态启动后端时写入 `1` |
| `ASTRBOT_INSTALLATION_SOURCE` | 标记 AstrBot 匿名指标中的安装来源 | 打包态启动后端时写入 `desktop` |
| `ASTRBOT_BACKEND_STARTUP_HEARTBEAT_PATH` | 桌面端写给后端启动器的 heartbeat 文件路径 | 打包态默认写到 `ASTRBOT_ROOT/data/backend-startup-heartbeat.json` |

### 局域网访问 WebUI
Expand Down
14 changes: 11 additions & 3 deletions src-tauri/src/backend/launch.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ const ASTRBOT_DASHBOARD_SKIP_DEFAULT_PASSWORD_AUTH_ENV: &str =
const DASHBOARD_SKIP_DEFAULT_PASSWORD_AUTH_ENV: &str = "DASHBOARD_SKIP_DEFAULT_PASSWORD_AUTH";
const ASTRBOT_DESKTOP_CLIENT_ENV: &str = "ASTRBOT_DESKTOP_CLIENT";
const ASTRBOT_DESKTOP_MANAGED_ENV: &str = "ASTRBOT_DESKTOP_MANAGED";
const ASTRBOT_INSTALLATION_SOURCE_ENV: &str = "ASTRBOT_INSTALLATION_SOURCE";
const DESKTOP_INSTALLATION_SOURCE: &str = "desktop";
const ENABLED_ENV_VALUE: &str = "1";
const DEFAULT_DASHBOARD_HOST: &str = "127.0.0.1";
const DEFAULT_DASHBOARD_PORT: &str = "6185";
Expand Down Expand Up @@ -138,6 +140,7 @@ where
fn mark_as_desktop_managed(command: &mut Command) {
command.env(ASTRBOT_DESKTOP_CLIENT_ENV, ENABLED_ENV_VALUE);
command.env(ASTRBOT_DESKTOP_MANAGED_ENV, ENABLED_ENV_VALUE);
command.env(ASTRBOT_INSTALLATION_SOURCE_ENV, DESKTOP_INSTALLATION_SOURCE);
}

fn configure_desktop_dashboard_environment(
Expand Down Expand Up @@ -543,9 +546,10 @@ mod tests {
read_cmd_config_file_with_retry_and_hook, sanitize_packaged_python_environment,
ASTRBOT_DASHBOARD_HOST_ENV, ASTRBOT_DASHBOARD_PORT_ENV,
ASTRBOT_DASHBOARD_SKIP_DEFAULT_PASSWORD_AUTH_ENV, ASTRBOT_DESKTOP_CLIENT_ENV,
ASTRBOT_DESKTOP_MANAGED_ENV, CMD_CONFIG_RELATIVE_PATH, DASHBOARD_HOST_ENV,
DASHBOARD_PORT_ENV, DASHBOARD_SKIP_DEFAULT_PASSWORD_AUTH_ENV, DEFAULT_DASHBOARD_HOST,
DEFAULT_DASHBOARD_PORT, ENABLED_ENV_VALUE,
ASTRBOT_DESKTOP_MANAGED_ENV, ASTRBOT_INSTALLATION_SOURCE_ENV, CMD_CONFIG_RELATIVE_PATH,
DASHBOARD_HOST_ENV, DASHBOARD_PORT_ENV, DASHBOARD_SKIP_DEFAULT_PASSWORD_AUTH_ENV,
DEFAULT_DASHBOARD_HOST, DEFAULT_DASHBOARD_PORT, DESKTOP_INSTALLATION_SOURCE,
ENABLED_ENV_VALUE,
};

static ENV_TEST_LOCK: Mutex<()> = Mutex::new(());
Expand Down Expand Up @@ -646,6 +650,10 @@ mod tests {
get_command_env_value(&command, ASTRBOT_DESKTOP_MANAGED_ENV),
Some(Some(ENABLED_ENV_VALUE.to_string()))
);
assert_eq!(
get_command_env_value(&command, ASTRBOT_INSTALLATION_SOURCE_ENV),
Some(Some(DESKTOP_INSTALLATION_SOURCE.to_string()))
);
}

#[test]
Expand Down