Skip to content

Releases: ZekerTop/ai-cli-complete-notify

2.11.0

Choose a tag to compare

@ZekerTop ZekerTop released this 16 Jul 03:05

Changelog

  • Fixed Issue #24 by adding a default-on Claude Interactive sessions only source option to suppress false completion alerts from SDK-derived Agent Team, Workflow, worktree, background Agent, and claude -p sessions.
  • Claude Stop Hooks and Claude Watch now share the same bounded transcript-origin parser, using entrypoint: "sdk-cli" / promptSource: "sdk" for SDK sessions and preserving normal notifications for entrypoint: "cli" / promptSource: "typed" sessions.
  • Unknown or unreadable transcript metadata continues through the existing notification path to avoid false suppression. Disable the option when headless claude -p completion alerts are required.
  • Preserved existing Claude final-response extraction, failure alerts, Hook delay, Watch fallback, summaries, channels, and deduplication, with regression coverage for both Claude paths and the existing Gemini fixes.
  • Added a GitHub Release update check to About Project. It checks automatically when the page opens, supports manual rechecks, displays the current and latest public versions, and sends both Windows and macOS users to GitHub Releases to choose their package.

版本历史

  • 修复 Issue #24:Claude 来源新增默认开启的「仅提醒交互式会话」选项,过滤 Agent Team、Workflow、worktree、后台 Agent 和 claude -p 等 SDK 派生会话产生的虚假完成提醒。
  • Claude Stop Hook 与 Claude Watch 共用有界的 transcript 来源解析器:通过 entrypoint: "sdk-cli" / promptSource: "sdk" 识别 SDK 会话,并保留 entrypoint: "cli" / promptSource: "typed" 真人交互会话的正常提醒。
  • transcript 缺失、无法读取或来源未知时继续走原有提醒流程,避免误过滤;需要 claude -p 完成提醒时可关闭该选项。
  • 保留原有 Claude 最终回复提取、失败提醒、Hook 延迟、Watch 兜底、摘要、通道和去重逻辑,并补充 Claude 双路径与现有 Gemini 修复的回归测试。
  • 「关于项目」新增 GitHub Release 更新检查:进入页面时自动检查,也可手动重新检查;显示当前版本和最新公开版本,Windows 与 macOS 均前往 GitHub Releases 自行选择安装包。

v2.9.0

Choose a tag to compare

@ZekerTop ZekerTop released this 09 Jul 02:14

Changelog

  • Added support for OpenCode session.status idle events in the global plugin while keeping session.idle / session.error compatibility.
  • OpenCode completion reminders can now use the latest assistant reply as the task text instead of always showing the generic OpenCode Complete message.
  • Fixed the channel panel horizontal overflow that could show a blue horizontal bar after toggling Gotify.
  • Added an About Project page after System with project information, author WeChat contact QR code.

版本历史

  • OpenCode 全局插件新增兼容 session.status idle 事件,同时保留 session.idle / session.error 支持。
  • OpenCode 完成提醒现在可使用最新助手回复作为任务信息,不再总是只显示通用的 OpenCode 完成。
  • 修复通道页切换 Gotify 开关后可能出现蓝色横向滚动条的问题。
  • 在“系统”后新增“关于项目”页面,展示项目介绍、作者微信二维码。

v2.8.0

Choose a tag to compare

@ZekerTop ZekerTop released this 04 Jun 15:46

Changelog

  • Added an AI Summary test path that sends a real test notification and reports both summary generation and notification delivery in the desktop UI.
  • Improved AI Summary setup hints: the API URL input now explains base URL, exact endpoint, and trailing slash behavior.
  • Fixed summary test JSON parsing by keeping webhook logs out of stdout, so webhook status output no longer breaks the desktop test result.
  • Increased the AI Summary default timeout to 30 seconds and migrated the old 15-second default to reduce accidental fallback on slower API responses.
  • Added success/error coloring to the AI Summary test result box.
  • Added a Webhook option to include or hide the original output when an AI summary succeeds. When included, the AI summary and original output are separated with a divider and labeled clearly. When AI summary is disabled or fails, the original output is still kept to avoid blank notifications, and failures are shown inline, for example AI Summary: request timed out, original output is shown.
  • Added original-output length limiting for non-card webhooks through WEBHOOK_OUTPUT_MAX_LENGTH.

