关于 pronounce
pronounce 是一个命令行 MCP 服务,收录 1,903 条开发者常用术语的发音,多数条目附有可引用的来源。适合工程师和需要朗读技术名词的 AI 助手,其特点是用语音而非音标回答发音问题。
主要功能
- 01收录 1,903 条开发术语发音
- 02条目带有置信度标签
- 03多数条目附可引用来源
- 04支持多种发音并播放备选读法
- 05依赖系统 TTS,无需 npm 运行时
适用场景
- 01查询 kubectl、nginx 等术语的读法
- 02让 AI 助手以语音回答发音问题
- 03在文档拉取请求中生成发音词表
MCP 相关
该项目是一个 MCP 服务,向支持 MCP 的客户端提供发音查询能力,让 AI 助手以音频方式回答术语读法。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| word | string | 是 |
详细介绍
🔊 say-it · Pronounce
别再把它念成“kub-cuttle”了。一条 Bash 命令就能读出 1,903 个开发者行话名称的发音——大多数都附有引用来源。
🌐 pronounce.renlab.ai · 🇨🇳 中文 · 📖 浏览 · 🎯 测验 · 🎤 语音搜索 · 🔌 MCP 服务 · ⚙️ GitHub Action

▶ 观看 47 秒宣传片(含语音) · 🎯 试试测验 · 🎤 语音搜索
🚀 30 秒上手
git clone https://github.com/anzy-renlab-ai/pronounce.git
cd pronounce && ./install.sh
say-it kubectl

