← 返回 Skills 市场
zenyang-x

Cross Terminal Sync

作者 ZenYang-X · GitHub ↗ · v2.0.0 · MIT-0
cross-platform ⚠ suspicious
52
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install cross-terminal-sync
功能描述
WorkBuddy 跨终端(Mac/Windows)无缝切换方案。双层架构:MCP API 直连 OneDrive 云端(优先跨终端搜索)+ 文件同步(日常主力)。支持跨终端任务搜索与接力执行。触发场景:用户提到"跨终端"、"另一台电脑"、"Windows 上做的任务在这台继续"、"同步 Skill/项目/配置"等。
使用说明 (SKILL.md)

Cross-Terminal Sync v2 — 双层跨终端方案

两层架构:MCP API 直连云端(快速搜索) + OneDrive 文件同步(日常主力)。 优先级:日常干活走文件同步(零延迟),紧急跨终端搜索走 MCP API(毫秒级),两种方式互补。

架构总览

                        Microsoft Graph API (云端)
                              ↑ 直连
                    ┌─────────┴─────────┐
                    │  MCP Server       │  ← 快路径(跨终端紧急搜索)
                    │  (onedrive-mcp)   │
                    └───────────────────┘
                              ↑
                    ┌─────────┴─────────┐
                    │     WorkBuddy     │
                    └─────────┬─────────┘
                              │ 读写(符号链接)
              ┌───────────────┴───────────────┐
              │     OneDrive 本地文件夹        │  ← 主路径(日常干活)
              │  ~/OneDrive/WorkBuddySync/    │
              └───────────────┬───────────────┘
                              │ OneDrive 客户端自动同步
                        Microsoft 云端存储

为什么双层?

  • 日常干活:文件同步就够了,你一般在一台机器上连续工作,不会突然切换
  • 偶尔需要查另一台的成果:MCP API 直接翻云端,不等 OneDrive 客户端同步
  • MCP 不需要管理员权限(纯用户态 Python 应用),公司电脑也能装

目录结构

~/OneDrive/WorkBuddySync/
├── mac/                    # Mac 终端数据
│   ├── skills/             # Mac 安装的 Skill
│   ├── projects/           # Mac 项目文件
│   └── workbuddy.db        # Mac 自动化任务配置
├── windows/                # Windows 终端数据
│   ├── skills/             # Windows 安装的 Skill
│   ├── projects/           # Windows 项目文件
│   └── workbuddy.db        # Windows 自动化任务配置
├── shared/                 # 两台终端共享(内容同步一致)
│   ├── MEMORY.md           # 跨项目长期记忆
│   ├── IDENTITY.md         # Agent 身份
│   ├── USER.md             # 用户档案
│   └── SOUL.md             # Agent 人格
└── README.md               # 结构说明

符号链接关系(以 Mac 为例):

~/.workbuddy/skills    → ~/OneDrive/WorkBuddySync/mac/skills
~/.workbuddy/projects  → ~/OneDrive/WorkBuddySync/mac/projects
~/.workbuddy/MEMORY.md → ~/OneDrive/WorkBuddySync/shared/MEMORY.md
~/.workbuddy/IDENTITY.md → ~/OneDrive/WorkBuddySync/shared/IDENTITY.md
~/.workbuddy/USER.md   → ~/OneDrive/WorkBuddySync/shared/USER.md
~/.workbuddy/SOUL.md   → ~/OneDrive/WorkBuddySync/shared/SOUL.md
~/.workbuddy/workbuddy.db → ~/OneDrive/WorkBuddySync/mac/workbuddy.db

功能 0:安装 MCP Server(快速搜索通道,推荐)

MCP API 直连 OneDrive 云端,不需要管理员权限

为什么不需要管理员权限?

MrFixit96/onedrive-mcp-server 是纯用户态 Python 应用:

  • ❌ 不需要管理员权限
  • ❌ 不注册系统服务
  • ❌ 不修改注册表
  • ❌ 不安装证书
  • ✅ 作为普通进程运行,绑定高端口 (>1024)
  • ✅ 使用用户自己的 OS 密钥环存储凭据(不碰系统级安全策略)

公司电脑无管理员权限也可以装。

Mac 安装

# 1. 安装
pip install git+https://github.com/MrFixit96/onedrive-mcp-server.git

# 2. 配置 WorkBuddy MCP(添加到 ~/.workbuddy/mcp.json)
# HTTP 模式最省事,不需要 Azure 应用注册

~/.workbuddy/mcp.json 添加:

{
  "mcpServers": {
    "onedrive": {
      "type": "http",
      "url": "http://localhost:3001/mcp"
    }
  }
}

