Skip to content

Releases: arcxya09/voiceinput-windows

VoiceInput 2.7.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 00:51
a4ee4a5

VoiceInput 2.7.0

设置重新整理

设置页原来是一整页长列表,“麦克风与操作”里混着设备、日志、快捷键、上屏方式和开机自启动。现在分成四个分页,底部“保存设置”对所有分页统一生效:

  • 输入与麦克风:按键与录音(按住说话键、长按确认、断句停顿、最长按住、长停顿分段)、上屏方式(直接输入)、麦克风(设备、测试、录音诊断)、启动与托盘。
  • 识别与润色:百炼语音识别(Key、地域、Workspace)、识别效果(自适应灵敏度、智能标点、高精度模式)、DeepSeek 全文润色与提示词。
  • 词库与记忆:文本记忆(保存开关、保留天数)、词库(热词、ASR 上下文、优先级调整、纠错候选)、AI 词条整理(整理许可、自动提取、智能领域词库、每日预算)、从全部历史提取词条。
  • 更新与维护:软件更新、自动更新开关、运行日志导出、数据恢复与项目管理。

首次启动未填写百炼 Key 时,直接打开“识别与润色”分页。左上角显示的版本号改为当前实际版本。

手动检查更新

  • 托盘菜单新增“检查更新”:打开设置的“更新与维护”分页并立即检查。
  • 手动检查发现新版后直接下载并校验(即使关闭了“发现新版后自动下载”),完成后点击“安装并重启”或从托盘菜单安装。
  • 检查结果显示检查时间;已是最新版时显示当前版本号。

VoiceInput 2.6.2

Choose a tag to compare

@github-actions github-actions released this 15 Oct 00:44
0906da6

VoiceInput 2.6.2

Obsidian 等 Electron 编辑器不再被误判为只读

  • 在 Obsidian 中按住说话时,程序常提示找不到输入位置,只能复制。运行日志显示,原因是辅助功能接口把 Obsidian 的编辑区报告为“只读”(TargetReadOnly/TargetNotEditable),程序因此拒绝输入。VoiceInput 本身没有抢占前台:识别浮窗以不激活方式显示,日志中也没有焦点切走的记录。
  • Chromium/Electron(Obsidian、VS Code、Notion、浏览器等)和 Firefox 常把文档或可编辑区域的外层容器报告为只读,即使光标在可编辑区域中。现在只有原生界面框架中真正的文本框(Edit 控件)报告只读时才拒绝输入;其他“只读”报告视为未知,按原生焦点直接输入。

密码框也直接输入

  • 原则改为:键盘能输入的地方,程序都直接输入。密码框不再拒绝启动,也不再只复制,和普通文本框一样直接输入(必要时粘贴)。
  • 仍会跳过的只有键盘本身也输入不了的控件:被禁用的控件,以及原生界面中真正只读的文本框。
  • 注意:语音会照常上传到识别服务,在密码框中听写等同于把密码念给识别服务。

验证

Windows 冒烟检查保留真正只读文本框的拒绝行为。密码框拒绝相关的回归用例已移除。Electron 编辑器和密码框的行为需在本机实测。

VoiceInput 2.6.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 16:04
79f6be2

VoiceInput 2.6.1

全项目审查修复

  • 输入法不再被留在关闭状态:直接输入时会临时关闭目标窗口的中文输入法,输入完成后恢复。目标窗口较忙、查询输入法状态超时时,原先会跳过恢复,输入法一直停在英文;现在查询不到状态时也会重新打开。
  • 转为复制模式后不再吞掉回车:松键后已切换到其他窗口或有其他操作、本轮改为“完成后自动复制”时,回车键照常传给当前窗口,不再被拦下。
  • 麦克风卡住时不再锁死后续听写:打开麦克风(例如蓝牙耳机正在重连)长时间无响应时,本轮在启动时限到达后结束并释放设备,后续按键可以重新开始,不再一直提示上一段仍在整理。麦克风测试同样受时限保护。
  • 确认学习的词条保持生效:确认纠错学习的词恰好是领域词库预测的词条时,词条改为“纠错学习”来源,正常进入热词,不会被下次领域词库刷新覆盖或随来源记录过期删除。
  • 读取历史记录不再占用写锁:打开、导出或提取历史记录时改为只读事务,避免与后台保存、清理冲突导致“操作失败”。
  • 便携版回滚更稳妥:便携版替换失败且原文件未能全部移回时,保留备份文件夹并提示其位置,不再删除唯一的旧版文件;替换失败后重新打开的旧版不再在空闲时反复自动重试安装,仍可手动安装。
  • 整段粘贴兼容远程桌面:模拟的 Ctrl+V 带上扫描码,远程桌面、虚拟机等按扫描码转发按键的窗口也能收到粘贴。

