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

截图

桌面端演示

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

分屏广播 — 可拖拽的多面板分屏,一个 pane 输入,多个 pane 同步执行:

命令收藏 — 右键终端文本直接收藏,分组管理,一键执行:

SSH 连接与文件浏览器 — 内建 SSH 客户端,远程会话与本地体验一致,SFTP 文件管理全覆盖:

工作区管理与 Mission Control — 多工作区隔离,Mission Control 概览,快速切换:

插件系统 — 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 生命周期
  • 工作区管理 — 多工作区隔离,Mission Control 概览,工作区级插件 Tab
  • 广播模式 — 一个 pane 输入,多个 pane 同步执行,免费
  • 命令收藏 — 右键终端文本直接收藏,分组管理,一键执行
  • SSH 远程连接 — 内建 SSH 客户端,支持密码/密钥认证,远程会话与本地体验一致
  • 远程文件管理(SFTP) — SSH 连接下自动启用 SFTP,文件浏览、编辑、上传、下载全覆盖
  • 服务器列表 — 管理多台远程服务器,快速切换连接
  • 响应式布局 — 竖屏上下排列,横屏左右并排;触控优化的按钮与面板缩放
  • 可自定义快捷键盘 — 为手机补齐 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 原生客户端

差异化亮点

  • 服务端虚拟终端 - 不是 WebSocket-to-PTY 透传,PTY 在断网后存活,刷新页面即恢复会话
  • 多端同步 - 浏览器即同步,桌面深度编码、移动随时接管
  • 轻量纯文本传输 - ~1-10 KB/s,3G/4G 流畅,远胜远程桌面 100-1000 倍带宽
  • 自包含工作环境 - 内建文件浏览、网页预览、Git 变更、SSH/SFTP、插件系统
  • 免费开源 - 自托管,无订阅无中继

完整方案对比见 方案对比

安装

前往 GitHub Releases 下载对应平台的安装包或二进制:

平台 格式 说明
macOS .dmg 双击打开,拖入 Applications 即可
Linux .deb sudo dpkg -i dinotty_*.deb
Windows .exe / 源码构建 在 PowerShell 中运行 dinotty-server.exe,也可从源码构建

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

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

xattr -cr /Applications/Dinotty.app

Linux 一键下载安装

VERSION=$(curl -s https://api.github.com/repos/xichan96/dinotty/releases/latest | sed -n 's/.*"tag_name": *"\([^"]*\)".*/\1/p' | sed 's/^v//') && curl -LO "https://github.com/xichan96/dinotty/releases/download/v${VERSION}/dinotty-server_${VERSION}-1_amd64.deb" && sudo dpkg -i "dinotty-server_${VERSION}-1_amd64.deb"

Linux 启动方式

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

# Docker 容器
nohup dinotty-server &

Windows 启动方式

# PowerShell
.\dinotty-server.exe -p 8999

# 可选:指定默认 shell(优先级高于自动检测)
$env:DINOTTY_SHELL = "pwsh.exe"
.\dinotty-server.exe

Windows 默认 shell 检测顺序为 DINOTTY_SHELLpwsh.exepowershell.exe%ComSpec% / cmd.exe

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

dinotty-server -p 3000

快速开始

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

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

# 运行服务器
cargo run

Windows PowerShell 下可使用等价的分步命令:

git clone --depth 1 --single-branch -b dev [email protected]: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
# Windows PowerShell 带调试日志运行
$env:RUST_LOG = "debug"
cargo run

技术栈

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

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

更多文档

  • 方案对比 — 与 ttyd/gotty/Wetty 及其他 AI Coding 远程方案的差异
  • 部署指南 — systemd、Docker、Windows 原生运行、跨平台构建、配置说明
  • 文件编辑器 — 分屏、多光标编辑、Cursor Group 跨文件同步
  • 通知系统 — 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 做出贡献的人!

加入 QQ 群

Star History

Star History

许可证

MIT