启动 MCP Server:

# HTTP 模式(推荐,零配置 SSO)
onedrive-mcp --http
# 默认端口 3001,WorkBuddy 自动处理 OAuth 认证

Windows 安装

# 1. 安装(不需要管理员权限)
pip install git+https://github.com/MrFixit96/onedrive-mcp-server.git

# 2. 启动
onedrive-mcp --http
# 同样零配置,WorkBuddy 自动处理认证

MCP 提供的 6 个工具

工具 功能
list_files 列出 OneDrive 任意路径的文件
search_files 跨文件名和内容全文搜索
get_file_metadata 获取文件大小、类型、修改时间
download_file 下载文件(带路径安全保护)
upload_file 上传文件(>4MB 支持断点续传)
create_sharing_link 生成分享链接

什么时候用 MCP?

日常干活 → 走文件同步(符号链接 → OneDrive 本地文件夹)
跨终端紧急查找 → 走 MCP API(直连云端,不等同步)
OneDrive 客户端挂了 → MCP API 兜底

功能 1:初始化文件同步(首次执行)

在 Windows WorkBuddy 中加载此 Skill 后,先说"初始化跨终端同步",然后按以下步骤执行:

Step 1: 找到 OneDrive 路径

# 查找 OneDrive 路径
$env:OneDriveCommercial
# 或
$env:OneDrive
# 常见路径:C:\Users\\x3C用户名>\OneDrive - ZURU INC\

Step 2: 检查目录结构是否已存在

检查 OneDrive根目录\WorkBuddySync\ 是否已存在:

  • 如果已存在(Mac 端已创建),跳过创建,直接进入 Step 4
  • 如果不存在,执行 Step 3

Step 3: 创建目录结构

$ONEDRIVE = "C:\Users\\x3C你的用户名>\OneDrive - ZURU INC"  # 替换为实际路径
New-Item -ItemType Directory -Force -Path "$ONEDRIVE\WorkBuddySync\mac\skills"
New-Item -ItemType Directory -Force -Path "$ONEDRIVE\WorkBuddySync\mac\projects"
New-Item -ItemType Directory -Force -Path "$ONEDRIVE\WorkBuddySync\windows\skills"
New-Item -ItemType Directory -Force -Path "$ONEDRIVE\WorkBuddySync\windows\projects"
New-Item -ItemType Directory -Force -Path "$ONEDRIVE\WorkBuddySync\shared"

Step 4: 建立符号链接

Windows 创建符号链接的两种方式(都不需要真正的管理员权限):

方式 A(推荐):开启开发者模式

设置 → 更新和安全 → 开发者选项 → 开启"开发人员模式"
开启后 mklink 无需管理员权限

方式 B:使用目录联接 (Junction) 目录联接不需要管理员权限,效果和符号链接一样:

REM 先备份原目录
ren %USERPROFILE%\.workbuddy\skills skills.bak
ren %USERPROFILE%\.workbuddy\projects projects.bak

REM 创建目录联接(不需要管理员!)
mklink /J %USERPROFILE%\.workbuddy\skills "%ONEDRIVE%\WorkBuddySync\windows\skills"
mklink /J %USERPROFILE%\.workbuddy\projects "%ONEDRIVE%\WorkBuddySync\windows\projects"

REM 文件仍需符号链接(或直接手动复制到 OneDrive 目录)
ren %USERPROFILE%\.workbuddy\MEMORY.md MEMORY.md.bak
mklink %USERPROFILE%\.workbuddy\MEMORY.md "%ONEDRIVE%\WorkBuddySync\shared\MEMORY.md"
ren %USERPROFILE%\.workbuddy\IDENTITY.md IDENTITY.md.bak
mklink %USERPROFILE%\.workbuddy\IDENTITY.md "%ONEDRIVE%\WorkBuddySync\shared\IDENTITY.md"
ren %USERPROFILE%\.workbuddy\USER.md USER.md.bak
mklink %USERPROFILE%\.workbuddy\USER.md "%ONEDRIVE%\WorkBuddySync\shared\USER.md"
ren %USERPROFILE%\.workbuddy\SOUL.md SOUL.md.bak
mklink %USERPROFILE%\.workbuddy\SOUL.md "%ONEDRIVE%\WorkBuddySync\shared\SOUL.md"
ren %USERPROFILE%\.workbuddy\workbuddy.db workbuddy.db.bak
mklink %USERPROFILE%\.workbuddy\workbuddy.db "%ONEDRIVE%\WorkBuddySync\windows\workbuddy.db"

