news 2026/10/31 6:21:41

iFlow CLI实战:通过hooks增加提醒(Mac版)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
iFlow CLI实战:通过hooks增加提醒(Mac版)

作者:@JAX

背景需求

使用iFlow CLI 时当我们下发一个任务或对话时在等待响应时,可能抽空做点别的事情。如果忘记了查看结果,那可能错过很久才想起来。

此时我希望让iFlow给我一个反馈,这个功能iFlow提供了hooks。

我的电脑时macOS系统,所以一下基本都是按照我自己环境进行的调整,其他他做系统类似适当调整即可。

实现效果

一种结束完成通知,另一种权限等提示的通知。

准备

我们需要在用户的iflow目录下调整settings.json。

在我的操作系统下这个路径是:~/.iflow/settings。

编辑内容:

"hooks": { "Stop": [ { "hooks": [ { "type": "command", "command": "bash ~/.iflow/hooks/stop.sh" } ] } ], "Notification": [ { "matcher": "*", "hooks": [ { "type": "command", "command": "bash ~/.iflow/hooks/notification.sh 'default'" } ] } ] }

这里看到,我们通过调用两个脚本来进行下一步操作。脚本的位置在~/.iflow/hooks/。

脚本文件

stop.sh

#!/bin/bash # Stop hook脚本 - 任务完成通知 # 参数1: 标题 # 参数2: 消息内容 TITLE="iFlow 通知" MESSAGE="✅ 完成/结束" # 显示通知(使用 osascript 作为备用方案) osascript -e "display notification \"$MESSAGE\" with title \"$TITLE\" subtitle \"请查看 iflow\"" 2>/dev/null || \ # terminal-notifier \ # -message "$MESSAGE" \ # -title "$TITLE" \ # -subtitle "请查看 iflow" \ # -sender dev.zed.Zed # 播放完成提示音 SOUND_FILE="/Users/xyz/Music/bell/mixkit-happy-bell-alert-601.wav" if [ -f "$SOUND_FILE" ]; then afplay "$SOUND_FILE" fi exit 0

音频文件我是在https://mixkit.co网站下载的,你可以用系统声音或者自己寻找喜欢的音频文件。

另外如果安装terminal-notifier可以加入icon更好看些。这我先屏蔽了。 先用最简单的方式。

notification.sh

#!/bin/bash # Notification hook脚本 - 根据操作类型显示相应的提醒 # 参数1: 动作类型(当前仅有default) ACTION_TYPE="$1" case "$ACTION_TYPE" in "permission") log_message "INFO" "Permission type detected - preparing permission notification" TITLE="iFlow 权限确认" MESSAGE="🔐 请确认操作权限" SUBTITLE="iflow 权限提醒 - 请确认执行操作" ;; *) log_message "INFO" "Default action type detected - using generic notification" TITLE="iFlow 操作提醒" MESSAGE="👀 正在执行操作" SUBTITLE="iflow 提醒 - 请查看" ;; esacr/> # 通知 osascript -e "display notification \"$MESSAGE\" with title \"$TITLE\" subtitle \"$SUBTITLE\"" 2>&1r/> # 播放提示音(如果音频文件存在) SOUND_FILE="/Users/xyz/Music/bell/mixkit-flute-mobile-phone-notification-alert-2316.wav" if [ -f "$SOUND_FILE" ]; then afplay "$SOUND_FILE" fi exit 0

此通知与完成类似,开始想根据匹配关键字加一个权限还是默认通知的判断,但是在settings.json 实现失败,暂且忽略。全走TITLE=“iFlow 操作提醒”的通知了。

看官方文档例子:

"Notification": [ { "matcher": ".*permission.*", "hooks": [ { "type": "command", "command": "echo 'Permission notification logged' >> ~/.iflow/permission.log" } ] } ]

如果这个可以,在settings的Notification加入在 * 的前面理论可行。然后调用脚本 传个permission。 但是实测没抓到诶,暂时放弃。

当前脚本的通知结果如下(文字略有调整):

以上就是简单版本的通知实现过程。

默认yolo模式,仅需要关注 stop-hook就好啦

哈哈,如果macOS,还需要注意专注模式的配置。 避免被拦截。

欢迎大家体验~

原文链接:https://vibex.iflow.cn/t/topic/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/31 8:05:38

网络安全为何是数字时代的第一道防线?深入解读其不可替代的核心价值

前言 什么是网络安全? 网络安全是指保护计算机网络、系统和数据免受未经授权的访问、损害、破坏、修改或泄露的技术和实践。网络安全旨在确保网络的保密性、完整性和可用性,以防止未经授权的访问、恶意软件、数据泄露、网络攻击和其他安全威胁对网络和其…

作者头像 李华
网站建设 2026/10/30 18:10:11

【干货收藏】AI智能体(Agent)完全指南:从零开始掌握下一代AI范式

AI智能体(Agent)是具有自主性、目标导向的AI系统,与传统被动响应的AI不同。它由规划、记忆、工具调用、行动和反思五大核心模块构成,能主动完成复杂任务而非仅回答问题。当前应用场景包括个人助理、企业智能体和行业专用Agent,面临幻觉、成本…

作者头像 李华
网站建设 2026/10/30 7:25:04

【PHP性能终极优化指南】:深入剖析8.4新JIT优化带来的速度飞跃

第一章:PHP 8.4性能飞跃的全景透视 PHP 8.4 的发布标志着语言在执行效率、内存管理与开发者体验上的又一次重大突破。这一版本引入了多项底层优化和新特性,使得应用运行速度显著提升,尤其在高并发场景下表现出更强的稳定性与响应能力。 JIT …

作者头像 李华
网站建设 2026/10/31 5:36:53

麦橘超然vs Midjourney:开源离线VS云端生成对比

麦橘超然vs Midjourney:开源离线VS云端生成对比 1. 引言:本地部署与云端服务的两条路径 AI图像生成技术已经从实验室走向大众创作工具,如今用户面临一个关键选择:是使用像Midjourney这样的云端订阅制服务,还是转向如…

作者头像 李华
网站建设 2026/10/28 16:21:48

Unity中多个脚本的Awake、Start执行顺序是如何排序的?

第一章:Unity中脚本生命周期函数的执行顺序解析 在Unity引擎中,脚本的生命周期函数定义了代码在特定时刻自动调用的顺序。理解这些函数的执行流程对于控制游戏对象的行为、资源加载与状态管理至关重要。 常见生命周期函数及其调用顺序 Unity脚本从创建到…

作者头像 李华
网站建设 2026/10/30 18:09:36

为什么你的Laravel 12路由总是404:深入底层机制的6个排查步骤

第一章:Laravel 12路由机制的核心原理 Laravel 12 的路由系统建立在高度优化的编译式路由注册与匹配引擎之上,摒弃了传统正则逐条匹配的低效方式,转而采用基于 HTTP 方法与 URI 模式的预编译路由表(Compiled Route Collection&…

作者头像 李华