更新与安装

  • 便携版替换更安全:新版文件先完整复制到便携版文件夹内,再以改名方式一次性替换。复制过程中关机或注销不会破坏原程序;残留的临时文件在下次启动时清理。
  • 安装失败不再反复重启:后台静默安装中途失败时,安装程序留下标记,重新打开的原版本本次运行不再空闲自动重试,并在“设置 → 软件更新”说明原因;仍可从托盘菜单或设置页手动安装。
  • 空闲自动安装后安静重启:电脑空闲时自动安装的新版在托盘中启动,不再弹出并激活管理窗口,避免打断演示或全屏视频。手动点击安装的仍按原方式重新打开。
  • 对话框打开时不再“假安装”:有对话框打开、程序无法立即退出时,不再先启动安装程序空等,而是提示先关闭对话框。托盘或空闲安装失败时用托盘提示说明原因。
  • 关闭主窗口也会安装:未开启“关闭时最小化到托盘”时,关闭主窗口退出程序,与托盘“退出”一样会安装已下载的新版。
  • 网速慢也能下载完:下载不再限定 15 分钟总时长,改为 2 分钟没有收到数据才放弃,慢速但稳定的网络可以完成下载。
  • 清理旧安装包:启动时删除已安装版本及更早版本的安装包、便携包和中断的下载文件。

词库、历史与识别

  • 大词库不再拖慢保存:保存识别结果、删除过期历史时复用已解密的词条,不再每句都解密整个词库;关闭整理许可的会话保存时不再全量扫描词库。
  • 词条整理重试不重复扣预算:遇到限流自动重试时,先退回上一次未使用的预算预留。
  • 词库导入更宽容:CSV 的状态、权重等单元格留空时按默认值处理;JSON 缺少 terms 数组时给出明确提示。
  • 识别连接失败显示为“本轮未完成”:不再被随后的停止请求改成“已暂停”。
  • 松键与麦克风启动并发时不漏停:修复极小概率下松键请求未传给刚打开的麦克风、多录入一段尾音的问题。

验证

Windows CI 运行全部回归检查、构建、桌面冒烟检查和安装/卸载验证(含静默升级后重新打开)。输入法恢复与回车处理、便携版替换和空闲安装后的托盘重启需要在实际设备和下一次跨版本升级中复测。

尚未处理

  • 检测“输入法正在组字”的代码对其他程序无效(跨进程无法读取输入法上下文),打了一半拼音时按住说话的保护实际不起作用,需要在微软拼音、搜狗等输入法上实测后另行处理。

VoiceInput 2.6.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 15:19
b10449f

VoiceInput 2.6.0

自动安装更新

2.2.0 起软件会检查 GitHub 正式版并在后台下载,但安装仍需手动走安装向导,便携版只能转为安装版。本版把下载后的安装也做成自动的。

  • 静默安装并自动重启:安装版不再打开安装向导。软件保存数据并退出后,安装程序在后台完成升级,再自动重新打开 VoiceInput;设置、词库和历史记录保留。安装中途失败时自动重新打开原版本。
  • 便携版原地更新:便携版改为下载新版便携包,校验后在原文件夹替换 VoiceInput.exe、app/、licenses/ 与说明文件,再自动重新打开。文件夹里的其他文件不动;替换失败时恢复原文件,下次打开时在“设置 → 软件更新”提示原因。便携版放在不可写的位置时无法原地更新,会提示原因。
  • 一键安装:新版下载并校验后,托盘弹出提示,点击即可安装并重启;托盘菜单也会出现“安装新版 vX.Y.Z 并重启”。设置页的按钮改名为“安装并重启”。
  • 空闲或退出时自动安装:新选项“电脑空闲或退出程序时自动安装已下载的新版”默认开启。只在管理窗口关闭、托盘菜单未打开、3 分钟没有键盘鼠标操作且没有进行中的识别或管理操作时安装,不会打断听写。从托盘选择“退出”时也会顺便安装,此时不自动重新打开。关闭此选项后,仍可通过托盘提示、托盘菜单或设置页手动安装。

原“托盘空闲 1 分钟后自动退出并打开安装程序”选项由上述选项取代,升级后按默认开启处理。

升级说明

从 2.5.0 及更早版本升级到 2.6.0 时仍由旧版本完成:安装版会照旧打开安装向导,便携版会照旧提示改用安装版,建议手动下载 2.6.0 便携包解压覆盖。安装 2.6.0 之后,后续版本即可自动安装。

