每当Codex CLI完成当前任务时,如何收到通知?
我让Codex CLI做一件需要较长时间的事,然后我去另一个终端做点别的事情。
但当Codex完成时,我想收到一个清晰的GUI通知,例如 notify-send,这样我就可以去查看它的工作。
如何获得这样的清晰通知?
一种做法是如果在Codex结束时通过钩子执行任意命令,钩子文档在:https://developers.openai.com/codex/hooks
在codex-cli 0.93.0左右的某个版本,它在停止后增加了一个终端铃声。更妙的是,我用tmux,所以被通知的标签会被高亮。
但通知仍然不够清晰:
- 铃声并不响亮,且我可能不在电脑前
- 如果我打开了好几个tmux标签,我不会立刻看到被高亮的标签
解决方案
我设法让钩子在codex-cli 0.130.0、Ubuntu 25.10上工作,具体如下:
~/.codex/config.toml
[features]
hooks = true
[[hooks.Stop]]
[[hooks.Stop.hooks]]
type = "command"
command = 'notify-send "done"'
截至v0.125.0测试时,情形是:
[features]
codex_hooks = true
我的最喜欢的“完成”命令是这样,带一个易于清除的zenity窗口(只需按一次回车)+一个“完成声音”:
[command = """bash -c '(spd-say "done"; zenity --info --text "$(</dev/stdin)" --width=400) &>/dev/null'"""](https://stackoverflow.com)
保持stdout为空是个好主意,因为Codex期望输出JSON;如果返回的JSON无效,可能会给出警告。
关于声音选择,请参考: https://askubuntu.com/questions/277215/how-to-make-a-sound-once-a-process-is-complete
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。