目 录CONTENT

文章目录

cc-chat:用浏览器随时随地操控你的 Claude Code CLI

Administrator
2026-06-28 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

【摘要】cc-chat 是一个轻量级 WebSocket 中继系统,让你在任何有浏览器的设备上远程操控 Claude Code CLI。核心代码不到 1400 行,Docker 一键部署,支持多会话管理、移动端适配、xterm.js 终端模拟。

开源地址:https://github.com/lmx050218/cc-chat

Docker 镜像:dexbug/cc-chat:v1.0

License:MIT

一、前言

Claude Code 是 Anthropic 推出的官方命令行编程助手,基于 Claude 模型,能够直接在终端中读写代码、执行命令、管理项目。它非常强大——但它有一个问题:你必须待在电脑前才能用它。

出门在外想用手机看一下 Claude Code 的运行结果?在公司想远程操作家里电脑上正在跑的 Claude Code 会话?平板上想快速给它下达一个新指令?

这些场景,CLI 本身都搞不定。

于是就有了 cc-chat —— 一个轻量级的 WebSocket 中继系统,让你通过浏览器远程访问 Claude Code CLI。

二、cc-chat 是什么?

一句话概括:cc-chat 让你在任何有浏览器的设备上,远程操控运行在本地电脑上的 Claude Code CLI。

它的架构非常简洁——三段式 WebSocket 中继:

本地电脑(Agent)→ WebSocket → Linux 服务器(Relay,Docker 部署)→ WebSocket → 任意浏览器(xterm.js 终端)

三、它能做什么?

1. 手机 / 平板远程访问

这是最核心的使用场景。躺床上用手机就能查看 Claude Code 的输出、给它下达指令,不用再爬起来开电脑。

2. 多会话管理

浏览器侧边栏显示所有活跃的 Claude Code 会话,你可以:一键创建新会话、在多个会话之间自由切换、每个会话独立配置模型(Opus / Sonnet / Haiku / Fable 5)和权限模式以及思考强度、切换会话时自动同步完整历史记录(最多 10,000 条)。

3. 丰富的会话配置

创建新会话时可通过弹窗配置:会话名称、主题(Dark/Light)、模型(Opus/Sonnet/Haiku/Fable 5)、权限模式(auto/acceptEdits/default/bypassPermissions/plan/dontAsk)、思考强度(low/medium/high/xhigh/max)。

4. 文件上传

通过输入栏旁边的回形针按钮选择文件,会自动以 @filename 格式插入到消息中,这是 Claude Code 原生的文件引用语法。

5. 移动端适配

小屏幕自动折叠侧边栏为汉堡菜单,触屏友好的输入体验,适配 iPhone 刘海屏安全区域。

6. 自动重连与心跳监测

Agent 端指数退避重连(5 秒到 30 秒),浏览器端断线后 3 秒自动重连,30 秒一次心跳检测,侧边栏和顶栏实时显示 Agent 在线状态。

7. 自动应答

Agent 会自动处理 Claude Code 的交互式启动提示——信任目录确认、权限绕过确认、主题选择、用户协议确认、自动更新提示——无需手动操作,启动即用。

四、快速部署

部署分为两步:服务器端(Relay)和本地端(Agent)。

第一步,部署 Relay 服务器:

首先生成共享 Token,命令:openssl rand -hex 32。然后创建 compose.yaml,内容如下(这里你用 Halo 的代码块功能插入):

services:

relay:

image: dexbug/cc-chat:v1.0

restart: unless-stopped

ports:

- "17389:17389"

environment:

- CC_TOKEN=你的Token

最后执行 docker compose up -d,Relay 就跑起来了。

第二步,启动本地 Agent:

Windows 用户直接双击 start.cmd,或者手动进入 agent 目录执行 npm install,然后创建 .env 文件,写入 CC_TOKEN(与服务器一致)和 CC_RELAY(wss://你的服务器地址/ws)。最后 node agent.js 启动。Agent 会自动检测本地安装的 Claude Code CLI(支持 VS Code 扩展目录、PATH 和自定义路径三种方式)。

第三步,打开浏览器访问 https://你的服务器地址,输入 Token,即可使用。

提示:建议在 Relay 前加 Nginx 反向代理并配置 SSL 证书,实现全程 WSS 加密,README 中有完整 Nginx 配置示例。

五、技术栈

cc-chat 的设计哲学是轻量、零依赖前端框架、易于理解:

Agent:Node.js + node-pty(伪终端管理 Claude Code CLI)

Agent 终端解析:@xterm/headless(无头终端解析 ANSI 输出,实现自动应答)

Relay:Node.js + Express + ws(HTTP 静态文件服务 + WebSocket 消息路由)

前端:Vanilla JS + xterm.js(单文件 SPA,无任何框架依赖)

部署:Docker + Docker Compose(一键容器化部署)

核心代码量:agent/agent.js 385 行,relay/server.js 134 行,relay/public/index.html 813 行(完整前端 SPA)。没有 ORM、没有数据库、没有消息队列——就是纯粹的 WebSocket 管道。这意味着易于理解(半小时通读源码)、易于调试(直接看 WebSocket 消息)、易于魔改(没有框架的条条框框)。

六、安全设计

Token 认证:Agent、Relay、浏览器三端共享同一个预生成 Token,不匹配则拒绝连接。

WSS 加密:WebSocket 通信全程走 TLS 加密(需要配置 SSL)。

无第三方服务:数据不经过任何外部,完全点对点。

轻量攻击面:Relay 只做消息转发,不存储数据,不暴露额外端点。

七、实际使用体验

出差途中改代码:在高铁上用手机给 Claude Code 发了一条指令,让它重构一个函数。回到酒店打开电脑,代码已经改好了。这种「远程编程」的体验非常爽。

多任务并行:同时开了 3 个会话,一个写前端组件,一个调后端接口,一个跑测试。在浏览器侧边栏切换比 Alt+Tab 还快。

iPad 变身编程工具:配上键盘的 iPad 打开浏览器就是一个完整的 Claude Code 终端,写代码的体验出乎意料地好。

八、未来计划

v1.0 已经具备了完整的远程访问能力,后续可能考虑:会话间的文件共享和剪贴板同步、终端输出的 Markdown 富文本渲染、Webhook/通知集成、更细粒度的权限控制。

九、总结

如果你是 Claude Code 的重度用户,又经常需要在不同设备、不同场景下使用它,cc-chat 值得一试。

三步上手:Docker 启动 Relay → 本地启动 Agent → 浏览器打开即用。

核心优势:轻量(核心代码不到 1400 行)、安全(Token + WSS)、零前端框架依赖、移动端友好。

项目地址:https://github.com/lmx050218/cc-chat

如果觉得有用,欢迎 Star 支持!

0

评论区