Claude API 同步工具

非官方 TypeScript SDK 和工具套件,用于 claude.ai 网页 API,支持从 CLI 或 MCP 服务器导出对话、项目知识和文件为 Git 仓库。

  • by InfiniteRoomLabs
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 InfiniteRoomLabs/claudesync

使用说明

克劳德同步

非官方的TypeScript SDK+工具 claude.ai 网页API。将您的对话、工件和项目知识导出为git存储库——从CLI或MCP服务器导出。

你的数据,你的方式。 ClaudeSync是一个社区工具,与Anthropic无关或不受其认可。访问未记录的网站API可能会违反Anthropic的服务条款,并可能导致帐户暂停。使用风险自负。


安装

# Unix (bash, zsh, fish) -- installs everything: CLI + MCP server + cookie broker
curl -fsSL https://raw.githubusercontent.com/InfiniteRoomLabs/claudesync/main/scripts/install.sh | sh
# Windows PowerShell (5.1 or 7+)
irm https://raw.githubusercontent.com/InfiniteRoomLabs/claudesync/main/scripts/install.ps1 | iex

一切都在Docker中运行;安装程序仅放置瘦主机侧包装和 饼干阅读器。单层鞋带 claudesync-setup (小经理) 在PATH上运行它。之后,用 claudesync-setup.

需要Docker。 Node/pnpm仅用于开发——用户运行 已发布的图像。


管理安装

claudesync-setup                       # install everything, latest
claudesync-setup install 0.6.1         # pin all components to 0.6.1
claudesync-setup install --mcp --synchronizer=0.6.1   # choose components / per-component versions
claudesync-setup update                # re-install at latest (honors recorded pins)
claudesync-setup uninstall --mcp       # remove just the MCP wrapper
claudesync-setup uninstall             # remove everything
SYNOPSIS
    claudesync-setup [SUBCOMMAND] [VERSION] [COMPONENTS] [OPTIONS]

SUBCOMMANDS
    install      (default) install components
    update       re-install at a (possibly new) version
    uninstall    remove components

COMPONENTS   (omit all => everything)
    --synchronizer[=VER]   the `claudesync` CLI wrapper + image
    --mcp[=VER]            the MCP server wrapper + image
    --broker               the host-side cookie reader only

OPTIONS
    --target=TARGET   MCP client to configure: claude-code | claude-desktop | mcp-json
                      (omit => prompt; non-interactive skips with instructions)
    --pin-digest      resolve image tags to @sha256 and pin the wrappers
                      (auto-enabled when the Docker daemon refuses tag pulls)
    --dry-run         print every action, change nothing
    --force           do not prompt before replacing files
    -h, --help        show help

VERSIONS
    positional VERSION is a default applied per component; --mcp=VER overrides it.
    Each component resolves against its OWN image -- versions are not assumed
    in lockstep.

PowerShell 使用本机交换机:

claudesync-setup install -Mcp -Synchronizer -McpVersion 0.5.2 -PinDigest -Target claude-code

将选项传递给管道安装程序

# bash: -s -- forwards args to a script read from stdin
curl -fsSL <install.sh-url> | bash -s -- install --mcp --target=mcp-json --dry-run
# irm | iex cannot take args; build a scriptblock instead:
& ([scriptblock]::Create((irm <install.ps1-url>))) install -Mcp -DryRun

install-mcp.{sh,ps1} 和 uninstall.{sh,ps1} 保持背部同胞垫片 委托给 claudesync-setup.


它的作用

ClaudeSync读取您的 claude.ai 从浏览器中获取会话cookie,并将其用于 访问web API。它可以:

  • 列出对话 包含型号、日期和项目信息
  • 导出对话 作为git存储库(文本+工件)或JSON包
  • 搜索 所有对话(全文)
  • 列出项目 并下载项目知识文件
  • 列出/下载工件 从“wiggle”文件系统

命令行界面

SYNOPSIS
    claudesync <command> [options]        (runs in Docker; reads the cookie automatically)

COMMANDS
    ls                          list conversations
    export <conversation-id>    export one conversation
    export-all                  export the entire organization
    projects [list]             list projects
    projects export <id>        export a project (knowledge + conversations)
    search <query>              full-text search
    tui                         interactive browser (Miller Columns)

COMMON OPTIONS
    --org <id>                  organization ID (auto-detected if omitted)
    --json                      machine-readable output (ls / search / projects)
    --query <jmespath>          filter JSON output (implies --json)

LIST OPTIONS                    (ls, search)
    --limit <n>                 max rows (ls: 20, search: 10)
    --starred                   ls only: starred conversations

EXPORT OPTIONS                  (export, export-all, projects export)
    --output <path>             output directory
    --format git|json|files     export format (default: git; export-all: files)
    --author-name <name>        git author name (default: Claude)
    --author-email <email>      git author email
    --skip-artifacts            do not download artifacts
    --skip-existing             skip if the output directory already exists
    --skip-same                 skip if unchanged since the last sync
    --preserve <glob>           keep locally-added files across re-syncs
                                (repeatable; --format files; CHANGELOG.md always kept)

