#!/bin/bash # ============================================ # Skills 同步脚本 # 确保 nanobot工作区 和 Git仓库 代码一致 # ============================================ set -e NANOBOT_SKILLS="/home/ubuntu/.nanobot/workspace/skills" GIT_SKILLS="/home/ubuntu/nanocode/skills" echo "==========================================" echo " Skills 同步工具" echo " 时间: $(date '+%Y-%m-%d %H:%M:%S')" echo "==========================================" echo "" # 检查目录是否存在 if [ ! -d "$NANOBOT_SKILLS" ]; then echo "❌ 错误: nanobot skills目录不存在: $NANOBOT_SKILLS" exit 1 fi if [ ! -d "$GIT_SKILLS" ]; then echo "❌ 错误: Git skills目录不存在: $GIT_SKILLS" exit 1 fi echo "📂 nanobot工作区: $NANOBOT_SKILLS" echo "📂 Git仓库: $GIT_SKILLS" echo "" # 显示当前状态 echo "1️⃣ 当前状态:" echo " nanobot skills数量: $(ls -1 $NANOBOT_SKILLS | wc -l)" echo " Git skills数量: $(ls -1 $GIT_SKILLS | wc -l)" echo "" # 同步选项 echo "2️⃣ 选择同步方向:" echo " [1] nanobot → Git (开发→提交)" echo " [2] Git → nanobot (更新→运行)" echo " [3] 双向同步 (检查差异)" echo "" if [ -z "$1" ]; then read -p "请选择 [1/2/3]: " choice else choice=$1 fi case $choice in 1) echo "🔄 同步: nanobot → Git" echo " 复制文件..." rsync -av --delete "$NANOBOT_SKILLS/" "$GIT_SKILLS/" echo "✅ 同步完成" echo "" echo "下一步: 提交Git" echo " cd /home/ubuntu/nanocode" echo " git add skills/" echo " git commit -m '同步skills更新'" echo " git push" ;; 2) echo "🔄 同步: Git → nanobot" echo " 复制文件..." rsync -av --delete "$GIT_SKILLS/" "$NANOBOT_SKILLS/" echo "✅ 同步完成" echo "" echo "nanobot将使用更新后的技能" ;; 3) echo "🔍 检查差异..." diff -r "$NANOBOT_SKILLS" "$GIT_SKILLS" --brief || true echo "" echo "详细差异:" diff -r "$NANOBOT_SKILLS" "$GIT_SKILLS" | head -50 || echo "无差异" ;; *) echo "❌ 无效选择" exit 1 ;; esac echo "" echo "==========================================" echo " 同步操作完成" echo "=========================================="