版本历史

  • 新增 AI 摘要测试链路:桌面端点击测试时会真实发送一条测试通知,并同时显示摘要生成结果和通知发送结果。
  • 优化 AI 摘要配置提示:API URL 输入框会说明基础地址、完整接口地址和末尾 / / # 的处理规则。
  • 修复摘要测试 JSON 解析问题:Webhook 日志不再污染 stdout,桌面端不会再因为 [webhook] 日志导致解析失败。
  • AI 摘要默认超时时间调整为 30 秒,并将旧的 15 秒默认值自动迁移到 30 秒,降低慢响应接口意外回退的概率。
  • AI 摘要测试结果框新增成功/失败颜色,成功显示绿色,失败显示红色。
  • 新增 Webhook「附带原始输出」开关:AI 摘要成功时可选择只显示摘要或同时显示原文;同时显示时会用分隔线区分 AI 摘要和原文。摘要未启用或失败时仍保留原文,避免通知为空,并在 Webhook 中直接显示失败原因,例如 AI 摘要:请求超时,已显示原文
  • 非卡片 Webhook 新增原始输出长度限制,可通过 WEBHOOK_OUTPUT_MAX_LENGTH 配置。

v2.7.0

Choose a tag to compare

@ZekerTop ZekerTop released this 01 Jun 13:51

Changelog

  • Added macOS desktop compatibility: the packaged .app now routes desktop notifications through Tauri native notifications to avoid repeated AppleScript access prompts, while CLI/source runs keep osascript display notification as a fallback. Sound alerts support say / beep, and custom audio files use afplay.
  • Added the macOS Tauri sidecar build path, generating ai-reminder-aarch64-apple-darwin or ai-reminder-x86_64-apple-darwin for the current architecture so packaged macOS builds can find the sidecar correctly.
  • Added macOS packaging scripts: npm run dist:mac:app builds a double-clickable .app, while npm run dist:mac:dmg builds a .dmg for distribution.
  • Changed npm run dist to pick the output by platform: Windows keeps the portable package flow, while macOS builds the .app.
  • Defined the packaged macOS .env location as ~/.ai-cli-complete-notify/.env and added it to the paths output; Windows portable builds still support .env next to the exe.
  • The packaged macOS app now checks .env at startup: when missing it creates .env.example and prompts the user to configure it, including a Finder hint to press Command + Shift + . when hidden files are not visible; when present it shows a successful load state.
  • Fixed "open config file" behavior outside Windows; macOS now uses the system open command.
  • Fixed the stale frontend sidebar version by injecting the version from package.json at build time instead of hard-coding it.
  • Updated README / README_zh with macOS build instructions, .app / .dmg output notes, and the reminder that public macOS distribution may require code signing and notarization.

版本历史

  • 增加 macOS 桌面端兼容支持:打包后的 .app 改为通过 Tauri 原生通知发送桌面通知,避免反复弹出 AppleScript 访问提示;CLI/源码运行时仍保留 osascript display notification 作为兜底。声音提醒支持 say / beep,自定义音频支持 afplay
  • 增加 macOS Tauri sidecar 构建链路,按当前架构生成 ai-reminder-aarch64-apple-darwinai-reminder-x86_64-apple-darwin,解决 macOS 打包时 sidecar 命名不匹配的问题。
  • 新增 macOS 打包脚本:npm run dist:mac:app 生成可双击打开的 .appnpm run dist:mac:dmg 生成用于分发的 .dmg
  • npm run dist 改为按当前平台选择构建产物:Windows 继续输出便携版,macOS 输出 .app
  • 明确 macOS 打包版 .env 位置为 ~/.ai-cli-complete-notify/.env,并在 paths 命令中输出推荐路径;Windows 便携版继续支持 exe 同目录 .env
  • macOS 桌面版启动时会检查 .env:缺失时自动创建 .env.example 并提醒用户配置,存在时显示配置加载成功;提示中会说明 Finder 看不到隐藏文件时可按 Command + Shift + . 显示,再复制 .env.example.env
  • 修复桌面界面“打开配置文件”能力在非 Windows 平台不可用的问题,macOS 现在使用系统 open 命令打开文件。
  • 修复前端侧栏版本号仍显示旧版本的问题,版本号改为从 package.json 注入构建,不再手写。
  • README / README_zh 补充 macOS 构建、.app / .dmg 产物说明,以及正式分发时可能需要签名和 notarization 公证的提示。

v2.6.0

Choose a tag to compare

@ZekerTop ZekerTop released this 14 May 15:15
bc543f3

