Skip to content

starry360/dinotty

 
 

Repository files navigation

Dinotty Logo

Dinotty

License Rust Vue 3 GitHub Stars GitHub Downloads GitHub Issues

English | 中文


Coding Agent 打造的多端同步终端服务器。在任意设备上运行 Claude Code、opencode、Codex 或 OpenClaw,桌面端专业高效,移动端随时掌控——无缝切换,会话永不丢失。

截图

手机上运行 Claude Code 完整键盘布局与 htop 主题设置

快捷键盘自定义 系统监控 通知系统

平板横屏桌面级布局

桌面端演示

桌面端同样专业好用,媲美 iTerm2 的终端体验:

分屏 — 可拖拽的多面板分屏,自由调整布局:

分屏演示

插件系统 — JS 插件热重载,内置 CC Switch、JSON Formatter 等:

插件系统演示

网页预览 — 手机上也能预览本地开发服务器,内建反向代理,不用切浏览器:

网页预览演示

为什么选择 Dinotty?

终端 Coding Agent(Claude Code、opencode、Codex、OpenClaw 等)功能强大,但它们被束缚在单一终端窗口里。Dinotty 让你:

  • 在任意设备上管理 agent——桌面端深度编码,离开工位时手机扫码即可继续查看和管理 agent 工作,工作连贯不中断
  • 多端同步,无缝切换——电脑上写到一半,掏出手机继续;回到电脑,一切原样
  • 直接验证 agent 产出——代码 diff、渲染的网页、生成的文件,内置浏览器一目了然
  • 永远不会丢失会话——断网、息屏、切换设备——回来后一切都在原处

轻量级——不是远程桌面

Dinotty 远程桌面 (VNC/RDP/Parsec)
传输数据 纯文本(JSON,字节流) 全屏像素流,30-60 fps
带宽消耗 通常 ~1–10 KB/s ~1–10 MB/s(多 100–1000 倍)
移动网络友好 ✅ 3G/4G 下流畅无延迟 ❌ 卡顿、高延迟、流量消耗大
弱信号容忍度 ✅ 自动重连,无画面丢失 ❌ 画面冻结、输入延迟
电量消耗 低(文本渲染) 高(视频解码)
分辨率适配 任意尺寸下原生文本渲染 位图缩放,手机上模糊
交互方式 原生触控 + 自定义键盘 模拟鼠标,桌面 UI 在手机上很小

核心特性

  • 服务端虚拟终端 — 完整 VTE 解析,服务端掌握精确屏幕状态,支持会话恢复与屏幕快照
  • 会话持久化 — PTY 进程在断网后存活,自动重连 + 指数退避,刷新页面即可恢复
  • 分屏与多 Tab — 可拖拽分屏、多 Tab 管理,服务端主导的 Pane 生命周期
  • 广播模式 — 一个 pane 输入,多个 pane 同步执行,免费
  • 命令收藏 — 右键终端文本直接收藏,分组管理,一键执行
  • 服务器列表 — 管理多台远程服务器,快速切换连接
  • 响应式布局 — 竖屏上下排列,横屏左右并排;触控优化的按钮与面板缩放
  • 可自定义快捷键盘 — 为手机补齐 Ctrl/Esc/功能键,支持任意转义序列
  • 内建文件浏览器 — 代码高亮、Markdown 渲染、Office 文档预览、音视频播放
  • Git 变更指示 — 编辑器 gutter 增/改/删标记,inline diff,Stage/Revert
  • 网页预览 — 内建反向代理,在 iframe 中预览本地开发服务器
  • 通知系统 — 终端 bell/OSC 检测,WebSocket 推送,可配置声音提醒
  • 系统监控 — 实时 CPU/内存/网络图表
  • 插件系统 — JS 插件 + CLI 桥接,热重载,内置 CC Switch、JSON Formatter、Claude Code 对话管理等
  • Open API — HTTP 端点,支持 Stream Deck、快捷指令等外部设备控制
  • 命令面板 — 快速访问命令启动器
  • 桌面应用 — 可选 Tauri 原生客户端

与其他终端的对比

能力 Dinotty ttyd gotty Wetty
服务端虚拟终端(VT Screen)
会话在断网后存活
刷新页面 = 恢复会话
内建文件浏览器和预览
Git 变更指示
内建网页预览(反向代理)
可自定义快捷键盘
广播模式
命令收藏
插件系统
Token 认证

其他 Web 终端只是 WebSocket 到 PTY 的透传管道。Dinotty 在服务端运行完整的虚拟终端仿真器,使得会话恢复、屏幕快照成为可能,结合内建文件/网页浏览器,提供自包含的 Coding Agent 工作环境。

AI Coding 方案对比

