dinotty

作者 xichan96已验证

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

578
Stars
59
Forks
TypeScript
语言
2026/8/23
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/xichan96/dinotty

快速入门

使用 dinotty 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

Dinotty Logo

Dinotty

License Rust Vue 3 Docs GitHub Stars GitHub Downloads GitHub Issues

中文 | English | Русский | Português | 한국어 | Español | Deutsch | Français


A terminal built for coding agents.

Run Claude Code, opencode, Codex, or OpenClaw on any device -- simple, extensible, multi-device, never lose a session.

One session across phone · iPad · desktop

Stop mid-task on your computer, continue on your phone, then return to your desktop and pick up exactly where you left off. Sessions survive disconnects and restore on refresh.

Everything is a pane — build your terminal like building blocks

Terminals, plugins, files, SSH, and web previews are all panes. Drag them around to assemble your own workspace.

Screenshots

Running Claude Code on mobile Full keyboard layout with htop Theme settings

Custom shortcut keyboard System monitor Notification system

Tablet landscape desktop-class layout

Desktop Demo

The desktop client delivers a professional experience comparable to iTerm2:

Split Broadcast — Draggable multi-pane split, type in one pane and execute in all panes simultaneously:

Split broadcast demo

Command Bookmarks — Right-click terminal text to bookmark, group management, one-click execution:

Command bookmarks demo

SSH Connection & File Browser — Built-in SSH client, remote sessions feel just like local, full SFTP file management:

SSH connection and file browser demo

Workspace Management & Mission Control — Multi-workspace isolation, Mission Control overview, quick switching:

Workspace management demo

Plugin System — Hot-reloadable JS plugins with built-in CC Switch, JSON Formatter, and more:

Plugin system demo

Unified Layout System - Terminal, plugin, file browser, and web preview are all panes; draggable split, cross-tab move, extract as new tab:

Unified layout system demo

Philosophy

Terminal coding agents - Claude Code, opencode, Codex, OpenClaw - are powerful, yet confined to a single window. Dinotty sets them free. One terminal. Every device. Every possibility.

Sync everywhere

Half-done on your laptop. Pick up your phone, keep going. Back to your laptop, exactly as you left it.

Endless extensibility

JS plugins with hot reload. CC Switch, JSON Formatter, Claude Code dialog management - built in. Custom commands, terminal interaction, event subscriptions, CLI integration - the API is ready.

Everything is a pane

Terminal, files, web preview, Git changes, SSH remote. Drag to split, move across tabs. All in one flow.

Never drops

Server-side VTE. PTY survives disconnects. Refresh the page, you're back where you were.

Free and open

Self-hosted. No subscriptions. No relay. Your data stays on your machine.

Lightweight — Not a Remote Desktop

DinottyRemote Desktop (VNC/RDP/Parsec)
Data transmittedText only (JSON, bytes)Full screen pixels at 30-60 fps
Bandwidth~1–10 KB/s typical~1–10 MB/s (100–1000x more)
Mobile data friendly✅ Works on 3G/4G without lag❌ Choppy, high latency, burns data
Weak signal tolerance✅ Auto-reconnect, no frame loss❌ Frozen screen, input lag
Battery consumptionLow (text rendering)High (video decoding)
Resolution adaptationNative text at any sizeScaled bitmap, blurry on phone
InteractionNative touch, custom keyboardSimulated mouse, tiny desktop UI

Key Features

  • Server-side virtual terminal — full VTE parser, server knows exact screen state, enables session recovery & screen snapshots
  • Session persistence — PTY processes survive disconnection, auto-reconnect with exponential backoff, refresh page to restore
  • Split pane & multi-tab — draggable split, multi-tab management with server-led pane lifecycle
  • Workspace management — multi-workspace isolation, Mission Control overview, workspace-scoped plugin tabs
  • Broadcast mode — input in one pane, execute in all panes simultaneously, free
  • Command bookmarks — right-click terminal text to bookmark, group management, one-click execution
  • SSH remote connection — built-in SSH client with password/key auth, remote sessions feel just like local
  • Remote file management (SFTP) — auto-enabled over SSH connections, full file browse/edit/upload/download
  • Server list — manage multiple remote servers, quick switch connections
  • Responsive layout — portrait stacks vertically, landscape side-by-side; touch-optimized buttons & pane resizing
  • Customizable shortcut keyboard — add Ctrl/Esc/function keys for mobile, supports arbitrary escape sequences
  • Built-in file browser — code highlighting, Markdown rendering, Office document preview, audio/video playback
  • Git change indicators — gutter marks for added/modified/deleted lines, inline diff, Stage/Revert
  • Web preview — built-in reverse proxy to preview local dev servers in iframe
  • Notification system — terminal bell/OSC detection, WebSocket push, configurable sound alerts
  • System monitor — real-time CPU/memory/network charts
  • Plugin system — JS plugins + CLI bridge, hot-reload; ships with CC Switch, JSON Formatter, Claude Code conversation manager, etc.
  • Open API — HTTP endpoint for external device control (Stream Deck, Shortcuts, automation scripts)
  • Command palette — quick-access command launcher
  • Desktop app — optional Tauri-based native client

