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.

100 lines
2.9 KiB

#!/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 ""