[建议 / Feature] 语音输入:直接用语音提问 / 下达任务(STT 实时转写 + 可选流式对话)
Open
Nobody has claimed this yet.
priority: P2
- Dominant language
- No language data
- Stars
- 22
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
提交前确认 · Pre-submission checklist
- 我已搜索过现有 issue,确认这不是重复提议 / I searched existing issues and confirmed this isn't a duplicate.
- 我已阅读 CONTRIBUTING.md / I've read CONTRIBUTING.md.
问题类别 · Category
AI 交互体验 · AI Interaction Experience
涉及的 Agent 框架 · Agent framework
ZCode Agent(自研)
使用场景 · Use case
编程过程中经常双手都在键盘/鼠标上(正在改代码、看着 diff、调试),这时候想给 Agent 下个指令或提个问题,必须切回对话框打字,体验很打断。典型场景:
- 边改边问:正在浏览一段代码,想问「这段逻辑为什么要这么写」,比起打字,直接开口说更快、更自然。
- 复杂任务口述:连续交代几个步骤(「先跑测试,再把这个函数抽出来,然后改下 README」),语音口述比打字效率高得多。
- 解放双手:长时间会话、结对编程、屏幕共享讲解时,语音输入让交互更轻量。
- 多语言:中英混说在技术场景里很常见,希望转写能正确处理。
建议方案 · Proposal
希望 ZCode 支持语音直接对话——用户按住 / 点击麦克风,直接用语音提问或下达任务,转写成文字后提交给 Agent。建议分阶段实现:
阶段一:语音输入(STT 转写)—— 核心诉求
- 触发方式:对话框旁加一个麦克风按钮,支持「按住说话(push-to-talk)」和「点击录音」两种模式。
- 转写:语音实时/录完后转写成文字,填入输入框,用户可编辑确认后再发送(避免识别错别字直接提交)。
- 快捷键:提供全局/应用内快捷键一键开始说话。
- 可选:边说边转写(流式 STT),体验更接近实时对话。
阶段二:语音对话(双向)—— 进阶
- TTS 朗读:Agent 回复可一键朗读(在走开、查文档、眼睛要离开屏幕时很有用)。
- 对话模式:类似语音助手的「连续对话」——说一句,Agent 答一句,可连续追问,全程不用手。
- 可配置:朗读开关、语速、音色、自动朗读等可自定义。
实现路径参考(协议层面,公开标准)
STT / TTS 可优先复用现有主流方案,不必自研:
- 本地 / 离线:
faster-whisper、whisper.cpp、AppleSFSpeechRecognizer等可在端侧跑,隐私友好、无额外 token 成本。 - 云端 API:OpenAI Audio API(
/audio/transcriptions、/audio/speech)、Azure Speech 等,效果更好但有成本与隐私考量。 - 建议做成可插拔:允许用户配置使用本地或云端、选择模型。
期望收益 · Expected benefit
- 大幅降低「打断感」:编程中下指令不用切回键盘,双手不离当前工作。
- 提升复杂/多步任务的输入效率。
- 对齐主流 AI 编码助手的交互趋势(语音交互正在成为标配)。
备注 · Notes
- 麦克风权限:需处理各平台(macOS / Windows / Linux)的麦克风授权提示。
- 隐私:建议默认本地转写或明确告知数据去向。
环境信息 · Environment
- ZCode Desktop App
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with CONTRIBUTING.md and locate the ZCode Desktop App conversation input entry point; the issue names no implementation files or tests. Review the phase-one STT requirements, platform permission notes, and proposed providers before defining a focused scope. Done should include an agreed first-phase boundary and corresponding validation criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure
- Domain
- ai, desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100