Dinotty Claude Code Remote Codex Web Happy hapi Termius tmux
定位 Web 终端服务器 内建多端同步 云端 Agent AI Agent 远程客户端 AI Agent 远程客户端 SSH 客户端 终端复用器
技术方案 服务端 VTE + Web UI Anthropic 云 + 本地 OpenAI 云 CLI 代理包装 CLI 代理包装 原生 App 服务端进程
Web 访问 ✅ claude.ai/code ✅ chatgpt.com/codex ✅ PWA
原生 App Tauri(可选) iOS + Android iOS + Android ❌(PWA) 全平台
通用终端 ✅ 任意命令 ❌ 仅 AI Agent ❌ 仅 AI Agent ❌ 仅 AI Agent ❌ 仅 AI Agent ✅ SSH
Coding Agent 适配 ✅ 文件浏览/预览/通知 ✅ 内建 ✅ 内建 ✅ 语音/审批 ✅ 语音/工作区
分屏 ✅ 原生拖拽 ⚠️ tmux 命令
广播模式 ✅ 免费
命令收藏 ✅ 免费 💰 付费
插件系统
多端同步 ✅ 浏览器即同步 ✅ 跨设备会话同步 ✅ 云端会话 ✅ Vault ❌ 需 SSH
中继服务 计划中 ✅ Anthropic 托管 ✅ OpenAI 托管 SaaS
部署方式 自托管 SaaS SaaS 中继服务 自托管/中继 SaaS 自托管
代码运行位置 自有服务器 本地 / Anthropic 云 OpenAI 云 本地 本地 远程 SSH 远程服务器
价格 🆓 免费开源 💰 需 Pro 订阅 💰 需 Plus 中继服务 自托管/中继 💰 $10/月 🆓 但折腾

Claude Code 和 Codex 各自提供了内建的远程方案,但仅限于自身 Agent 生态。Happy/hapi 是第三方远程控制层,包装 CLI 实现手机审批和语音交互。Dinotty 是通用 Web 终端服务器,Agent 在服务端原生运行,同时提供文件浏览、网页预览、插件系统等完整工作环境,桌面端和移动端均有专业体验。

安装

前往 GitHub Releases 下载对应平台的安装包:

平台 格式 说明
macOS .dmg 双击打开,拖入 Applications 即可
Linux .deb sudo dpkg -i dinotty_*.deb

也可以从源码构建,见下方「快速开始」。

macOS 注意事项:由于应用未签名,macOS 可能会提示 "Dinotty" is damaged and can't be opened。安装后请在终端执行以下命令解除限制:

xattr -cr /Applications/Dinotty.app

Linux 一键下载安装

curl -LO https://github.com/xichan96/dinotty/releases/download/v0.14.0/dinotty-server_0.14.0-1_amd64.deb && sudo dpkg -i dinotty-server_0.14.0-1_amd64.deb

Linux 启动方式

# systemd
systemctl start dinotty-server
systemctl enable dinotty-server  # 开机自启

# Docker 容器
nohup dinotty-server &

默认监听端口 8999,启动后访问 http://<your-ip>:8999。可通过 -p 参数指定端口:

dinotty-server -p 3000

快速开始

# 克隆仓库(推荐 shallow clone,体积小速度快)
git clone --depth 1 --single-branch -b dev git@github.com:xichan96/dinotty.git
cd dinotty

# 构建前端
cd frontend && pnpm install && pnpm run build && cd ..

# 运行服务器
cargo run

在浏览器中打开 http://127.0.0.1:8999

# 带调试日志运行
RUST_LOG=debug cargo run

# 前端类型检查
cd frontend && npx vue-tsc --noEmit

技术栈

层级 技术
后端 Rust, Axum 0.7, Tokio, portable-pty, vte
前端 Vue 3, TypeScript, Vite, xterm.js 5
桌面端 Tauri

Rust 编写 · 单二进制 · 零依赖部署 — 服务端跑完整 VT 状态机,不是管道转发,断线会话不丢失。

更多文档

  • 部署指南 — systemd、Docker、跨平台构建、配置说明
  • 通知系统 — HTTP API、Claude Code 集成、Open API
  • 插件系统 — 安装、清单、API、内置插件
  • 插件开发 — 完整的插件开发文档
  • Agent API — HTTP/WebSocket 结构化交互,供 AI Agent 与自动化脚本调用
  • MCP Server — 内置 MCP JSON-RPC 服务器,AI 助手直接操作终端会话
  • Token 权限系统 — 基于 Capability 的多 Token 细粒度访问控制
  • Event Bus — 全局事件总线,模块间事件分发
  • 审计日志与 Webhook — API 使用追踪与外部通知
  • 贡献指南 — 分支策略、Commit 规范、代码风格

贡献者

感谢所有为 Dinotty 做出贡献的人!

Star History

Star History Chart

许可证

MIT

About

Multi-device terminal server for AI coding agents. Server-side VTE, session persistence, file browser, web preview, plugin system. Self-hosted.

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 36.9%
  • Vue 34.1%
  • TypeScript 25.4%
  • CSS 2.1%
  • Shell 1.1%
  • Dockerfile 0.2%
  • Other 0.2%