[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-mbailey--voicemode":3,"tool-mbailey--voicemode":65},[4,23,32,40,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85013,2,"2026-04-06T11:09:19",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},4128,"GPT-SoVITS","RVC-Boss\u002FGPT-SoVITS","GPT-SoVITS 是一款强大的开源语音合成与声音克隆工具，旨在让用户仅需极少量的音频数据即可训练出高质量的个性化语音模型。它核心解决了传统语音合成技术依赖海量录音数据、门槛高且成本大的痛点，实现了“零样本”和“少样本”的快速建模：用户只需提供 5 秒参考音频即可即时生成语音，或使用 1 分钟数据进行微调，从而获得高度逼真且相似度极佳的声音效果。\n\n该工具特别适合内容创作者、独立开发者、研究人员以及希望为角色配音的普通用户使用。其内置的友好 WebUI 界面集成了人声伴奏分离、自动数据集切片、中文语音识别及文本标注等辅助功能，极大地降低了数据准备和模型训练的技术门槛，让非专业人士也能轻松上手。\n\n在技术亮点方面，GPT-SoVITS 不仅支持中、英、日、韩、粤语等多语言跨语种合成，还具备卓越的推理速度，在主流显卡上可实现实时甚至超实时的生成效率。无论是需要快速制作视频配音，还是进行多语言语音交互研究，GPT-SoVITS 都能以极低的数据成本提供专业级的语音合成体验。",56375,3,"2026-04-05T22:15:46",[21],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},2863,"TTS","coqui-ai\u002FTTS","🐸TTS 是一款功能强大的深度学习文本转语音（Text-to-Speech）开源库，旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点，让高质量的语音生成变得触手可及。\n\n无论是希望快速集成语音功能的开发者，还是致力于探索前沿算法的研究人员，亦或是需要定制专属声音的数据科学家，🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型，让用户能够即刻上手，还提供了完善的工具链，支持用户利用自有数据训练新模型或对现有模型进行微调，轻松实现特定风格的声音克隆。\n\n在技术亮点方面，🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言，并在整体性能上大幅提升，实现了低于 200 毫秒的超低延迟流式输出，极大提升了实时交互体验。此外，它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型，并支持调用上千个 Fairseq 模型，展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具，🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。",44971,"2026-04-03T14:47:02",[21,20,13],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":29,"last_commit_at":46,"category_tags":47,"status":22},2375,"LocalAI","mudler\u002FLocalAI","LocalAI 是一款开源的本地人工智能引擎，旨在让用户在任意硬件上轻松运行各类 AI 模型，包括大语言模型、图像生成、语音识别及视频处理等。它的核心优势在于彻底打破了高性能计算的门槛，无需昂贵的专用 GPU，仅凭普通 CPU 或常见的消费级显卡（如 NVIDIA、AMD、Intel 及 Apple Silicon）即可部署和运行复杂的 AI 任务。\n\n对于担心数据隐私的用户而言，LocalAI 提供了“隐私优先”的解决方案，确保所有数据处理均在本地基础设施内完成，无需上传至云端。同时，它完美兼容 OpenAI、Anthropic 等主流 API 接口，这意味着开发者可以无缝迁移现有应用，直接利用本地资源替代云服务，既降低了成本又提升了可控性。\n\nLocalAI 内置了超过 35 种后端支持（如 llama.cpp、vLLM、Whisper 等），并集成了自主 AI 代理、工具调用及检索增强生成（RAG）等高级功能，且具备多用户管理与权限控制能力。无论是希望保护敏感数据的企业开发者、进行算法实验的研究人员，还是想要在个人电脑上体验最新 AI 技术的极客玩家，都能通过 LocalAI 获",44782,"2026-04-02T22:14:26",[13,21,19,17,20,14,16],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":29,"last_commit_at":54,"category_tags":55,"status":22},3108,"bark","suno-ai\u002Fbark","Bark 是由 Suno 推出的开源生成式音频模型，能够根据文本提示创造出高度逼真的多语言语音、音乐、背景噪音及简单音效。与传统仅能朗读文字的语音合成工具不同，Bark 基于 Transformer 架构，不仅能模拟说话，还能生成笑声、叹息、哭泣等非语言声音，甚至能处理带有情感色彩和语气停顿的复杂文本，极大地丰富了音频表达的可能性。\n\n它主要解决了传统语音合成声音机械、缺乏情感以及无法生成非语音类音效的痛点，让创作者能通过简单的文字描述获得生动自然的音频素材。无论是需要为视频配音的内容创作者、探索多模态生成的研究人员，还是希望快速原型设计的开发者，都能从中受益。普通用户也可通过集成的演示页面轻松体验其神奇效果。\n\n技术亮点方面，Bark 支持商业使用（MIT 许可），并在近期更新中实现了显著的推理速度提升，同时提供了适配低显存 GPU 的版本，降低了使用门槛。此外，社区还建立了丰富的提示词库，帮助用户更好地驾驭模型生成特定风格的声音。只需几行 Python 代码，即可将创意文本转化为高质量音频，是连接文字与声音世界的强大桥梁。",39067,"2026-04-04T03:33:35",[21],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":62,"last_commit_at":63,"category_tags":64,"status":22},3788,"airi","moeru-ai\u002Fairi","airi 是一款开源的本地化 AI 伴侣项目，旨在将虚拟角色（如“二次元老婆”或赛博生命）带入用户的现实世界。它的核心目标是复刻并超越知名 AI 主播 Neuro-sama 的能力，让用户能够拥有完全自主掌控、可私有化部署的智能伙伴。\n\nairi 主要解决了用户对高度定制化、具备情感交互能力且数据隐私安全的 AI 角色的需求。不同于依赖云端服务的通用助手，airi 允许用户在本地运行，不仅保护了对话隐私，还赋予了用户定义角色性格与灵魂的自由。它支持实时语音聊天，甚至能直接参与《我的世界》（Minecraft）和《异星工厂》（Factorio）等游戏，实现了从单纯对话到共同娱乐的跨越。\n\n这款工具非常适合喜爱虚拟角色的普通用户、希望搭建个性化 AI 陪伴的技术爱好者，以及研究多模态交互的开发者。其独特的技术亮点在于跨平台支持（涵盖 Web、macOS 和 Windows）以及强大的游戏交互能力，让 AI 不仅能“说”，还能“玩”。通过容器化的灵魂设计，airi 为每个人创造专属数字生命提供了可能，让虚拟陪伴变得更加真实且触手可及。",37086,1,"2026-04-05T10:54:25",[19,21,17],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":79,"owner_website":82,"owner_url":83,"languages":84,"stars":101,"forks":102,"last_commit_at":103,"license":104,"difficulty_score":29,"env_os":105,"env_gpu":106,"env_ram":107,"env_deps":108,"category_tags":118,"github_topics":119,"view_count":10,"oss_zip_url":79,"oss_zip_packed_at":79,"status":22,"created_at":131,"updated_at":132,"faqs":133,"releases":167},5182,"mbailey\u002Fvoicemode","voicemode","Natural (2-way) voice conversations with Claude Code","VoiceMode 是一款让开发者能够与 Claude Code 进行自然双向语音对话的开源工具。它并非旨在完全取代键盘输入，而是填补了双手或双眼被占用时的交互空白。无论是通勤途中、做饭时调试代码，还是长时间面对屏幕后想让眼睛休息，用户只需开口说话，即可立即听到 AI 的回应，实现真正的“解放双手”编程体验。\n\n该工具主要解决了传统命令行交互必须依赖键盘和视觉专注的局限，让编码辅助变得更加灵活便捷。它特别适合软件开发者、运维工程师以及任何频繁使用 Claude Code 的技术人员，帮助他们在多任务场景下保持高效的工作流。\n\n在技术亮点方面，VoiceMode 支持低延迟对话，具备智能静音检测功能，能自动识别说话结束并停止录音。更值得一提的是其隐私友好设计：既支持调用云端服务，也允许完全离线运行。通过集成本地的 Whisper（语音转文字）和 Kokoro（文字转语音）模型，用户可以在不上传数据的情况下享受流畅的语音交互，且能在本地与云服务间无缝切换。目前，VoiceMode 已兼容 Linux、macOS 及 Windows (WSL) 等主流开发环境。","# VoiceMode\n\n> Natural voice conversations with Claude Code (and other MCP capable agents)\n\n[![PyPI Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmbailey_voicemode_readme_055430204f9a.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fvoice-mode)\n[![PyPI Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmbailey_voicemode_readme_055430204f9a.png\u002Fmonth)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fvoice-mode)\n[![PyPI Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmbailey_voicemode_readme_055430204f9a.png\u002Fweek)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fvoice-mode)\n\nVoiceMode enables natural voice conversations with Claude Code. Voice isn't about replacing typing - it's about being available when typing isn't.\n\n**Perfect for:**\n\n- Walking to your next meeting\n- Cooking while debugging\n- Giving your eyes a break after hours of screen time\n- Holding a coffee (or a dog)\n- Any moment when your hands or eyes are busy\n\n## See It In Action\n\n[![VoiceMode Demo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmbailey_voicemode_readme_b8f4cbcb576c.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=cYdwOD_-dQc)\n\n## Quick Start\n\n**Requirements:** Computer with microphone and speakers\n\n### Option 1: Claude Code Plugin (Recommended)\n\nThe fastest way for Claude Code users to get started:\n\n```bash\n# Add the VoiceMode marketplace\nclaude plugin marketplace add mbailey\u002Fvoicemode\n\n# Install VoiceMode plugin\nclaude plugin install voicemode@voicemode\n\n## Install dependencies (CLI, Local Voice Services)\n\n\u002Fvoicemode:install\n\n# Start talking!\n\u002Fvoicemode:converse\n```\n\n### Option 2: Python installer package\n\nInstalls dependencies and the VoiceMode Python package.\n\n```bash\n# Install UV package manager (if needed)\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# Run the installer (sets up dependencies and local voice services)\nuvx voice-mode-install\n\n# Add to Claude Code\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n\n# Optional: Add OpenAI API key as fallback for local services\nexport OPENAI_API_KEY=your-openai-key\n\n# Start a conversation\nclaude converse\n```\n\nFor manual setup, see the [Getting Started Guide](docs\u002Ftutorials\u002Fgetting-started.md).\n\n## Features\n\n- **Natural conversations** - speak naturally, hear responses immediately\n- **Works offline** - optional local voice services (Whisper STT, Kokoro TTS)\n- **Low latency** - fast enough to feel like a real conversation\n- **Smart silence detection** - stops recording when you stop speaking\n- **Privacy options** - run entirely locally or use cloud services\n\n## Compatibility\n\n**Platforms:** Linux, macOS, Windows (WSL), NixOS\n**Python:** 3.10-3.14\n\n## Configuration\n\nVoiceMode works out of the box. For customization:\n\n```bash\n# Set OpenAI API key (if using cloud services)\nexport OPENAI_API_KEY=\"your-key\"\n\n# Or configure via file\nvoicemode config edit\n```\n\nSee the [Configuration Guide](docs\u002Fguides\u002Fconfiguration.md) for all options.\n\n## Permissions Setup (Optional)\n\nTo use VoiceMode without permission prompts, add to `~\u002F.claude\u002Fsettings.json`:\n\n```json\n{\n  \"permissions\": {\n    \"allow\": [\n      \"mcp__voicemode__converse\",\n      \"mcp__voicemode__service\"\n    ]\n  }\n}\n```\n\nSee the [Permissions Guide](docs\u002Fguides\u002Fpermissions.md) for more options.\n\n## Local Voice Services\n\nFor privacy or offline use, install local speech services:\n\n- **[Whisper.cpp](docs\u002Fguides\u002Fwhisper-setup.md)** - Local speech-to-text\n- **[Kokoro](docs\u002Fguides\u002Fkokoro-setup.md)** - Local text-to-speech with multiple voices\n\nThese provide the same API as OpenAI, so VoiceMode switches seamlessly between them.\n\n## Installation Details\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>System Dependencies by Platform\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n#### Ubuntu\u002FDebian\n\n```bash\nsudo apt update\nsudo apt install -y ffmpeg gcc libasound2-dev libasound2-plugins libportaudio2 portaudio19-dev pulseaudio pulseaudio-utils python3-dev\n```\n\n**WSL2 users**: The pulseaudio packages above are required for microphone access.\n\n#### Fedora\u002FRHEL\n\n```bash\nsudo dnf install alsa-lib-devel ffmpeg gcc portaudio portaudio-devel python3-devel\n```\n\n#### macOS\n\n```bash\nbrew install ffmpeg node portaudio\n```\n\n#### NixOS\n\n```bash\n# Use development shell\nnix develop github:mbailey\u002Fvoicemode\n\n# Or install system-wide\nnix profile install github:mbailey\u002Fvoicemode\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Alternative Installation Methods\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n#### From source\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmbailey\u002Fvoicemode.git\ncd voicemode\nuv tool install -e .\n```\n\n#### NixOS system-wide\n\n```nix\n# In \u002Fetc\u002Fnixos\u002Fconfiguration.nix\nenvironment.systemPackages = [\n  (builtins.getFlake \"github:mbailey\u002Fvoicemode\").packages.${pkgs.system}.default\n];\n```\n\n\u003C\u002Fdetails>\n\n## Troubleshooting\n\n\n| Problem | Solution |\n|---------|----------|\n| No microphone access | Check terminal\u002Fapp permissions. WSL2 needs pulseaudio packages. |\n| UV not found | Run `curl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh \\| sh` |\n| OpenAI API error | Verify `OPENAI_API_KEY` is set correctly |\n| No audio output | Check system audio settings and available devices |\n\n\n### Save Audio for Debugging\n\n```bash\nexport VOICEMODE_SAVE_AUDIO=true\n# Files saved to ~\u002F.voicemode\u002Faudio\u002FYYYY\u002FMM\u002F\n```\n\n## Documentation\n\n- [Getting Started](docs\u002Ftutorials\u002Fgetting-started.md) - Full setup guide\n- [Configuration](docs\u002Fguides\u002Fconfiguration.md) - All environment variables\n- [Whisper Setup](docs\u002Fguides\u002Fwhisper-setup.md) - Local speech-to-text\n- [Kokoro Setup](docs\u002Fguides\u002Fkokoro-setup.md) - Local text-to-speech\n- [Development Setup](docs\u002Ftutorials\u002Fdevelopment-setup.md) - Contributing guide\n\nFull documentation: [voice-mode.readthedocs.io](https:\u002F\u002Fvoice-mode.readthedocs.io)\n\n## Links\n\n- **Website**: [getvoicemode.com](https:\u002F\u002Fgetvoicemode.com)\n- **GitHub**: [github.com\u002Fmbailey\u002Fvoicemode](https:\u002F\u002Fgithub.com\u002Fmbailey\u002Fvoicemode)\n- **PyPI**: [pypi.org\u002Fproject\u002Fvoice-mode](https:\u002F\u002Fpypi.org\u002Fproject\u002Fvoice-mode\u002F)\n- **YouTube**: [@getvoicemode](https:\u002F\u002Fyoutube.com\u002F@getvoicemode)\n- **Twitter\u002FX**: [@getvoicemode](https:\u002F\u002Ftwitter.com\u002Fgetvoicemode)\n- **Newsletter**: [![Subscribe](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSubscribe-Newsletter-orange?style=flat-square)](https:\u002F\u002Fbuttondown.com\u002Fvoicemode)\n\n## License\n\nMIT - A [Failmode](https:\u002F\u002Ffailmode.com) Project\n\n---\nmcp-name: com.failmode\u002Fvoicemode\n","# VoiceMode\n\n> 与 Claude Code（以及其他支持 MCP 的代理）进行自然的语音对话\n\n[![PyPI 下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmbailey_voicemode_readme_055430204f9a.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fvoice-mode)\n[![PyPI 下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmbailey_voicemode_readme_055430204f9a.png\u002Fmonth)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fvoice-mode)\n[![PyPI 下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmbailey_voicemode_readme_055430204f9a.png\u002Fweek)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fvoice-mode)\n\nVoiceMode 让你能够与 Claude Code 进行自然的语音对话。语音并不是要取代打字——它是在无法打字时依然可以使用的工具。\n\n**非常适合：**\n\n- 去往下一个会议的路上\n- 烹饪时调试代码\n- 在长时间盯着屏幕后让眼睛休息一下\n- 手里拿着咖啡（或抱着狗狗）\n- 任何双手或眼睛被占用的时刻\n\n## 实际演示\n\n[![VoiceMode 演示](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmbailey_voicemode_readme_b8f4cbcb576c.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=cYdwOD_-dQc)\n\n## 快速开始\n\n**要求：** 配备麦克风和扬声器的电脑\n\n### 方法 1：Claude Code 插件（推荐）\n\n对于 Claude Code 用户来说，这是最快速的入门方式：\n\n```bash\n# 添加 VoiceMode 市场\nclaude plugin marketplace add mbailey\u002Fvoicemode\n\n# 安装 VoiceMode 插件\nclaude plugin install voicemode@voicemode\n\n## 安装依赖项（CLI、本地语音服务）\n\n\u002Fvoicemode:install\n\n# 开始对话！\n\u002Fvoicemode:converse\n```\n\n### 方法 2：Python 安装包\n\n安装依赖项和 VoiceMode Python 包。\n\n```bash\n# 安装 UV 包管理器（如果需要）\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# 运行安装程序（设置依赖项和本地语音服务）\nuvx voice-mode-install\n\n# 添加到 Claude Code\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n\n# 可选：添加 OpenAI API 密钥作为本地服务的备用\nexport OPENAI_API_KEY=your-openai-key\n\n# 开始对话\nclaude converse\n```\n\n如需手动设置，请参阅 [入门指南](docs\u002Ftutorials\u002Fgetting-started.md)。\n\n## 功能\n\n- **自然对话**——自然地说话，立即听到回应\n- **离线可用**——可选本地语音服务（Whisper STT、Kokoro TTS）\n- **低延迟**——速度快，感觉就像真实的对话\n- **智能静音检测**——当你停止说话时会自动停止录音\n- **隐私选项**——完全在本地运行，或使用云服务\n\n## 兼容性\n\n**平台：** Linux、macOS、Windows（WSL）、NixOS  \n**Python：** 3.10–3.14\n\n## 配置\n\nVoiceMode 无需额外配置即可使用。如需自定义：\n\n```bash\n# 设置 OpenAI API 密钥（如果使用云服务）\nexport OPENAI_API_KEY=\"your-key\"\n\n# 或通过文件进行配置\nvoicemode config edit\n```\n\n有关所有选项，请参阅 [配置指南](docs\u002Fguides\u002Fconfiguration.md)。\n\n## 权限设置（可选）\n\n若希望在不出现权限提示的情况下使用 VoiceMode，可在 `~\u002F.claude\u002Fsettings.json` 中添加以下内容：\n\n```json\n{\n  \"permissions\": {\n    \"allow\": [\n      \"mcp__voicemode__converse\",\n      \"mcp__voicemode__service\"\n    ]\n  }\n}\n```\n\n更多选项请参阅 [权限指南](docs\u002Fguides\u002Fpermissions.md)。\n\n## 本地语音服务\n\n为保护隐私或在离线状态下使用，可安装本地语音服务：\n\n- **[Whisper.cpp](docs\u002Fguides\u002Fwhisper-setup.md)**——本地语音转文本\n- **[Kokoro](docs\u002Fguides\u002Fkokoro-setup.md)**——本地文本转语音，支持多种声音\n\n这些服务提供与 OpenAI 相同的 API，因此 VoiceMode 可以无缝切换它们之间。\n\n## 安装详情\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>各平台的系统依赖\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n#### Ubuntu\u002FDebian\n\n```bash\nsudo apt update\nsudo apt install -y ffmpeg gcc libasound2-dev libasound2-plugins libportaudio2 portaudio19-dev pulseaudio pulseaudio-utils python3-dev\n```\n\n**WSL2 用户**：上述 pulseaudio 软件包是访问麦克风所必需的。\n\n#### Fedora\u002FRHEL\n\n```bash\nsudo dnf install alsa-lib-devel ffmpeg gcc portaudio portaudio-devel python3-devel\n```\n\n#### macOS\n\n```bash\nbrew install ffmpeg node portaudio\n```\n\n#### NixOS\n\n```bash\n# 使用开发环境\nnix develop github:mbailey\u002Fvoicemode\n\n# 或者系统级安装\nnix profile install github:mbailey\u002Fvoicemode\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>其他安装方法\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n#### 从源码安装\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmbailey\u002Fvoicemode.git\ncd voicemode\nuv tool install -e .\n```\n\n#### NixOS 系统级安装\n\n```nix\n# 在 \u002Fetc\u002Fnixos\u002Fconfiguration.nix 中\nenvironment.systemPackages = [\n  (builtins.getFlake \"github:mbailey\u002Fvoicemode\").packages.${pkgs.system}.default\n];\n```\n\n\u003C\u002Fdetails>\n\n## 故障排除\n\n\n| 问题 | 解决方案 |\n|---------|----------|\n| 无法访问麦克风 | 检查终端或应用的权限。WSL2 需要 pulseaudio 软件包。 |\n| 未找到 UV | 运行 `curl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh \\| sh` |\n| OpenAI API 错误 | 确认 `OPENAI_API_KEY` 是否正确设置 |\n| 无音频输出 | 检查系统音频设置和可用设备 |\n\n\n### 保存音频用于调试\n\n```bash\nexport VOICEMODE_SAVE_AUDIO=true\n# 文件将保存到 ~\u002F.voicemode\u002Faudio\u002FYYYY\u002FMM\u002F\n```\n\n## 文档\n\n- [入门指南](docs\u002Ftutorials\u002Fgetting-started.md)——完整安装指南\n- [配置](docs\u002Fguides\u002Fconfiguration.md)——所有环境变量\n- [Whisper 设置](docs\u002Fguides\u002Fwhisper-setup.md)——本地语音转文本\n- [Kokoro 设置](docs\u002Fguides\u002Fkokoro-setup.md)——本地文本转语音\n- [开发设置](docs\u002Ftutorials\u002Fdevelopment-setup.md)——贡献指南\n\n完整文档：[voice-mode.readthedocs.io](https:\u002F\u002Fvoice-mode.readthedocs.io)\n\n## 链接\n\n- **官网**：[getvoicemode.com](https:\u002F\u002Fgetvoicemode.com)\n- **GitHub**：[github.com\u002Fmbailey\u002Fvoicemode](https:\u002F\u002Fgithub.com\u002Fmbailey\u002Fvoicemode)\n- **PyPI**：[pypi.org\u002Fproject\u002Fvoice-mode](https:\u002F\u002Fpypi.org\u002Fproject\u002Fvoice-mode\u002F)\n- **YouTube**：[@getvoicemode](https:\u002F\u002Fyoutube.com\u002F@getvoicemode)\n- **Twitter\u002FX**：[@getvoicemode](https:\u002F\u002Ftwitter.com\u002Fgetvoicemode)\n- **邮件列表**：[![订阅](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSubscribe-Newsletter-orange?style=flat-square)](https:\u002F\u002Fbuttondown.com\u002Fvoicemode)\n\n## 许可证\n\nMIT——Failmode 项目\n\n---\nmcp-name: com.failmode\u002Fvoicemode","# VoiceMode 快速上手指南\n\nVoiceMode 是一款支持自然语音对话的 AI 工具，专为 Claude Code 及其他支持 MCP 协议的智能体设计。它让你在手忙眼累时（如走路、做饭、调试代码）也能通过语音与 AI 流畅交互。\n\n## 环境准备\n\n**系统要求：**\n- **操作系统**：Linux、macOS、Windows (WSL2)、NixOS\n- **Python 版本**：3.10 - 3.14\n- **硬件设备**：需配备麦克风和扬声器\n\n**前置依赖（按平台安装）：**\n\n在安装主程序前，请先安装系统级依赖：\n\n*   **Ubuntu\u002FDebian (含 WSL2)**\n    ```bash\n    sudo apt update\n    sudo apt install -y ffmpeg gcc libasound2-dev libasound2-plugins libportaudio2 portaudio19-dev pulseaudio pulseaudio-utils python3-dev\n    ```\n    > 注意：WSL2 用户必须安装 `pulseaudio` 相关包以获取麦克风权限。\n\n*   **Fedora\u002FRHEL**\n    ```bash\n    sudo dnf install alsa-lib-devel ffmpeg gcc portaudio portaudio-devel python3-devel\n    ```\n\n*   **macOS**\n    ```bash\n    brew install ffmpeg node portaudio\n    ```\n\n*   **NixOS**\n    可直接使用开发环境或全局安装：\n    ```bash\n    nix develop github:mbailey\u002Fvoicemode\n    # 或\n    nix profile install github:mbailey\u002Fvoicemode\n    ```\n\n## 安装步骤\n\n推荐以下两种安装方式，任选其一即可。\n\n### 方式一：作为 Claude Code 插件安装（推荐）\n\n这是最快捷的启动方式，适合已在使用 Claude Code 的用户。\n\n1.  **添加插件市场并安装：**\n    ```bash\n    claude plugin marketplace add mbailey\u002Fvoicemode\n    claude plugin install voicemode@voicemode\n    ```\n\n2.  **在 Claude 会话中初始化依赖：**\n    进入 Claude Code 后，运行以下命令安装本地语音服务依赖：\n    ```text\n    \u002Fvoicemode:install\n    ```\n\n### 方式二：使用 Python 安装包\n\n此方式会安装 UV 包管理器、VoiceMode 核心包及本地语音服务。\n\n1.  **安装 UV 包管理器（如未安装）：**\n    ```bash\n    curl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n    ```\n\n2.  **运行安装脚本：**\n    ```bash\n    uvx voice-mode-install\n    ```\n\n3.  **注册到 Claude Code：**\n    ```bash\n    claude mcp add --scope user voicemode -- uvx --refresh voice-mode\n    ```\n\n4.  **配置 API Key（可选）：**\n    若不使用纯本地离线模式，需配置 OpenAI API Key 作为云端服务后备：\n    ```bash\n    export OPENAI_API_KEY=your-openai-key\n    ```\n\n## 基本使用\n\n安装完成后，即可开始语音对话。\n\n**启动对话：**\n\n*   **如果你使用的是插件模式（方式一）：**\n    在 Claude Code 终端中输入：\n    ```text\n    \u002Fvoicemode:converse\n    ```\n\n*   **如果你使用的是独立安装模式（方式二）：**\n    直接在终端运行：\n    ```bash\n    claude converse\n    ```\n\n**使用提示：**\n- 说话结束后，智能静音检测会自动停止录音并发送请求。\n- 如需完全离线运行（保护隐私），请参考文档配置本地 Whisper (STT) 和 Kokoro (TTS) 服务。\n- 可通过 `voicemode config edit` 自定义配置项。","资深后端工程师李明正在厨房准备晚餐，同时需要紧急修复一个线上服务的并发 Bug，此时他的双手沾满面粉，眼睛也因全天盯着屏幕而疲惫不堪。\n\n### 没有 voicemode 时\n- 必须频繁洗手并擦干才能触碰键盘和鼠标，严重打断烹饪节奏和思路连续性。\n- 为了看清代码逻辑不得不凑近屏幕，导致眼睛在强光与油烟环境中更加干涩疲劳。\n- 只能利用碎片时间简短回复文字指令，无法向 Claude Code 完整口述复杂的调试思路和上下文。\n- 在锅具沸腾的噪音环境下，难以专注进行多轮次的代码逻辑推演和错误排查。\n- 被迫在“完成家务”和“修复故障”之间做单选，导致要么菜烧糊了，要么上线延迟。\n\n### 使用 voicemode 后\n- 直接通过自然语音与 Claude Code 双向对话，无需洗手或触碰设备即可全程主导调试过程。\n- 彻底解放双眼，仅凭听觉接收代码修改建议和运行结果，让视力在烹饪间隙得到充分休息。\n- 能够流畅地口述完整的故障复现步骤和假设，voicemode 智能识别静音并实时转录给 AI 分析。\n- 即使在抽油烟机和沸水声中，也能通过低延迟的语音交互保持连贯的思维流，像与同事面对面讨论一样高效。\n- 完美实现“边做饭边修 Bug\"，既保证了晚餐按时上桌，又利用空闲时间迅速解决了生产问题。\n\nvoicemode 的核心价值在于将开发者从屏幕和键盘的物理束缚中解放出来，让编码对话自然融入行走、烹饪或休息等双手被占用的真实生活场景中。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmbailey_voicemode_b8f4cbcb.jpg","mbailey","Mike Bailey","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmbailey_d865632e.png",null,"Melbourne, Australia","mike@bailey.net.au","https:\u002F\u002Fmike.bailey.net.au","https:\u002F\u002Fgithub.com\u002Fmbailey",[85,89,93,97],{"name":86,"color":87,"percentage":88},"Python","#3572A5",95.2,{"name":90,"color":91,"percentage":92},"Shell","#89e051",3.2,{"name":94,"color":95,"percentage":96},"Makefile","#427819",1.4,{"name":98,"color":99,"percentage":100},"Nix","#7e7eff",0.2,975,134,"2026-04-07T10:57:58","MIT","Linux, macOS, Windows (WSL), NixOS","未说明（支持完全本地运行 Whisper.cpp 和 Kokoro，通常可由 CPU 驱动，未强制要求 GPU）","未说明",{"notes":109,"python":110,"dependencies":111},"该工具主要作为 Claude Code 的插件运行。推荐使用 'uv' 包管理器安装。若需离线或隐私保护模式，可配置本地语音服务（Whisper.cpp 用于语音转文字，Kokoro 用于文字转语音）。在 WSL2 环境下使用麦克风需要安装 pulseaudio 相关包。若使用云端服务需配置 OPENAI_API_KEY。","3.10-3.14",[112,113,114,115,116,117],"ffmpeg","portaudio","libasound2-dev (Linux)","uv (包管理器)","Whisper.cpp (可选，本地 STT)","Kokoro (可选，本地 TTS)",[21],[120,121,122,123,124,125,126,127,128,68,129,130],"asr","claudecode","kokoro","livekit","mcp","mcp-server","tts","voice","whisper","anthropic","claude","2026-03-27T02:49:30.150509","2026-04-08T01:49:21.229436",[134,139,144,149,154,159,163],{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},23493,"遇到 'Error: Could not speak message' 错误无法启动语音模式怎么办？","这通常是因为缺少本地 TTS（文本转语音）或 STT（语音转文本）依赖。维护者已发布新版本支持自动安装 Kokoro TTS 和 Whisper。你可以尝试让 Claude 帮你安装这些组件，但请注意：如果没有 Apple Silicon 芯片或独立 GPU，安装过程可能会非常缓慢。如果本地安装困难，可以先使用付费的 OpenAI 信用额度作为替代方案。","https:\u002F\u002Fgithub.com\u002Fmbailey\u002Fvoicemode\u002Fissues\u002F17",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},23494,"TTS 正常工作但 STT 一直提示 'Not detecting speech'（未检测到语音）如何排查？","如果确认 Whisper 服务已在端口运行且通过 curl 测试正常，但 VoiceMode 仍无法识别语音，可能是路径配置不匹配。请检查以下两个文件：\n1. `~\u002FLibrary\u002FLaunchAgents\u002Fcom.voicemode.whisper.plist`\n2. `~\u002F.voicemode\u002Fservices\u002Fwhisper\u002Fbin\u002Fstart-whisper-server.sh`\n\n确保 `start-whisper-server.sh` 中包含正确的推理路径参数：`--inference-path \u002Fv1\u002Faudio\u002Ftranscriptions`。如果配置不一致，VoiceMode 可能无法将录音发送到正确的端点。","https:\u002F\u002Fgithub.com\u002Fmbailey\u002Fvoicemode\u002Fissues\u002F62",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},23495,"在 WSL (Windows Subsystem for Linux) 上安装 Whisper 失败提示 'Missing dependencies' 怎么办？","目前 WSL 不是该项目的优先支持平台，维护者主要专注于 macOS 和 Linux 原生环境。虽然可以手动克隆并编译 Whisper，但官方安装脚本可能无法正确处理 WSL 环境下的依赖。建议社区用户自行调试或使用 Claude 辅助修复，维护者欢迎提交修复此问题的 PR。如果急需使用，建议在原生 Linux 环境或 macOS 上运行。","https:\u002F\u002Fgithub.com\u002Fmbailey\u002Fvoicemode\u002Fissues\u002F104",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},23496,"为什么在 `.claude.json` 中设置的环境变量（如 VOICEMODE_SAVE_AUDIO）没有生效？","如果环境变量未生效且音频保存路径不符合预期，可能是旧的后台服务进程仍在运行并覆盖了新配置。解决方法是删除旧的 LaunchAgent 配置文件并重新安装服务。\n执行以下步骤：\n1. 删除文件：`rm ~\u002FLibrary\u002FLaunchAgents\u002Fcom.voicemode.whisper.plist`\n2. 重新运行安装脚本：`.\u002Finstall.sh` 或直接运行 `voicemode whisper install`\n这将确保新的环境变量和配置被正确加载。","https:\u002F\u002Fgithub.com\u002Fmbailey\u002Fvoicemode\u002Fissues\u002F50",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},23497,"出现 'Failed to get TTS client: No healthy TTS endpoints found' 错误如何解决？","该错误表示系统找不到支持你所请求的语音（voice）或模型（model）偏好的可用 TTS 端点。日志显示系统正在尝试匹配特定的语音（如 'ef_dora'），但本地或云端端点均不支持。\n解决方案：\n1. 检查是否已正确启动本地 TTS 服务。\n2. 如果本地服务不可用，确保配置了有效的 OpenAI API Key 以使用云端回退方案。\n3. 尝试移除特定的语音偏好设置，让系统自动选择可用的默认语音和模型。","https:\u002F\u002Fgithub.com\u002Fmbailey\u002Fvoicemode\u002Fissues\u002F5",{"id":160,"question_zh":161,"answer_zh":162,"source_url":153},23498,"如何在本地获得更快的 STT 和 TTS 响应速度？","为了获得亚秒级（sub-second）的响应速度，推荐使用配备 Apple Silicon 芯片的 Mac（如 MacBook Air M1\u002FM2\u002FM3）。在这些设备上，本地运行的 Whisper 和 Kokoro 服务性能表现优异。维护者的策略是优先使用本地服务，仅在当地服务不可用时才回退到云端提供商。此外，可以使用新的 `voicemode` CLI 命令来管理和优化本地服务。",{"id":164,"question_zh":165,"answer_zh":166,"source_url":153},23499,"是否支持 ElevenLabs 或其他非 OpenAI 标准的语音提供商？","目前项目主要支持兼容 OpenAI API 标准的外部提供商。对于 ElevenLabs 等拥有自己独特 API 标准的服务，尚未原生支持。不过，维护者表示乐意添加对更多外部提供商的支持，只要它们能适配或有相应的集成方案。用户可以通过 Issue 提出具体需求或贡献代码。",[168,173,178,183,188,193,198,203,208,213,218,223,228,233,238,243,248,253,258,263],{"id":169,"version":170,"summary_zh":171,"released_at":172},145026,"v8.5.1","### 新增\n\n- **市场中的 Show-me 插件** - 将 Show-me 作为外部插件（来源：mbailey\u002Fshow-me）添加到 VoiceMode 插件市场中\n\n### 修复\n\n- **将 VOICEMODE_WHISPER_LANGUAGE 配置传递给 STT API** ([#253](https:\u002F\u002Fgithub.com\u002Fmbailey\u002Fvoicemode\u002Fpull\u002F253) by @htrex) - `VOICEMODE_WHISPER_LANGUAGE` 配置虽然存在，但从未传递给转录 API。本地 whisper.cpp 在未指定语言参数时默认使用英语，这会导致非英语音频的转录结果不准确。现在会显式地将 `language=\"auto\"` 传递给 whisper.cpp，并处理 OpenAI API 的差异（对于自动检测应省略该参数）\n\n### 变更\n\n- **并行工具调用指南** - VoiceMode 技能现在记录了语音对话中实现“边说边做”的零延迟模式，并提供了何时使用并行工具调用、何时使用串行工具调用的示例\n\n\n## 安装\n\n### 快速入门（推荐）\n\n```bash\n# 安装 UV 包管理器（如果尚未安装）\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# 安装 VoiceMode 并配置服务\nuvx voice-mode-install\n\n# 添加到 Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### 替代方案：直接安装\n\n```bash\n# 使用 UV\nuv tool install voice-mode\n\n# 使用 pip\npip install voice-mode==8.5.1\n```\n\n如需详细文档，请访问 https:\u002F\u002Fgetvoicemode.com","2026-03-13T14:49:26",{"id":174,"version":175,"summary_zh":176,"released_at":177},145027,"v8.5.0","### 新增功能\n\n#### PermissionRequest 通知音（VM-892）\n\n- **PermissionRequest 钩子事件** - 当 Claude Code 需要用户批准某个工具时，会播放音频通知，这样您在离开屏幕时也不会错过权限提示。\n- **绕过 Conch 锁定** - 即使在进行语音对话时，PermissionRequest 的提示音也会播放，确保您始终能够听到需要批准的通知。\n\n#### 静音 Converse 工具声音（VM-898）\n\n- **自动静音语音模式下的 Converse 工具声音** - 对于语音模式的 Converse 工具（包括本地版本和 Connect 版本），PreToolUse 和 PostToolUse 的提示音都会被自动抑制，因为语音对话本身已经提供了音频反馈。而在语音对话期间，其他工具的提示音仍然会正常播放，从而让这些声音更具意义——它们表明正在发生一些您通常听不到的事情。\n\n\n## 安装\n\n### 快速入门（推荐）\n\n```bash\n# 安装 UV 包管理器（如果尚未安装）\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# 安装 VoiceMode 并配置服务\nuvx voice-mode-install\n\n# 添加到 Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### 另一种方式：直接安装\n\n```bash\n# 使用 UV\nuv tool install voice-mode\n\n# 使用 pip\npip install voice-mode==8.5.0\n```\n\n如需详细文档，请访问 https:\u002F\u002Fgetvoicemode.com","2026-03-07T15:00:27",{"id":179,"version":180,"summary_zh":181,"released_at":182},145028,"v8.4.0","### 新增功能\n\n#### Soundfont 切换功能 (VM-312)\n\n- **`voicemode soundfonts on\u002Foff\u002Fstatus` CLI 命令** - 基于哨兵文件实现会话范围内的 Soundfont 切换，检查开销极低。无需编辑配置文件即可禁用工具音效。\n- **`--config` 标志用于持久化切换** - 使用 `soundfonts on\u002Foff --config` 时，还会更新 `voicemode.env` 文件，使设置在重启后仍保持有效。\n- **环境变量感知** - 状态显示同时考虑哨兵文件和 `VOICEMODE_SOUNDFONTS_ENABLED` 环境变量的有效状态，并在两者冲突时发出警告。\n- **钩子安装状态** - `soundfonts status` 现在会显示钩子是否已安装，取代了原有的静态提示信息。\n\n#### Connect 生命周期钩子 (VM-816, VM-820)\n\n- **SessionEnd 清理钩子**（VM-820）- 当 Claude Code 会话结束时，自动移除 inbox-live 符号链接及会话身份文件；该操作仅由团队负责人执行，确保子代理安全。\n- **Inbox-live 符号链接验证**（VM-816）- `connect_status` 工具会在设置“可用”状态前，验证 inbox-live 是否属于当前会话的团队，从而防止消息跨会话路由。\n\n#### Shell 补全功能 (VM-832)\n\n- **上下文感知的钩子补全** - `hooks add` 仅建议尚未安装的钩子；`hooks remove` 则仅建议已安装的钩子。\n\n#### 文档更新 (VM-242)\n\n- **Soundfont 使用指南** - 新增 `docs\u002Fguides\u002Fsoundfonts.md`，涵盖使用方法、目录结构、声音查找顺序、自定义及故障排除等内容。\n- **CLI 参考更新** - 在 `docs\u002Freference\u002Fcli.md` 中新增了 Soundfont 和 Claude 钩子相关命令。\n- **环境变量参考更新** - 在 `docs\u002Freference\u002Fenvironment.md` 中新增了 `VOICEMODE_SOUNDFONTS_ENABLED` 和 `VOICEMODE_HOOK_DEBUG`。\n\n### 变更内容\n\n- **Connect 状态查询网关优化**（VM-826）- `voicemode connect status` 现在会通过短暂的 WebSocket 连接到网关，以获取实时在线状态，而非读取过时的本地文件。当无法连接到网关时，则回退至本地状态。\n- **纯代理驱动的在线状态模型**（VM-822, VM-824）- 现在的在线状态完全由 `connect_status` MCP 工具根据代理行为决定。移除了独立守护进程模式（`connect up\u002Fdown`）、基于文件系统的用户扫描机制，以及回退到扫描 `~\u002F.voicemode\u002Fconnect\u002Fusers\u002F` 的方式。\n- **幂等的 Soundfont 配置更新** - `soundfonts on\u002Foff --config` 在值已正确时将跳过写入操作。\n- **配置与环境变量同步** - `voicemode.env` 更新时会同步 `os.environ`，从而消除因环境变量过时而产生的警告。\n\n### 修复内容\n\n- **适合休眠模式的保活机制** - WebSocket 保活时不再发送 JSON 格式的 `{ type: \"heartbeat\" }`，而是直接发送文本 `\"ping\"`。Durable Object 会在休眠状态下自动响应 `\"ping\"→\"pong\"`，无需唤醒 DO，从而每 25 秒的心跳周期可减少约 2 次存储读取操作。\n- **仪表板上的幽灵联系人问题**（VM-822）- Connect 客户端不再在 WebSocket 连接时广播 `~\u002F.voicemode\u002Fconnect\u002Fusers\u002F` 目录下找到的所有用户。现在每个代理仅广播其自身的注册身份。\n- **过时的 inbox-live 符号链接处理**","2026-03-05T14:06:02",{"id":184,"version":185,"summary_zh":186,"released_at":187},145029,"v8.3.0","*2026年2月24日——Claude Code 上线一周年。本次发布特别推出 VoiceMode Connect，让您可从任何地方拨打入站语音电话至您的 Claude Code 代理。*\n\n### 新增功能\n\n#### VoiceMode Connect — 入站语音呼叫\n\n- **connect_status MCP 工具** (VM-770) - 直接从 Claude Code 对话中管理代理状态；voicemode.dev 仪表板提供始终在线的可见性\n- **启动时自动连接** (VM-766) - MCP 服务器启动时会自动建立 WebSocket 连接，代理无需手动操作即可显示在线状态\n- **确定性设备 ID 和作用域能力** (VM-768) - 设备身份在重启后保持稳定，并支持细粒度的能力声明\n- **基于用户的邮箱系统** (VM-724) - 模块化 Connect 架构，按用户路由消息，取代了之前的单体式方案\n- **操作系统钥匙串凭据存储** (VM-720) - 凭据通过 `keyring` 库安全存储，并为无头或 SSH 环境提供自动回退机制\n- **可唤醒代理注册** (VMD-104) - 代理可在 Connect 网关上注册为可唤醒状态，从而允许入站呼叫启动对话\n- **可配置唤醒命令** (VM-712) - 设置自定义命令，在代理收到入站唤醒呼叫时执行\n- **`connect up\u002Fdown` 命令** (VM-734) - 简单命令用于宣告可用性并监听来电，取代旧有的待机工作流程\n- **幂等 connect_status 与自动注册** - 多次调用 connect_status 是安全的，必要时会自动注册代理\n- **用户名参数以明确身份** - 在多账号设置中，可覆盖自动检测到的用户名\n- **采用 Ink & Seal 主题样式的 OAuth 回调页面** - 打造精致的暗色系认证流程\n\n#### 基于钩子的 Connect 架构 (VM-802)\n\n- **会话中消息传递** (第一阶段) - PostToolUse 钩子会在代理主动工作时传递传入消息，而不仅限于回合之间\n- **待处理消息触发代理唤醒** (第二阶段) - Stop 钩子会在代理进入空闲状态时检查是否有待处理消息，若有则触发唤醒\n- **会话身份与回退链** (第三阶段) - SessionStart 钩子会使用会话文件、环境变量或用户提示来建立代理身份\n- **空闲状态唤醒** (第五阶段) - TeamCreate 钩子和会话存储使代理在收到入站呼叫时能够从空闲状态唤醒\n- **自动离席状态** - 当无法实现空闲状态唤醒时，代理会降级为“离席”状态，以便来电者获得准确的可用性信息\n- **惰性 WebSocket 连接** - WebSocket 只有在需要时才会连接，从而移除了对 Teams 功能的依赖\n- **Connect 钩子作为 VoiceMode 插件** - 所有 Connect 钩子均作为 VoiceMode 插件的一部分提供，无需手动编辑 settings.json 文件\n\n### 变更内容\n\n- **默认 VAD 敏感度提升至 3** (GH-248) - 2 级设置导致 MacBook Pro 麦克风约 93% 的误检率，无法正确检测静音","2026-02-24T04:53:02",{"id":189,"version":190,"summary_zh":191,"released_at":192},145030,"v8.2.1","### 修复\n\n- **FastMCP 3.0 的破坏性变更** - 将 FastMCP 的依赖版本锁定为 \u003C3.0，以防止因 FastMCP 3.0.0 的破坏性变更导致的安装失败（[#278](https:\u002F\u002Fgithub.com\u002Fmbailey\u002Fvoicemode\u002Fissues\u002F278)）\n\n\n## 安装\n\n### 快速入门（推荐）\n\n```bash\n# 安装 UV 包管理器（如果尚未安装）\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# 安装 VoiceMode 并配置服务\nuvx voice-mode-install\n\n# 添加到 Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### 另一种方式：直接安装\n\n```bash\n# 使用 UV\nuv tool install voice-mode\n\n# 使用 pip\npip install voice-mode==8.2.1\n```\n\n如需详细文档，请访问 https:\u002F\u002Fgetvoicemode.com\n","2026-02-19T08:53:40",{"id":194,"version":195,"summary_zh":196,"released_at":197},145031,"v8.2.0","### 新增功能\n\n- **用于词汇偏向的 STT 提示** - 设置 `VOICEMODE_STT_PROMPT`，向 Whisper 提供提示，以识别经常被误识的词汇（如专有名词、技术术语）\n- **Claude 代码钩子 CLI**（VM-618）- 使用 `voicemode claude hooks add\u002Fremove\u002Fstatus` 命令管理音色库钩子，无需手动编辑 JSON 文件\n- **VoiceMode Connect 设备可见性**（VM-633）- WebSocket 连接会在 voicemode.dev 仪表板上显示您的设备，并提供在线\u002F离线状态\n- **最新音频符号链接**（VM-614）- 提供 `~\u002F.voicemode\u002Faudio\u002Flatest-tts.*` 和 `latest-stt.*` 符号链接，方便快速访问最近的录音文件\n- **VoiceMode 市场** - 通过市场分发插件 `claude install voicemode@voicemode`\n- **VoiceMode Connect 技能**（VM-595）- 包含用于通过移动或 Web 客户端实现远程语音交互的技能及文档\n\n### 修复内容\n\n- **所有用户音色库被静默禁用** - 当 `VOICEMODE_SOUNDFONTS_ENABLED` 被注释掉（默认设置）时，钩子接收器会返回 `false`，而不是继续执行启用逻辑\n- **M1 Max 上 Whisper CoreML 卡顿问题**（VM-640）- 启动超时时间为 120 秒；当 CoreML 编译在不兼容硬件上卡顿时，会自动回退到仅使用 Metal 的模式\n- **webrtcvad 在 setuptools≥81 版本中失效** - 已切换至 `webrtcvad-wheels` 分支，该分支使用 `importlib.metadata` 替代已被移除的 `pkg_resources`\n- **钩子接收器未安装**（VM-621）- 现在运行 `voicemode claude hooks add` 命令会正确安装 Bash 钩子接收器并创建符号链接\n- **Connect 默认自动启用**（VM-633）- 将 `CONNECT_AUTO_ENABLED` 的默认值改为 `false`，以避免设备在未经用户同意的情况下出现在仪表板上\n\n\n## 安装指南\n\n### 快速入门（推荐）\n\n```bash\n# 安装 UV 包管理器（如果尚未安装）\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# 安装 VoiceMode 并配置服务\nuvx voice-mode-install\n\n# 添加到 Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### 其他方式：直接安装\n\n```bash\n# 使用 UV\nuv tool install voice-mode\n\n# 使用 pip\npip install voice-mode==8.2.0\n```\n\n更多详细文档，请访问 https:\u002F\u002Fgetvoicemode.com","2026-02-13T22:15:15",{"id":199,"version":200,"summary_zh":201,"released_at":202},145032,"v8.1.0","### 新增功能\n\n- **VoiceMode Connect** (VM-549, VM-561)\n  - 通过 voicemode.dev 移动端和网页应用实现远程语音控制\n  - `voicemode connect login` — 使用 PKCE 流程进行 OAuth 认证\n  - `voicemode connect logout` — 清除已存储的凭据\n  - `voicemode connect status` — 检查连接和认证状态\n  - `voicemode connect standby` — 等待远程唤醒命令\n  - 适用于 launchd 的连接服务 — 可通过 `voicemode service connect enable` 在启动时运行\n  - 心跳线程在待机模式下保持连接活跃\n\n- **代理管理** (VM-559, VM-589)\n  - 多代理支持，每个代理拥有独立的配置目录\n  - `voicemode agent start \u003Cname>` — 在 tmux 中启动指定名称的代理\n  - `voicemode agent stop \u003Cname>` — 优雅地停止代理\n  - `voicemode agent status \u003Cname>` — 检查代理状态\n  - `voicemode agent send \u003Cname> \u003Cmessage>` — 发送消息并自动启动代理\n  - `--agent` 选项用于待机模式，以便在唤醒时定向到特定代理\n  - `--wake-message` 选项用于自定义初始消息\n\n### 修复内容\n\n- **代理可靠性**\n  - 发送多个 Ctrl-C 信号以可靠地停止 Claude Code\n  - 在发送消息前轮询检查是否就绪\n  - 将初始消息直接传递给 claude 命令\n\n\n## 安装\n\n### 快速入门（推荐）\n\n```bash\n# 安装 UV 包管理器（如果尚未安装）\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# 安装 VoiceMode 并配置服务\nuvx voice-mode-install\n\n# 添加到 Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### 替代方案：直接安装\n\n```bash\n# 使用 UV\nuv tool install voice-mode\n\n# 使用 pip\npip install voice-mode==8.1.0\n```\n\n如需详细文档，请访问 https:\u002F\u002Fgetvoicemode.com","2026-02-02T04:00:38",{"id":204,"version":205,"summary_zh":206,"released_at":207},145033,"v8.0.8","## 安装\n\n### 快速入门（推荐）\n\n```bash\n# 安装 UV 包管理器（如果尚未安装）\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# 安装 VoiceMode 并配置服务\nuvx voice-mode-install\n\n# 添加到 Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### 另一种方式：直接安装\n\n```bash\n# 使用 UV\nuv tool install voice-mode\n\n# 使用 pip\npip install voice-mode==8.0.8\n```\n\n如需详细文档，请访问 https:\u002F\u002Fgetvoicemode.com\n","2026-01-28T15:05:55",{"id":209,"version":210,"summary_zh":211,"released_at":212},145034,"v8.0.7","## 安装\n\n### 快速入门（推荐）\n\n```bash\n# 安装 UV 包管理器（如果尚未安装）\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# 安装 VoiceMode 并配置服务\nuvx voice-mode-install\n\n# 添加到 Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### 另一种方式：直接安装\n\n```bash\n# 使用 UV\nuv tool install voice-mode\n\n# 使用 pip\npip install voice-mode==8.0.7\n```\n\n如需详细文档，请访问 https:\u002F\u002Fgetvoicemode.com\n","2026-01-28T14:53:21",{"id":214,"version":215,"summary_zh":216,"released_at":217},145035,"v8.0.6","## 安装\n\n### 快速入门（推荐）\n\n```bash\n# 安装 UV 包管理器（如果尚未安装）\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# 安装 VoiceMode 并配置服务\nuvx voice-mode-install\n\n# 添加到 Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### 另一种方式：直接安装\n\n```bash\n# 使用 UV\nuv tool install voice-mode\n\n# 使用 pip\npip install voice-mode==8.0.6\n```\n\n如需详细文档，请访问 https:\u002F\u002Fgetvoicemode.com\n","2026-01-28T14:50:09",{"id":219,"version":220,"summary_zh":221,"released_at":222},145036,"v8.0.5","\n\n## Installation\n\n### Quick Start (Recommended)\n\n```bash\n# Install UV package manager (if not already installed)\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# Install VoiceMode and configure services\nuvx voice-mode-install\n\n# Add to Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### Alternative: Direct Installation\n\n```bash\n# With UV\nuv tool install voice-mode\n\n# With pip\npip install voice-mode==8.0.5\n```\n\nFor detailed documentation, visit https:\u002F\u002Fgetvoicemode.com\n","2026-01-28T14:38:28",{"id":224,"version":225,"summary_zh":226,"released_at":227},145037,"v8.0.4","\n\n## Installation\n\n### Quick Start (Recommended)\n\n```bash\n# Install UV package manager (if not already installed)\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# Install VoiceMode and configure services\nuvx voice-mode-install\n\n# Add to Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### Alternative: Direct Installation\n\n```bash\n# With UV\nuv tool install voice-mode\n\n# With pip\npip install voice-mode==8.0.4\n```\n\nFor detailed documentation, visit https:\u002F\u002Fgetvoicemode.com\n","2026-01-28T14:36:29",{"id":229,"version":230,"summary_zh":231,"released_at":232},145038,"v8.0.3","\n### Changed\n\n- **Soundfonts Directory Renamed** (GH-223, GH-224)\n  - Package-managed soundfonts directory renamed from `default` to `voicemode`\n  - Soundfonts now sync from package on every init (auto-updates with new releases)\n  - Migration from old `default` directory handled automatically\n  - User customizations via `current` symlink are preserved\n\n### Fixed\n\n- **Plugin Hook Path**\n  - Fixed path to hook receiver for PreCompact in claude-plugin\n\n\n## Installation\n\n### Quick Start (Recommended)\n\n```bash\n# Install UV package manager (if not already installed)\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# Install VoiceMode and configure services\nuvx voice-mode-install\n\n# Add to Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### Alternative: Direct Installation\n\n```bash\n# With UV\nuv tool install voice-mode\n\n# With pip\npip install voice-mode==8.0.3\n```\n\nFor detailed documentation, visit https:\u002F\u002Fgetvoicemode.com\n","2026-01-28T14:27:02",{"id":234,"version":235,"summary_zh":236,"released_at":237},145039,"v8.0.2","\n### Added\n\n- **DJ Status Line Output** (VM-219)\n  - `voicemode dj status --line` (or `-l`) for compact tmux status bar format\n  - Shows track\u002Fchapter, position, and remaining time with color warnings\n  - Replaces need for external tmux-mpv-status script\n  - [Documentation](docs\u002Freference\u002Fdj\u002Ftmux-status.md)\n\n### Fixed\n\n- **DJ Chapter Titles Not Displaying**\n  - Fixed uppercase metadata key handling (mpv returns `TITLE` not `title`)\n  - Chapter titles from FFmetadata files now display correctly in status output\n\n\n## Installation\n\n### Quick Start (Recommended)\n\n```bash\n# Install UV package manager (if not already installed)\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# Install VoiceMode and configure services\nuvx voice-mode-install\n\n# Add to Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### Alternative: Direct Installation\n\n```bash\n# With UV\nuv tool install voice-mode\n\n# With pip\npip install voice-mode==8.0.2\n```\n\nFor detailed documentation, visit https:\u002F\u002Fgetvoicemode.com\n","2026-01-24T18:23:10",{"id":239,"version":240,"summary_zh":241,"released_at":242},145040,"v8.0.1","\n### Fixed\n\n- **CLI Import Error** (GH-217)\n  - Fixed broken import in status.py that prevented CLI commands from running\n  - Removed unused LIVEKIT_PORT reference that was leftover from LiveKit removal\n\n\n## Installation\n\n### Quick Start (Recommended)\n\n```bash\n# Install UV package manager (if not already installed)\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# Install VoiceMode and configure services\nuvx voice-mode-install\n\n# Add to Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### Alternative: Direct Installation\n\n```bash\n# With UV\nuv tool install voice-mode\n\n# With pip\npip install voice-mode==8.0.1\n```\n\nFor detailed documentation, visit https:\u002F\u002Fgetvoicemode.com\n","2026-01-24T16:26:55",{"id":244,"version":245,"summary_zh":246,"released_at":247},145041,"v8.0.0","\n### Added\n\n- **VoiceMode DJ** (VM-406, VM-457, VM-377)\n  - Background music playback for voice sessions with track-level control\n  - `voicemode dj play\u002Fstop\u002Fpause\u002Fresume\u002Fstatus` for core playback\n  - `voicemode dj next\u002Fprev\u002Fvolume` for navigation and volume control\n  - `voicemode dj find` and `voicemode dj library scan\u002Fstats` for music library\n  - Automatic audio ducking during TTS - lowers music volume when speaking\n  - Configurable default volume via `VOICEMODE_DJ_VOLUME` environment variable\n  - Configurable duck amount via `VOICEMODE_DJ_DUCK_AMOUNT` (default: 20%)\n\n- **Music For Programming Playback** (VM-369, VM-386, VM-400, VM-480, VM-481)\n  - [Music For Programming](https:\u002F\u002Fmusicforprogramming.net) is a curated series of mixes for coding\n  - `voicemode dj mfp list` shows available episodes with local chapter status\n  - `voicemode dj mfp play \u003Cepisode>` plays an episode with chapter navigation\n  - `voicemode dj next\u002Fprev` skips between tracks within an episode\n  - Chapter files bundled in package with automatic distribution on first play\n  - Three-tier chapter lookup: local cache → bundled package → GitHub repository\n  - `voicemode dj mfp sync` for checksum-based sync (preserves user modifications)\n\n- **Support for All Claude Products** (VM-434, VM-458, VM-462)\n  - VoiceMode now works with Claude.ai, Claude Desktop, Claude Cowork, and Claude Mobile\n  - New `voicemode serve` command exposes VoiceMode as HTTP MCP server\n  - **Transport options:**\n    - `--transport` \u002F `-t` to select protocol: `streamable-http` (default) or `sse`\n    - `streamable-http` uses `\u002Fmcp` endpoint (recommended)\n    - `sse` uses `\u002Fsse` endpoint (deprecated, shows warning)\n  - **Security options:**\n    - `--allow-anthropic` to allow Anthropic's outbound IP ranges (160.79.104.0\u002F21)\n    - `--allow-tailscale` to allow Tailscale network ranges (100.64.0.0\u002F10)\n    - `--allow-ip` to add custom CIDR ranges to allowlist (repeatable)\n    - `--allow-local\u002F--no-allow-local` to control localhost access (default: true)\n    - `--secret` for URL path authentication (endpoint becomes `\u002F{base}\u002F{secret}`)\n    - `--token` for Bearer token authentication\n    - Defense in depth: IP allowlist and token auth can be combined\n  - **Operational features:**\n    - Access logging with X-Forwarded-For header support for proxy deployments\n    - Environment variable configuration via `voicemode.env`\n    - `VOICEMODE_SERVE_TRANSPORT`, `VOICEMODE_ALLOW_TAILSCALE` env vars\n\n- **Multi-Agent Voice Coordination** (VM-399, VM-404, VM-405)\n  - Conch lock file at `~\u002F.voicemode\u002Fconch` signals when voice conversation is active\n  - `wait_for_conch` parameter allows agents to wait for their turn to speak\n  - Sound effect hooks automatically mute during voice exchanges\n  - Atomic try_acquire with stale lock detection for crash recovery\n  - Prevents notification sounds from disrupting voice recordings\n\n- **Auto-Install Voice Services**\n  - Whisper and Kokoro services automatically installed during `voice-mode-install`\n  - New `install.sh` curl|bash script for quick setup\n  - Streamlined first-time setup experience\n\n### Fixed\n\n- **MFP Episode References** (VM-376)\n  - Removed invalid episode 76 reference from documentation\n  - Updated all docs to use episode 49 as the default example\n\n### Removed\n\n- **LiveKit Support** (VM-353)\n  - Removed LiveKit room-based real-time communication feature\n  - Removed web frontend (Next.js app for LiveKit UI)\n  - Removed `livekit` CLI command group and all subcommands\n  - Removed `transport` and `room_name` parameters from converse tool\n  - Removed service templates for LiveKit and frontend services\n  - Local microphone transport remains the default and only transport option\n  - **Impact**: Users who set up LiveKit integration will need to use local microphone instead\n\n\n## Installation\n\n### Quick Start (Recommended)\n\n```bash\n# Install UV package manager (if not already installed)\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# Install VoiceMode and configure services\nuvx voice-mode-install\n\n# Add to Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### Alternative: Direct Installation\n\n```bash\n# With UV\nuv tool install voice-mode\n\n# With pip\npip install voice-mode==8.0.0\n```\n\nFor detailed documentation, visit https:\u002F\u002Fgetvoicemode.com\n","2026-01-24T16:18:20",{"id":249,"version":250,"summary_zh":251,"released_at":252},145042,"v7.4.2","\n### Fixed\n\n- **Kokoro Install for Existing Installations** (GH-188)\n  - Fixed venv not being created when Kokoro was already installed\n  - Running `voicemode kokoro install` now creates venv even for existing installations\n  - No need to use `--force` flag which would re-download models\n\n\n## Installation\n\n### Quick Start (Recommended)\n\n```bash\n# Install UV package manager (if not already installed)\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# Install VoiceMode and configure services\nuvx voice-mode-install\n\n# Add to Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### Alternative: Direct Installation\n\n```bash\n# With UV\nuv tool install voice-mode\n\n# With pip\npip install voice-mode==7.4.2\n```\n\nFor detailed documentation, visit https:\u002F\u002Fgetvoicemode.com\n","2026-01-16T22:53:15",{"id":254,"version":255,"summary_zh":256,"released_at":257},145043,"v7.4.1","### Fixed\r\n\r\n- **Kokoro Install on Fresh Systems** (VM-411, GH-145, GH-188)\r\n  - Fixed installation failing on PopOS\u002FUbuntu 24 and Arch Linux due to missing venv\r\n  - Installer now creates virtual environment automatically before running uv install\r\n  - Resolves \"No virtual environment found\" error on fresh systems\r\n\r\n\r\n## Installation\r\n\r\n### Quick Start (Recommended)\r\n\r\n```bash\r\n# Install UV package manager (if not already installed)\r\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\r\n\r\n# Install VoiceMode and configure services\r\nuvx voice-mode-install\r\n\r\n# Add to Claude Code MCP\r\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\r\n```\r\n\r\n### Alternative: Direct Installation\r\n\r\n```bash\r\n# With UV\r\nuv tool install voice-mode\r\n\r\n# With pip\r\npip install voice-mode==7.4.1\r\n```\r\n\r\nFor detailed documentation, visit https:\u002F\u002Fgetvoicemode.com\r\n","2026-01-16T21:51:20",{"id":259,"version":260,"summary_zh":261,"released_at":262},145044,"v7.4.0","\n### Changed\n\n- **Soundfonts enabled by default** (VM-329)\n  - Audio feedback during tool calls now works out of the box\n  - Disable with `VOICEMODE_SOUNDFONTS_ENABLED=false` in `~\u002F.voicemode\u002Fvoicemode.env`\n\n- **Plugin directory structure** (VM-329)\n  - Hook receiver moved to `scripts\u002F` per Claude Code plugin conventions\n  - `hooks\u002F` now contains only configuration files\n\n- **Release automation**\n  - `make release` now updates plugin version to `{version}p0` automatically\n  - Plugin-only changes can bump to p1, p2, etc. without package release\n\n\n## Installation\n\n### Quick Start (Recommended)\n\n```bash\n# Install UV package manager (if not already installed)\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# Install VoiceMode and configure services\nuvx voice-mode-install\n\n# Add to Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### Alternative: Direct Installation\n\n```bash\n# With UV\nuv tool install voice-mode\n\n# With pip\npip install voice-mode==7.4.0\n```\n\nFor detailed documentation, visit https:\u002F\u002Fgetvoicemode.com\n","2026-01-06T01:57:17",{"id":264,"version":265,"summary_zh":266,"released_at":267},145045,"v7.3.0","\n### Added\n\n- **Unified Status Command** (VM-304)\n  - New `voicemode status` command shows status of all VoiceMode services at once\n  - Displays Whisper, Kokoro, and LiveKit service states in a single view\n\n- **Kokoro Model Download Progress**\n  - Show startup status when Kokoro is downloading models\n  - Better visibility during first-time service initialization\n\n### Changed\n\n- **Streamlined SKILL.md** (VM-303)\n  - Reduced skill file from 646 lines to under 150 lines\n  - Added First-Time Setup section for new users\n  - Added MCP vs CLI guidance and best practices\n  - More focused and actionable content\n\n- **Plugin Distribution**\n  - Removed marketplace - now use `mbailey\u002Fclaude-plugins` repository\n  - Updated claude-plugin version\n  - Added script to prepare for reinstall\n\n### Removed\n\n- **Deprecated Install Script** (VM-329)\n  - Removed deprecated curl bash install script\n  - Use `uvx voicemode install` instead\n\n### Documentation\n\n- **MacBook Portable Mode Guide**\n  - Added guide for running VoiceMode with MacBook lid closed\n  - Covers clamshell mode configuration and external display setup\n\n- **Improved Troubleshooting**\n  - Better slash command failure recovery guidance\n\n\n## Installation\n\n### Quick Start (Recommended)\n\n```bash\n# Install UV package manager (if not already installed)\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n\n# Install VoiceMode and configure services\nuvx voice-mode-install\n\n# Add to Claude Code MCP\nclaude mcp add --scope user voicemode -- uvx --refresh voice-mode\n```\n\n### Alternative: Direct Installation\n\n```bash\n# With UV\nuv tool install voice-mode\n\n# With pip\npip install voice-mode==7.3.0\n```\n\nFor detailed documentation, visit https:\u002F\u002Fgetvoicemode.com\n","2026-01-06T00:33:16"]