就这么简单。现在试试 say-it GIF、say-it nginx、say-it Pydantic、say-it --why JSON,或者运行 say-it quiz 挑战 10 道题。Linux 用户:安装 espeak-ng(sudo apt install espeak-ng),CLI 就能直接使用。Windows:可在 WSL 或 git-bash + PowerShell 中使用同一 CLI。也可以跳过安装,直接在浏览器中访问 pronounce.renlab.ai。
⭐ 如果
say-it kubectl帮你避免了一次站会上的尴尬时刻——为仓库点个星。这会鼓励更多开发者贡献他们常读错的项目名称。
🏆 开发者发音排行榜
1,903 个词条——其中 1,283 个附有可引用来源——108 个由创建者亲自定音,**175 个仍有待社区争论。**其中最有名的几个:
✅ 已尘埃落定——创作者亲自定调
| 单词 | 正确读法是…… | ……而不是 | 定调者 |
|---|---|---|---|
| GIF | “jif” | “ghif”(硬 G 的发音) | Steve Wilhite(创作者),《纽约时报》2013 年 |
| nginx | “engine X” | “n-jinx” | NGINX 官方 |
| YAML | “yam-ul” | “yammel” | yaml.org |
| GNU | “guh-NEW”(硬 g) | “noo” | GNU Project |
| LaTeX | “lay-tek” | “lay-teks” | Lamport / LaTeX project |
| TOML | 与 “knoll” 押韵 | “tom-el” | Tom Preston-Werner(创作者) |
| Tcl | “tickle” | “T-C-L” | John Ousterhout(创作者) |
| awk | “auk”(像这种鸟的名字) | “A-W-K” | Aho / Weinberger / Kernighan |
⚔️ 仍有争议——两种读法都在广泛使用
| 单词 | 阵营 A | 阵营 B |
|---|---|---|
| kubectl | “koob-control” | “cube-cuddle” |
| SQL | “sequel” | “S-Q-L” |
| JSON | “JAY-son” | “JEE-son” |
| GUI | “gooey” | “G-U-I” |
| JWT | “jot”(依据 RFC 7519) | “J-W-T” |
每个单元格都有 IPA 和音频;其中 1,283 个还附有可引用来源。浏览全部 1,903 条词目 →
不同意其中某个读法?这正是重点——提交 PR,附上你的读法和来源。争论本身就是这份数据集。
你实际会得到什么
- 1,903 条词目——其中 1,283 条附有可引用来源。 每条都标注置信度(
creator-clarified/community-consensus/contested),并在有来源时附上可引用的 URL(我们宁可留空,也不编造来源)。Wilhite 在 2013 年 Webby Awards 上说 GIF 读作 “jif”。Crockford 说 JSON 读作 “JAY-son”(RailsConf 2009)。RFC 7519 说 JWT 读作 “jot”。词典都注明了这些来源。 - 多读法音频。 对于确实存在争议的词——GIF、SQL、GUI、char、regex——CLI 会在主要读法后接上其他读法,并用语音说出 “or:”,让你听见争论,而不必盯着终端看。熟悉之后,可用
--solo跳过后续读法。 - 一个 Bash CLI,无需 npm 运行时。 无需 sudo、框架初始化,也没有意外。它会检测 macOS 的
say、Linux 的espeak-ng/espeak,或 Windows PowerShell 的System.Speech。仓库还附带一个 Claude Code 技能和一个 MCP 服务,让 AI 回答“X 怎么读?”时提供音频,而不是猜测发音。 - 适用于文档的 GitHub Action。 扫描拉取请求所更改的 Markdown,并在作业摘要中生成附有来源的发音词汇表——无需 API 密钥、安装依赖或发起网络请求。
- 网站提供规范音频。 网站会优先播放每个已提交的规范 MP3;只有播放失败时,才会回退到 Web Speech。
$ say-it --why JSON
word JSON
ipa /ˈdʒeɪsən/
respelling_us jay son
confidence contested
source Wikipedia § Pronunciation
url https://en.wikipedia.org/wiki/JSON#Pronunciation
为什么不直接用 Google 搜索?
因为 Google 会给你 47 条 Reddit 争论,以及一个需要取消静音才能听的 YouTube 视频。IPA 给你的是 /ˈkuːb kənˌtroʊl/——一种参考,而不是老师。
你不需要音标转写。你需要听见这个词。听两遍,也许三遍。就这么简单。
say-it 提供由社区维护的词典,收录工程师实际使用的读法,涵盖那些让所有人都容易读错的名称;它还会将预期读法的拼写输入操作系统的文本转语音引擎,因此 kubectl 会读成 koob-control,而不是电脑根据字母猜出的读法。
著名时刻
有些发音不是见仁见智——创作者已经给出了定论。词典会列出每条依据:
| 单词 | 读法 | 来源 |
|---|---|---|
GIF | “jif”(创作者亲口确认) | Steve Wilhite,2013 年 Webby Awards |
JSON | “jay-son” | Douglas Crockford,RailsConf 2009 |
GNU | “g-noo”(硬 G,单音节) | GNU Project 官方说明 |
Linux | “LIN-ux”(短 i,弱读音) | Linus Torvalds 本人 |
LaTeX | “lay-tek”(或 “lah-tek”) | Leslie Lamport,官方说明 |
Django | “JANG-go”(D 不发音) | Django 常见问题 |
Vue | “view”(单音节) | Evan You,Vue 文档 |
Vite | “veet”(法语中的 quick) | Vite 文档 |
Knative | “KAY-native”(K 发音) | Knative 文档 |
etcd | “et-cee-dee”(et-cetera-distributed) | etcd 常见问题 |
当条目包含 source_url 时,运行 say-it --why <word> 可查看引用;没有来源的条目会留空,而不会编造 URL。
安装
brew install anzy-renlab-ai/tap/say-it # Homebrew on macOS
或者使用上方的“30 秒快速体验”代码块。./install.sh 会安装:
- CLI 到
~/.local/bin/say-it, - 发音词典到
~/.local/share/say-it/pronunciations.tsv, - 如果你使用 Claude Code,还会安装
pronounce-word技能到~/.claude/skills/pronounce-word/,这样你向 AI 提问“X 怎么读?”时,它会用音频而不是 IPA 作答, - 如果 Codex CLI 和 Kiro 对应的目录存在,也会将同一技能安装到
~/.agents/skills/和~/.kiro/skills/——它采用跨工具的 Agent Skills 标准。
确保 ~/.local/bin 位于 $PATH 中。Linux 也支持——安装 espeak-ng(sudo apt install espeak-ng / brew install espeak-ng)。Windows:使用 WSL 或 git-bash + PowerShell。也可以完全跳过安装,直接使用浏览器版本 pronounce.renlab.ai。
用法
say-it kubectl # primary × 3, then "or: <alt>" for each alternate
say-it --solo kubectl # primary only — silence the "or:" tail
say-it --alt GIF # focus on the first alternate
say-it --alt 2 GUI # focus on the Nth alternate (1-indexed)
say-it --all SQL # primary AND every alternate, each repeated
say-it --no-dict kubectl # bypass the dictionary entirely
say-it --why JSON # show IPA, source URL, category, confidence
say-it list # every word in the dictionary
say-it search redis # grep the dictionary (case-insensitive)
say-it -n 5 Pydantic # 5 repetitions instead of 3
say-it -r 110 Knative # slower (110 wpm; default is 130)
say-it -o /tmp/word.aiff Postgres # save to file instead of playing
say-it --list # all macOS voices
macOS 默认语音为 Samantha(通用美式英语);使用 -v <voice> 可选择其他 macOS 语音。Linux 和 Windows 使用各自检测到的后端提供的英语语音。词典仅收录通用美式英语发音,这是有意为之。
Claude Code 集成
使用 GitHub CLI 直接安装跨工具 Agent Skill:
gh skill install anzy-renlab-ai/pronounce pronounce-word
You: kubectl 怎么读?
Claude: 🔊 (plays "koob-control" three times)
/ˈkuːb kənˌtroʊl/ — "KOOB-control". Kelsey Hightower says it
this way (KubeCon talk). "Cube-cuddle" is an alternate —
try `say-it --alt kubectl` to hear it.
安装后,pronounce-word 技能会在以下情况下自动触发:
X 怎么读/X 怎么发音/读一下 Xhow do you pronounce X/pronounce X/how do you say X
你的 AI 会用声音作答,而不只是猜测音标。技能文件:skills/pronounce-word/SKILL.md。
不是用 Claude? 同一技能也可安装到 Codex CLI(codex plugin marketplace add anzy-renlab-ai/pronounce)和 Kiro(~/.kiro/skills/);MCP 服务则支持 Claude Desktop、Cursor、Continue、Zed、Cline 等工具——完整支持列表见 integrations/。
GitHub Action — 文档发音指南
为每个文档拉取请求添加发音词汇表:
- uses: actions/[email protected]
with:
fetch-depth: 0
- id: pronounce
uses: anzy-renlab-ai/[email protected]
Pronounce Docs 会扫描有更改的 Markdown/MDX,并生成一个表格,其中包含每个匹配词条、其 IPA、通俗易懂的英语拼读、音频页面,以及可用时的创建者或官方来源。它基于仓库快照在本地运行:无需令牌、API 密钥、遥测、安装软件包或网络请求。请参阅完整的设置、输入和输出说明。
VS Code 扩展

