如果你只想使用软件,不需要本地构建,请直接从 Releases 下载对应系统的安装包。
版本说明:
本项目采用 AGPL-3.0 开源协议,协议全文见:LICENSE。
推荐直接使用 Makefile:
make deps
make prepare
make dev
make build可用命令总览:
make help构建产物默认在 src-tauri/target/release/bundle/。
make lint
make test
make doctor
make clean
make prunemake test 会执行:
- Rust 全量单元测试(
cargo test --locked) - 资源准备脚本行为测试(
pnpm run test:prepare-resources,若本地无pnpm会跳过并提示)
make update:从上游同步版本(推荐日常使用)。make sync-version:从当前解析到的 AstrBot 源同步版本(会受本地环境变量影响)。make build:默认使用当前package.json的版本,可用ASTRBOT_DESKTOP_VERSION=...覆盖(支持v前缀,写入时会自动去掉)。
桌面端版本会同步到:
package.jsonsrc-tauri/Cargo.tomlsrc-tauri/tauri.conf.json
ASTRBOT_SOURCE_GIT_URL/ASTRBOT_SOURCE_GIT_REF:指定上游仓库与分支/标签(默认https://github.com/AstrBotDevs/AstrBot.git+master)。ASTRBOT_SOURCE_DIR:指定本地 AstrBot 源码目录(用于sync-version/资源准备,build也会读取)。ASTRBOT_BUILD_SOURCE_DIR:仅用于本次make build的源码目录,优先级高于ASTRBOT_SOURCE_DIR。ASTRBOT_DESKTOP_VERSION:覆盖写入桌面版本号(支持v前缀,内部会归一化为无v)。
示例:
make update
make update ASTRBOT_SOURCE_GIT_REF=v4.17.5
make build ASTRBOT_DESKTOP_VERSION=v4.17.5
make build ASTRBOT_BUILD_SOURCE_DIR=/path/to/AstrBot清理构建相关环境变量:
make clean-env
source .astrbot-reset-env.sh- 定时构建(
schedule)检测到上游新 tag 时,会先自动同步版本文件并提交,再继续构建。 - 手动触发(
workflow_dispatch)默认只构建,不自动回写版本文件。
src-tauri/tauri.conf.json 配置了 beforeBuildCommand=pnpm run prepare:resources。构建时会自动完成:
- 拉取/更新 AstrBot 源码
- 构建并同步
resources/webui - 准备
resources/backend(含运行时与启动脚本) - 执行 Tauri 打包
如果你是从网络下载的安装包,macOS 可能给 AstrBot.app 打上 quarantine 标记。可执行:
xattr -dr com.apple.quarantine /Applications/AstrBot.app然后重新启动应用。如果应用不在 /Applications,请替换为实际路径。
部分 MCP 工具依赖 node/npx 或 uvx。可按下面方式安装并校验。
- 安装 Node.js(
npx随 npm 一起提供)
- macOS(Homebrew):
brew install node- Windows: 使用 Node.js 官方安装器安装 LTS 版本:https://nodejs.org/
- Linux(Debian/Ubuntu):
sudo apt-get update
sudo apt-get install -y nodejs npm- 安装 uv(提供
uvx)
- macOS(Homebrew):
brew install uv- 其他系统请参考官方安装文档:https://docs.astral.sh/uv/getting-started/installation/
- 校验命令可用
node -v
# Debian/Ubuntu 某些环境中可执行文件名可能是 nodejs
nodejs -v
npm -v
npx -v
uvx --version说明:有时会把 npx 误写为 nvx,正确命令是 npx。