内容
# 代码传送
**在不同设备之间传送您的 AI 编程会话。**
将一个会话从一台机器推送到另一台机器,继续您之前的工作。适用于 Claude Code、Codex 和 Antigravity。
[](https://www.npmjs.com/package/codeteleport)
[](https://github.com/korvol/codeteleport/blob/main/LICENSE)
[](https://docs.codeteleport.com/getting-started/installation/)
[](https://docs.codeteleport.com)
---
## 问题
您正在工作笔记本电脑上进行深入的 AI 编程会话 - 数百条消息,数十次文件编辑,数小时建立的完整代码库模型。是时候回家了。您关闭了笔记本电脑,打开桌面电脑,但整个会话都卡在另一台机器上。上下文,文件历史,工具调用,背景代理工作 - 所有这些都无法访问。
## 解决方案
```bash
npm install -g codeteleport
```
传送会话。在另一台机器上继续。完整的上下文保持不变。
---
## 快速入门
### 1. 安装和设置
```bash
npm install -g codeteleport
codeteleport setup
```
设置向导在 30 秒内引导您完成所有操作 - 代理选择,登录,设备名称和 MCP 注册。
CodeTeleport 支持三种 AI 编程代理 - Claude Code(默认),Codex 和 Antigravity。交互式选择代理 `codeteleport setup`(从注册表中列出所有支持的代理)或直接使用 `codeteleport config set agent <claude-code|codex|antigravity>`。设置还使用所选代理的命令注册 MCP 服务器 - `claude mcp add codeteleport -- codeteleport-mcp`,`codex mcp add codeteleport -- codeteleport-mcp` 或 `agy mcp add codeteleport -- codeteleport-mcp`。
### 2. 传送
只需与您的 AI 编程代理(Claude Code,Codex 或 Antigravity)交谈:
> *"将此会话传送到云端"*
切换到另一台机器,打开同一个项目目录:
> *"拉取我的最新会话"*
然后:
> *"恢复会话"*
就是这样。您的整个会话 - 每条消息,每个文件编辑,每个工具调用 - 都回来了。
---
## 工作原理
### 推送
您正在机器 A 上的 `~/projects/my-app` 工作。当您推送时:
1. CodeTeleport 检测到与当前目录绑定的配置代理的编码会话
2. 它将代理存储在该会话中的所有内容捆绑到一个压缩的 `.tar.gz` 中 - 对于 Claude Code,这是对话日志(JSONL)加上边车(子代理日志,文件历史,粘贴缓存,shell 快照)和项目内存;Codex 和 Antigravity 捆绑它们自己的会话工件(参见[传送内容](#传送内容))
3. 捆绑包被上传到安全的云存储中,标记为原始机器,目录路径和创建它的代理
### 拉取
您在机器 B 上,`cd` 到您的项目目录,然后拉取:
1. CodeTeleport 下载捆绑包
2. 它看到会话根于机器 A 上的 `/home/nawaaz/projects/my-app`
3. 它将会话中的每个路径重写为匹配您当前目录 - `/home/alice/work/my-app`。这是两遍重写(源主目录→目标主目录,然后源 cwd→目标 cwd):对于 Claude Code 和 Codex JSONL 转录和内存/大脑文本文件进行纯文本替换,对于 Antigravity SQLite 会话数据库进行二进制,长度前缀感知 protobuf 重写(重新计算字段长度前缀以保持消息帧有效)
4. 会话被安装到代理的本地数据目录中 - 例如 `~/.claude` 用于 Claude Code,`~/.codex` 用于 Codex,`~/.gemini/antigravity-cli` 用于 Antigravity - 链接到您的当前工作目录
代理将其视为本地会话。使用代理的恢复命令恢复 - `claude --resume <id>`,`codex resume <id>` 或 `agy --conversation <id>`。恢复命令和安装目标从捆绑包自己的记录代理(`meta.json` 中的 `agentId`)派生,而不是从拉取者的本地配置 - 旧捆绑包默认为 `claude-code`。
**关键细节:** 拉取适用于您当前的目录。您在拉取时所在的目录成为会话的新根目录。路径会自动重写 - 不同的用户名,不同的操作系统,不同的目录结构 - 都可以正常工作。捆绑包是自我描述的 - 每个捆绑包都记录了创建它的代理,因此即使另一台机器配置了不同的代理,它也能正确地恢复和继续。
**Codex 在新机器上首次运行:** 在拉取时,Codex 编写滚动转录并更新 `~/.codex/state_5.sqlite` 中的线程库存行,以便 `codex resume <id>` 找到会话。如果目标机器上尚不存在 `state_5.sqlite`,则转录仍然恢复,但线程行不 - 运行 Codex,然后重新拉取。
---
## 会话版本控制
每次推送都会保存会话的新版本。走错路了?意识到 50 条消息之前的某个方法更好?拉取一个较早的版本,然后从那里继续。
```
> "显示此会话的版本"
会话 c3a05473 - 4 个版本:
v4 2 分钟前 5.3 MB (最新)
v3 3 小时前 4.8 MB
v2 昨天 3.1 MB
v1 2 天前 1.2 MB
> "拉取版本 2"
```
免费帐户保留每个会话 2 个版本。Pro 保留 10 个。较旧的版本会自动轮换。
---
## MCP 工具
在您的 AI 编程代理(Claude Code,Codex 或 Antigravity)中有七种工具可用:
| 工具 | 描述 |
| --- | --- |
| `teleport_push` | 将当前会话推送到云端(创建新版本) |
| `teleport_pull` | 从云端拉取会话(可选特定版本) |
| `teleport_list` | 列出云端会话及其元数据 |
| `teleport_local_list` | 列出此机器上的所有本地 AI 编程会话 |
| `teleport_versions` | 显示会话的版本历史 |
| `teleport_status` | 帐户信息,计划,使用情况 |
| `teleport_delete` | 删除会话及其所有版本从云端 |
`teleport_push` 捆绑配置代理的当前会话,而 `teleport_local_list` 扫描该代理的本地会话,因此两者都遵循您使用 `codeteleport config set agent <id>` 设置的内容。
MCP 服务器按代理注册 - `codeteleport setup` 为所选代理自动运行正确的命令:`claude mcp add codeteleport -- codeteleport-mcp`(Claude Code),`codex mcp add codeteleport -- codeteleport-mcp`(Codex)或 `agy mcp add codeteleport -- codeteleport-mcp`(Antigravity)。
---
## 命令行界面
相同的操作可从终端使用:
```bash
codeteleport setup # 首次注册向导
codeteleport push # 交互式会话选择器 → 推送到云端
codeteleport pull # 交互式会话选择器 → 从云端拉取
codeteleport pull --version N # 拉取特定版本
codeteleport list # 列出本地或云端会话
codeteleport versions <id> # 显示会话的版本历史
codeteleport status # 帐户信息,计划,使用情况
codeteleport config # 查看当前配置
codeteleport config set agent <id> # 切换代理:claude-code | codex | antigravity
codeteleport delete # 删除云端会话
codeteleport auth login # 登录(GitHub OAuth 或电子邮件)
```
`codeteleport setup` 还提供交互式代理选择(从注册表中列出所有支持的代理)。设置未识别的 ID 会失败,提示 `Unknown agent: <id>. Supported: claude-code, codex, antigravity`。`agent` 设置仅控制本地捆绑和扫描的内容(推送,本地列表)- 它不影响拉取,拉取始终使用捆绑包自己的记录代理。
### 示例:推送
```
$ codeteleport push
my-app 会话(找到 2 个):
1) c3a05473 3490 消息 2 分钟前 5.3 MB
2) 16b4c4d7 847 消息 3 小时前 1.2 MB
选择会话 [1]:1
捆绑中...
上传中...
确认中...
会话传送到 CodeTeleport
id :c3a05473-9f12-4a2b-ae27-9478ab66d216
version :3
size :5428 KB
machine :work-laptop
```
### 示例:拉取(Claude Code)
```
$ codeteleport pull
云端会话:
1) c3a05473 my-app work-laptop 3490 消息 5.3 MB
选择会话 [1]:1
下载中...
安装中...
会话拉取
id :c3a05473-9f12-4a2b-ae27-9478ab66d216
version :3
from :work-laptop
to :/home/alice/.claude/projects/-home-alice-projects-my-app
使用以下命令恢复:claude --resume c3a05473-9f12-4a2b-ae27-9478ab66d216
```
安装目标(`to`)和`恢复`行根据捆绑包自己的记录代理派生,而不是您的本地配置。Codex 捆绑包安装到`~/.codex`,并打印`codex resume <id>`;Antigravity 捆绑包安装到`~/.gemini/antigravity-cli`,并打印`agy --conversation <id>`。
---
## 传送内容
传送的内容取决于创建捆绑包的代理。每个代理存储其会话的方式不同,因此 CodeTeleport 捆绑每个代理自己的工件。
### Claude Code(默认)
| 组件 | 描述 |
| --- | --- |
| 对话日志 | 每条消息,工具调用和响应(`~/.claude/projects/<encoded-cwd>/<id>.jsonl`) |
| 子代理对话 | 背景代理日志 |
| 文件历史 | 读取或编辑的文件快照 |
| 粘贴缓存 | 聊天中粘贴的内容 |
| 项目内存 | 项目的内存文件(s) |
| Shell 快照 | 会话期间捕获的终端状态 |
Claude Code 自动包含通过其 Edit/Write 工具编辑的文件。
### Codex
滚动转录 JSONL(`~/.codex/sessions/YYYY/MM/DD/rollout-<ts>-<id>.jsonl`)以及 `~/.codex/state_5.sqlite` 中的线程库存行。如果目标上尚不存在 `state_5.sqlite`,则转录仍然恢复 - 运行 Codex,然后重新拉取。Codex 仅自动检测通过 `apply_patch` 进行的文件编辑;shell/`exec_command` 编辑不透明,因此使用 `--include` 表示通过这种方式触摸的任何临时或工作文件。Codex shell 快照默认情况下被排除(可能包含机密)。
### Antigravity
会话数据库(`~/.gemini/antigravity-cli/conversations/<id>.db`)- 一个 SQLite 数据库,其有效载荷是 protobuf,因此数据库 * 就是会话 * - 以及 `~/.gemini/antigravity-cli/brain/<id>/` 文件夹(转录,工件,草稿)。Antigravity 没有自动检测编辑的文件,因此使用 `--include` 表示您要传送的任何工作或临时文件。
### 显式文件
`--include` 是将工作文件或临时文件添加到任何捆绑包的通用机制,无论代理如何。每个文件 25 MB / 总共 100 MB 的上限适用。
### 安全
捆绑包仅包括代理的会话状态以及您显式 `--include` 的文件。凭证和机密永远不会被捆绑 - `auth.json`,`~/.ssh`,`~/.aws`,`*.pem`/`*.key`,`.env*`,`id_rsa`,`.npmrc`,`.netrc` 和 Codex 日志/内存 DB 均被排除。恢复仅限于目标项目和临时根目录。
---
## 定价
CLI 和 MCP 服务器在 MIT 许可证下开源。云同步有免费层 - 无需信用卡。
| | 免费 | 专业 |
| --- | --- | --- |
| 会话 | 25 | 无限 |
| 设备 | 3 | 无限 |
| 每个会话的版本 | 2 | 10 |
| 价格 | $0 | $5/季度 或 $15/年 |
[查看定价 →](https://codeteleport.com/#pricing)
---
## 要求
Node.js >= 22.5.0 - CLI 使用内置的 `node:sqlite` 模块读写 Codex 和 Antigravity 会话数据库。在 macOS、Linux 和 Windows 上运行。
## 平台支持
| 平台 | 状态 |
| --- | --- |
| macOS | 完全支持 |
| Linux | 完全支持 |
| Windows | 完全支持 |
---
## 链接
| | |
| --- | --- |
| **文档** | [docs.codeteleport.com](https://docs.codeteleport.com) |
| **仪表板** | [app.codeteleport.com](https://app.codeteleport.com) |
| **网站** | [codeteleport.com](https://codeteleport.com) |
| **npm** | [codeteleport](https://www.npmjs.com/package/codeteleport) |
| **GitHub** | [korvol/codeteleport](https://github.com/korvol/codeteleport) |
| **支持** | [support.codeteleport.com](https://support.codeteleport.com) · [GitHub 问题](https://github.com/korvol/codeteleport/issues) |
| **Discord** | [discord.gg/c69JYPWS](https://discord.gg/c69JYPWS) |
---
## 许可证
MIT