openclaw-home-pc/vector_memory/feishu_sync.py
2026-03-24 04:00:48 +08:00

96 lines
2.7 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
向量记忆系统 - 飞书云盘同步脚本
功能:将本地备份自动上传到飞书云盘
"""
import os
import sys
import json
import subprocess
from datetime import datetime
from pathlib import Path
# 飞书云盘配置
FOLDER_TOKEN = "C9jPf8MVwlvWgldZ7VHcHrLTnCf" # openclaw 文件夹
def get_latest_backup():
"""获取最新备份文件"""
backup_dir = Path("./backups")
if not backup_dir.exists():
return None
# 找最新的 JSON 备份
json_files = list(backup_dir.glob("memory_backup_*.json"))
if not json_files:
return None
return max(json_files, key=os.path.getmtime)
def upload_to_feishu(file_path: str):
"""上传文件到飞书云盘"""
try:
# 使用飞书 CLI 或 API 上传
# 这里需要飞书开放平台的应用权限
print(f"📤 准备上传: {file_path}")
print(f"⚠️ 飞书云盘上传需要应用权限,请手动上传")
print(f" 1. 打开飞书云盘")
print(f" 2. 进入 openclaw 文件夹")
print(f" 3. 上传文件: {file_path}")
return False
except Exception as e:
print(f"❌ 上传失败: {e}")
return False
def sync_to_feishu():
"""同步最新备份到飞书"""
print("=" * 50)
print("🧠 向量记忆系统 - 飞书云盘同步")
print("=" * 50)
# 获取最新备份
latest = get_latest_backup()
if not latest:
print("❌ 没有找到备份文件,请先运行: python3 memory_backup.py backup")
return
print(f"\n📦 最新备份: {latest.name}")
print(f" 大小: {latest.stat().st_size / 1024:.1f} KB")
print(f" 时间: {datetime.fromtimestamp(latest.stat().st_mtime)}")
# 提示用户手动上传
print("\n" + "=" * 50)
print("📋 手动上传步骤:")
print("=" * 50)
print(f"1. 打开飞书 → 云空间 → openclaw 文件夹")
print(f"2. 点击「上传」按钮")
print(f"3. 选择文件: {latest.absolute()}")
print(f"4. 完成!")
print("=" * 50)
def main():
import argparse
parser = argparse.ArgumentParser(description="飞书云盘同步工具")
parser.add_argument("command", nargs="?", default="sync",
help="命令: sync(同步), latest(查看最新)")
args = parser.parse_args()
if args.command == "sync":
sync_to_feishu()
elif args.command == "latest":
latest = get_latest_backup()
if latest:
print(f"📦 最新备份: {latest.name}")
print(f" 路径: {latest.absolute()}")
else:
print("❌ 没有找到备份文件")
if __name__ == "__main__":
main()