dinotty
专为 AI 编程智能体打造的跨设备终端服务器,服务端 VTE + 会话持久化,手机电脑无缝切换
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
专为 AI 编程智能体打造的跨设备终端服务器,服务端 VTE + 会话持久化,手机电脑无缝切换
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

dinotty 项目 Logo,简洁的终端图标设计
Claude Code、opencode、Codex——这些 AI 编程智能体(AI Coding Agent)正在改变开发者的工作方式。但有一个尴尬的现实:它们都被困在单一设备的单一窗口里。
你在公司电脑上写了一半的代码,回家后想用笔记本继续?对不起,SSH 会话断了,智能体的上下文全丢了。在地铁上用平板想改个 bug?终端界面在手机上根本没法用。回到桌面,又要从头接上。
dinotty 正是为解决这个问题而生。它的 slogan 直击本质:"One terminal. Every device. Every possibility." 一个终端,跨所有设备,永不丢失会话。
理解 dinotty 的技术核心,要先理解传统方案的痛点。
大多数现有 Web 终端(如 gotty、shell in a box)的工作方式很简单:WebSocket 管道——浏览器通过 WebSocket 连接到后台的 PTY(Pseudo-Terminal,伪终端),按键传到 PTY,输出从 PTY 传回浏览器。问题是:一旦 WebSocket 断开,PTY 进程随之终止,刷新页面意味着从头再来。
dinotty 的设计完全不同:
简单说:传统方案是"终端显示器的远程控制",dinotty 是"终端本身的远程控制"。
这是 dinotty 的招牌能力。同一会话可以从桌面切换到手机、再切回平板,内容完全一致。服务端 VTE 保证了状态在服务端完整维护,任意设备随时接入。这对于经常需要在多设备间切换的开发者,或需要移动编程能力的场景(平板码字、应急修改服务器)尤为实用。
dinotty 内置了完整的 SSH 客户端,支持密码和密钥认证。连接远程服务器后,远程会话的体验与本地完全一致。更有价值的是 SFTP 文件管理——连接 SSH 时自动启用,无需额外工具即可浏览、编辑、上传、下载远程文件。
dinotty 内置了 JS 插件运行时,支持热加载。官方内置的插件包括:
插件还支持自定义命令、终端交互和事件订阅,API 已经就绪。
Rust 作为后端语言,在终端这类 IO 密集且对性能敏感的场景下优势明显:
Vue 3 的响应式系统配合 xterm.js(Chrome DevTools 同款终端模拟器),提供流畅的终端渲染体验。Tauri 2 桌面客户端则让 dinotty 可以作为原生 App 运行,绕过浏览器的限制。
项目提供了完整的多阶段 Dockerfile:
| 阶段 | 基础镜像 | 作用 |
|---|---|---|
| 前端构建 | node:22-alpine | pnpm build Vue3 前端 |
| Rust 编译 | rust:1-alpine | cargo build 编译二进制(musl 静态链接) |
| 运行时 | alpine:3.21 | 精简运行镜像(约百 MB) |
docker-compose.yml 自带 healthcheck,配置 DINOTTY_TOKEN 环境变量即可一键启动。
dinotty 不是又一个 VNC/RDP 替代品,它的定位更精准:
| 对比维度 | dinotty | Remote Desktop (VNC/RDP/Parsec) |
|---|---|---|
| 传输内容 | 文本(~1-10 KB/s) | 屏幕像素(~1-10 MB/s) |
| 移动端适配 | 原生文本,任意分辨率清晰 | 缩放位图,模糊且操作困难 |
| 弱网容忍 | 强(自动重连,无帧丢失) | 弱(画面冻结、延迟高) |
| 电池消耗 | 低(纯文本渲染) | 高(视频解码) |
| 适用场景 | 终端操作、AI Coding | 图形界面应用 |
# 1. 克隆仓库
git clone https://github.com/xichan96/dinotty.git
cd dinotty/deploy/docker
# 2. 配置 token(必需)
cp .env.example .env
# 编辑 .env,填入 DINOTTY_TOKEN=你的随机字符串
# 3. 启动
docker-compose up -d
# 4. 访问
# 浏览器打开 http://localhost:8999
# 输入 token 即可登录
可选:将工作区目录挂载出来,保留数据持久化。
dinotty 的出现反映了一个趋势:AI Coding Agent 正在从"工具"进化为"工作环境"。当 Claude Code 能独立完成一个功能模块的开发时,开发者需要的不再是一个"终端",而是一个跨设备、永不中断的 AI 工作空间。
这个需求目前主流 IDE 的远程开发方案(VS Code Remote、JetBrains Gateway)解决得并不优雅——它们依赖完整的 IDE 环境,带宽占用高,移动端几乎不可用。dinotty 用极低的资源消耗解决了这个矛盾。
如果你在使用 AI Coding 工具,dinotty 值得一试。它让 AI Coding Agent 的工作流真正挣脱了物理设备的限制。
分析基于 GitHub 仓库 2026-08-24 快照。v0.23.0 为当天发布,项目保持活跃迭代。采用 MIT 开源许可。

插件系统演示:CC Switch、JSON Formatter 等内置插件,支持 JS 热加载

工作区管理演示:多工作区隔离,Mission Control 总览