#!/bin/bash # 张大师 Agent 启动脚本 # 用法:source /root/.openclaw/workspace/scripts/start-life-agent.sh set -e AGENT_NAME="张大师 (Life)" AGENT_ID="life" AGENT_PORT="18790" WORKSPACE="/root/.openclaw/workspace" SYSTEMD_SERVICE="agent-life.service" echo "🔮 正在启动 $AGENT_NAME..." # 1. 设置环境变量 export NODE_ENV=production export AGENT_ID=$AGENT_ID export AGENT_PORT=$AGENT_PORT export DASHSCOPE_API_KEY="sk-4111c9dba5334510968f9ae72728944e" export TAVILY_API_KEY="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" export XDG_RUNTIME_DIR=/run/user/0 export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus" # 2. 创建运行时目录 mkdir -p /run/user/0 chmod 700 /run/user/0 # 3. 创建日志目录 mkdir -p $WORKSPACE/logs/agents/life # 4. 检查用户级 systemd 环境 if ! systemctl --user status > /dev/null 2>&1; then echo "⚠️ 用户级 systemd 不可用,启用 linger..." loginctl enable-linger root fi # 5. 复制 systemd 服务文件 echo "📋 配置 systemd 服务..." cp $WORKSPACE/systemd/$SYSTEMD_SERVICE /etc/systemd/system/ systemctl daemon-reload # 6. 启用并启动服务 echo "🚀 启动 $AGENT_NAME 服务..." systemctl enable $SYSTEMD_SERVICE systemctl start $SYSTEMD_SERVICE # 7. 验证状态 sleep 3 if systemctl is-active --quiet $SYSTEMD_SERVICE; then echo "✅ $AGENT_NAME 已成功启动!" echo " - 端口:$AGENT_PORT" echo " - Agent ID: $AGENT_ID" echo " - 日志:journalctl -u $SYSTEMD_SERVICE -f" echo " - 状态:systemctl status $SYSTEMD_SERVICE" else echo "❌ $AGENT_NAME 启动失败!" echo " 查看日志:journalctl -u $SYSTEMD_SERVICE -n 50" exit 1 fi # 8. 注册 cron 任务 echo "⏰ 注册定时任务..." cp $WORKSPACE/agents/life-cron-jobs.json /root/.openclaw/cron/jobs-life.json echo " 定时任务已配置:每天 21:00 推送运程" echo "" echo "🎉 张大师部署完成!"