{"id":47256327,"url":"https://github.com/dotdevdotdev/agentwire-dev","last_synced_at":"2026-05-18T00:01:38.983Z","repository":{"id":331956540,"uuid":"1125573955","full_name":"dotdevdotdev/agentwire-dev","owner":"dotdevdotdev","description":"Voice-controlled multi-agent framework. Spawn workers, orchestrate across machines, talk to your agents over SSH. CLI + SDK + Telegram.","archived":false,"fork":false,"pushed_at":"2026-05-16T20:39:28.000Z","size":53876,"stargazers_count":11,"open_issues_count":6,"forks_count":5,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-16T20:44:23.159Z","etag":null,"topics":["agent","ai","ai-coding","claude","cli","speech-to-text","tmux","tts","voice"],"latest_commit_sha":null,"homepage":"https://agentwire.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dotdevdotdev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":"CLA.md"},"funding":{"github":"dotdevdotdev"}},"created_at":"2025-12-31T01:15:40.000Z","updated_at":"2026-05-16T20:28:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dotdevdotdev/agentwire-dev","commit_stats":null,"previous_names":["dotdevdotdev/agentwire","dotdevdotdev/agentwire-dev"],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/dotdevdotdev/agentwire-dev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotdevdotdev%2Fagentwire-dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotdevdotdev%2Fagentwire-dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotdevdotdev%2Fagentwire-dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotdevdotdev%2Fagentwire-dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dotdevdotdev","download_url":"https://codeload.github.com/dotdevdotdev/agentwire-dev/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotdevdotdev%2Fagentwire-dev/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33160167,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"ssl_error","status_checked_at":"2026-05-17T22:39:10.741Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","ai","ai-coding","claude","cli","speech-to-text","tmux","tts","voice"],"created_at":"2026-03-14T17:57:45.545Z","updated_at":"2026-05-18T00:01:33.955Z","avatar_url":"https://github.com/dotdevdotdev.png","language":"Python","funding_links":["https://github.com/sponsors/dotdevdotdev"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://agentwire.dev/images/echo-banner.png\" alt=\"AgentWire\" width=\"600\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eTalk to your AI coding agents. From anywhere.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://pypi.org/project/agentwire-dev/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/agentwire-dev?color=green\" alt=\"PyPI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/agentwire-dev/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/pyversions/agentwire-dev\" alt=\"Python\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/dotdevdotdev/agentwire-dev/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/dotdevdotdev/agentwire-dev\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/bspFZNTdUr\"\u003e\u003cimg src=\"https://img.shields.io/discord/1234567890?color=5865F2\u0026label=discord\" alt=\"Discord\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## The Problem\n\nYou're on the couch. Your AI agent is on your workstation. You have an idea.\n\nOld way: Get up. Walk to computer. Type.\n\n**AgentWire way:** Pull out phone. Hold button. Talk. Done.\n\n---\n\n## What It Does\n\nPush-to-talk voice control for [Claude Code](https://github.com/anthropics/claude-code) or any AI coding assistant running in tmux.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://agentwire.dev/images/demo.gif\" alt=\"Demo\" width=\"600\"\u003e\n\u003c/p\u003e\n\n```\nPhone → AgentWire Portal → tmux session → Claude Code\n 🎤        (WebSocket)         📺           🤖\n```\n\n**From your phone, tablet, or laptop on your network:**\n- Hold to speak, release to send\n- Watch agents work in real-time\n- Hear responses via TTS\n- Manage multiple projects simultaneously\n\n---\n\n## Quick Start\n\n```bash\n# Install\npip install agentwire-dev\n\n# Setup (interactive)\nagentwire init\nagentwire generate-certs\n\n# Run\nagentwire portal start\n# Open https://localhost:8765\n```\n\n**Requirements:** Python 3.10+, tmux, ffmpeg, Claude Code\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003ePlatform-specific instructions\u003c/strong\u003e\u003c/summary\u003e\n\n**macOS:**\n```bash\nbrew install tmux ffmpeg\npip install agentwire-dev\n```\n\n**Ubuntu/Debian:**\n```bash\nsudo apt install tmux ffmpeg python3-pip python3-venv\npython3 -m venv ~/.agentwire-venv \u0026\u0026 source ~/.agentwire-venv/bin/activate\npip install agentwire-dev\n```\n\n**WSL2:** Same as Ubuntu. Audio is limited; use as remote worker with portal on Windows host.\n\n\u003c/details\u003e\n\n---\n\n## Features\n\n| Feature | Description |\n|---------|-------------|\n| **Voice Control** | Push-to-talk from any device on your network |\n| **Multi-Session** | Run multiple agents on different projects simultaneously |\n| **Git Worktrees** | Same project, multiple branches, parallel agents |\n| **Remote Machines** | SSH into GPU servers and talk to agents there |\n| **Worker Orchestration** | Spawn worker panes, coordinate tasks, voice commands |\n| **Safety Hooks** | 300+ dangerous commands blocked (rm -rf, force push, etc.) |\n| **TTS Responses** | Agents talk back via browser audio |\n| **SDK Sessions** | Structured Claude Agent SDK sessions with parent-child hierarchy |\n| **Telegram Bridge** | Control agents from Telegram with voice notes and inline keyboards |\n| **Session Roles** | Leader/worker patterns for multi-agent workflows |\n\n---\n\n## How It Works\n\n**1. Create a session:**\n```bash\nagentwire new -s myproject -p ~/projects/myproject\n```\n\n**2. Open the portal:**\nVisit `https://localhost:8765` on your phone/tablet/laptop\n\n**3. Talk:**\nHold the mic button, speak your request, release. The transcription goes to Claude Code.\n\n**4. Listen:**\nAgent responses are spoken back via TTS (optional, requires GPU for self-hosted or RunPod).\n\n---\n\n## Multi-Agent Orchestration\n\nAgentWire supports orchestrator/worker patterns for complex tasks:\n\n```yaml\n# .agentwire.yml in your project\ntype: claude-bypass\nroles:\n  - agentwire\n  - voice\n```\n\n**Sessions** can spawn workers:\n```bash\nagentwire spawn --roles worker  # Creates a worker pane\nagentwire send --pane 1 \"Implement the auth module\"\n```\n\nWorkers execute tasks autonomously while the orchestrator coordinates.\n\n---\n\n## Safety\n\nAgentWire blocks dangerous operations before they execute:\n\n- `rm -rf /`, `git push --force`, `git reset --hard`\n- Cloud CLI destructive ops (AWS, GCP, Firebase, Vercel)\n- Database drops, Redis flushes, container nukes\n- Sensitive file access (.env, SSH keys, credentials)\n\n```bash\nagentwire safety check \"rm -rf /\"\n# → ✗ BLOCKED: rm with recursive or force flags\n\nagentwire safety status\n# → 312 patterns loaded, 47 blocks today\n```\n\nAll decisions logged for audit trails.\n\n---\n\n## Voice Configuration\n\n**TTS (Text-to-Speech):** Requires GPU. Options:\n\n```yaml\n# ~/.agentwire/config.yaml\ntts:\n  backend: \"runpod\"  # Recommended: RunPod serverless\n  runpod_endpoint_id: \"your-endpoint\"\n  runpod_api_key: \"your-key\"\n```\n\nOr self-host with `agentwire tts start` on a GPU machine.\n\n**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`.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eDisable voice (text-only mode)\u003c/strong\u003e\u003c/summary\u003e\n\n```yaml\ntts:\n  backend: \"none\"\n```\n\nYou can still use the portal for session management without voice.\n\n\u003c/details\u003e\n\n---\n\n## CLI Reference\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eSession Management\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nagentwire list                    # List sessions\nagentwire new -s \u003cname\u003e -p \u003cpath\u003e # Create session\nagentwire kill -s \u003cname\u003e          # Kill session\nagentwire send -s \u003cname\u003e \"prompt\" # Send to session\nagentwire output -s \u003cname\u003e        # Read output\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWorker Panes\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nagentwire spawn --roles worker    # Spawn worker in current session\nagentwire send --pane 1 \"task\"    # Send to worker\nagentwire output --pane 1         # Read worker output\nagentwire kill --pane 1           # Kill worker\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eVoice Commands\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nagentwire say \"Hello\"             # TTS (auto-routes to browser)\nagentwire alert \"Done\"            # Text notification (no audio)\nagentwire listen start/stop       # Voice recording\nagentwire voiceclone list         # Custom voices\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eRemote Machines\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nagentwire machine add gpu --host 10.0.0.5 --user dev\nagentwire new -s ml@gpu           # Create session on remote\nagentwire tunnels up              # SSH tunnels for services\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eSafety \u0026 Diagnostics\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nagentwire doctor                  # Auto-diagnose issues\nagentwire safety status           # Check protection status\nagentwire hooks install           # Install Claude Code hooks\nagentwire network status          # Service health check\n```\n\n\u003c/details\u003e\n\n---\n\n## Documentation\n\n- [Troubleshooting](docs/TROUBLESHOOTING.md)\n- [Portal API](docs/PORTAL.md)\n- [Remote Machines](docs/remote-machines.md)\n- [RunPod TTS Setup](docs/runpod-tts.md)\n- [Self-Hosted TTS](docs/tts-self-hosted.md)\n- [Safety Hooks](docs/security/damage-control.md)\n\n---\n\n## Community\n\n- [Discord](https://discord.gg/bspFZNTdUr) - Chat, support, feature requests\n- [Issues](https://github.com/dotdevdotdev/agentwire-dev/issues) - Bug reports\n- [Website](https://agentwire.dev) - Docs and demos\n\n---\n\n## License\n\n**Dual-licensed:**\n- [AGPL v3](LICENSE) - Free for open source\n- Commercial license available - [contact us](mailto:dev@dotdev.dev)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eAgentWire: For people who have better things to do.\u003c/strong\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotdevdotdev%2Fagentwire-dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdotdevdotdev%2Fagentwire-dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotdevdotdev%2Fagentwire-dev/lists"}