EXPORT-ALL PARALLELISM          (export-all only)
    --workers <n>               max concurrent workers / pool ceiling (default: 8)
    --min-workers <n>           floor the controller backs off to (default: 1)
    --start-workers <n>         initial skeptical worker count (default: 2)
    --project-workers <n>       optional per-project concurrency cap
    --no-parallel               sequential mode (1 worker)

    -h, --help                  --version

export all通过自适应工作池并行获取对话:it 从保守开始,逐步取得持续成功,然后退缩(减半 并发和等待服务器的重置窗口)claude.ai时刻 利率限制。相同的设置可以来自env变量(CLAUDESYNC_WORKERS, CLAUDESYNC_MIN_WORKERS、CLAUDESYNC_START_WORNERS、CLAUDESYNC_PROJECT_WORKERS)或 工作目录或主目录中的.claudesyncrc.json文件。 优先级:CLI标志>环境变量>配置文件>内置默认值。

# Examples
claudesync ls                                   # list conversations
claudesync export <conversation-id>             # export to a git repo
claudesync export <conversation-id> --output ./my-export --format files
claudesync export-all --format files            # whole org (parallel by default)
claudesync export-all --workers 4               # cap parallelism at 4 workers
claudesync export-all --no-parallel             # sequential (one at a time)
claudesync search "typescript generics"
claudesync projects
claudesync ls --json --query "[?starred]"       # machine output, JMESPath-filtered

MCP服务器

通过安装 --mcp 并通过以下方式向您的客户注册 --target.暴露 stdio上的8个工具:

工具 说明
list_organizations 列出您的claude.ai组织
list_conversations 列出带有元数据的对话
get_conversation 包含所有消息的完整对话
search_conversations 跨对话的全文搜索
list_projects 列出您的项目
get_project_docs 项目知识档案内容
list_artifacts 列出对话的工件文件
download_artifact 下载工件文件

要稍后(重新)配置客户端,请执行以下操作:

claudesync-setup install --mcp --target=claude-code   # or claude-desktop / mcp-json

Docker(手动,无包装)

docker run --rm -e CLAUDE_AI_COOKIE='sessionKey=...' -v "$(pwd):/data" deathnerd/claudesync:latest ls
docker run --rm -i -e CLAUDE_AI_COOKIE='sessionKey=...' deathnerd/claudesync-mcp:latest   # MCP

认证

cookie由构建在主机端的小型代理读取 新手 (自动下载,SHA256固定 第一轮)。收割必须在主机上运行——容器无法到达您的操作系统 钥匙扣。详细信息: docs/cookie-haregathering.md.

浏览器 Linux macOS Windows
Firefox 是 是 有(建议在Windows上使用)
Chrome/Edge/Brave 是 是 仅限于v10——见注释
Safari -- 是(需要完全磁盘访问) --
Claude Desktop 是(纯文本,可能已过时) 手动 手动
手册 CLAUDE_AI_COOKIE 总是

Windows Chrome/Edge>=127 使用应用绑定加密,这是不干净的 开源工具可以解密——使用 火狐 在Windows上,或设置cookie 手动。macOS和Linux不受影响。

手动cookie (始终有效):claude.ai>F12>应用程序>Cookie> sessionKey那么:

export CLAUDE_AI_COOKIE='sessionKey=<paste-value>'        # sh/zsh/fish
$env:CLAUDE_AI_COOKIE = 'sessionKey=<paste-value>'        # PowerShell

建筑

Consumers:   CLI  |  MCP Server  |  (Firefox Extension -- future)
                |        |
Core SDK:    @infinite-room-labs/claudesync-core (TypeScript)
               Auth | API Client | Export Engine | Message Tree
                |
Transport:   claude.ai Web API (undocumented, cookie auth)

主机侧包装(claudesync, claudesync-mcp)cookie代理是 只安装在本地的东西;SDK/CLI/MCP代码在Docker中运行。安装人员 将这些包装纸放入图像中,并通过以下方式提取它们 docker cp,所以他们留下来 版本锁定到映像(GitHub raw只是一个响亮的回退)。

包装 描述
@infinite-room-labs/claudesync-core SDK:身份验证、HTTP客户端、Zod模式、git导出引擎
@infinite-room-labs/claudesync-mcp-server MCP服务器,8个工具(标准输入输出)
@infinite-room-labs/claudesync-cli CLI(ls、导出、搜索、项目)

需求

  • 码头工人 --适用于所有正常使用
  • Node.js v24+ --仅限开发(Cloudflare通过TLS指纹识别阻止Bun/curl)
  • pnpm --仅限开发
  • sqlite3 --可选;只有Linux上的Claude Desktop cookie回退使用它

发展

git clone https://github.com/InfiniteRoomLabs/claudesync.git
cd claudesync
pnpm install
pnpm build
pnpm test

许可证

麻省理工学院

免责声明

ClaudeSync是一个非官方的、社区构建的工具,不隶属于、不认可 由Anthropic提供或支持。它使用访问未记录的claude.ai web API 您自己的会话凭据,用于导出您自己的数据。使用可能违反Anthropic的 服务条款。作者对任何后果不承担任何责任,包括 账户暂停。