验证

  • 回归检查覆盖按安装方式选择安装包或便携包、便携版替换后保留其他文件并清理备份、替换中途失败恢复原文件、便携包结构异常或被修改时拒绝解压。
  • Windows CI 实际运行安装程序,确认带 /UPDATERELAUNCH=1 的静默升级完成后重新打开已安装的程序。

便携版替换流程与托盘一键安装需要在实际的跨版本升级中复测(2.6.0 → 下一版本)。

VoiceInput 2.5.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 14:39
b58ad98

VoiceInput 2.5.0

直接输入到光标处

  • 默认不再经过剪贴板:标准 Edit/RichEdit 文本框(记事本、WinForms、Delphi 等)通过 EM_REPLACESEL 一次替换选区,保留目标软件的撤销;其他软件通过一次 SendInput 发送整段 Unicode 字符,系统不会把它与实际键鼠输入交错。
  • 2.1.4 曾逐字分批键入,部分软件出现个别文字被标点替换。本版整段一次提交;目标使用中文、日文或韩文输入法且处于开启状态时,先临时关闭目标输入法,等目标处理完这批字符后恢复原状态。无法确认输入法状态时不键入,改用粘贴。
  • 多行正文、超过 4000 字、管理员权限软件拒绝输入或直接输入不可用且没有发出任何字符时,自动改用整段复制和一次 Ctrl+V。可能已部分输入时不粘贴重发,只复制完整正文并提示核对。
  • “设置 → 麦克风与操作”新增“直接输入到光标处,不占用剪贴板”,默认开启;关闭后与 2.4.x 相同,始终整段粘贴。

输入焦点不再轻易丢失

  • 文字跟随原窗口内的当前焦点。编辑器重建或切换内部控件、辅助功能元素变化、选区移动,不再导致降级为复制;投递前对当前控件重新检查密码、只读和禁用状态。
  • 鼠标点击和滚轮不再停止自动输入,文字输入到松手时的光标处。其他按键仍停止自动输入。
  • 其他窗口短暂占据前台(通知、提示、输入法模式提示)时给予 1.5 秒恢复时间;持续切到其他窗口才停止本轮自动输入。投递时最多等待 0.8 秒让原窗口回到前台,绝不向其他窗口输入。
  • 按下说话键时窗口仍在激活、尚未产生焦点的情况,最多等待 1 秒取得焦点,不再直接转为仅复制。

验证

回归检查覆盖直接输入成功不写剪贴板、可能部分输入时只复制不重发、关闭直接输入后走粘贴、鼠标和滚轮不降级、子焦点变化继续输入及持续切换窗口后降级。Windows 冒烟检查在独立进程的普通文本框、富文本框和只处理 WM_CHAR 的自绘控件中读回中文、emoji 与组合字符,确认剪贴板未改动且未发送粘贴;并验证同窗口焦点切换后粘贴跟随新控件。

CI 环境没有中文输入法,临时关闭和恢复输入法的流程需要在实际的微软拼音、搜狗等输入法下复测。遇到问题可导出运行日志,DirectInputCompleted 记录了所用通道和未直接输入的原因,不含正文。

VoiceInput 2.4.2

Choose a tag to compare

@github-actions github-actions released this 17 Sep 16:21
e324cbb

VoiceInput 2.4.2

高精度模式改为按需开启

  • 高精度语音复核默认关闭,减少松键后的等待和额外识别调用;设置界面与说明同步更新。
  • 新安装、缺少高精度字段的旧配置均使用关闭状态。已保存的显式开关保持不变;此前开启的用户可在“设置 → 百炼语音识别 → 高精度模式”取消勾选。
  • 关闭后继续使用实时识别结果,保留已启用的词库纠错、润色和智能标点;不发起整段复核请求。
  • 包含 2.4.1 的剪贴板短暂占用恢复、明确复制失败提示和分阶段诊断日志。

验证

补充首次安装、旧配置缺字段、开启/关闭保存后重启的回归检查,并验证默认模式不发起额外整段 ASR 请求。保留高精度模式显式开启后的全部识别、回退和取消检查。

非剪贴板上屏方案的比较见 输入策略研究。本版继续使用已验证的整段粘贴路径,TSF 接入需作为后续架构改造单独验证。

VoiceInput 2.4.1

Choose a tag to compare

@github-actions github-actions released this 17 Sep 16:00
a9c75d3

VoiceInput 2.4.1

剪贴板短暂占用修复

  • 修复剪贴板被其他软件短暂占用时过早放弃复制的问题:原先只等待约 100 毫秒,现在复制与回读共享约 1 秒的访问等待窗口。正常空闲时立即完成。
  • 只有打开剪贴板失败才重试,已写入的正文和粘贴动作不会重复执行;等待期间检测到新的剪贴板内容仍停止覆盖。
  • 复制失败时浮窗明确显示“复制失败”,主窗口提示剪贴板可能仍是旧内容,请从程序中复制本轮文字。
  • 日志补充复制、粘贴阶段的固定诊断代码及耗时,便于区分剪贴板占用、内容变化、辅助进程不可用及输入目标变化;不记录识别正文和剪贴板正文。