Changelog

  • Fixed premature Codex reminders when Superpowers / parallel subagents are used: Codex Desktop subagent sessions are now detected from session_meta and their completion/confirm reminders are suppressed, so the reminder is sent only by the parent conversation when the whole turn finishes.
  • Fixed subagent detection for already-large Codex session files: when Watch attaches mid-session, it now reads the file head for session_meta instead of relying only on the tail seed window.
  • Fixed unrelated Codex sessions suppressing each other: completion coordination is now grouped by workspace cwd, so a long-running turn in one project no longer blocks completion alerts from another project.
  • Fixed Codex forked-chat replay reminders: copied history in a newly forked session is now treated as seed context only, so the new branch no longer replays completion alerts from the original branch.
  • Fixed false Codex failure reminders caused by recoverable TUI background WARN lines, such as plugin/app-list/tool-suggestion 403 responses that do not stop the current turn.
  • Added regression tests for multi-session parent/child-agent completion, Codex Desktop subagent metadata including file-head loading, cwd-grouped session coordination, forked-session history replay, and recoverable Codex TUI background warnings.

版本历史

  • 修复使用 Superpowers / 多 Agent 并行时的 Codex 误提醒:现在会从 session_meta 识别 Codex Desktop 子 Agent session,并跳过子 Agent 的完成/确认提醒,只有父对话整轮结束后才发送一次完成提醒。
  • 修复已存在的大型 Codex session 文件中的子 Agent 识别问题:Watch 中途接入时会从文件头读取 session_meta,不再只依赖尾部 seed 窗口。
  • 修复无关 Codex session 互相压制提醒的问题:完成提醒协调现在按工作区 cwd 分组,一个项目里的长任务不会再阻塞另一个项目的完成提醒。
  • 修复 Codex fork / 分叉新对话后的历史提醒重放问题:新分支 session 中复制过来的旧历史现在只作为上下文种子,不再重新触发原分支的完成提醒。
  • 修复 Codex TUI 后台 WARN 日志导致的失败误提醒,例如插件同步、应用列表、工具建议等 403 响应不会影响当前轮次时不再发送失败提醒。
  • 增加多 session 父/子 Agent 完成流程、Codex Desktop 子 Agent 元数据识别及文件头加载、按 cwd 分组协调、fork session 历史重放和 Codex TUI 后台 WARN 过滤的回归测试。

v2.5.0

Choose a tag to compare

@ZekerTop ZekerTop released this 28 Apr 09:42

Changelog

  • Fixed Codex session watch reliability so completion reminders no longer depend only on task_complete.
  • Serialized Codex session event processing to avoid missed notifications caused by JSONL event races.
  • Fixed premature Codex reminders when Superpowers / parallel subagents are used: child-agent session completions are now coordinated across active Codex sessions, so the completion reminder is sent only after the whole conversation turn finishes.
  • Added a regression test covering the multi-session parent/child-agent completion flow to prevent child session task_complete events from triggering standalone completion reminders.
  • Fixed false Codex failure reminders caused by recoverable TUI background WARN lines, such as plugin/app-list/tool-suggestion 403 responses that do not stop the current turn.

版本历史

  • 修复 Codex session 监听稳定性问题,不再只依赖 task_complete 才能触发完成提醒。
  • 将 Codex session 事件处理改为串行,避免 JSONL 事件竞态导致漏提醒。
  • 修复使用 Superpowers / 多 Agent 并行时的 Codex 误提醒:子 Agent 的 session 完成事件现在会跨活跃 Codex session 协调,只有整轮对话真正结束后才发送一次完成提醒。
  • 增加多 session 父/子 Agent 完成流程的回归测试,防止子 session 的 task_complete 事件单独触发完成提醒。
  • 修复 Codex TUI 后台 WARN 日志导致的失败误提醒,例如插件同步、应用列表、工具建议等 403 响应不会影响当前轮次时不再发送失败提醒。

v2.4.0

Choose a tag to compare

@ZekerTop ZekerTop released this 08 Apr 09:16

Changelog

  • Desktop popup notifications on Windows no longer steal focus from the current input field. When the reminder appears while you are typing in apps such as WeChat, the caret should stay in the original textbox.
  • Improved the notification mode selector in the Hooks panel: the hard-to-read dropdown has been replaced with directly visible mode cards, while the underlying watch / hooks behavior remains unchanged.

版本历史

  • 修复 Windows 桌面弹窗通知会抢走当前输入焦点的问题。提醒出现时,如果你正在微信等应用的输入框里打字,光标应继续停留在原输入框内。
  • 优化 Hooks 面板里的“通知模式”选择控件:不再使用展开后不易辨认的下拉选项,改为直接展示的模式卡片,同时保留原有 watch / hooks 切换逻辑不变。