Key Differentiators

  • Server-side virtual terminal - Not a WebSocket-to-PTY pipe; PTY survives disconnect, refresh page to restore session
  • Multi-device sync - Browser-based sync, deep coding on desktop, take over from mobile
  • Lightweight text-only transport - ~1-10 KB/s, smooth on 3G/4G, 100-1000x less bandwidth than remote desktop
  • Self-contained environment - Built-in file browser, web preview, Git changes, SSH/SFTP, plugin system
  • Free & open source - Self-hosted, no subscription, no relay fees

See comparison with other solutions for details.

Installation

Download the installer or binary for your platform from GitHub Releases:

PlatformFormatNotes
macOS.dmgOpen and drag to Applications
Linux.debsudo dpkg -i dinotty_*.deb
Windows.exe / source buildRun dinotty-server.exe from PowerShell, or build from source

You can also build from source, see "Quick Start" below.

macOS Note: Since the app is unsigned, macOS may show "Dinotty" is damaged and can't be opened. Run the following command after installation to remove the restriction:

xattr -cr /Applications/Dinotty.app

Linux one-liner install:

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 startup:

# systemd
systemctl start dinotty
systemctl enable dinotty  # auto-start on boot

# Docker container
nohup dinotty-server &

Windows startup:

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

# Optional: override the default shell before auto-detection
$env:DINOTTY_SHELL = "pwsh.exe"
.\dinotty-server.exe

On Windows, the default shell is detected in this order: DINOTTY_SHELLpwsh.exepowershell.exe%ComSpec% / cmd.exe.

Default port is 8999. After starting, visit http://<your-ip>:8999. Use -p to specify a custom port:

dinotty-server -p 3000

Quick Start

# Clone repo (shallow clone recommended — faster and smaller)
git clone --depth 1 --single-branch -b dev git@github.com:xichan96/dinotty.git
cd dinotty

# Build frontend
cd frontend && pnpm install && pnpm run build && cd ..

# Run server
cargo run

Windows PowerShell equivalent:

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

Open http://127.0.0.1:8999 in your browser.

# Backend with debug logging
RUST_LOG=debug cargo run

# Frontend type-check
cd frontend && npx vue-tsc --noEmit
# Windows PowerShell debug logging
$env:RUST_LOG = "debug"
cargo run

Verification Code Login

In addition to the default "Token" login, dinotty supports "Verification Code" login as a mutually exclusive alternative: when selected in "Security & Access", remote users receive a 6-digit code generated server-side and pushed to you via a notifier plugin (e.g. feishu-notify). Entering the code on the login page creates a session. Codes are valid for 5 minutes, single-use, and invalidated after 5 wrong attempts. This removes the static token from the remote login path, mitigating XSS / screenshot / device theft / social engineering risks to the token itself.

Before enabling, install a messaging notifier plugin and keep it subscribed to the auth.verification_code event - otherwise the option is disabled in the UI. While login_method=verification_code, uninstalling a plugin currently subscribed to that event is rejected with 409 to prevent accidental lockout.

Emergency Recovery

If verification code login is stuck (notifier plugin uninstalled, subscription lost, or IM/email not arriving), edit ~/.dinotty/settings.json (Windows: %APPDATA%\dinotty\settings.json) on the server host, set auth.login_method back to "token", and restart the dinotty service. This path is only writable by the server host's local user; remote login users cannot modify it.

Tech Stack

LayerTechnology
BackendRust, Axum 0.7, Tokio, portable-pty, vte, russh, russh-sftp
FrontendVue 3, TypeScript, Vite, xterm.js 5
DesktopTauri

Written in Rust · Single binary · Zero dependencies — Runs a full VT state machine on the server, not a pipe-forwarding proxy, so sessions survive disconnection.

More Documentation

  • Comparison — differences vs ttyd/gotty/Wetty and other AI coding remote solutions
  • Deployment Guide — systemd, Docker, Windows native run, cross-platform build, configuration
  • Release Guide — unified version management, version PRs, dev to main promotion, tags, and GitHub Releases
  • File Editor — split panes, multi-cursor editing, Cursor Group cross-file sync
  • Notification System — HTTP API, Claude Code integration, Open API
  • Plugin System — installation, manifest, API, built-in plugins
  • Plugin Development — full plugin development guide (Chinese)
  • Host Clipboard API — sensitive authenticated endpoint used by mobile host paste
  • MCP Server — built-in MCP JSON-RPC server for AI assistants to operate terminal sessions
  • Token Permission System — capability-based multi-token fine-grained access control (Chinese)
  • Event Bus — global event bus for inter-module event dispatch (Chinese)
  • Audit Log & Webhook — API usage tracking and external notifications (Chinese)
  • Contributing — branch strategy, commit convention, code style

Contributors

Thanks to all the people who have contributed to Dinotty!

Star History

Star History

License

MIT

常见问题

What is dinotty?

dinotty is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by xichan96. Multi-device terminal server for AI coding agents. Server-side VTE, session persistence, file browser, web preview, plugin system. Self-hosted. It has 578 GitHub stars.

Is dinotty safe to use?

Yes. dinotty passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install dinotty?

Clone the repository with "git clone https://github.com/xichan96/dinotty" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is dinotty written in?

dinotty is primarily written in TypeScript. It is open-source under xichan96 on GitHub, so you can review or fork the full source.

Are there alternatives to dinotty?

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh dinotty against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI 智能体
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情