AI编程助手语音对话工具

Ava是一个为AI编程助手(如Claude Code、Cursor等)提供语音对话功能的本地MCP HTTP服务器,支持通过ElevenLabs TTS和STT实现语音输入输出,并协调麦克风使用以避免多个代理同时发言。

  • by harshav167
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 harshav167/ava

使用说明

艾娃

MCP上AI编码助手的语音对话。

Ava运行本地MCP HTTP服务器,通过ElevenLabs TTS通话,通过Eleven Labs Scribe实时STT监听,并用海螺锁协调麦克风,这样多个代理就不会相互交谈。

它的作用

  • 用于Claude Code、Cursor和其他MCP客户端的语音对话工具
  • 十一实验室 eleven_v3 TTS具有可配置的语音、型号、速度和指令
  • ElevenLabs Scribe实时STT,具有本地Silero VAD和手动提交模式
  • 可选的音频回避、铃声、对话记录和保存的音频伪影
  • 可选的Claude Code挂钩,用于声音字体反馈和Ava Connect通知
  • 用于在上运行HTTP服务器的本地launchd帮助程序 127.0.0.1:8765

快速开始

安装依赖项并启动本地服务器:

uv sync
./scripts/ava-server.sh setup
./scripts/ava-server.sh status

将MCP服务器添加到客户端:

{
  "mcpServers": {
    "ava": {
      "type": "http",
      "url": "http://127.0.0.1:8765/mcp"
    }
  }
}

所需的用户配置位于 ~/.ava/ava.env:

ELEVENLABS_API_KEY=sk_...
AVA_ELEVENLABS_TTS_MODEL=eleven_v3
AVA_ELEVENLABS_STT_MODEL=scribe_v2_realtime
AVA_TTS_SPEED=1.2

项目覆盖可以放在本地仓库中 .ava.env.

命令行界面

uv run ava --version
uv run ava serve --host 127.0.0.1 --port 8765
uv run ava converse
uv run ava claude hooks list -s all
uv run ava soundfonts status

已安装的命令是 avaPython包是 ava.

服务器管理

该仓库包括一个用于本地开发的launchd包装器:

./scripts/ava-server.sh setup
./scripts/ava-server.sh start
./scripts/ava-server.sh stop
./scripts/ava-server.sh restart
./scripts/ava-server.sh status
./scripts/ava-server.sh logs
./scripts/ava-server.sh health

日志写在 ~/.ava/logs/。主要结构化日志为 ~/.ava/logs/ava.log;launchd标准错误是 ~/.ava/logs/server.err.

代码更改后,当您准备好让正在运行的进程接收它们时,重新启动服务器。在活动播放或实时语音切换期间不要重新启动。

克劳德代码挂钩

挂钩是可选的。默认情况下不会安装。

uv run ava claude hooks add
uv run ava claude hooks list -s all
uv run ava claude hooks remove

安装的挂钩可以为工具事件播放声音字体反馈,并支持Ava Connect会话/通知行为。Soundfont播放默认仅在安装挂钩后启用;使用以下命令禁用它:

uv run ava soundfonts off
uv run ava soundfonts off --config

发展

使用 uv 对于Python工作:

uv run pytest -q
uv build
cd installer && uv build

有用的重点检查:

uv run python -c "from ava.server import mcp; from ava import __version__; print(__version__)"
uv run ava --version

仓库的规划

  • ava/ -Python包和MCP服务器实现
  • ava/tools/ -MCP工具实现
  • ava/data/hooks/ -Claude代码钩子定义和shell接收器
  • ava/templates/ -launchd/systemd/脚本模板
  • installer/ava_install/ -安装程序包
  • scripts/ava-server.sh -本地launchd服务器帮助程序
  • docs/ -用户和开发人员文档
  • tests/ -pytest套件

文档

上游确认

该项目得益于原始上游回购所做的大量工作, 姆巴利/阿瓦,由Mike Bailey和Failmode项目创建。此分支保留了这一基础,并围绕重命名的Ava包、ElevenLabs首次运行时、本地MCP服务器工作流和特定于仓库的开发设置调整了代码库。

许可证

MIT。看 许可证.


mcp名称:com.failmode/ava