Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CanvasTTY — a spatial desktop for local terminals and AI agents

English · Русский · 简体中文

Your terminals are places, not tabs.
CanvasTTY is an Electron spatial desktop for real local PTYs and AI-agent CLI sessions. Keep a fixed Home zone, arrange live terminals on an infinite canvas, and see provider limits backed by real data sources.

Stack

Desktop Interface Terminal Providers
Electron
electron-vite
React
TypeScript
xterm.js
node-pty
Codex
Claude · Kimi

The application interface currently supports English and Russian. This documentation is also available in Simplified Chinese.

One canvas, real sessions

Launch a shell or agent in a project directory, move and resize its live terminal, zoom out to navigate semantically, and return to Home for sessions, limits, media, and launch shortcuts. CanvasTTY keeps PTY state in the trusted main process and exposes only typed, allow-listed capabilities to the renderer.

Windows shells and provider CLIs

On Windows, the Terminal launcher uses the built-in Windows PowerShell with a clean -NoLogo -NoProfile session, then falls back to pwsh or cmd.exe. Codex, Claude, and Kimi are resolved to a concrete .exe, .com, .cmd, or .bat launcher from the user's PATH or standard per-user CLI directories before they are passed to node-pty/ConPTY.

CanvasTTY does not install provider CLIs. If a provider is missing, the launch dialog reports which CLI was not found and which directories were checked. Install the required CLI and restart CanvasTTY so the desktop process receives the updated environment.

Install

Download the 1.0.2 release from GitHub Releases: AppImage/deb for Linux x86_64, installer/portable app for Windows x64, and dmg/zip for Apple Silicon macOS. Packages are not yet code-signed or notarized; Intel Mac builds are not included yet. Read installing and local-data security.

Or run from source:

npm install
npm run dev

Docs

Start here Build on CanvasTTY
Documentation hub Widget authoring
Getting started Metrics and telemetry
Built-in browser and audit log Bundled agent browser skill
Install, releases, and local data Security policy
Architecture UI contract
Runtime plugin authoring Typed plugin SDK
Changelog MIT license

Runtime plugins

CanvasTTY includes a permissioned runtime for ready-to-run static GitHub packages: HOME widgets, canvas apps, and separate sandboxed windows. The host SDK now supports persistent user-selected music-library grants, seekable local audio streams, and bounded playlist import/export for full player plugins. See the authoring and security guide, manifest schema, and TypeScript SDK declarations.

Community plugins:

Built-in agent browser

CanvasTTY includes a core browser rather than a plugin capability: trusted React chrome backed by sandboxed Electron WebContentsView tabs in one persistent Chromium profile. It is available from HOME, restores safe HTTP(S) tabs, keeps website credentials inside Chromium, manages downloads/uploads, and exposes typed browser actions to Claude Code, Codex, and Kimi sessions launched by CanvasTTY.

The browser card participates in the same canvas selection, hover-focus, drag, resize, and semantic-zoom model as terminals. Settings controls agent access, tab restore, recent downloads/activity, and browser-data clearing. Agent access uses an authenticated local socket or named pipe and a bundled stdio MCP helper; it does not open a TCP or remote-debugging port and never exports cookies, passwords, auth headers, local storage, arbitrary JavaScript, or raw CDP.

Every browser command produces a redacted local activity record. Persistent JSONL audit files form a hash chain below Electron userData/browser/audit, rotate at 100 MB, and prune rotated files older than 30 days during store initialization or rotation. Typed/page text, screenshots, credentials, URL queries/fragments, headers, cookies, and tokens are not stored. See the browser and audit-log guide and Architecture.

Quick checks

npm test
npm run typecheck
npm run build

License

CanvasTTY is released under the MIT License.

About

Your infinite desktop just for your AI agents. Inspired by DriftWM.

Resources

Security policy

Stars

16 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages