站点图标 高效码农

摆脱设备束缚!Claude Code Remote邮件控制全攻略

Claude Code Remote:通过邮件远程控制Claude Code的完整指南

如果你经常需要在不同场景下使用Claude Code,却受限于设备或位置;如果你希望在Claude完成任务时及时收到通知,甚至通过简单回复就能发送新指令——那么Claude Code Remote可能正是你需要的工具。这款工具能让你通过邮件远程控制Claude Code,实现”启动任务后离开,完成后收到通知,回复即发新命令”的便捷体验。

什么是Claude Code Remote?

简单来说,Claude Code Remote是一个能让你”摆脱设备束缚”的工具。它通过邮件系统连接你的本地Claude Code,让你可以:


  • 无论身在何处,只要能收发邮件,就能控制Claude Code

  • 在Claude完成任务时收到自动通知

  • 直接回复通知邮件发送新命令,无需登录特定设备

  • 确保只有你信任的人才能发送指令(通过白名单机制)

举个例子:你在办公室启动了Claude分析代码的任务,然后需要去开会。当Claude完成分析后,你会收到一封邮件,里面包含完整结果。会议间隙,你可以直接回复这封邮件,让Claude继续执行”优化这段代码”的新命令——整个过程不需要打开电脑登录特定软件。

Claude Code Remote能帮你解决什么问题?

在实际使用Claude Code的过程中,你可能遇到过这些场景:


  • 任务执行时间长,必须守在电脑前等结果,无法离开

  • 临时需要外出,但想继续控制Claude完成后续操作

  • 团队协作时,需要多人交替向Claude发送指令,但设备只有一台

  • 担心离开后错过Claude的任务完成时间,反复回来查看

Claude Code Remote通过邮件连接的方式,把这些问题一次性解决了。它就像一个”远程管家”,帮你盯着Claude的工作状态,随时向你汇报,还能传达你的新指令。

Claude Code Remote的核心功能

1. 邮件通知:任务完成即时知晓

当Claude完成一个任务(比如回答问题、分析代码、生成内容),Claude Code Remote会自动给你发一封邮件,内容包括:


  • 本次任务的简要描述(比如”分析代码结构”)

  • Claude的完整响应结果

  • 明确的”回复即可发送新命令”提示

这样你不用一直盯着屏幕,哪怕在通勤、开会或休息,都能及时知道任务进展。

Claude Code Remote邮件通知示例

2. 邮件控制:回复即发新命令

收到通知邮件后,你不需要打开任何特殊软件,直接回复邮件即可向Claude发送新命令。比如:


  • 简单指令:”把刚才生成的代码转换成Python版本”

  • 多步操作:”先检查这段代码的漏洞,再生成修复方案,最后写测试用例”

  • 复杂要求:”重构登录模块,要求:1. 使用JWT验证;2. 加入验证码;3. 兼容旧版本接口”

发送后,Claude会自动执行这些命令,完成后再给你发新的通知邮件,形成”通知-回复-执行-再通知”的闭环。

3. 全场景远程访问:有邮件就能用

无论你用什么设备、在什么网络环境下,只要能收发邮件,就能控制Claude Code。支持的场景包括:


  • 用手机邮件客户端(如Gmail、苹果邮件、Outlook)在通勤时操作

  • 用电脑网页版邮箱在不同地点登录控制

  • 甚至通过平板或智能设备的邮件应用随时介入

不需要安装额外的远程控制软件,也不需要复杂的网络配置,完全基于最基础的邮件功能实现。

4. 安全机制:只接受信任的指令

为了防止陌生邮件随意控制你的Claude,工具设计了”白名单验证”机制:只有在.env配置文件中设置的”允许发送者”(ALLOWED_SENDERS),其邮件指令才会被执行。

比如你可以只添加自己和团队核心成员的邮箱,确保指令来源的安全性。

5. 支持复杂指令:多格式内容无障碍