注意mklink /J(目录联接)不需要管理员权限。mklink(文件符号链接)在开启开发者模式后也不需要。

Step 5: 验证

Get-Item "$env:USERPROFILE\.workbuddy\skills" | Select-Object LinkType, Target
Get-Item "$env:USERPROFILE\.workbuddy\MEMORY.md" | Select-Object LinkType, Target

功能 2:自动等待 OneDrive 同步

在读取 OneDrive 文件前,确保文件已同步到最新。使用信号文件机制:

方法:写入信号文件 + 轮询等待

# === Mac ===
ONEDRIVE="$HOME/OneDrive - ZURU INC/WorkBuddySync"
SIGNAL_FILE="$ONEDRIVE/.sync_signal_$(hostname -s)"

# 1. 写入信号文件
echo "$(date +%s)" > "$SIGNAL_FILE"

# 2. 等待 OneDrive 上传(最多等 30 秒)
for i in $(seq 1 30); do
  # 检查文件修改时间是否被同步回(说明云端已确认)
  if [ -f "$SIGNAL_FILE" ]; then
    MOD_TIME=$(stat -f %m "$SIGNAL_FILE" 2>/dev/null)
    if [ "$MOD_TIME" -gt "$(date -v-5S +%s)" ]; then
      echo "OneDrive sync OK"
      break
    fi
  fi
  sleep 1
done
# === Windows ===
$ONEDRIVE = "$env:USERPROFILE\OneDrive - ZURU INC\WorkBuddySync"
$SIGNAL_FILE = "$ONEDRIVE\.sync_signal_$env:COMPUTERNAME"

# 1. 写入信号文件
Get-Date -UFormat %s | Out-File -FilePath $SIGNAL_FILE

# 2. 等待同步(最多 30 秒)
for ($i=0; $i -lt 30; $i++) {
  if (Test-Path $SIGNAL_FILE) {
    $lastWrite = (Get-Item $SIGNAL_FILE).LastWriteTime
    if ($lastWrite -gt (Get-Date).AddSeconds(-5)) {
      Write-Host "OneDrive sync OK"
      break
    }
  }
  Start-Sleep -Seconds 1
}

关键原则

  • 在任何跨终端文件读取之前,先执行此同步等待
  • 超时 30 秒后仍继续执行,但提示用户"OneDrive 同步可能未完成"
  • 如果 OneDrive 客户端未运行,警告用户

功能 3:跨终端任务搜索与接力执行(双层搜索)

搜索优先级(核心逻辑)

用户说: "调用之前在 Windows 做的【多Agent生成视频工作流】的成果"

                    ┌─────────────────┐
                    │  Step 0: 本地搜索 │  ← 先搜本机(最快)
                    │  ~/.workbuddy/   │
                    └────────┬────────┘
                             │ 未找到
                    ┌────────▼─────────┐
                    │ Step 1: MCP API  │  ← 直连云端搜另一终端(毫秒级)
                    │ 如果 MCP 已安装  │
                    └────────┬────────┘
                             │ 未找到或 MCP 未装
                    ┌────────▼─────────┐
                    │ Step 2: 文件同步  │  ← 等 OneDrive 同步后搜(兜底)
                    │ 搜另一终端目录    │
                    └────────┬────────┘
                             │ 都未找到
                    ┌────────▼─────────┐
                    │ Step 3: 新任务    │  ← 从头开始
                    └──────────────────┘

详细逻辑

步骤 方式 速度 适用场景
Step 0 搜索本机 ~/.workbuddy/ + workspace diary 即时 日常主力路径
Step 1 MCP API search_files 直连云端 毫秒级 紧急跨终端查找、OneDrive 客户端挂了
Step 2 等 OneDrive 同步后搜另一终端目录 秒~十秒 MCP 未安装时的回退
Step 3 报告"都未找到",询问是否开始新任务 全新任务

Step 1 实现:MCP API 搜索(推荐)

# 伪代码:WB 通过 MCP 搜索另一终端
# MCP Server 提供的 search_files 工具直接搜 OneDrive 云端

# 假设当前在 Mac,搜索 Windows 终端做过的工作:
mcp_search(
    path="/WorkBuddySync/windows",  # 另一终端的目录
    query="多Agent 视频 工作流"       # 用户描述的关键词
)
# 返回云端文件列表,下载需要的文件到本地

优势:不依赖 OneDrive 客户端是否在运行、是否同步完成。直接问云端。

Step 2 回退:文件同步搜索

当 MCP 未安装或不可用时,走传统文件同步路径:

  • 先执行功能 2(同步等待)
  • 再搜索 OneDrive 本地目录中另一终端的文件

