Skip to content

racemo-dev/racemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Racemo

Racemo

Pick up your terminal on another device — exactly where you left it.
Claude, Codex, Gemini, and OpenCode sessions travel with you.
Windows · macOS · Linux — terminal data stays peer-to-peer.

Racemo demo

Build Version License Status
Install · Build from Source · Open Core · Contribute


Features

Remote

  • Share terminal across your devices via GitHub account (WebRTC P2P)
  • One-click share from the title bar — no port forwarding, no SSH keys
  • Signaling relay hosted by Racemo; all terminal data is peer-to-peer
  • Persistent sessions travel with you — open the same session from any device

Remote access across devices

Note: Remote features use a hosted signaling relay (racemo-signal.fly.dev) for WebRTC connection setup. The signaling server is a closed-source hosted service and is not part of this repository. Terminal data after the initial handshake is fully peer-to-peer. Remote hosting assumes the peer is trusted; see docs/open-core.md, docs/PROTOCOL.md, and SECURITY.md.

AI

  • Commit message generator — drafts a Conventional Commits message from your staged diff
  • One-click AI commit — writes the message and commits in a single action
  • Unified session history — browse Claude, Codex, Gemini, and OpenCode session logs side-by-side in a single timeline view

Unified AI session history and commit generator

Terminal

  • Multi-pane layout with horizontal/vertical splitting and drag-to-resize
  • Multiple tabs with quick switching (Alt+1~9)
  • Multi-pane broadcast — type once, send keystrokes to every pane at the same time (Cmd+B)
  • Command palette (Cmd+K) and history search (Cmd+R)
  • Shell autocomplete and command snippets with {{variable}} placeholders — save ssh {{user}}@{{host}} once, reuse forever

Terminal with code editor

Editor & Git

  • Inline code editor with syntax highlighting
  • Markdown viewer with source/wysiwyg toggle
  • File explorer with search and file operations
  • Git staging, diff viewer, branch management

Git worktree and diff viewer Markdown viewer

Privacy & Customization

  • Secret masking for API keys and tokens (Cmd+Shift+M)
  • Multiple built-in themes (light / dark / custom)
  • Configurable fonts, UI scale, and default shell

Install

macOS

curl -fsSL https://raw.githubusercontent.com/racemo-dev/racemo/main/install_mac.sh | sh

Windows

powershell -c "irm https://raw.githubusercontent.com/racemo-dev/racemo/main/install_windows.ps1 | iex"

Linux

curl -fsSL https://raw.githubusercontent.com/racemo-dev/racemo/main/install_linux.sh | sh

Or download directly from the Releases page.

All platforms include automatic updates.

Comparison

tmux / screen iTerm2 / Windows Terminal cmux Racemo
Persistent sessions CLI only No Workspace-based Yes — daemon keeps PTY alive
Cross-platform Linux / macOS Single OS macOS only Windows / macOS / Linux
GUI pane management Keyboard only Basic Yes (vertical + horizontal) Yes
Built-in editor & git No No No Yes
AI session integration No No Agent-native (Claude Code) Unified log view (Claude / Codex / Gemini / OpenCode)
Remote access SSH required No SSH P2P WebRTC via hosted relay

Keyboard Shortcuts

Cmd on macOS, Ctrl on Windows/Linux.

Shortcut Action
Cmd+T New tab
Cmd+Q Close active tab
Cmd+B Toggle broadcast mode
Cmd+K Command palette
Cmd+R History search
Cmd+F Search
Cmd+Shift+E Toggle Explorer sidebar
Cmd+Shift+F Toggle Search sidebar
Cmd+Shift+G Toggle Source Control sidebar
Cmd+Shift+H Toggle AI History sidebar
Cmd+Shift+L Toggle AI Logs sidebar
Cmd+, Open Settings
Cmd+Shift+M Toggle secret masking
Cmd+= / Cmd+- / Cmd+0 Font size
Alt+1~9 Switch to tab by index

Architecture

┌─────────────────────────────────────────────┐
│              React + xterm.js               │  Frontend (TypeScript)
├─────────────────────────────────────────────┤
│              Tauri IPC Bridge               │  Commands & Events
├──────────────────────┬──────────────────────┤
│    Tauri App (Rust)  │  racemo-server (Rust)│  Two binaries
│    GUI + Commands    │  PTY + Sessions      │
├──────────────────────┴──────────────────────┤
│     Unix Socket / Named Pipe (MsgPack)      │  IPC Protocol
├─────────────────────────────────────────────┤
│          OS PTY (posix / ConPTY)            │  Platform Layer
└─────────────────────────────────────────────┘

More detail:

Build from Source

Prerequisites

  • Node.js 20+
  • Rust 1.75+
  • Platform-specific Tauri v2 dependencies (see Tauri docs)

Steps

git clone https://github.com/racemo-dev/racemo.git
cd racemo
npm ci                  # Install dependencies (lockfile-based)
npm run tauri:dev       # Development mode
npm run tauri:build     # Production build

npm run tauri:dev starts the Vite dev server on port 5173. If that port is already in use, stop the existing process or update the Vite dev server port and the matching Tauri devUrl in src-tauri/tauri.conf.json.

Roadmap

  • Telegram integration — session notifications and remote commands via Telegram bot
  • Image viewer and PDF preview in the editor panel
  • Process manager — highlight dev server ports, one-click kill
  • Prompt-to-prompt jump & command separator with execution time
  • Exit code badge (success/failure at a glance)

See docs/roadmap.md and Issues for detailed plans and discussion.

Contributing

See CONTRIBUTING.md before opening a pull request.

License

Apache License 2.0


Built with Rust + Tauri + xterm.js