Multi-session voice web interface for AI coding agents
Project description
Talk to your AI coding agents. From anywhere.
The Problem
You're on the couch. Your AI agent is on your workstation. You have an idea.
Old way: Get up. Walk to computer. Type.
AgentWire way: Pull out phone. Hold button. Talk. Done.
What It Does
Push-to-talk voice control for Claude Code or any AI coding assistant running in tmux.
Phone → AgentWire Portal → tmux session → Claude Code
🎤 (WebSocket) 📺 🤖
From your phone, tablet, or laptop on your network:
- Hold to speak, release to send
- Watch agents work in real-time
- Hear responses via TTS
- Manage multiple projects simultaneously
Quick Start
# Install
pip install agentwire-dev
# Setup (interactive)
agentwire init
agentwire generate-certs
# Run
agentwire portal start
# Open https://localhost:8765
Requirements: Python 3.10+, tmux, ffmpeg, Claude Code
Platform-specific instructions
macOS:
brew install tmux ffmpeg
pip install agentwire-dev
Ubuntu/Debian:
sudo apt install tmux ffmpeg python3-pip python3-venv
python3 -m venv ~/.agentwire-venv && source ~/.agentwire-venv/bin/activate
pip install agentwire-dev
WSL2: Same as Ubuntu. Audio is limited; use as remote worker with portal on Windows host.
Features
| Feature | Description |
|---|---|
| Voice Control | Push-to-talk from any device on your network |
| Multi-Session | Run multiple agents on different projects simultaneously |
| Git Worktrees | Same project, multiple branches, parallel agents |
| Remote Machines | SSH into GPU servers and talk to agents there |
| Worker Orchestration | Spawn worker panes, coordinate tasks, voice commands |
| Safety Hooks | 300+ dangerous commands blocked (rm -rf, force push, etc.) |
| TTS Responses | Agents talk back via browser audio |
| Outbound Channels | Email (Resend) + SMS (Quo / OpenPhone) for cross-device notifications |
| Session Roles | Leader/worker patterns for multi-agent workflows |
How It Works
1. Create a session:
agentwire new -s myproject -p ~/projects/myproject
2. Open the portal:
Visit https://localhost:8765 on your phone/tablet/laptop
3. Talk: Hold the mic button, speak your request, release. The transcription goes to Claude Code.
4. Listen: Agent responses are spoken back via TTS (optional, requires GPU for self-hosted or RunPod).
Multi-Agent Orchestration
AgentWire supports orchestrator/worker patterns for complex tasks:
# .agentwire.yml in your project
type: claude-bypass
roles:
- agentwire
- voice
Sessions can spawn workers:
agentwire spawn --roles worker # Creates a worker pane
agentwire send --pane 1 "Implement the auth module"
Workers execute tasks autonomously while the orchestrator coordinates.
Safety
AgentWire blocks dangerous operations before they execute:
rm -rf /,git push --force,git reset --hard- Cloud CLI destructive ops (AWS, GCP, Firebase, Vercel)
- Database drops, Redis flushes, container nukes
- Sensitive file access (.env, SSH keys, credentials)
agentwire safety check "rm -rf /"
# → ✗ BLOCKED: rm with recursive or force flags
agentwire safety status
# → 312 patterns loaded, 47 blocks today
All decisions logged for audit trails.
Voice Configuration
TTS (Text-to-Speech): Requires GPU. Options:
# ~/.agentwire/config.yaml
tts:
backend: "runpod" # Recommended: RunPod serverless
runpod_endpoint_id: "your-endpoint"
runpod_api_key: "your-key"
Or self-host with agentwire tts start on a GPU machine.
STT (Speech-to-Text): Runs locally via agentwire stt start. Uses Moonshine ONNX by default (fast CPU inference, no GPU required), with automatic fallback to faster-whisper. Configure backend in config.yaml.
Disable voice (text-only mode)
tts:
backend: "none"
You can still use the portal for session management without voice.
CLI Reference
Session Management
agentwire list # List sessions
agentwire new -s <name> -p <path> # Create session
agentwire kill -s <name> # Kill session
agentwire send -s <name> "prompt" # Send to session
agentwire output -s <name> # Read output
Worker Panes
agentwire spawn --roles worker # Spawn worker in current session
agentwire send --pane 1 "task" # Send to worker
agentwire output --pane 1 # Read worker output
agentwire kill --pane 1 # Kill worker
Voice Commands
agentwire say "Hello" # TTS (auto-routes to browser)
agentwire alert "Done" # Text notification (no audio)
agentwire listen start/stop # Voice recording
agentwire voiceclone list # Custom voices
Remote Machines
agentwire machine add gpu --host 10.0.0.5 --user dev
agentwire new -s ml@gpu # Create session on remote
agentwire tunnels up # SSH tunnels for services
Safety & Diagnostics
agentwire doctor # Auto-diagnose issues
agentwire safety status # Check protection status
agentwire hooks install # Install Claude Code hooks
agentwire network status # Service health check
Documentation
Full reference: docs/wiki/INDEX.md
Quick links:
Community
License
Dual-licensed:
- AGPL v3 - Free for open source
- Commercial license available - contact us
AgentWire: For people who have better things to do.
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 agentwire_dev-1.29.0.tar.gz.
File metadata
- Download URL: agentwire_dev-1.29.0.tar.gz
- Upload date:
- Size: 31.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd88732430fb756752ffa9553361db3e5b5a3f403dd0083353384e4e5f51dcd0
|
|
| MD5 |
a686d225408ea2d36ae36377379adc4e
|
|
| BLAKE2b-256 |
6ae3d63aba8b7fa2d8556b5060e4d8ec1b210ad8e71ffec5e45f854bf6f2e5fe
|
File details
Details for the file agentwire_dev-1.29.0-py3-none-any.whl.
File metadata
- Download URL: agentwire_dev-1.29.0-py3-none-any.whl
- Upload date:
- Size: 31.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4c76ea91d55d29cf6b9ffa3c2daf41ce91705fda75b0919aad0c273612036a9
|
|
| MD5 |
1f828513408ea2f94386cbfa9e04d7f9
|
|
| BLAKE2b-256 |
eba657a07b16547046bc838b39b182402c269cb93f2fab990cff29eac91b0bd1
|