将鼠标悬停在任意文件中的任何技术词汇上,即可查看 IPA 并收听发音。使用与 CLI 相同的 1,903 词条词典,在构建时打包为 JSON(运行时解析成本为零)。
# Cursor / VSCodium / Zed / Gitpod / Theia / code-server (Open VSX)
code --install-extension sayit.pronounce
# or the listing: https://open-vsx.org/extension/sayit/pronounce
现已上线 Microsoft Marketplace:在 VS Code 中运行 ext install sayit.pronounce。请参阅 Marketplace 页面。
- 将鼠标悬停在
kubectl、YAML、Ghostty、wagmi等词汇上 → 显示包含 IPA、🔊 播放和 ★ 收藏链接的工具提示。 - ⌘⇧' — 朗读所选内容。
- 状态栏中的
🔊 sayit— 点击即可朗读当前所选内容。 - 欢迎引导 — 首次安装时提供 4 步入门引导。
Pronounce: Search dictionary…— 模糊搜索全部 1,903 个词条。
源代码:integrations/vscode/。自 v0.3 起支持跨平台 — macOS 使用 say,Linux 使用 espeak-ng,Windows 使用 PowerShell。
Chrome / Edge / Brave 扩展
点击任意网页上的技术词汇 → 弹出窗口显示 IPA 和音频。使用相同的 1,903 词条词典。扩展通过 Web Speech 朗读;pronounce.renlab.ai 会优先播放已提交的 MP3 语料,仅在后备情况下使用 Web Speech。目前仅支持手动加载(尚未上架 Chrome Web Store)。
下载 pronounce-chrome-0.3.1.zip → 解压 → 打开 chrome://extensions/ → 开启开发者模式 → 加载已解压的扩展程序。
源代码:integrations/chrome/。
词典的工作原理
data/pronunciations.tsv 是唯一事实来源 — 以制表符分隔,包含 1,903 个词条,涵盖:
- 云 / DevOps:
kubectl、nginx、Kubernetes、helm、Istio、Envoy、Prometheus、Grafana、Terraform、Argo、Knative、etcd、containerd、runc、Podman,…… - 语言 / 框架:
Django、Vue、Vite、Pydantic、Bun、Deno、Hugo、Hono、Caddy、Svelte、Astro、Pinia,…… - 数据库:
PostgreSQL、Postgres、SQLite、MySQL、MongoDB、Cassandra、Redis、Ceph、ScyllaDB、ClickHouse、DuckDB,…… - 计算机科学术语 / 首字母缩略词:
GIF、JSON、SQL、GUI、GNU、char、regex、sudo、tmux、chmod、WYSIWYG、ASCII、enum、NaN、SaaS、PaaS,…… - 发行版 / 工具:
Linux、Debian、Ubuntu、Arch、Nix、LaTeX、TeX、emacs、zsh,……
每个词条有 10 列:word | ipa | respelling_us | alt_ipa | alt_respelling_us | source_url | source_label | category | confidence | notes。respelling_us 是类似通俗英语的拼读文本,会传递给检测到的操作系统 TTS 后端,从而按预期读法发音,而不是让引擎根据项目名称自行猜测。
本地覆盖:放置 ~/.config/say-it/pronunciations.local.tsv,其中的词条将优先生效。
当前可用功能
- ✅ macOS — 内置
say。 - ✅ Linux —
espeak-ng(优先)或espeak。 - ✅ Windows — 在 Git Bash/MSYS2/Cygwin 下,通过同一个 Bash CLI 使用 PowerShell
System.Speech。 - ✅ 共 1,903 条词条;其中 1,283 条附有可引用来源,其余标注了可信度,不会捏造引用。
- ✅ 可听辨多种读法 — 有争议的词会依次读出不同读法,并加上“or:”。
- ✅
--alt [N]、--all、--solo、--why、--json、--md、--no-dict、list、search、quiz、repl、stream、doctor、export、benchmark、badge、cheatsheet。 - ✅ Claude Code skill + MCP 服务,用于向 AI 提问发音问题。
- ✅ GitHub Action — 为 Markdown 拉取请求生成附有来源的发音词汇表。
- ✅ 浏览器 PWA — 可安装、支持离线、即时搜索、语音麦克风搜索和互动测验。
- ✅ 编辑器集成 — Raycast、Alfred、VS Code、Cursor、Codex、Kiro、Continue。
- ✅ 🌐 在线网站 — pronounce.renlab.ai(可浏览 1,903 条含音频的词条;其中 1,283 条附有来源)+ /zh(中文首页)。
即将推出
架构详情请参阅 DESIGN.md。
- ☁️ 云端 TTS(可选启用 ElevenLabs / OpenAI),用于处理原生 TTS 仍会读错的名称。
- 📚 Anki 导出,用于词汇练习。
- 🌗 v2 首页浅色主题(已在单词页/SEO 页面上线)。
参与贡献
我们最需要以下两方面的帮助:
- 发音词条。 提交 PR,在
data/pronunciations.tsv中添加一行。必填列:word、ipa、respelling_us。强烈建议提供:source_url(创作者访谈、会议演讲、官方 FAQ——任何可核实的来源都可以)。欢迎添加有争议的读法;请将另一种读法放在alt_*列中,我们会接入--alt。 - 后端质量。 macOS(
say)是黄金标准;Linux(espeak-ng)和 Windows(PowerShell)后端已提供,但仅尽力支持——欢迎帮助我们缩小差距。请参阅DESIGN.md§Backends。
保持精简。尽可能不依赖外部依赖项。默认设置要有明确取舍(3 次重复、GenAm、Samantha 音色)。
⭐ 支持 — 从点亮星标开始
词典免费,采用 MIT 许可证。你能做的最有影响力的一件事,就是为仓库点亮星标——这能吸引更多贡献者、更多 PR,以及更多经创作者确认的词条。
- ⭐ 在 GitHub 上点亮星标 → — 一键完成,无需注册,效果最大。
如果它确实帮你减轻了站会发言的压力,也可以选择:
- ☕ 在 Ko-fi 请杯咖啡 — 每杯咖啡都能支持新增一条词条。
- 💚 在 GitHub 上赞助 — 定期赞助档位(待 Sponsors 审批)。
捐款将用于支付托管费用(Vercel/Cloudflare/Open VSX)、域名续费、宣传视频的 MiniMax 旁白额度,以及为新词条寻找创作者引用来源所需的时间。
贡献者
每条词条、每次来源补充和每次 skill 修复都很重要。提交 PR,让你的头像也出现在这里。
许可证
MIT — 请参阅 LICENSE。
IPA 是参考。音频是老师。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。