Claude Code Remote能处理各种格式的命令,包括:


  • 多换行指令(适合分步骤说明)

  • 带列表、编号的详细要求(适合复杂任务)

  • 代码片段或特殊格式文本(适合技术指令)

不用担心格式错乱导致Claude无法理解,工具会完整保留邮件正文中的内容结构。

如何安装Claude Code Remote?

按照以下步骤,你可以在10-15分钟内完成安装和配置。

步骤1:克隆仓库并安装依赖

首先,你需要把工具的代码下载到本地,并安装必要的运行环境。打开终端,执行以下命令:

# 克隆代码仓库
git clone https://github.com/JessyTsui/Claude-Code-Remote.git

# 进入工具目录
cd Claude-Code-Remote

# 安装依赖包
npm install

如果你的电脑没有安装Git或Node.js,需要先安装这两个工具(Git用于下载代码,Node.js用于运行工具)。

步骤2:配置邮件信息

工具需要通过邮件发送通知和接收指令,因此需要你配置邮箱相关信息。

  1. 复制示例配置文件:

    # 复制示例配置为实际配置文件
    cp .env.example .env
    
  2. 打开.env文件进行编辑(可以用nano、vim、VS Code等编辑器):

    nano .env
    
  3. 填写以下配置项(以Gmail为例,其他邮箱配置类似):

    配置项 说明 示例
    SMTP_USER 用于发送通知的邮箱地址 your-email@gmail.com
    SMTP_PASS 发送邮箱的密码(Gmail需用”应用专用密码”) xyzabc123456
    IMAP_USER 用于接收指令回复的邮箱地址(可与SMTP_USER相同) your-email@gmail.com
    IMAP_PASS 接收邮箱的密码(同上) xyzabc123456
    EMAIL_TO 接收通知的邮箱地址(通常是你自己的邮箱) your-email@gmail.com
    ALLOWED_SENDERS 允许发送指令的邮箱(白名单,多个用逗号分隔) your-email@gmail.com,team@example.com
    SESSION_MAP_PATH 会话数据文件的绝对路径(需修改为你的实际路径) /Users/yourname/Claude-Code-Remote/src/data/session-map.json

    注意:Gmail用户不能直接用登录密码,需要先开启”两步验证”,然后在谷歌账户安全设置中创建”应用专用密码”(App Password),并将其填入SMTP_PASS和IMAP_PASS。

步骤3:设置Claude Code的钩子(Hooks)

为了让Claude在完成任务时通知工具,需要配置Claude的钩子文件。

  1. 创建Claude配置目录(如果不存在):

    mkdir -p ~/.claude
    
  2. 编辑Claude的设置文件:

    nano ~/.claude/settings.json
    
  3. 添加以下配置(注意替换/your/absolute/path/为你的实际工具路径):

    {
      "hooks": {
        "Stop": [{
          "matcher": "*",
          "hooks": [{
            "type": "command",
            "command": "node /your/absolute/path/to/Claude-Code-Remote/claude-remote.js notify --type completed",
            "timeout": 5
          }]
        }],
        "SubagentStop": [{
          "matcher": "*",
          "hooks": [{
            "type": "command",
            "command": "node /your/absolute/path/to/Claude-Code-Remote/claude-remote.js notify --type waiting",
            "timeout": 5
          }]
        }]
      }
    }
    

    这个配置的作用是:当Claude主任务完成(Stop)时,触发”任务完成”通知;当子任务完成(SubagentStop)时,触发”等待新指令”通知。

步骤4:测试邮件配置是否生效

配置完成后,先测试邮件功能是否正常工作:

node claude-remote.js test

如果一切正常,你会收到一封测试邮件。如果没收到,检查以下几点:


  • 邮箱密码(尤其是Gmail的应用专用密码)是否正确

  • 邮箱的SMTP/IMAP服务是否开启(比如Gmail默认开启)

  • 垃圾邮件文件夹(可能被误判为垃圾邮件)

  • .env文件中的路径和邮箱地址是否有误

步骤5:启动Claude Code Remote

