VoxType 是 Windows 本地语音输入应用,也是 Quicker 语音输入扩展的实验与协议仓库。
- 先执行
git status --short,已有修改均视为用户内容。 - 涉及 Quicker 集成、provider 或文本提交时,先读
docs/quicker-integration-research.md。 - 修改协议时同步更新客户端、runtime、测试和文档;不得只改一端。
| 目录 | 职责 |
|---|---|
app/ |
Tauri 桌面宿主:热键、录音、浮层、设置、文本提交 |
runtime/ |
独立 ASR sidecar:模型加载、识别、WebSocket 会话 |
plugin/ |
Quicker 兼容适配器;不承载识别引擎 |
catalog/ |
随安装包发布的模型元数据;模型权重不入库 |
docs/ |
协议、架构决策与 Quicker 接入计划 |
- runtime 只负责识别,不注册全局热键、不操作剪贴板、不向目标窗口注入文本。
- 桌面宿主或 Quicker 负责会话生命周期、权限提示、目标窗口判断和文本提交。
- provider 能力通过协议协商,不在 UI 中按具体模型写分支。
voxtype-voice-v1已发布;任何不兼容变更必须使用新协议版本并保留明确的兼容路径。- HTTP/WebSocket 只监听 loopback。若命令接口可由其它进程调用,必须使用每次安装生成的 token,不能仅依赖固定端口。
- 默认不保存原始音频或识别文本;调试采样必须显式开启并提示数据位置。
- 禁止在密码框、安全桌面或更高完整性级别目标中静默注入文本。
- 禁止提交模型权重、构建产物、运行日志、凭证和本机路径配置。
按改动范围执行最小充分验证:
# runtime
cd runtime
uv run pytest
# Tauri 前端与 Rust
cd ../app
pnpm install
pnpm build
cargo test --manifest-path src-tauri/Cargo.toml
# 模型目录
cd ..
pwsh ./scripts/validate-models-catalog.ps1纯文档改动无需构建,但应检查相对链接和示例中的协议名称。
- 正式版本由
vX.Y.Z标签触发 GitHub Actions。 - 发布前确认模型许可证与 attribution;代码许可证不能替代模型权重许可证。
- 不在适配 Quicker 的工作中顺手发版,除非任务明确要求。