验证范围

Windows 原生测试新增独立进程持有剪贴板 600 毫秒及 1800 毫秒的场景,检查短暂占用恢复、持续占用超时、旧内容保留、无误粘贴和后续复制恢复。保留已存在的无焦点复制、剪贴板被新内容替换时停止粘贴等检查。

这一修复针对可确认的短暂占用失败路径,不代表所有 Win10 输入失败均由此导致。具体应用的复现仍需结合版本、操作步骤和运行日志判断。

VoiceInput 2.4.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 14:40
fa3c7d9

VoiceInput 2.4.0

默认开启高精度模式

  • 实时显示识别文字,松开后使用百炼 Qwen-Audio-3.0-ASR-Flash 对完整录音再识别一次,再执行纠错、润色与智能标点。
  • 复用现有百炼 Key、地域、业务空间与本轮热词;无需新增账号。设置中的“高精度模式”可随时关闭,旧配置升级默认开启。
  • 每轮最多复核 3 分钟音频,等待上限 12 秒。超时、失败、空白或明显截断返回时采用实时识别结果;回车跳过等待,Esc 取消输入。
  • 整段复核会增加一次 ASR 调用和相应费用,用量单独记录为 asr_review。音频只在内存中临时保存,处理后释放。
  • 只在最终结果确定后复制和粘贴一次,迟到结果不会覆盖用户编辑、已输入文字或新会话。
  • 被复核替代的流式原文不参与重复学习;复核结果作为 ASR 原文继续参与词库提取,不作为人工纠错证据。

验证范围

新增协议、默认设置迁移、完整音频缓存、超限回退、持久化、取消、超时及迟到结果等离线回归检查;发布流水线执行 Windows 构建、桌面启动和安装/更新交接/卸载检查。离线测试不代表真实语音准确率提升幅度,实际效果以使用场景为准。

VoiceInput 2.3.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 13:39
3cfc490

VoiceInput 2.3.0

  • 新增智能领域词库:根据历史输入识别近期话题及较早领域背景,预测可能使用且容易识别出错的专业词。
  • 重点筛选同音近音、生僻名称、英文缩写、音译及分词歧义;适度扩展相关术语,排除通用词和无依据的词条。
  • 预测词自动以低权重试用,随话题动态调整,保留生成理由和历史依据;不依赖用户在其他软件中的修改,不生成强制替换规则。
  • 新增“更新领域词库”“查看领域分析”,支持将预测词确认成个人词条,禁用及删除不会自动恢复。
  • 后台分析复用 Token 预算和取消机制,历史删除、修订及学习许可撤回会使相应分析失效。

启用方法:设置 → 记忆与词库 → 智能领域词库,保存设置。需开启文本记忆和允许学习,并配置 DeepSeek Key。升级后默认关闭。

模型判断是预计易错风险,不是实测识别错误率。本版自动测试使用模拟云端响应,实际识别收益需结合个人输入验证。

VoiceInput 2.2.1

Choose a tag to compare

@github-actions github-actions released this 16 Sep 16:02

VoiceInput 2.2.1

本版补齐软件使用许可,功能延续 2.2.0。

许可范围

采用自定义的《VoiceInput 个人非商业使用许可协议》1.0,完整文本见仓库及安装目录中的 LICENSE.txt。

  • 允许自然人为个人非商业目的免费下载、安装和使用未修改的正式版本,并制作必要备份。
  • 源码可供查看,不授予未经书面授权的商用、组织部署、代码修改、二次开发、制作衍生版本或再分发权限。
  • 调整软件设置、提示词和个人词库属于正常使用;软件许可不对用户自己的输入和生成内容追加权利限制。
  • 第三方组件遵循各自原有许可证。法定权利及 GitHub 等托管平台要求的必要权限依许可正文处理。

本项目为源码可见软件,不属于通常定义的开源软件。本版不增加数字签名。

安装与更新

安装向导新增许可协议页面;安装版与便携版均携带完整的 LICENSE.txt。请在使用前阅读,接受许可后再继续安装或使用。

2.2.0 用户可通过设置页的软件更新获取本版。原有配置、词库和历史记录继续保留。

  • VoiceInput-Setup-2.2.1.exe:安装版。
  • VoiceInput-Portable-x64-2.2.1.zip:便携版。

发布流水线验证许可随包提供,并检查安装后的许可正文与仓库文本一致。