company-desktop/company-desktop-computer/feat-notify-on-decision AGit
main
背景:用户可能不在终端前面(远程连过来、或者走开了),agent 把问题打在终端里就停住, 人根本不知道,等于空等。
新增:
验证:本机跑通三种调用(ASCII -Message、中文 -MessageFile、加 -NoBeep), 中文在决策日志里显示正常;toast 通过 PowerShell appId 注册,WinRT 接口检测为可用。 仅新增工具与文档,未触碰任何编译产物与源码。
背景:用户可能不在终端前面(远程连过来、或者走开了),agent 把问题打在终端里就停住, 人根本不知道,等于空等。 新增: - tools/notify_decision.ps1 - Windows toast(WinRT),失败则回退到模态弹窗(120 秒自动关),并带提示音 - 追加写入 %USERPROFILE%\.pi\agent\decisions\pending.md,漏看 toast 也不丢问题 - 可选 webhook:-Url 或环境变量 PI_NOTIFY_WEBHOOK; 企业微信/钉钉用 {"msgtype":"text",...},URL 含 feishu/lark 时自动换飞书格式 - 中文必须走 -MessageFile(UTF-8 读取),避免命令行参数被控制台代码页弄乱 - 任何失败都 exit 0,通知出问题不能反过来中断 agent - .pi/skills/notify-decision/SKILL.md:什么时候该通知、消息里必须写清"要决定什么 / 选项与代价 / 我的建议与默认动作"三件事、通道配置方式 - AGENTS.md:加一小节指向该 skill,并在仓库内 skill 表格里登记 验证:本机跑通三种调用(ASCII -Message、中文 -MessageFile、加 -NoBeep), 中文在决策日志里显示正常;toast 通过 PowerShell appId 注册,WinRT 接口检测为可用。 仅新增工具与文档,未触碰任何编译产物与源码。
接微信/钉钉时 URL 是密钥,不能进仓库,也不适合每次都写在命令行里。 - webhook 取值顺序:-Url 参数 > 环境变量 PI_NOTIFY_WEBHOOK > %USERPROFILE%\.pi\agent\notify.json 的 webhook 字段 > notify_webhook.txt 纯文本 (两个备用文件都在仓库之外,不会被提交) - 新增 -Probe:只做一次连通性自检并打印结果(URL 打码,只显示前 32 位与后 8 位) - 修正一个误判:企业微信/钉钉出错时仍返回 HTTP 200 + errcode, 原来只判断 HTTP 成功会把"密钥无效"当成发送成功。 现在解析响应体,errcode/code 非 0 一律视为失败并把原因带出来 (实测假 key 返回 errcode=93000 invalid webhook url) 验证:-Probe 在"未配置"和"配置了假 key"两种情况下都给出正确结论, 未做真实推送(还缺用户的企业微信机器人地址)。
No dependencies set.
The note is not visible to the blocked user.
背景:用户可能不在终端前面(远程连过来、或者走开了),agent 把问题打在终端里就停住,
人根本不知道,等于空等。
新增:
企业微信/钉钉用 {"msgtype":"text",...},URL 含 feishu/lark 时自动换飞书格式
选项与代价 / 我的建议与默认动作"三件事、通道配置方式
验证:本机跑通三种调用(ASCII -Message、中文 -MessageFile、加 -NoBeep),
中文在决策日志里显示正常;toast 通过 PowerShell appId 注册,WinRT 接口检测为可用。
仅新增工具与文档,未触碰任何编译产物与源码。
背景:用户可能不在终端前面(远程连过来、或者走开了),agent 把问题打在终端里就停住, 人根本不知道,等于空等。 新增: - tools/notify_decision.ps1 - Windows toast(WinRT),失败则回退到模态弹窗(120 秒自动关),并带提示音 - 追加写入 %USERPROFILE%\.pi\agent\decisions\pending.md,漏看 toast 也不丢问题 - 可选 webhook:-Url 或环境变量 PI_NOTIFY_WEBHOOK; 企业微信/钉钉用 {"msgtype":"text",...},URL 含 feishu/lark 时自动换飞书格式 - 中文必须走 -MessageFile(UTF-8 读取),避免命令行参数被控制台代码页弄乱 - 任何失败都 exit 0,通知出问题不能反过来中断 agent - .pi/skills/notify-decision/SKILL.md:什么时候该通知、消息里必须写清"要决定什么 / 选项与代价 / 我的建议与默认动作"三件事、通道配置方式 - AGENTS.md:加一小节指向该 skill,并在仓库内 skill 表格里登记 验证:本机跑通三种调用(ASCII -Message、中文 -MessageFile、加 -NoBeep), 中文在决策日志里显示正常;toast 通过 PowerShell appId 注册,WinRT 接口检测为可用。 仅新增工具与文档,未触碰任何编译产物与源码。