【Mac】VS Code版Codexの作業完了時に通知音を鳴らす

VS Code の Codex に少し長めの作業を任せていると、完了したことに気づかず別の作業を続けてしまうことがあります。

Codex CLI には notify の設定がありますが、VS Code 拡張で実行した Codex の完了通知には使えませんでした。
そこで、VS Code版Codexのフック機能を使い、Stop イベントで通知音を鳴らすようにしました。

設定

~/.codex/config.toml に以下を追加します。

# Codexのメイン作業ターンが完了・停止したときに音を鳴らす
[[hooks.Stop]]

[[hooks.Stop.hooks]]
type = "command"
command = "/usr/bin/afplay /System/Library/Sounds/Glass.aiff"
timeout = 10
statusMessage = "完了音を再生中"

macOS では afplay を使うと、標準のシステム音を再生できます。Glass.aiff の部分は、好みの音声ファイルに変えても大丈夫です。

すでに notify を設定している場合は、Codex CLI で二重に鳴るのを避けるため、削除しておくのがおすすめです。

# 削除しておく
notify = ["/usr/bin/afplay", "/System/Library/Sounds/Glass.aiff"]

有効化手順

設定を保存しただけでは、開いているCodexにフックが反映されません。まずVS Codeのウィンドウを再読み込みします。

1. VS Codeを再読み込みする

⌘⇧P の3つのキーを押してコマンドパレットを開き、Developer: Reload Window を実行します。

2. Codexのフック設定を開く

再読み込み後、Codexパネル右上の歯車アイコンから「Codex の設定」を選びます。設定画面の左メニューにある「フック」を開くと、「ユーザー設定」に追加したフックが表示されます。

3. Stopフックを信頼して有効にする

「ユーザー設定」を選択し、停止 のフックを開きます。
コマンドが /usr/bin/afplay /System/Library/Sounds/Glass.aiff になっていることと、右側のスイッチがオンになっていることを確認します。

フックは外部コマンドを実行できる機能なので、初回は内容を確認したうえで明示的に信頼(許可)します。

動作

これで Codex の作業ターンが終了すると、Glass の音が鳴るようになります。

まとめ

VS Code版Codexで完了通知が欲しい場合は、~/.codex/config.tomlStop フックから afplay を呼び出せば音を鳴らすことが可能です。

参考

コメント

タイトルとURLをコピーしました