AI 编程助手太安静?用 Endless Toil 听出代码中的坑
当 AI 编程助手默默吞下你的烂代码时,Endless Toil 选择让它”哀嚎”出来。
背景
AI 编程助手(Codex、Claude Code 等)正在改变我们的开发方式。但有一个问题很少有人讨论:AI 在阅读你的代码时,到底经历了什么?
它不会抱怨,不会叹气,更不会翻白眼。它只是默默接受一切,然后继续干活。这听起来很专业,但从开发者体验的角度来看,这意味着我们失去了一个重要的信号——代码质量反馈。
Andrew Vos 开发的 Endless Toil 填补了这个空白。它是一个为 OpenAI Codex Desktop 和 Claude Code 设计的插件,核心功能很简单:
当 AI 编码智能体读取你的代码时,Endless Toil 会实时播放越来越痛苦的”人类呻吟声”,代码越烂,声音越惨。
它是怎么工作的
Endless Toil 的原理并不复杂,但设计思路很巧妙:
- 实时监听:插件在 AI 智能体读取代码文件时触发
- 代码分析:对读取的代码进行”诅咒程度”评分(cursed score)
- 音频反馈:根据评分播放对应等级的音频——从轻微的”嗯”到深渊般的哀嚎
评分维度可能包括:
- 代码复杂度和嵌套深度
- 命名质量(
var xvsuserAuthenticationToken) - 代码重复度
- 反模式检测
安装和使用
环境要求
- Python 3.10+
- 本地音频播放器:macOS 上的
afplay,或 Linux 上的paplay/aplay/ffplay
如果没有音频播放器,Endless Toil 仍然会输出扫描结果,只是不会播放声音。
在 Codex Desktop 中使用
# 1. 克隆仓库 git clone https://github.com/AndrewVos/endless-toil.git cd endless-toil # 2. 在 Codex Desktop 中打开该目录 # 3. 进入 Plugins → 搜索 "Endless Toil" → 点击 Add to Codex # 4. 启动新线程,让 Codex 使用 Endless Toil
在 Codex CLI 中使用
# 添加本地插件市场 codex plugin marketplace add . # 打开插件浏览器并安装 # /plugins → 选择 Endless Toil → 安装 → 重启 Codex # 在新线程中调用 /endless-toil
在 Claude Code 中使用
# 从仓库根目录启动 Claude Code cd endless-toil # 添加本地插件市场 /plugin marketplace add . # 安装插件 /plugin install endless-toil@endless-toil # 重启后调用 /endless-toil
测试声音
python3 plugins/endless-toil/skills/endless-toil/scripts/test_sounds.py --list python3 plugins/endless-toil/skills/endless-toil/scripts/test_sounds.py groan wail abyss
实际应用场景
场景一:代码审查中的”听觉信号”
想象一下这个场景:你让 AI 助手重构一段遗留代码。随着它逐行读取,你听到了从轻微叹息到绝望哀嚎的完整过程。
这实际上是一个有用的信号——如果你听到 AI 在”惨叫”,说明这段代码确实有问题,值得人工介入。
# 这段代码可能会触发"深渊级哀嚎"
def process(x):
if x:
if x.get('data'):
if x['data'].get('items'):
for item in x['data']['items']:
if item.get('value'):
if item['value'] > 0:
result = item['value'] * 2
if result > 100:
return result
return None
场景二:团队代码质量意识
在团队 Pair Programming 中,Endless Toil 可以作为一个非正式的代码质量指标。当 AI 开始”哀嚎”时,团队就知道需要停下来重构了。
场景三:学习代码评审
对于新手开发者来说,Endless Toil 提供了一种直观的方式来理解”什么是好代码”。声音越痛苦,代码越需要改进——简单直接。
技术架构简析
Endless Toil 遵循 OpenAI Codex 和 Claude Code 的插件规范:
endless-toil/ ├── plugins/ │ └── endless-toil/ │ └── skills/ │ └── endless-toil/ │ └── scripts/ │ └── test_sounds.py ├── assets/ │ └── endless-toil.png └── README.md
插件架构的关键点:
- Plugin Marketplace 兼容:遵循 Codex 和 Claude Code 的插件市场标准
- Skill 绑定:通过
/endless-toil命令调用内置 skill - 非侵入式:不会修改 AI 的行为,只提供音频反馈层
优缺点分析
优点:
- 安装简单,遵循标准插件规范
- 支持 Codex Desktop、Codex CLI 和 Claude Code 三大平台
- 提供了一个独特的代码质量感知维度
- 开源免费,可以自定义声音和评分逻辑
缺点:
- 需要音频输出环境(服务器环境可能受限)
- “诅咒评分”算法尚未公开,准确性存疑
- 更多是一个概念验证,而非生产级工具
- 在安静办公环境下可能不太合适 😂
与现有工具对比
| 工具 | 功能 | 反馈方式 |
|---|---|---|
| ESLint / RuboCop | 静态代码分析 | 文本告警 |
| SonarQube | 代码质量扫描 | 仪表盘 + 报告 |
| Endless Toil | 实时代码质量感知 | 音频反馈 |
Endless Toil 的定位不是替代传统静态分析工具,而是提供一种补充的、直觉化的感知方式。
开发者思考
Endless Toil 虽然是一个带有幽默色彩的项目,但它提出了一个严肃的问题:我们的 AI 编程工具是否过于”礼貌”了?
当 AI 面对质量低劣的代码时,它不会表达不满,这可能导致:
- 开发者无法感知代码质量问题的严重程度
- AI 在烂代码基础上继续生成更多问题代码
- 缺乏一个直观的质量反馈回路
也许未来的 AI 编程助手会内置更丰富的反馈机制——不只是默默接受一切,而是主动告诉你:“这段代码确实需要重构。”
总结
Endless Toil 是一个创意十足的小工具,它用声音让 AI 编程助手的”内心活动”变得可感知。虽然目前更多是一个概念验证,但它展示了一个有趣的方向:让 AI 与开发者的交互更加丰富和直觉化。
如果你正在使用 Codex 或 Claude Code,不妨试试这个插件。当你听到 AI 在”哀嚎”时,也许就该停下来看看代码了。
相关链接: