You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

67 lines
1.9 KiB

#!/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 "🎉 张大师部署完成!"