v2.3.0

Choose a tag to compare

@ZekerTop ZekerTop released this 03 Apr 11:27

Changelog

  • Global channel toggles now stay in sync with per-source channel switches: turning a global channel off or back on updates the same channel under every source.
  • .env defaults such as SOUND_ENABLED / NOTIFICATION_ENABLED no longer forcibly override global channel switches already saved in settings.json.
  • Desktop notification no longer plays the Windows system sound — the Toast notification is now forced silent so it no longer triggers the OS default chime.
  • Desktop notification fires in parallel with sound, so both arrive at the same time instead of sound lagging behind.
  • Watch mode no longer sends premature notifications mid-task; it now always waits the full quiet period before notifying.
  • Added a warning prompt when starting Watch mode without hooks installed, so users know accuracy may be reduced.
  • Hook install/uninstall now shows a loading indicator and immediately refreshes the config preview on completion.
  • Added "Open config file" button to each hook card and the preview section; clicking it opens the file in the system default editor.
  • On startup, the app now checks hook installation status automatically. If any hooks are missing in Hooks mode, a yellow banner appears at the top warning that notifications may not fire at the right time; the banner updates immediately after any install or uninstall action.

版本历史

  • 全局通道开关现在会和来源里的同名通道保持同步:无论关闭还是重新开启,都会同步更新所有来源下对应的通道状态。
  • .env 中的 SOUND_ENABLED / NOTIFICATION_ENABLED 现在只作为默认值使用,不再强行覆盖 settings.json 里已经保存的全局通道开关。
  • 修复桌面通知自带系统提示音的问题,Toast 通知现在强制静音,不再触发 Windows 默认提示音。
  • 桌面通知与声音通道并行触发,两者同时到达,不再有先后延迟。
  • 修复 Watch 模式在任务未完成时就提前发送通知的问题,现在始终等待完整的静默期后再提醒。
  • Watch 模式启动时,若检测到 hooks 未安装,会弹出提示,告知用户准确度可能受影响。
  • Hook 安装/卸载操作增加加载状态指示,完成后立即刷新配置预览。
  • Hooks 面板每个 hook 卡片及预览区新增「打开配置文件」按钮,点击直接用系统默认编辑器打开对应文件。
  • 应用启动时自动检查 hooks 安装状态,若 Hooks 模式下有未安装项,顶部显示黄色提示条,告知用户可能会出现提醒时机不够及时、与实际完成状态存在偏差的问题;安装/卸载操作后实时更新提示条状态。

v2.2.0

Choose a tag to compare

@ZekerTop ZekerTop released this 27 Mar 16:10
df768e6

Changelog

  • Added OpenCode as a fourth source with independent enable/threshold/channel settings.
  • Added hooks install --target opencode, which writes a global plugin under ~/.config/opencode/plugins/ and triggers reminders from session.idle / session.error.
  • OpenCode completion reminders now use event callbacks instead of watch-based guessing.
  • The Hooks panel, Test panel, and CLI now fully support OpenCode, including install, status, and reminder testing.
  • Tray behavior was refined with dedicated tray icons and more reliable hide-to-tray visibility and window restore behavior.

版本日志

  • 新增 OpenCode 第四个来源,可独立设置启用状态、阈值和通道开关。
  • 新增 hooks install --target opencode,会在 ~/.config/opencode/plugins/ 下写入全局插件,并通过 session.idle / session.error 触发提醒。
  • OpenCode 的完成提醒改为事件驱动,不再依赖 watch 去猜测完成时机。
  • Hooks 面板、测试面板和 CLI 已全面接入 OpenCode,可直接安装、查看状态和测试提醒。
  • 托盘体验补强:增加专用托盘图标,并修复部分场景下隐藏到托盘后图标不明显、窗口恢复不稳定的问题。

v2.1.0

Choose a tag to compare

@ZekerTop ZekerTop released this 22 Mar 02:13
  • 桌面通知弹窗从 HTA(mshta.exe)迁移到 PowerShell WPF,彻底消除弹窗前的白屏闪烁。
  • 新增 WPF 程序集预热机制,应用启动时后台预加载 PresentationFramework 等程序集,缩短首次弹窗延迟。
  • 桌面通知与 Webhook 等通道改为完全并行发送,移除原有的 headstart 延迟,弹窗响应更及时。
  • 桌面通知倒计时缩短至 3 秒,减少视觉干扰。
  • 弹窗 UI 优化:圆角卡片、阴影效果、细进度条动画,整体更简洁美观。