Skip to main content

Voice-to-text paste bridge for Claude CLI on remote SSH sessions

Project description

janus-remote

Voice-to-text paste bridge for Claude CLI on remote SSH sessions.

Use your voice to interact with Claude CLI running on remote servers, with transcriptions pasted directly into the terminal - no window switching needed!

Installation

pip install janus-remote

Requirements

  1. Local Mac: Janus Electron app running (provides voice recognition + WebSocket server)
  2. SSH Config: Port forwarding enabled (one-time setup)

SSH Setup (One-Time)

Add this to your ~/.ssh/config on your local Mac:

Host *
    RemoteForward 9473 localhost:9473

Or for specific hosts:

Host myserver
    HostName myserver.example.com
    RemoteForward 9473 localhost:9473

This forwards the Janus WebSocket bridge (port 9473) to the remote server.

Usage

On your remote server via SSH:

# Start a new Claude session with voice paste support
claude-janus

# Resume a previous session
claude-janus --resume
claude-janus -r

How It Works

LOCAL MAC                           REMOTE SERVER (via SSH)
┌─────────────────────┐             ┌─────────────────────┐
│ Janus Electron      │             │ claude-janus        │
│ (Voice Recognition) │             │ (This package)      │
│         │           │             │         │           │
│         ▼           │             │         │           │
│ WebSocket :9473 ────┼─────────────┼───────► │           │
│                     │  SSH Tunnel │         ▼           │
│                     │             │ Inject into PTY     │
└─────────────────────┘             └─────────────────────┘
  1. Speak into your Mac's microphone
  2. Janus transcribes and sends via WebSocket
  3. SSH tunnel forwards to remote server
  4. claude-janus receives and injects text directly into Claude CLI

Features

  • Sexy Terminal Banner: Claude + Janus ASCII art on startup 🔮
  • Voice Paste: Speak on your Mac → text appears in remote terminal
  • Approval Overlay: Claude permission requests show on your local Mac overlay
  • Zero latency feel: WebSocket connection, no polling
  • Background paste: No window switching - text appears directly in terminal
  • Multi-session support: Run multiple claude-janus sessions on different servers
  • Auto-reconnect: Handles connection drops gracefully

Troubleshooting

"Bridge connection failed"

  • Ensure Janus Electron is running on your local Mac
  • Verify SSH port forwarding is configured
  • Check that port 9473 isn't blocked

"Could not find 'claude' binary"

  • Install Claude CLI: npm install -g @anthropic-ai/claude-cli
  • Or ensure it's in your PATH

License

MIT

Author

He Who Seeks

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

janus_remote-0.2.0.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

janus_remote-0.2.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file janus_remote-0.2.0.tar.gz.

File metadata

  • Download URL: janus_remote-0.2.0.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for janus_remote-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b66c5ba4f8aa7be0a08c38fc4a9106024b2f2db19d342c0eca4cf08893493b4e
MD5 14b30c8fd858a68de9b9abf1b2a4d9d9
BLAKE2b-256 3449deb88d13214bfad8138e4108416ed9a1d827d5498dcf8a28a3697df42d84

See more details on using hashes here.

File details

Details for the file janus_remote-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: janus_remote-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for janus_remote-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8f57afd2bd5ec1f4dcc87f006fd46ecc678073ff3fafa5f0ab857a25f42f4a3a
MD5 1413c0286f6f6278538edae1bb5479c6
BLAKE2b-256 4ffe2364d4d15056219ccfe430cee9c7514c3bf607eb5d810407f0c4b77571f0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page