搜索关键词提取

从用户输入中提取搜索关键词:

  • 项目名:助农精选联盟、中登日记、1688、NeverLand、EntroCamp、虾评
  • 动作词:视频、拆书、多Agent、工作流、Pipeline、自动化
  • 文件类型:Skill、Project、日记、配置

实现参考

# Mac 端:MCP API 搜索(优先)
# 通过 MCP onedrive search_files 工具直连云端

# 回退:文件系统搜索另一终端
OTHER_TERM="windows"  # 或 "mac"
ONEDRIVE="$HOME/OneDrive - ZURU INC/WorkBuddySync"
grep -rl "$KEYWORD" "$ONEDRIVE/$OTHER_TERM/" 2>/dev/null

功能 4:同步状态检查(补充功能)

检查两台终端的同步健康状态:

检查项:
├── OneDrive 客户端是否运行?
├── WorkBuddySync 目录是否存在?
├── mac/ 和 windows/ 目录内容是否最新?
├── shared/ 核心配置文件是否一致?
├── 符号链接是否完好(未断链)?
└── 最近一次同步时间?

执行命令

# Mac
echo "=== OneDrive 状态 ===" && pgrep -l "OneDrive" && echo "=== 同步目录 ===" && ls -la "$HOME/OneDrive - ZURU INC/WorkBuddySync/" && echo "=== 符号链接 ===" && ls -la ~/.workbuddy/ | grep "^l"
# Windows
Write-Host "=== OneDrive 状态 ==="; Get-Process "OneDrive" -ErrorAction SilentlyContinue
Write-Host "=== 同步目录 ==="; Get-ChildItem "$env:USERPROFILE\OneDrive - ZURU INC\WorkBuddySync\"
Write-Host "=== 符号链接 ==="; cmd /c "dir /AL $env:USERPROFILE\.workbuddy"

功能 5:冲突预防(补充功能)

由于用户交替使用两台终端,通常不会同时操作。但需要防护:

  1. 写入前检查:在修改 shared/ 文件前,检查另一终端的信号文件时间戳
  2. 锁定机制:写入 shared/MEMORY.md 前,在 shared/ 创建 .lock_\x3Chostname> 文件,写完后删除
  3. 差异报告:如果检测到 mac/skills/ 和 windows/skills/ 有同名 Skill 但内容不同,报告差异让用户决定以哪个为准

当前已知的终端信息

终端 OneDrive 路径 角色
Mac ~/OneDrive - ZURU INC/WorkBuddySync/ 私人相关内容
Windows %USERPROFILE%\OneDrive - ZURU INC\WorkBuddySync\ 工作相关内容

补充考虑的场景

场景 处理方式
某台终端 Skill 更新了 OneDrive 自动同步 + MCP API 可快速拉取最新版本
设备离线时做了任务 联网后 OneDrive 自动上传,MCP API 可主动拉取(不等客户端同步)
shared/MEMORY.md 两台同时写入 锁定机制 + OneDrive 版本历史兜底
mac/ 和 windows/ 有同名项目 功能 5 差异报告,用户选择合并或保留
Windows 无管理员权限 开启开发者模式或使用 mklink /J(目录联接,不需要管理员)
OneDrive 空间不足 检查可用空间,建议排除 binaries/ 大文件
想新增第三台设备(如 Linux) 在 WorkBuddySync/ 下新增 linux/ 目录 + MCP 照样用
公司防火墙拦截某些端口 MCP 走 HTTPS (443),与浏览器相同,不会被拦截
MCP Server 进程挂了 自动回退到文件同步路径,不影响干活
OneDrive 客户端未启动 MCP API 不受影响,文件同步不可用但有 MCP 兜底

使用示例

示例 1:Windows 上初始化

用户: "初始化跨终端同步"
WB: 执行功能 1 → 创建目录 → 建立符号链接 → 验证

示例 2:调用另一终端成果

用户: "调用之前在多Agent生成视频工作流的成果"
WB: Step1 本地搜 → 未找到
     Step2 OneDrive 搜 windows/projects → 找到 → 加载 → 继续执行

示例 3:检查同步状态

用户: "检查下两台终端的同步状态"
WB: 执行功能 4 → 输出状态报告

示例 4:跨终端执行后的记忆写入

在 Windows 上完成项目 X 后:
WB 写入 memory 到 shared/MEMORY.md
Mac 下次启动时自动读取最新的 shared/MEMORY.md

