Files
nanocode/sync-skills.sh
T
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

90 lines
2.3 KiB
Bash
Executable File

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