A community-driven registry for the Claude Code ecosystem. Not affiliated with Anthropic.
Are you the author? Sign in to claim
TalkiTo lets developers interact with AI systems through speech across multiple channels (terminal, API, phone). It can
TalkiTo lets developers talk, slack and whatsapp with Claude Code and OpenAI Codex. It can be used as a command-line tool, a web extension, and as a Python library.
curl -sSL https://raw.githubusercontent.com/robdmac/talkito/main/install.sh | bash
pip install talkito
Then just run:
talkito claude
# Clone the repository
git clone https://github.com/robdmac/talkito.git
cd talkito
# Create and activate virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate
# Install system dependencies (macOS)
brew install portaudio
# Install package (normal install - gets updates via git pull)
pip install .
# Run this in a directory you want to use claude with
talkito claude
# Clone the repository
git clone https://github.com/robdmac/talkito.git
cd talkito
# Create and activate virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate
# Install system dependencies (macOS)
brew install portaudio
# Install in development mode (editable install)
pip install -e .
# Run this in a directory you want to use claude with
talkito claude
or for the web extension run as
talkito --mcp-sse-server
then go to chrome://extensions/ and load unpacked the extensions/chrome/ dir
| AI Assistant | Method | Status |
|---|---|---|
| Claude Code | Terminal | Fully Supported |
| Codex Cli | Terminal | Fully Supported |
| bolt.new | Web Extension | Output Only |
| v0.dev | Web Extension | Output Only |
| replit.com | Web Extension | Output Only |
| Other agents | Terminal | In Progress |
run talkito claude
run talkito codex
run talkito --mcp-server
run talkito
# Disable auto-skip to newer content (auto-skip is on by default)
talkito --dont-auto-skip-tts claude
# Use different TTS providers
talkito --tts-provider polly --tts-voice Matthew --tts-region us-west-2 echo "Hello with AWS"
talkito --tts-provider azure --tts-voice en-US-JennyNeural echo "Hello with Azure"
talkito --tts-provider gcloud --tts-voice en-US-Journey-F echo "Hello with Google"
talkito --tts-provider kittentts --tts-voice expr-voice-3-f echo "Hello with KittenTTS"
talkito --tts-provider kokoro --tts-voice af_heart echo "Hello with Kokoro (local)"
# Use different ASR providers
talkito --asr-provider gcloud --asr-language en-US claude
AZURE_SPEECH_KEY=... AZURE_SPEECH_REGION=eastus talkito --asr-provider azure claude
WHISPER_MODEL=small WHISPER_COMPUTE_TYPE=int8 talkito --asr-provider local_whisper claude
talkito --asr-language es-ES echo "Hola mundo" # Spanish recognition
# Enable remote communication (configure via environment variables)
talkito --slack-channel '#alerts' python manage.py runserver
talkito --whatsapp-recipients +1234567890 long-running-command
talkito --sms-recipients +1234567890,+0987654321 server-monitor.sh
The TTS module can be used independently for text-to-speech operations:
#!/usr/bin/env python3
import tts
# Initialize TTS
engine = tts.detect_tts_engine()
tts.start_tts_worker(engine)
# Speak text
tts.queue_for_speech("Hello from the TTS module!")
# Wait and cleanup
import time
time.sleep(2)
tts.shutdown_tts()
The ASR module can be used independently for speech recognition:
#!/usr/bin/env python3
import asr
# Define callback for recognized text
def handle_text(text):
print(f"You said: {text}")
# Start dictation
asr.start_dictation(handle_text)
# Keep running (press Ctrl+C to stop)
try:
import time
while True:
time.sleep(1)
except KeyboardInterrupt:
asr.stop_dictation()
say commandespeak, festival, or flite (install via package manager)--tts-provider openai --tts-voice novaAWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY--tts-provider polly --tts-voice MatthewAZURE_SPEECH_KEY and AZURE_REGION--tts-provider azure --tts-voice en-US-JennyNeuralGOOGLE_APPLICATION_CREDENTIALS to service account JSON path--tts-provider gcloud --tts-voice en-US-Journey-FELEVENLABS_API_KEYDEEPGRAM_API_KEY--tts-provider deepgram --tts-voice aura-asteria-enpip install https://github.com/KittenML/KittenTTS/releases/download/0.1/kittentts-0.1.0-py3-none-any.whl soundfile phonemizerkitten-tts-nano-0.2) into the Hugging Face cache. Configure KITTENTTS_MODEL and KITTENTTS_VOICE to pick different quality/voice options.KITTENTTS_MODEL=kitten-tts-nano-0.2 talkito --tts-provider kittentts --tts-voice expr-voice-3-fpip install 'kokoro>=0.9.4' soundfile phonemizerKOKORO_LANGUAGE, KOKORO_VOICE, KOKORO_SPEED to control defaults).talkito --tts-provider kokoro --tts-voice af_heart --tts-language en-USGOOGLE_APPLICATION_CREDENTIALS--asr-provider gcloudASSEMBLYAI_API_KEYDEEPGRAM_API_KEYHOUNDIFY_CLIENT_ID and HOUNDIFY_CLIENT_KEY--asr-provider houndify--asr-provider aws --aws-region us-west-2AZURE_SPEECH_KEY and AZURE_SPEECH_REGION, then pip install azure-cognitiveservices-speechAZURE_SPEECH_KEY=... AZURE_SPEECH_REGION=eastus talkito --asr-provider azurepip install faster-whisper (default) or WHISPER_COREML=1 pip install pywhispercpp for Apple Silicon/CoreML accelerationWHISPER_MODEL (e.g., small, medium), WHISPER_DEVICE (cpu, cuda, or mps), and WHISPER_COMPUTE_TYPE (int8, int8_float16, etc.). Models are cached locally and TalkiTo will prompt before downloading unless TALKITO_AUTO_APPROVE_DOWNLOADS=1.WHISPER_MODEL=small WHISPER_COMPUTE_TYPE=int8 talkito --asr-provider local_whisperTWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_PHONE_NUMBER you will need to a verified number to avoid being filtered.--sms-recipients +1234567890talkito --setup-whatsapp for detailed setup guideTWILIO_ACCOUNT_SID: Your Twilio account SIDTWILIO_AUTH_TOKEN: Your Twilio auth tokenTWILIO_WHATSAPP_NUMBER: Twilio's WhatsApp number (usually +14155238886)WHATSAPP_RECIPIENTS: Your WhatsApp numberZROK_RESERVED_TOKEN: Your zrok reserved share tokenzrok reserve public http://localhost:8080https://YOUR-TOKEN.share.zrok.io/whatsapp--whatsapp-recipients +1234567890SLACK_BOT_TOKEN and optionally SLACK_APP_TOKEN--slack-channel '#channel-name'Talkito supports two environment files:
.env - Primary configuration (takes precedence).talkito.env - Secondary configuration (won't override .env)Copy .env.example to .env and add your API keys:
cp .env.example .env
# Edit .env with your API keys
For WhatsApp setup with zrok tunneling:
ZROK_RESERVED_TOKEN: Your zrok reserved share token for webhook tunnelingsay command) or Linux (with espeak, festival, or flite)SpeechRecognition and pyaudio for ASR supportSee CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the GNU Affero General Public License v3.0 or later - see the LICENSE file for details.
Copyright (C) 2025 Robert Macrae
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Secure MCP server for MySQL database interaction, queries, and schema management
English-first Korean equity intelligence MCP — DART filings, foreign-holder 5%-rule flows, activist filings, KRX news. F