diff --git a/scripts/README-GitHub同步.md b/scripts/README-GitHub同步.md new file mode 100644 index 00000000..843526f1 --- /dev/null +++ b/scripts/README-GitHub同步.md @@ -0,0 +1,20 @@ +# 卡若AI · GitHub 同步说明 + +- **本地路径**:`/Users/karuo/Documents/个人/卡若AI` +- **GitHub 仓库**:https://github.com/fnvtk/karuo-ai + +## 手动同步 +```bash +cd "/Users/karuo/Documents/个人/卡若AI" +./scripts/push-to-github.sh +``` + +## 定时任务 +已安装:每 4 小时自动执行一次同步(有变更才提交并推送)。 +- 卸载:`launchctl unload ~/Library/LaunchAgents/com.karuo.ai.push-github.plist` + +## Token +上传使用的 GitHub Token 由卡路亚提供;若更换账号或 Token,请更新 remote: +```bash +git remote set-url origin https://<新TOKEN>@github.com/fnvtk/karuo-ai.git +``` diff --git a/scripts/com.karuo.ai.push-github.plist b/scripts/com.karuo.ai.push-github.plist new file mode 100644 index 00000000..f000f7d2 --- /dev/null +++ b/scripts/com.karuo.ai.push-github.plist @@ -0,0 +1,23 @@ + + + + + Label + com.karuo.ai.push-github + ProgramArguments + + /bin/bash + /Users/karuo/Documents/个人/卡若AI/scripts/push-to-github.sh + + StartInterval + 14400 + WorkingDirectory + /Users/karuo/Documents/个人/卡若AI + StandardOutPath + /tmp/karuo-ai-push-github.log + StandardErrorPath + /tmp/karuo-ai-push-github.err + RunAtLoad + + + diff --git a/scripts/push-to-github.sh b/scripts/push-to-github.sh new file mode 100755 index 00000000..1ddaf3d3 --- /dev/null +++ b/scripts/push-to-github.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# 卡若AI · 本地 → GitHub 同步(路径:个人/卡若AI) +# 用法:./scripts/push-to-github.sh [提交说明] + +set -e +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +cd "$REPO_ROOT" + +if ! git remote get-url origin &>/dev/null; then + echo "未配置 origin。请执行: git remote add origin <仓库URL>" + exit 1 +fi + +if git diff --quiet && git diff --cached --quiet && [[ -z $(git status -s) ]]; then + echo "[$(date '+%Y-%m-%d %H:%M')] 无变更,跳过推送。" + exit 0 +fi + +git add -A +msg="${1:-同步卡若AI:$(date '+%Y-%m-%d %H:%M')}" +git commit -m "$msg" || true +git push origin HEAD +echo "[$(date '+%Y-%m-%d %H:%M')] 已推送到 GitHub。"