拆解CCOnline的存算分离架构
CCOnline是一个基于WebSocket和xterm.js仿真终端的在线Claude Code运行环境。其核心采用存算分离架构,使用Cloudflare Sandbox作为临时容器而非常驻。用户生产资料存储在R2上,Sandbox内置ShipAny模板和skills,还需解决计费、预览、部署、防注入等问题。作者利用ShipAny + TanStack + Claude Code这套组合快速搭建了系统,框架提供了80%的SaaS基础设施。
有意思 你把 CCOnline 的技术架构都拆解完了 我还发啥😂 请求链路大差不差,核心要解决的问题还是存算分离 把 cf sandbox 作为临时使用的容器,而不是常驻 用户生产资料上 r2...
有意思 你把 CCOnline 的技术架构都拆解完了 我还发啥😂 请求链路大差不差,核心要解决的问题还是存算分离 把 cf sandbox 作为临时使用的容器,而不是常驻 用户生产资料上 r2 存储,sandbox 要内置 ShipAny 模板和 skills,还要解决计费、预览、部署、防注入 这个项目还是蛮复杂的😂 hoshiki @hoshikihao 用 ShipAny + TanStack 构建的一个在线版 Claude Code 运行环境。 核心通信协议:WebSocket 渲染一个仿真终端(通常用 xterm.js),用户输入的“vibe 指令”或键盘操作通过 WebSocket 发送出去,实时接收输出(日志、工具调用结果、错误、进度等)。 浏览器 ↔ Sandbox 交互路径(回顾) 浏览器(xterm.js) → WebSocket → CCOnline 后端(Workers) → Sandbox 容器(PTY 桥接) → Claude Code 进程实时执行。 Cloudflare Sandbox / Containers 为什么能这么快做出来? 因为用了 ShipAny TanStack + Claude Code 这套组合拳: • 框架已经把 80% 的 SaaS 基础设施(auth、支付、模块化逻辑、部署 skills)写好了。 • Claude Code 直接读 CLAUDE.md + skills,就能快速实现前端终端界面、sandbox 代理、模型调用、多 session 管理等功能。 • 作者自己就是用这套流程在“vibe coding”。 🔗 View Quoted Tweet 💬 0 🔄 0 ❤️ 1 👀 401 📊 1 ⚡
- Claude Code: GitHub Releases06-15 21:35原文