通过网页远程控制开发机上的 Claude Agent。支持手机、平板、电脑多端访问。
- 远程会话管理 — 创建、恢复、追加指令,实时流式输出
- Markdown 渲染 — Claude 回复自动渲染为 Markdown + 代码高亮
- 远程终端 — 在浏览器中直接操作开发机命令行(xterm.js + node-pty)
- 移动端优化 — 响应式布局 + 终端快捷键工具栏(方向键、Tab、Ctrl+C 等)
- Token 认证 — 可选的访问控制,防止未授权访问
- 审批机制 — 高风险操作需手动批准
- Profile 系统 — 自定义 Claude 行为参数(工具、模型、MCP 等)
- 零外部依赖 WebSocket — 手写实现,无需 ws 库
浏览器 (Web) ←→ 云端中继 (Cloud) ←→ 开发机 Agent
展示/交互 路由/状态 执行 Claude SDK
安全设计:
- API Key 仅存放开发机,云端和 Web 永远不接触
- Agent 主动连出,不暴露公网命令执行入口
- 可选 Token 认证,防止未授权访问
# 安装依赖(需要 Node.js 20+)
npm install
# 配置环境变量
cp .env.example .env
# 编辑 .env,填入 ANTHROPIC_API_KEY
# 启动云端中继(终端 1)
npm run cloud
# 启动 Agent(终端 2)
npm run agent浏览器打开 http://127.0.0.1:3456
确保手机和电脑在同一 Wi-Fi,访问 http://<电脑局域网IP>:3456。
建议开启认证:
# Cloud 和 Agent 都设置相同的 AUTH_TOKEN
AUTH_TOKEN=your-secret npm run cloud
AUTH_TOKEN=your-secret npm run agent| 变量 | 默认值 | 说明 |
|---|---|---|
CLOUD_PORT |
3456 |
Cloud 监听端口 |
AUTH_TOKEN |
(空) | 访问认证 Token,不设则跳过认证 |
AGENT_CLOUD_URL |
ws://127.0.0.1:3456/ws |
Agent 连接地址 |
ANTHROPIC_API_KEY |
(必填) | Claude API 密钥(仅 Agent 需要) |
CLAUDE_MODEL |
claude-sonnet-4-6 |
Claude 模型 |
完整变量列表见 .env.example。
- 使用教程 & 部署说明 — 本机 / 局域网 / 公网部署,Nginx 反代,内网穿透,FAQ
- 运行时:Node.js 20+(ESM)
- Agent SDK:@anthropic-ai/claude-agent-sdk
- 终端:node-pty + xterm.js
- 前端渲染:marked + highlight.js
- WebSocket:零依赖手写实现(
packages/shared/ws.js)
apps/
cloud/ # 云端中继服务
server.js # 入口
lib/ # 模块:auth, http, ws-handler, sessions, devices, terminal
public/ # Web 前端(SPA)
app.js # 前端入口
js/ # 模块:state, ws-client, renderer, terminal
agent/ # 开发机 Agent
index.js # 入口
lib/ # 模块:claude-runner, sessions, terminal, profiles
packages/
shared/ # 零依赖共享库
protocol.js # 消息协议、常量、工具函数
ws.js # WebSocket 客户端 + 服务端实现
json-store.js # JSON 文件持久化