AI语音交互工具

Talky 是一款以语音为核心的 AI 交互工具,支持通过语音与 Claude、Moltis、Hermes、Pi 等模型对话,并可通过 MCP 与 Claude 桌面端和编码工具集成,适用于语音问答、语音辅助编程及 AI 协作场景。

  • by WinstonFassett
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 WinstonFassett/talky

使用说明

Talky

Voice interface for AI. Talk to Moltis, Hermes or Pi. Or use MCP to talk to Claude.

Desktop

Mobile

Quick Start

Requirements: Python 3.12 or 3.13, uv

uv tool install talky                 # from PyPI, or from source: uv tool install --editable --from "talky[<extras you use>] @ $PWD" talky --python 3.12
talky claude                    # Talk to Claude
talky moltis                      # Talk to Moltis  
talky hermes                      # Talk to Hermes (NousResearch)
talky pi                          # Talk to Pi

From source, add the extras you use in brackets, comma-separated; a reinstall replaces the whole set; plain --editable . drops extras.

CLI local audio (optional): talky say / talky ask use a separate local-audio daemon that needs PortAudio system-side. Install it only if you want those commands: brew install portaudio (macOS) or apt-get install portaudio19-dev (Debian/Ubuntu). The browser / desktop-app voice path doesn't need it.

Install via uv tool, not pip. Talky installs heavy LLM / TTS / STT dependencies on-demand via uv tool install --with. Plain pip install talky into system Python leaves the on-demand installer with nowhere to write, and it will refuse with an error.

Usage

Talk to AI

  • talky claude - Claude assistant
  • talky moltis - Moltis assistant
  • talky hermes - Hermes agent (NousResearch)
  • talky pi - Pi coding assistant
  • Opens browser at localhost:8765 for voice chat

Change Voice

  • talky moltis -v kokoro-uk-george - Use different voice
  • talky say "test" -v google-puck - Test specific voice

List Options

  • talky ls - See all available voices and profiles

Daemon / MCP (for Claude Desktop/Claude Code)

  • talky daemon - Start the talky daemon (local HTTP on 8765, serves browser UI + MCP tools — see docs/ports.md)
  • Any daemon-dependent command (e.g. talky claude) auto-spawns the daemon if it isn't running

Documentation

Setup

  • talky config - Create config files
  • Add API keys to ~/.talky/credentials/ (one JSON file per provider)
  • talky certs --hostname <name> - Generate self-signed TLS certs for HTTPS / LAN access (see Remote Access)

Note: The default voice profile uses local providers (kokoro TTS + whisper STT) and will download ML models on first use (~1-2 GB). To skip the download, set a cloud voice profile in ~/.talky/settings.yaml before running.

Example API Keys

# Deepgram (speech-to-text)
echo '{"api_key":"your-key"}' > ~/.talky/credentials/deepgram.json

# Google (text-to-speech)  
echo '{"credentials":"your-credentials"}' > ~/.talky/credentials/google.json

Debug Logging

Log levels: DEBUG, INFO, WARNING, ERROR

Default: ERROR

talky --log-level INFO

# or use environment variable
TALKY_LOG_LEVEL=DEBUG talky