把你电脑上的 Claude Code,带到手机上。
Claude Chat Mobile 是一个本机自托管的 Claude Code 远程控制台。它把本机 claude CLI 的会话接到手机或浏览器,让你离开电脑后,仍然可以新建或续接会话、查看任务进度、回答问题、审批工具调用和中断任务。
代码、Claude CLI、项目文件以及 CCM / Claude 的本地会话状态仍然运行或保存在你自己的电脑上。项目没有数据库、没有多租户、没有 SaaS 后端;模型请求仍由本机 claude CLI 按你现有的 Anthropic 官方登录或第三方网关配置发送。
Claude Code 可以在你的电脑上持续执行开发任务,但遇到提问、工具审批或需要人工决策时,通常仍然需要你回到电脑前。把这段交互搬到手机上:
电脑上的 Claude Code 正在工作
↓
你离开电脑
↓
手机查看进度 / 回答问题 / 审批工具 / 中断任务
↓
Claude Code 继续在原来的电脑上运行
先说清楚:Anthropic 官方的 Remote Control 已经覆盖了这个流程——如果你能使用官方 Remote Control,也接受它的账号与数据路径,官方是默认推荐,零部署。
Claude Chat Mobile 是为官方路径进不去、或不接受其控制面的人做的,价值立在三件官方给不了的事上:
- 官方 Remote Control 拒收你的配置。 它要求 claude.ai 订阅登录并直连
api.anthropic.com:API key、第三方网关 /ANTHROPIC_BASE_URL、Bedrock / Vertex / Foundry、企业 apps gateway、设置了DISABLE_TELEMETRY等遥测开关、ZDR 合规组织——这些配置下整条功能不可用。CCM 对模型通路零假设、零接触:你的claudeCLI 怎么配的,它就怎么用。 - 你要求控制面数据留在自己手里。 官方 Remote Control 连接期间会把会话 transcript(消息、回复、工具活动)存到 Anthropic 服务器用于跨设备同步;CCM 的控制面——服务、transcript、设备信任、推送、审计——全部落在你自己的机器上,公网入口由你选择,局域网内可完全闭环。
- 你要「一眼看全机」。 官方按会话逐个开启远程;CCM 把这台机器上发生过和正在发生的所有 Claude 会话——终端开的、上周的、忘了开开关的——都做成可见、可续接的控制台,外加文件浏览、git 变更、服务健康这些机器运维面。
它的目标不是重新做一个 AI 聊天产品,而是:
让你不在电脑前时,仍然可以安全、接近终端等价地操作本机 Claude Code——控制面不经过任何第三方会话中继。
(措辞边界:这不等于「数据绝不离开本机」——模型请求本来就由本机 claude CLI 按你现有的官方登录或网关配置发出;CCM 承诺的是除此之外不再多一条数据出口。)
如果你已经在使用 Claude Code,并且有下面这些需求,Claude Chat Mobile 比较适合你:
- 你的
claudeCLI 走第三方网关 / API key,或关闭了遥测——官方 Remote Control 对这些配置整条不可用; - 你不接受远程会话 transcript 存放在 Anthropic 服务器上,控制面要完全自持;
- Claude 跑长任务时不想一直守在电脑前,希望从手机回答
AskUserQuestion、审批工具调用、收到「需要你」的通知; - 想要整台机器的会话总览:终端里开的、历史里躺着的,都能看、能续;
- 希望继续使用原电脑上的项目、Claude CLI 配置和开发环境;
- 希望自己掌控服务和数据,而不是把完整开发环境迁移到第三方 SaaS。
它可能不适合这些场景:
- 你能使用官方 Remote Control,也接受其账号与数据路径——直接用官方,零部署;
- 你只是想在手机上和 Claude 普通聊天;
- 你目前并不使用 Claude Code;
- 你希望注册账号后直接使用,而不想在自己的电脑上运行服务。
- 远程控制 Claude Code:新建和续接会话、流式查看输出、回答问题、审批工具、停止任务、切换模型 / 权限档 / effort。
- 会话与工作区:多个工作区、多个会话,并可续接本机已有 Claude CLI 会话。
- 项目内容交互:查看工具调用、Edit / Write diff、Read 内容、浏览和编辑授权工作区中的文件,支持上传文件、图片和粘贴截图。
- 通知:通过 Web Push / ntfy 接收审批、提问和任务结果通知,并可选接入 Claude CLI hooks bridge。Android 上 Web Push 由 Google FCM 承载,中国大陆网络下订阅需要代理(iOS 走 Apple、ntfy 不经 Google),详见首次使用指南。
- 断线恢复:手机网络中断后重新连接,可以补齐缺失的会话事件。
- 本机运维:提供
doctor启动自检;macOS 还可选安装桌面控制台管理配置、日志、服务和设备审批。 - PWA:支持安装到手机主屏幕,并提供完整中英文界面。
手机 PWA / 浏览器
↕
Socket.io
↕
Claude Chat Mobile Server
(本机)
↕
Claude Agent SDK
↕
本机 claude CLI
↕
项目文件 / Claude 会话
手机和浏览器只是远程控制面。
真正执行代码、读取项目、调用工具和维护 Claude 会话的仍然是你电脑上的 Claude Code。
同一个实时 Claude 会话同一时刻只有一个驾驶端。
终端正在驾驶时,Web 默认只读;需要时可以从 Web 显式续接,但可能产生会话分叉。终端和 Web 不会同时向同一个实时 Claude 进程输入内容。
完整的组件关系、Web / CLI 双通道、事件同步和会话接管机制见 架构说明。
你需要:
- Node.js ≥ 20;
- 本机已经安装并可以正常使用
claudeCLI; - 已登录 Claude 官方账号,或已经配置可正常工作的第三方网关;
- 至少一个准备让 Claude Code 操作的项目目录。
⚠️ 用第三方网关时有一条容易踩的规则:网关的ANTHROPIC_*要放在claudeCLI 自己的通道里——工作区.claude/settings.local.json(或~/.claude/settings.json)的env块,或启动 server 的那个 shell;写进ccm.config.json会在启动时被剥除——启动日志会逐个打印「已忽略」告警,doctor也会提示。走 settings 文件时桌面控制台入口同样生效,只有 shell export 才必须走 headless 终端入口,细节见首次使用指南 · 官方订阅与第三方网关。
平台支持:
| 平台 | 状态 |
|---|---|
| macOS | 一等支持 |
| Linux | 一等支持 |
| Windows + WSL2 | 推荐路径 |
| 原生 Windows | 实验性 |
Claude Chat Mobile 不包含 Claude Code,也不会替你安装或登录 Claude CLI。
如果 Claude Code 已经可以在你的电脑上正常运行,先任选一种方式取得代码。
只想跑起来 —— 下载 master 的源码归档(约 1.5 MB,只含运行所需的代码;master 只在发版时前进,就是最新发布):
curl -fsSL https://github.com/Ike-li/claude-chat-mobile/archive/refs/heads/master.tar.gz | tar xz
cd claude-chat-mobile-master想改代码或跑测试 —— 克隆完整仓库:
git clone https://github.com/Ike-li/claude-chat-mobile.git
cd claude-chat-mobile接下来两者相同:
node --version
which claude
claude auth status
npm ci --omit=dev
npm run setup
node scripts/doctor.js
npm startnpm run setup 会引导你生成本地配置、设置允许访问的工作区,并可选安装 CLI hooks bridge;macOS 上还可以选择安装桌面控制台。
启动成功后,终端会打印可在手机打开的局域网地址。
首次从其他设备访问时,需要批准该设备:
node scripts/device.js list
node scripts/device.js approve <ID>然后在手机中打开启动日志给出的地址,即可进入工作区并向 Claude Code 发送第一条消息。
macOS 桌面端如果已经启动了 server,不要再执行第二个
npm start。按照doctor的提示使用桌面端菜单重启服务即可。
归档里的
package.json原样保留,所以npm run仍会列出test/check/lint这类命令,但它们引用的测试树与门禁不在归档里、跑不了。需要它们时改用git clone。
完整的首次安装、配置、非交互 setup、PWA 和 CLI hooks 说明:
→ 首次使用指南
Claude Chat Mobile 支持从局域网到长期公网访问的不同方式:
| 场景 | 方式 | 适合 |
|---|---|---|
| 同一 Wi-Fi | 局域网地址 | 最简单的首次使用 |
| 临时公网 | Cloudflare Quick Tunnel、ngrok 等托管隧道 | 临时试用、演示 |
| 长期公网 | 固定域名 + Cloudflare Tunnel + Access | 长期从外部网络访问 |
| 不经 Cloudflare | Tailscale(推荐,tailscale serve 自带 HTTPS)、其他加密隧道 / VPN、自建反向代理 |
不希望流量经过 Cloudflare |
装机向导会问「你打算怎么从手机访问」,答案写入 ACCESS_PROFILE,doctor 与手机端安全体检按它做针对性检查(产品不安装任何第三方隧道工具,只指路文档);跳过也不影响使用,随时可在手机「设置」里补选。
PWA 和 Web Push 需要 HTTPS;iOS Web Push 还要求 iOS 16.4+,并先将应用添加到主屏幕。
固定域名、Cloudflare Tunnel、Cloudflare Access、不经过 Cloudflare 的替代入口、长期运行和运维方式:
→ 部署与运维
Claude Chat Mobile 是一个可以远程触达本机 Claude Code,并间接获得本机代码执行能力的入口。
请把它当作开发机远程控制工具,而不是普通网页。
使用前需要理解这些边界:
- 单用户。 项目没有多用户或租户隔离,通过鉴权后的操作权限最终取决于运行
claude的本机账号。 - 没有 Token 就不启动。
AUTH_TOKEN是启动前提,任何绑定模式都一样——本机浏览器打开也要令牌,不存在「本地免鉴权」这条路。 - 工作区显式放行。 文件、会话和相关操作只能进入配置的
WORK_DIR/WORKDIRS,不要为了方便把整个 Home 目录加入工作区。 - 新设备需要信任。 除本机直连或已经通过公网身份层(当前实现为 Cloudflare Access,可选)的连接外,持有正确 Token 的新设备仍需要一次设备审批。Token + 设备审批就是公网基线,对 Tailscale、反向代理、直连等拓扑一视同仁。
- 继承 Claude Code 权限。
permissions.allow等已有 Claude Code 权限规则会继续生效,公网使用前应检查 Bash、Write 等自动放行规则。 - 文件编辑属于直接写入。 内置文件编辑器不经过 Agent 的工具审批链,只能修改授权工作区内已存在的文件,并做范围校验、大小限制、哈希冲突检测和审计记录;不需要时可以通过
FILE_EDIT=off关闭。长期公网暴露建议关闭——声明了公网入口(Cloudflare Access /PUBLIC_URL/ 公网类ACCESS_PROFILE)时doctor会提示,装机向导也会问这一项。
如果计划长期暴露到公网,请先阅读 部署与运维。
安全漏洞请通过 GitHub Security Advisories 私下报告,不要公开提交 Issue。
首次使用指南 从已经可以运行 Claude Code 的电脑开始,一直到手机成功发出第一条消息;同时包含配置、迁移、PWA 和 CLI hooks 等说明。
部署与运维 局域网、公网访问、Cloudflare Tunnel、Cloudflare Access、不经过 Cloudflare 的替代入口、长期运行和日常运维。
配置项不单独维护静态列表,可以直接查看由 schema 生成的当前定义:
node scripts/config.js schema架构说明 Web / CLI 双通道、Agent SDK、事件同步、断线恢复和会话接管。
硬性规则与技术债 项目的架构不变量、设计取舍和明确不做的事情。维护者本机 Docker playground(干净 Linux HOME)见 getting-started.md,不是第三条产品入口。
展示契约 模型、思考强度、状态栏等 UI 信息的事实源和展示规则。
安全策略 漏洞报告方式。
- Bug 与功能请求:提 GitHub Issue。有搜索、有归档——下一个撞上同样问题的人能直接找到答案,不必再问一遍。
- 安全漏洞:走 GitHub Security Advisories 私下报告,不要公开提交 Issue。
- 使用交流:QQ 群 881200369——用手机 QQ 扫下方二维码,或在电脑上点击加入。
⚠️ 在群里贴信息前请先脱敏。AUTH_TOKEN、公网域名、完整的ccm.config.json、doctor原始输出都不要直接贴——这些足以让人接管你的机器,而群聊历史对所有成员(包括后来加入的)可见,贴出去就撤不干净了。
GNU AGPL-3.0-only © 2026 Ike-li,附带 Section 7 补充条款,详见 NOTICE。
你可以使用、研究、修改和自托管本项目。若将修改后的版本作为网络服务向其他用户提供,需要遵守 AGPL 对应的源码提供义务;补充条款同时要求保留原作者署名并不得歪曲项目来源。