工具需要两个终端窗口(或标签页)配合运行:

终端1:启动邮件监控服务

npm run relay:pty

启动后会看到以下提示,说明服务正在运行:

🚀 Claude Code Remote is running!
📧 Monitoring emails...

这个服务会持续监控邮箱,一旦收到白名单中的人回复的邮件,就会把指令发送给Claude。

终端2:在tmux中启动Claude

为了让工具能向Claude发送指令,需要在tmux会话中启动Claude(tmux是一个终端复用工具,允许工具向其发送输入):

  1. 创建新的tmux会话:

    tmux new-session -s my-claude-session
    
  2. 在tmux会话中启动Claude:

    claude
    

    此时你会看到Claude的正常启动界面,就像平时使用一样。

步骤6:验证整个流程是否正常

完成以上步骤后,我们可以做一个简单测试:

  1. 在tmux中的Claude界面,输入一个简单指令,比如:

    计算123乘以456的结果
    
  2. 等待Claude给出答案(通常几秒钟)。

  3. 检查你的邮箱,应该会收到一封主题类似”Claude Code Remote Task Complete [#ABC123]”的邮件,里面包含Claude的计算结果。

  4. 回复这封邮件,正文写:”再计算987除以65的结果”,然后发送。

  5. 回到tmux窗口,会看到Claude自动接收了这个新指令,并开始计算。完成后,你会收到第二封通知邮件。

如果以上步骤都能正常执行,说明工具已经成功安装并可以使用了。

如何使用Claude Code Remote?

掌握以下使用方法,能让你更高效地通过邮件远程控制Claude。

接收任务完成通知

当Claude完成任务后,你收到的邮件会包含这些信息:


  • 主题:格式为”Claude Code Remote Task Complete [#会话ID]”(会话ID用于区分不同任务)

  • 正文开头:简要说明Claude完成的任务(比如”Claude completed: ‘分析代码结构'”)

  • 核心内容:Claude的完整响应(包括文字、代码、列表等所有内容)

  • 结尾提示:”Reply to this email to send new commands.”(提示可以直接回复发送新命令)

通过这些信息,你能快速了解任务结果,决定下一步操作。

发送新命令的3种方式

1. 直接回复通知邮件

最简单的方式:打开收到的通知邮件,点击”回复”,在正文里写新命令,直接发送。工具会自动提取邮件正文内容,作为指令发送给Claude。

示例:

请把刚才生成的Python代码改写成Java版本,要求兼容Java 8。

2. 发送多线命令

如果命令需要分步骤或分点说明,可以直接在邮件正文里换行写,工具会完整保留格式:

示例:

分析这个用户需求:
1. 用户需要一个简单的待办事项应用
2. 支持添加、删除、标记完成功能
3. 数据保存在本地文件中

请先设计数据结构,再写核心功能代码,最后说明使用方法。

3. 发送复杂指令(含代码或格式)

如果需要包含代码片段、特殊格式(如表格),直接在邮件正文中写即可,工具会原样传递给Claude:

示例:

优化这段JavaScript代码,解决性能问题:

function processData(data) {
  let result = [];
  for (let i = 0; i < data.length; i++) {
    let item = data[i];
    if (item.status === 'active') {
      result.push({
        id: item.id,
        name: item.name.toUpperCase()
      });
    }
  }
  return result;
}

要求:
- 减少循环次数
- 避免不必要的变量声明
- 保持功能不变

邮件指令的工作流程

整个过程可以总结为4步:

  1. 触发通知:Claude完成任务 → 工具自动发送通知邮件到你的邮箱
  2. 发送指令:你回复通知邮件,写下新命令 → 邮件到达指定邮箱
  3. 执行指令:工具监控到新邮件 → 验证发送者在白名单中 → 提取正文发送给Claude
  4. 再次通知:Claude执行完新命令 → 工具再次发送通知邮件 → 等待你的下一次指令

这个流程可以无限循环,直到你主动停止工具或Claude会话。

支持的邮件客户端

只要能正常发送邮件回复的客户端,都能使用Claude Code Remote,包括:


  • 网页版:Gmail、Outlook Web、QQ邮箱网页版等

  • 手机应用:Gmail客户端、苹果邮件、Outlook移动版、网易邮箱大师等

  • 桌面客户端:Thunderbird、Foxmail、macOS邮件应用等

不需要担心客户端兼容性,因为工具只需要邮件的正文内容,与客户端类型无关。

实用场景:Claude Code Remote能帮你做什么?

1. 远程开发:跨设备无缝衔接

早上在公司电脑启动Claude分析项目代码,中午回家吃饭时收到完成通知,用手机回复”继续优化登录模块”,下午回公司时,Claude已经完成了优化——整个过程不需要携带电脑,也不用远程桌面连接。

2. 长任务监控:不盯屏幕也能掌握进度

当你需要让Claude处理耗时任务(比如生成完整项目文档、分析大型代码库、优化复杂算法),可以启动任务后去处理其他事情。任务完成时,邮件会及时通知你,避免反复回来查看的麻烦。

3. 团队协作:多人交替控制Claude

如果团队需要共同使用Claude(比如轮流让Claude解决不同模块的问题),只需把团队成员的邮箱加入ALLOWED_SENDERS白名单。收到通知的成员处理完后,后续成员可以直接回复邮件继续发送指令,不用现场交接设备。

4. 碎片化时间利用:随时介入任务

在通勤、排队等碎片化时间里,你可以通过手机邮件查看Claude的任务结果,并发送新指令。比如在地铁上收到”代码分析完成”的邮件,回复”下一步检查数据库连接部分”,等回到办公室时,Claude已经完成了新任务。

常用命令与操作技巧

测试与状态检查

# 测试邮件配置是否正常
node claude-remote.js test

# 查看工具运行状态
node claude-remote.js status

# 列出当前的tmux会话(查看Claude是否在运行)
tmux list-sessions

# 连接到已有的tmux会话(比如名为my-claude-session的会话)
tmux attach -t my-claude-session

停止工具的方法


  • 停止邮件监控:在运行npm run relay:pty的终端窗口,按Ctrl+C

  • 停止Claude:在tmux会话中,按Ctrl+D或输入exit

  • 关闭tmux会话:在tmux中输入tmux kill-session -t 会话名(比如tmux kill-session -t my-claude-session

提高效率的小技巧

  1. 给tmux会话起明确的名字:比如tmux new-session -s backend-project,方便后续识别和连接
  2. 保存常用指令模板:把重复使用的指令(如”检查代码漏洞并生成修复建议”)保存在手机备忘录,需要时复制到邮件正文
  3. 定期清理会话文件:如果长期使用,session-map.json可能变大,可定期备份后清空
  4. 使用邮件标签分类通知:在邮箱中设置规则,把Claude的通知邮件自动归类到”Claude远程控制”标签,避免与其他邮件混淆

常见问题与解决方法

为什么收不到通知邮件?

可能的原因和解决办法:

  1. 邮件配置错误:运行node claude-remote.js test测试,根据错误提示检查.env中的邮箱地址、密码是否正确
  2. 邮件被归类为垃圾邮件:查看邮箱的”垃圾邮件”或”促销邮件”文件夹,将发件人添加到通讯录
  3. SMTP/IMAP服务未开启:登录邮箱设置,确认SMTP(发送)和IMAP(接收)服务已启用(大多数邮箱默认开启)
  4. 网络问题:检查设备是否能正常连接网络,尝试重启邮件监控服务(npm run relay:pty

为什么回复的命令没有被执行?

可能的原因:

  1. 发送者不在白名单:检查.env中的ALLOWED_SENDERS是否包含你的邮箱,多个邮箱用逗号分隔
  2. tmux会话未运行:执行tmux list-sessions,确认Claude所在的会话是否存在;如果不存在,重新创建会话并启动Claude
  3. 邮件监控服务未运行:检查运行npm run relay:pty的终端是否正常(应显示”Monitoring emails…”),如果已停止,重新启动
  4. 邮件格式问题:确保命令写在邮件正文,而非主题;避免使用过于复杂的HTML格式(纯文本邮件更可靠)

可以用非Gmail的邮箱吗?

可以。只要邮箱支持SMTP(发送)和IMAP(接收)协议,就能使用。比如:


  • 企业邮箱:通常需要询问管理员SMTP和IMAP服务器地址(如smtp.company.com

  • 网易邮箱:SMTP服务器为smtp.163.com,IMAP服务器为imap.163.com

  • QQ邮箱:SMTP服务器为smtp.qq.com,IMAP服务器为imap.qq.com(需在设置中开启”IMAP/SMTP服务”)

配置时,除了邮箱地址和密码,可能还需要在.env中添加SMTP和IMAP服务器地址(工具默认使用Gmail的服务器,非Gmail用户需手动指定,具体可参考工具的进阶配置说明)。

如何在多台设备上使用?

Claude Code Remote是基于本地运行的工具,如果你想在多台设备上使用,需要在每台设备上分别安装和配置(因为涉及本地的tmux会话和文件路径)。

如果需要”一台设备运行Claude,多台设备远程控制”,可以在运行Claude的设备上安装工具,其他设备只需通过邮件发送指令即可(无需安装工具)。

工具会保存我的邮件内容或指令吗?

工具仅在运行时临时处理邮件内容,用于提取指令发送给Claude,不会长期保存邮件内容。会话数据(session-map.json)仅记录任务ID和会话关联信息,不包含邮件或指令内容。

Claude Code Remote的更新日志

工具一直在持续优化,以下是主要更新记录:

2025年1月


  • 新增终端风格的邮件通知UI,让通知内容更清晰易读

  • 修复了工作目录限制问题,现在工具可以在任何目录下运行

  • 解决了”发送和接收用同一邮箱时的自回复循环”问题

2025年7月


  • 移除了硬编码的配置值,改为通过.env文件统一管理,更灵活

  • 优化了环境变量的读取逻辑,减少配置错误

未来计划:这些功能即将到来

开发团队计划在后续版本中添加这些功能:

更多通知渠道


  • Discord和Telegram机器人集成:除了邮件,还能通过聊天工具接收通知

  • Slack工作流:作为Slack应用,支持用斜线命令(如/claude)发送指令

扩展支持的工具


  • 支持Gemini CLI、Cursor等其他AI工具的远程控制

  • Git自动化:自动提交代码、创建PR、管理分支等功能

使用分析功能


  • 成本追踪:统计AI工具的token使用量和预估成本

  • 性能指标:记录任务执行时间和资源占用情况

  • 定期报告:通过邮件发送每日/每周的使用总结

原生应用


  • 移动端应用:iOS和Android专用APP,提供更便捷的操作界面

  • 桌面应用:macOS和Windows客户端,集成更多本地功能

安全说明

使用工具时,这些安全机制能保护你的使用安全:


  • 发送者白名单:只有ALLOWED_SENDERS中指定的邮箱才能发送指令,防止陌生人控制

  • 会话隔离:每个任务会话有独立的标识,指令只会发送到对应的Claude会话

  • 自动超时:长时间未操作的会话会自动失效,减少安全风险

建议定期检查ALLOWED_SENDERS列表,移除不再需要的邮箱;同时使用强密码保护你的邮箱账户,避免邮箱被盗导致指令被篡改。

总结

Claude Code Remote通过邮件这一最通用的通信方式,解决了Claude Code的远程控制问题。它不需要复杂的网络配置,也不需要额外的客户端,只需简单的安装步骤,就能让你随时随地控制Claude,接收任务通知,发送新指令。

无论是远程开发、长任务监控,还是团队协作,这款工具都能帮你提高效率,让AI工具的使用更灵活、更自由。按照本文的步骤安装配置后,你就能立即体验”邮件在手,Claude我有”的便捷了。

退出移动版