注意事项

  1. mcp.json 不参与同步:路径因终端而异,各自维护
  2. binaries/ 不参与同步:Node/Python 运行时平台绑定
  3. workspace memory 日记不同步:workspace 级别的日记仅在当前 workspace 有效
  4. Windows 符号链接:开启开发者模式或使用 mklink /J(目录联接),都不需要管理员权限
  5. MCP Server 是可选加速包:没有也不影响使用,文件同步照样工作;装了能在跨终端搜索时更快
  6. OneDrive 免费空间 5GB:WorkBuddy 核心文件(不含 binaries)通常 \x3C 100MB,足够
  7. 认证安全:MCP Server 使用 OS 密钥环存储凭据,OAuth 范围仅 Files.ReadWrite + User.Read,不访问邮件/日历/联系人
安全使用建议
Install only if you intentionally want WorkBuddy state, skills, projects, database files, and agent/user memory replicated through the chosen OneDrive account. Review the third-party MCP server and OAuth scopes first, avoid syncing secrets or confidential work content, prefer the least-privileged linking method, and set your own rules for what may be written to shared memory and how it can be deleted.
能力标签
requires-oauth-tokenrequires-sensitive-credentials
能力评估
Purpose & Capability
The stated purpose matches cross-terminal WorkBuddy syncing and search, but the capability set is broad: OneDrive cloud access, local symlinks into WorkBuddy data, syncing skills/projects/workbuddy.db, and shared MEMORY/IDENTITY/USER/SOUL files.
Instruction Scope
The main flows are disclosed, but the instructions normalize cross-device search and memory writes without clear opt-in boundaries, redaction rules, allowlists, retention controls, or warnings about full local path disclosure.
Install Mechanism
The skill installs a third-party OneDrive MCP server directly from GitHub via pip and configures a localhost HTTP MCP endpoint. It does not show obfuscated install behavior, but the dependency is unpinned and gains OneDrive read/write authority.
Credentials
Using OneDrive is coherent for sync, but the documented layout mixes private Mac and work Windows content under one cloud sync tree and includes agent identity, user profile, project, skill, and database files that may contain sensitive data.
Persistence & Privilege
The skill creates durable symlink/junction-based persistence so future WorkBuddy reads and writes replicate through OneDrive automatically, and it recommends Windows Developer Mode for file symlink support despite a narrower junction/manual-copy alternative.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install cross-terminal-sync
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /cross-terminal-sync 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v2.0.0
**Cross-terminal-sync v2.0.0 — Now with dual-layer (API + sync) cross-terminal support** - Added dual-layer architecture: combines MCP API direct cloud search (fast) with OneDrive file sync (daily use) for seamless cross-terminal switching. - Cross-terminal file and task search now prioritizes: local → MCP API (cloud) → cross-device OneDrive folder (fallback). - MCP API integration enables immediate, real-time search and access to files and configs across terminals without waiting for sync or requiring admin rights. - Updated installation and linking instructions to reflect non-admin, developer-mode, and pure user-mode compatibility, including improved Windows symlink handling. - Documentation reorganized for clarity: architecture overview, step-by-step setup, and advanced sync/search logic. - Maintains full support for conflict prevention, health checking, and legacy behaviors.
v1.0.0
Initial public release of cross-terminal-sync for seamless WorkBuddy data and task switching across Mac and Windows. - Real-time sync of skills, projects, and configuration via OneDrive. - Supports cross-terminal task search and handoff; continue tasks started on another device. - Provides initialization guide, including directory structure and symlink setup for both Mac and Windows. - Implements one-click sync signaling and wait mechanism before file reads to ensure latest state. - Includes cross-device task/result searching, with prioritization and fallback handling. - Offers health checks for sync state, and conflict prevention via locks and difference reporting.
元数据
Slug cross-terminal-sync
版本 2.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Cross Terminal Sync 是什么?

WorkBuddy 跨终端(Mac/Windows)无缝切换方案。双层架构:MCP API 直连 OneDrive 云端(优先跨终端搜索)+ 文件同步(日常主力)。支持跨终端任务搜索与接力执行。触发场景:用户提到"跨终端"、"另一台电脑"、"Windows 上做的任务在这台继续"、"同步 Skill/项目/配置"等。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 52 次。

如何安装 Cross Terminal Sync?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install cross-terminal-sync」即可一键安装,无需额外配置。

Cross Terminal Sync 是免费的吗?

是的,Cross Terminal Sync 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Cross Terminal Sync 支持哪些平台?

Cross Terminal Sync 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Cross Terminal Sync?

由 ZenYang-X(@zenyang-x)开发并维护,当前版本 v2.0.0。

💬 留言讨论