|
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
# 桐哥每日运势推送 - 一键部署脚本
|
|
|
|
|
|
# 用法:source /root/.openclaw/workspace/scripts/deploy-tongge-fortune.sh
|
|
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
|
|
echo "🔮 桐哥每日运势推送 - 部署脚本"
|
|
|
|
|
|
echo "================================"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
# 1. 检查技能文件
|
|
|
|
|
|
echo "1️⃣ 检查技能文件..."
|
|
|
|
|
|
if [ ! -f "/root/.openclaw/workspace/skills/daily-horoscope/index.js" ]; then
|
|
|
|
|
|
echo "❌ 技能文件不存在!"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
echo "✅ 技能文件存在"
|
|
|
|
|
|
|
|
|
|
|
|
# 2. 更新桐哥配置
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "2️⃣ 更新桐哥配置..."
|
|
|
|
|
|
BACKUP_FILE="/root/.openclaw-tongge/openclaw.json.bak.$(date +%Y%m%d-%H%M%S)"
|
|
|
|
|
|
cp /root/.openclaw-tongge/openclaw.json "$BACKUP_FILE"
|
|
|
|
|
|
echo "✅ 原配置已备份:$BACKUP_FILE"
|
|
|
|
|
|
|
|
|
|
|
|
cp /tmp/tongge-config.json /root/.openclaw-tongge/openclaw.json
|
|
|
|
|
|
echo "✅ 新配置已应用"
|
|
|
|
|
|
|
|
|
|
|
|
# 3. 验证配置
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "3️⃣ 验证配置..."
|
|
|
|
|
|
if openclaw --profile tongge doctor 2>&1 | grep -q "error\|Error\|ERROR"; then
|
|
|
|
|
|
echo "⚠️ 配置验证有警告,但继续..."
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "✅ 配置验证通过"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# 4. 添加 Cron 任务
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "4️⃣ 添加 Cron 定时任务..."
|
|
|
|
|
|
|
|
|
|
|
|
# 先检查是否已存在
|
|
|
|
|
|
JOB_EXISTS=$(openclaw --profile tongge cron list --json 2>/dev/null | grep -c "每日运势推送" || echo "0")
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$JOB_EXISTS" -gt 0 ]; then
|
|
|
|
|
|
echo "⚠️ Cron 任务已存在,跳过"
|
|
|
|
|
|
else
|
|
|
|
|
|
# 添加任务
|
|
|
|
|
|
openclaw --profile tongge cron add \
|
|
|
|
|
|
--name "每日运势推送" \
|
|
|
|
|
|
--cron "0 21 * * *" \
|
|
|
|
|
|
--tz "Asia/Shanghai" \
|
|
|
|
|
|
--session isolated \
|
|
|
|
|
|
--message "请使用 daily-horoscope 技能查询明日运势,包括黄历、金牛座运势、八字分析,然后整理成温馨的消息发送给王院长。记得用桐哥的风格,像朋友一样关心。" \
|
|
|
|
|
|
--announce \
|
|
|
|
|
|
--channel telegram \
|
|
|
|
|
|
--to "user:5237946060"
|
|
|
|
|
|
echo "✅ Cron 任务已添加"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# 5. 重启桐哥 Gateway
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "5️⃣ 重启桐哥 Gateway..."
|
|
|
|
|
|
systemctl --user restart openclaw-gateway-tongge.service
|
|
|
|
|
|
sleep 3
|
|
|
|
|
|
|
|
|
|
|
|
# 检查状态
|
|
|
|
|
|
if systemctl --user is-active --quiet openclaw-gateway-tongge.service; then
|
|
|
|
|
|
echo "✅ 桐哥 Gateway 已重启"
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "❌ 桐哥 Gateway 启动失败!"
|
|
|
|
|
|
systemctl --user status openclaw-gateway-tongge.service --no-pager
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# 6. 显示状态
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "6️⃣ 当前状态..."
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "📋 Cron 任务列表:"
|
|
|
|
|
|
openclaw --profile tongge cron list
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
echo "🔍 服务状态:"
|
|
|
|
|
|
systemctl --user status openclaw-gateway-tongge.service --no-pager -n 5
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
# 7. 测试提示
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "================================"
|
|
|
|
|
|
echo "✅ 部署完成!"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "📝 下一步:"
|
|
|
|
|
|
echo "1. 等待今晚 21:00 查看自动推送"
|
|
|
|
|
|
echo "2. 或手动测试:openclaw --profile tongge cron run <job-id>"
|
|
|
|
|
|
echo "3. 查看日志:journalctl --user -u openclaw-gateway-tongge.service -f"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "📚 详细文档:/root/.openclaw/workspace/docs/tongge-fortune-setup.md"
|
|
|
|
|
|
echo ""
|