Skip to content

Releases: phpmac/Handy

v2.4.3

Choose a tag to compare

@phpmac phpmac released this 27 May 08:44
fe1e2b2

修复

  • 修复 remember_target_app 前端开关不生效的问题 (settingsStore.ts 的 settingUpdaters 缺少映射)
  • 修复 clipboard_retention_ms 缺少后端 change_clipboard_retention_ms_setting 命令

改造

  • 音频反馈从"录音开始/停止提示音"改为"转录完成提示音", 提示音选择器移到通用设置中
  • PasteMethod::None 时仍然写入剪贴板并启动保留定时器, 用户可自行决定何时粘贴

安全

  • ASR 模型返回 "None" 幻觉时视为空, 跳过所有后续操作 (不粘贴/不提示音)

清理

  • 移除未使用代码: to_start_path/to_stop_path/play_feedback_sound_blocking

v2.4.0

Choose a tag to compare

@phpmac phpmac released this 26 May 19:16
220018f

新增

  • 剪贴板保留模式: 粘贴方式为剪贴板模式(Ctrl+V/Ctrl+Shift+V/Shift+Insert)时, 粘贴完成后转录文本保留30秒, 期间可重复粘贴, 超时后自动恢复原始剪贴板内容

优化

  • Cursor模式切换APP时overlay移到底部居中而非隐藏, 切回时自动移回光标位置

v2.3.2

Choose a tag to compare

@phpmac phpmac released this 24 May 17:02
b4eb58a

新增

  • Cursor 模式切换 APP 时, overlay 不再隐藏, 改为移动到屏幕底部居中显示; 切回目标 APP 时自动从底部移回光标/窗口位置, 始终保持可见

v2.3.1

Choose a tag to compare

@phpmac phpmac released this 24 May 13:12
95b8c42

新增

  • Cursor overlay 模式: 悬浮窗跟随文本光标位置, 切换 APP 时自动隐藏/恢复

修复

  • APP 切换时 overlay 不消失的问题 (Accessibility API 返回 None 时正确处理)
  • APP 切换检测延迟优化: 轮询间隔 300ms -> 150ms, None 阈值 1.5s -> 450ms
  • 退出时显式卸载 Whisper 模型释放 GPU/Metal 资源, 避免下次启动时频繁加载
  • Accessibility API 超时保护, 防止辅助功能权限关闭时系统卡死
  • NSPanel 使用 Panel trait 的 hide()/show() 而非 WebviewWindow 方法

v2.2.1

Choose a tag to compare

@phpmac phpmac released this 23 May 15:38
4df04ef

修复

  • 焦点恢复改用 open -b + 验证循环 - 录音期间切换应用后, 粘贴前会验证目标 App 是否真正成为前台, 解决 Cmd+Tab 后粘贴到错误窗口的问题
  • Globe(FN) 键防误触阈值增大 - TOGGLE_HOLD_THRESHOLD 从 300ms 增大到 800ms, 防止 Globe+方向键等组合操作误触发录音

v2.2.0

Choose a tag to compare

@phpmac phpmac released this 22 May 12:58
f1394b3

新功能

记住目标应用

录音开始时自动记住当前焦点应用, 转录完成后自动切回该应用粘贴文字. 即使录音期间切换了其他窗口, 文字也会粘贴到正确的位置.

  • 新增设置开关: 高级设置 → 输出 → 记住目标应用 (默认开启)
  • 仅支持 macOS, 使用 osascript 实现, 零新增依赖
  • 排除 Handy 自身, 防止误保存
  • 防止 toggle 模式第二次按键覆盖已保存的应用
  • 恢复前检测当前 App 是否已是目标 App, 避免不必要的切换
  • 取消录音时自动清除保存状态

下载

  • Handy_2.2.0_aarch64.dmg - macOS Apple Silicon

历史变更 (v2.1.0)

  • SSE 流式输出 + Anthropic 协议支持
  • toggle 快捷键改为释放触发, 防止 Globe 键组合误触
  • Tauri 开发踩坑 rules 整理

v2.1.0

Choose a tag to compare

@phpmac phpmac released this 22 May 08:28
b1f476d

v2.1.0 - SSE流式输出 + Anthropic协议支持

新增

  • LLM后处理改用SSE streaming实时输出, 解决API无响应挂起问题
  • 新增OpenAI/Anthropic双协议支持, 后处理设置中可切换协议类型
  • 后处理设置界面新增Protocol下拉选择

修复

  • 修复SSE解析data:data: 格式不兼容导致内容为空的问题
  • 修复Anthropic error事件被静默吞掉, API错误无任何提示的问题
  • 修复协议切换后UI不刷新的问题

重构

  • 移除旧的非流式HTTP请求代码, 统一使用SSE streaming
  • stream_openai/stream_anthropic独立流式处理函数
  • 日志和代码注释统一使用中文

v2.0.10

Choose a tag to compare

@phpmac phpmac released this 21 May 06:34
aff5413

新增

  • toggle 快捷键改为释放触发: 按下仅记录时间戳, 释放时检查持按时长 (< 300ms = 有意点击, >= 300ms = 组合键使用不触发)

修复

  • Globe (fn) 键作为 toggle 快捷键时, 按住配合方向键不再误触发录音
  • 信号/CLI 触发保持即时响应, 不受释放判定影响

v2.0.9

Choose a tag to compare

@phpmac phpmac released this 19 May 05:46
4799838

概要

  • 修复 toggle 模式下按键停止录音失灵的问题 (fn 键等单键绑定时第二次按下无法停止录音, 所有后续按键被 "pipeline busy" 拒绝)

变更

修复

  • 按键停止录音失灵 - TranscriptionCoordinator 的 Processing 状态新增 session 计数器, 取消中断和 60 秒超时自动恢复机制, 防止异步转录任务 hang 时 stage 永久卡住
  • Cancel 命令现在可以中断 Processing 状态, 用户不再需要强制重启应用
  • 异步转录任务粘贴前校验 session 有效性, 过期任务不会产生幽灵粘贴或干扰新会话 UI
  • 增强 "pipeline busy" 日志, 打印当前 stage 和 session 信息便于排查

其他

  • 禁用全部 GitHub Actions CI 流水线
  • 修复 Linux 构建失败 (启用 transcribe_rs onnx feature)
  • 修复 CI 失败 (overlay.rs debug 宏缺失 + i18n 翻译 key 补全)
  • 格式化文件符合 prettier + cargo fmt 规范
  • 新增自定义 provider 后处理推理控制

测试

  • macOS: 使用 fn 键作为 toggle 快捷键, 多次录音-停止循环正常
  • macOS: 快速连续按 fn 键, 录音能正常停止和转录
  • macOS: 取消操作能正常中断 Processing 状态
  • cargo check 编译通过
  • tauri build 打包成功

v2.0.8

Choose a tag to compare

@phpmac phpmac released this 17 May 04:55
7dd94d3

新增

  • 自定义 provider 后处理推理控制

修复

  • 悬浮窗转录状态宽度自适应、录音宽度缩短
  • CI 失败修复: overlay.rs debug 宏缺失、19 种语言 i18n 翻译 key 补全
  • Linux 构建失败: 启用 transcribe_rs onnx feature
  • 代码格式化符合 prettier + cargo fmt 规范

变更

  • 全部 GitHub Actions CI 流水线已禁用