Files
HomeAgent/deploy/scripts/deploy.sh
JianFeeeee 67d0d90888 refactor(deploy): Windows 安装器与 WSL 引导脚本改名,并修两处跨脚本不同源
installer.nsi / install-via-wsl.ps1:产品名、输出名
HologramAgent_v*_win64.exe、GUI 目录 hologram-gui-win32-x64、快捷方式、
自启注册表项、HOMEAGENT_* → HOLOGRAM_*(安装器写、setup.sh 读,必须同改)、
WSL 内数据目录 /var/lib/hologram 与 hologramagent.service。

package-windows.sh 两处顺带修:
 1. GUI payload 目录名**不假设上游已改名**。它由 Makefile:331
    (GUI_BINARY=homeagent-gui)或 build.sh 的 electron-builder
    (productName=HomeAgent)产出,两者都归别的批;而 .nsi 现在期望
    hologram-gui-win32-x64。直接改引用会让 Windows 包以
    "[FAIL] 需要 GUI payload" 挂掉(或者更糟:有人放宽检查,安装器
    File 一个不存在的目录)。改成找到哪个用哪个、统一 stage 成 .nsi 期望名。
 2. 版本号解析与 package-linux.sh/build.sh 同源。原先直接
    `git describe --tags`,无 tag 分支上拿到的是分支名,于是拼出的
    DEB_GLOB 永远找不到包 —— 报错信息看起来像"Linux 包没打出来",
    真因是版本号被解析成分支名。现改为「形如 vX.Y.Z 才采用,否则回退
    meta.Version」,并加数字开头守卫。

deploy/scripts/deploy.sh:单元文件名与 systemctl 提示改成 hologramagent。
(deploy-plan.sh 不动:它的 SVC 指的是**本机正在跑的那个**旧单元,
 归部署 runbook;deploy-sdk-site.sh 的域名归批 5;upload_assets.py 的
 仓库名归批 4。)
2026-10-21 13:21:12 +08:00

48 lines
1.5 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
set -euo pipefail
# HologramAgent 部署脚本
# 用法: cd <project-root> && sudo bash deploy/scripts/deploy.sh
PROJECT_ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
BIN_DIR="/usr/local/bin"
DATA_DIR="/home/newqqagent"
SERVICE_FILE="/etc/systemd/system/hologramagent.service"
echo "=== 构建 homed / waiter ==="
cd "$PROJECT_ROOT"
HOME=/root GOPATH=/root/go GOMODCACHE=/root/go/pkg/mod GOCACHE=/root/.cache/go-build make build build-cli
echo "=== 安装二进制 ==="
cp build/homed "$BIN_DIR/homed"
cp build/waiter "$BIN_DIR/waiter"
chmod 755 "$BIN_DIR/homed" "$BIN_DIR/waiter"
echo "=== 创建数据目录 ==="
mkdir -p "$DATA_DIR/plugins"
echo "=== 部署 QQ 插件 ==="
if [ -d "$PROJECT_ROOT/plugins/qq" ]; then
mkdir -p "$DATA_DIR/plugins/qq"
cp "$PROJECT_ROOT/plugins/qq/plugin.json" "$DATA_DIR/plugins/qq/"
cp "$PROJECT_ROOT/plugins/qq/plugin.so" "$DATA_DIR/plugins/qq/"
echo "QQ 插件已部署"
fi
echo "=== 安装 systemd 服务 ==="
cp "$(dirname "$0")/hologramagent.service" "$SERVICE_FILE"
systemctl daemon-reload
echo ""
echo "=== 部署完成 ==="
echo ""
echo "启动: systemctl start hologramagent"
echo "状态: systemctl status hologramagent"
echo "日志: journalctl -u hologramagent -f"
echo "停止: systemctl stop hologramagent"
echo "WebUI: http://localhost:8080"
echo "CLI: /home/newqqagent/cli.sock"
echo ""
echo "首次使用请通过 WebUI → 设置 配置 API 密钥"
echo "工作目录: 在 WebUI 设置 → core.agent.workdir 中配置(如 /home/newqqagent/workspace)"