Voice-to-text paste and approval 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
- Local Mac: Janus Electron app running (provides voice recognition + WebSocket server)
- 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 │
└─────────────────────┘ └─────────────────────┘
- Speak into your Mac's microphone
- Janus transcribes and sends via WebSocket
- SSH tunnel forwards to remote server
claude-janusreceives 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-janussessions 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file janus_remote-0.12.1.tar.gz.
File metadata
- Download URL: janus_remote-0.12.1.tar.gz
- Upload date:
- Size: 33.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58b24688687544d20dce51a99033c454eed535964ad8b7923db7afea97659d77
|
|
| MD5 |
2baa1d00df21f9e3d4b042fc96a2bdbe
|
|
| BLAKE2b-256 |
cadb18586d47afbaec5ddcf70df17406ae87c006df410d6d497a941fdea0ae21
|
File details
Details for the file janus_remote-0.12.1-py3-none-any.whl.
File metadata
- Download URL: janus_remote-0.12.1-py3-none-any.whl
- Upload date:
- Size: 34.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9b3d33cde2b405dce9c1a5bc19cc6e8df5e8fdbbc74e6866a6184179d34d328
|
|
| MD5 |
73ac8c61771aa6dc25f07dc71c22481f
|
|
| BLAKE2b-256 |
2726418acea560b7c099c495d0e36d7ef32fd705b444b7367b101d7d8abc8486
|