← Files Voice Notify for CodexARCHIVED FILE

README.zh-CN.md

9.78 KB · Oct 3, 2026 · 06:30 UTC

↓ Download file

# Voice Notify for Codex

[English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-CN.md) | [Русский](README.ru.md)

当 Codex 需要您关注或完成工作时,以私密的本地语音提醒您。它适合容易错过权限请求、
子代理变化、上下文压缩或任务完成提示的 macOS 和 Windows 用户。

### 使用

- [在 ChatGPT 中打开 Voice Notify for Codex](https://chatgpt.com/plugins/plugins_6a6600dd92148191a6dfe0c16eb85c83),或使用下方 GitHub 安装命令。
- 完成引导式设置,亲自检查 `/hooks`,然后选择声音、语言、生命周期事件或播放间隔。
  您可以随时测试、静音或恢复本地提示。

### 试一试

- `当 Codex 请求权限或完成时,用简体中文女声提醒我。`
- `测试本地 Stop 提示,然后将 Voice Notify 静音。`
- `Tell me aloud when Codex finishes, using the female Simplified Chinese voice.`

### 关键边界

- 运行时播放完全离线,不保留或发送任何对话内容。
- 仅处理 Codex 生命周期语音设置,不适用于通用 TTS 或旁白、语音转写、云通知、
  任意操作系统音频自动化或从截图提取操作项。
- 不会静默安装或绕过 hook 信任。用户必须亲自检查并信任插件自带的 hook;
  不会修改无关的通知设置。

Verified on 2026-08-29: OpenAI Platform shows **Published**; the latest remote catalog snapshot shows **GLOBAL/AVAILABLE** with discoverability **UNLISTED**. `UNLISTED` 并不表示已在公共目录中列出或可搜索。仓库包 0.1.7 是更新候选;此已验证状态仅描述现有远程条目,并不表示 0.1.7 已审核或发布。

这是一个独立插件,源代码采用 MIT 许可证,语音资源采用单独的许可证。它不隶属于
OpenAI,也未获 OpenAI 背书。

## 功能

插件会为以下事件播放本地 WAV:

- `SessionStart`
- `UserPromptSubmit`
- `PreToolUse`
- `PostToolUse`
- `PermissionRequest`
- `PreCompact`
- `PostCompact`
- `SubagentStart`
- `SubagentStop`
- `Stop`

版本 0.1.7 内含 100 WAV 文件,覆盖两种声音配置、五种语言与十种生命周期事件的
全部组合。本次补丁明确了 discovery 元数据,并在五种语言的 README 中提供等效的首屏
使用说明;语音资源和运行时行为与 0.1.6 相同。

在 macOS 上,插件使用系统自带的 `/bin/sh`、`plutil`、`afplay` 和 `osascript`;
在 Windows 上,则使用 PowerShell 和 `System.Media.SoundPlayer`。它不需要 Python
或 Xcode Command Line Tools。插件不包含网络代码或遥测,也不会存储提示词、消息、
工具输入或工具输出。播放不会阻塞任务,本地锁和短暂冷却时间可避免音频重叠。

### 交互式代码本体

本仓库的自包含交互式本体是使用
[Code Ontology Companion](https://github.com/battle-doll/code-ontology-companion)
从 Voice Notify `0.1.6` 生成的。Code Ontology Companion 可以将已获授权的 Java/Spring 或 Python 代码库逆向分析为注重隐私的本地知识图谱。

[在线打开 Voice Notify 代码本体](https://rawcdn.githack.com/battle-doll/codex-voice-notify/ce42d10e88fc490271bea2c123a611bfa3d12b13/codex-voice-notify-code-ontology.html),或[在 GitHub 上查看和下载源 HTML](https://github.com/battle-doll/codex-voice-notify/blob/code-ontology-showcase/codex-voice-notify-code-ontology.html)。

该快照分析了 6 个 Python 文件,包含 417 个节点和 769 条关系,解析警告为零,且每条关系都附有提取证据和源码位置范围。您可以搜索符号,检查调用者和依赖项,在 2D 结构视图与 3D 星座视图之间切换,并查看每条关系的规则、定性依据、运行时状态、源码位置范围和局限性。

这仍是静态分析证据,而非运行时证明。Voice Notify 在 Windows 和 macOS 上的实际钩子入口点分别是 PowerShell (`.ps1`) 和 POSIX shell (`.sh`),超出了此 Python 快照的适配器覆盖范围。此示例在获得明确的发布授权后公开。在线预览仅使用 raw.githack 作为 HTML 内容类型桥接;自包含工作台本身在运行时不依赖 CDN 或网络。

## 从 GitHub 安装

将仓库 URL 交给 Codex 并要求安装此插件,或者运行以下命令。

macOS:

```bash
codex plugin marketplace add battle-doll/codex-voice-notify --ref main
codex plugin add codex-voice-notify@codex-voice-notify
```

Windows PowerShell:

```powershell
codex.cmd plugin marketplace add battle-doll/codex-voice-notify --ref main
codex.cmd plugin add codex-voice-notify@codex-voice-notify
```

## 首次设置

安装后,选择插件的 **Finish first-time setup** 提示,或直接用自然语言向 Codex
提出请求。

> 使用韩语女声完成 Voice Notify 的首次设置。需要时检查并更新 Codex CLI。

此启动提示可以安全地重复执行。目前 Codex 插件界面不会在首次使用后有条件地隐藏
提示,因此它会保留下来,便于恢复或重新设置。

引导式设置会执行以下操作:

1. 检查 Codex CLI 版本是否支持 `/hooks`;仅当设置提示明确授权时,才会按需更新
   npm 或 Homebrew 安装。
2. 保存所选声音和语言。
3. 试播本地 `Stop` 通知。
4. 打开一个新的终端窗口,并在其中启动已验证的 Codex CLI,而不只是显示
   `/hooks` 输入说明。

插件自带的设置脚本只报告兼容性,不会自行修改主机安装。Codex 会先检查 CLI 来自
npm、Homebrew cask 还是其他位置,再执行用户已经授权的更新。

在新打开的 Codex CLI 终端中输入 `/hooks`,检查插件自带的命令并明确选择信任。
然后彻底退出并重新启动 Codex,再测试实际的生命周期事件。钩子信任设置会被保留,
但已经运行的 Codex 进程可能要到下次启动时才会启用新信任的插件钩子。Codex 不会在
安装时自动信任第三方钩子,本插件也绝不会绕过该审核步骤。

如果正在运行的 CLI 可执行文件无法被替换而导致更新失败,请退出该 CLI,在另一终端中
运行显示的更新命令,然后重新开始设置。

## 配置

您可以随时使用自然语言提出请求,例如:

- “使用英语女声。”
- “把 Voice Notify 改为日语男声。”
- “使用俄语女声。”
- “把 Voice Notify 改为简体中文男声。”
- “改为韩语女声。”
- “将 Voice Notify 静音。”
- “测试 Stop 通知。”

Codex 会将 `female` 或 `male` 以及韩语/韩文 (`ko`)、日语 (`ja`)、英语 (`en`)、
俄语 (`ru`) 或简体中文 (`zh-CN`) 映射到插件自带的设置命令。插件仅内含
`zh-CN` 这一种中文变体,因此未指定变体的“中文”请求会默认映射到 `zh-CN`
(简体中文、中国大陆普通话)。您也可以从克隆的仓库中手动运行以下命令。

macOS:

```bash
/bin/sh scripts/voice_notify_config.sh setup --voice female --language ko --open-hooks
/bin/sh scripts/voice_notify_config.sh show
/bin/sh scripts/voice_notify_config.sh set --voice female --language ko
/bin/sh scripts/voice_notify_config.sh set --voice male --language en
/bin/sh scripts/voice_notify_config.sh set --voice female --language ru
/bin/sh scripts/voice_notify_config.sh set --voice male --language zh-CN
/bin/sh scripts/voice_notify_config.sh test --event Stop
/bin/sh scripts/voice_notify_config.sh mute
```

Windows:

```powershell
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\voice_notify_config.ps1 setup -Voice female -Language ko -OpenHooks
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\voice_notify_config.ps1 show
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\voice_notify_config.ps1 set -Voice female -Language ko
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\voice_notify_config.ps1 set -Voice male -Language ru
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\voice_notify_config.ps1 set -Voice female -Language zh-CN
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\voice_notify_config.ps1 test -Event Stop
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\voice_notify_config.ps1 mute
```

默认值为 `female`、`ko`、450 毫秒最短播放间隔,并启用八种事件。为避免每次工具
调用都产生过多通知,`PreToolUse` 和 `PostToolUse` 保持可用但默认关闭。
`PermissionRequest` 只会在 Codex 实际请求权限时播放。

## 故障排除

- 如果无法识别 `/hooks`,请将 Codex CLI 更新至 `0.145.0` 或更高版本,然后重新
  开始设置。
- 如果 PowerShell 阻止 `codex.ps1` 或 `npm.ps1`,请使用 `codex.cmd` 或
  `npm.cmd`。插件自带 Windows 设置命令中的 `-ExecutionPolicy Bypass` 仅适用于
  当前进程,不会更改系统执行策略。
- 如果测试声音可以播放,但生命周期通知没有出现,请在 `/hooks` 中检查并信任该钩子,
  然后彻底重新启动 Codex。

## 兼容性

版本 0.1.7 支持 macOS 和 Windows,并使用系统自带的音频与脚本组件。macOS 不需要
Python 或 Xcode Command Line Tools。引导式钩子设置需要 Codex CLI `0.145.0`
或更高版本。暂不支持 Linux。

## 许可证

源代码采用 MIT 许可证。`assets/audio/` 下的所有 WAV 文件均不属于 MIT 许可证
范围。根据 [ASSET_LICENSE.md](ASSET_LICENSE.md) 中的有限授权,这些文件只能
保持原样,只能作为未经修改的免费 Voice Notify for Codex 副本的一部分,并且只能
用于个人、非商业通知播放;仅可在这些条件下使用、复制和重新分发。

[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) 仅记录生成来源。大多数男声通知
由 Fish Audio 生成,两个韩语子代理文件则使用 Qwen Base 重新生成,以匹配当前
文案。这些来源信息不会改变语音资源的使用条款。

SHA-256: 10477480950140aa96fa51972bd1752004904a0ad97b6310ebd81cd63c237428