4 天 916 星怎么涨出来的:拆解 earshot 的热度曲线
【免费下载链接】earshotEars for coding agents: let AI hear, review and make sound. CPU-only, open source.项目地址: https://gitcode.com/gh_mirrors/ears/earshot
2026 年 10 月中旬,GitHub 上出现了一个叫 earshot 的项目:给 coding agent 装上"耳朵"。它没有博客站、没有发布会、没有知名机构背书,却在 4 天里收获 916 星——从 v0.1.0 首次公开发布到 v0.3.0 上线,恰好 4 天、3 个版本。这个曲线是真实的增长信号,还是昙花一现的脉冲?本文不做情绪化判断,而是打开仓库,把热度曲线拆成可检验的几段:口径、成因、回落后的指标,以及它和常见开源增长模式的差异。
一、先校准口径:1 小时、6 小时、24 小时,各在测什么
任何"X 天 Y 星"的标题,第一件事是把累计数拆成增量。星标的自然衰减曲线大致是三段:首小时脉冲、6 小时扩散、24 小时长尾。
- 1 小时增速测的是"首发势能":谁在第一时间看见、转发、点亮。这个窗口的流量几乎全部来自信息源本身——Hacker News、Reddit、X 上的一条推文、某个 newsletter。它衡量的是触达效率,而不是项目质量。
- 6 小时增速测的是"二次传播":第一波读者里的少数人开始写代码、跑 demo、截图发帖,形成第二圈扩散。这个窗口开始掺入实际使用信号。
- 24 小时增速测的是"留存意愿":star 是会过期的注意力,但 24 小时后仍持续进来的星,更多来自认真读过 README、跑过
earshot doctor、甚至克隆了仓库的人。
问题在于:公开渠道只能看到累计数,看不到这三段的精确切分。对 earshot 来说,仓库本身提供了比 GitHub API 更可靠的口径——版本时间线。CHANGELOG.md 记录得清清楚楚:
| 日期 | 事件 |
|---|---|
| 2026-10-16 02:40 | forge v2 通宵迭代启动(docs/history/FORGE_V2_LOG.md) |
| 2026-10-16 | v0.1.0 首次公开发布,20 个 CLI 命令 |
| 2026-10-16(同日) | v0.2.0:forge v2 +earshot fit |
| 2026-10-17 | v0.2.1:外部评审修复 |
| 2026-10-19 | v0.3.0:201 音效库、sfx/kit |
同一天连发 v0.1.0 与 v0.2.0,这是整个热度曲线里最容易被忽视、也最说明问题的细节。绝大多数新仓库首发只有一版 README 加一个 hello world;earshot 首发时已经带着一个能跑通全链路的版本,而"通宵迭代 12 小时"的目标是让 forge 的声音效果达到专业 motion-design 水准。首小时的流量峰对应的是 README 里那句"Watch the 22 s launch film——所有声音都是代码生成的,没有任何录音和音乐",这句话能在一屏之内完成"这是什么 + 为什么牛 + 怎么验证"三件事。
所以,判断这段曲线真伪的通用口径是:1 小时看信息源质量,6 小时看有没有人开始用,24 小时看仓库能不能被独立验证。earshot 的 916 星里,前两者是外部的,第三者可以从仓库内部读到证据。
二、单点冲高:波峰是由"发布节奏"造出来的
热度曲线的波峰几乎从不是偶然的,它是产品决策的投影。earshot 的冲高背后有四层原因,每一层都能在源码里找到对应物。
第一层:赛道卡位。"AI coding agents 现在能写出渲染电影、产品 demo 和游戏的代码,却听不见自己做的东西"——这是 README.md 的开场白。MCP(Model Context Protocol)生态在 2025-2026 年急剧扩张,Claude Code、Cursor 等 agent 客户端都在争夺"工具生态位"。给 agent 提供"听觉",是一个空旷且性感的定位:它不是又一个 LLM 封装,而是补上了 agent 感知闭环里缺失的一环。这个卡位决定了首批 star 的构成——它们来自 agent 工具生态的活跃人群,这群人恰恰是最愿意 star 后立刻动手的人。
第二层:演示资产先行。docs/media/launch_frames.png 是那部 22 秒启动影片的帧拼图,docs/launch-video-sound.md 则是配套的"给 coding agent 的启动影片声音制作手册"。这部影片本身就是 earshot 的产品演示:影片里每个音效都由earshot forge用代码合成,再用earshot critique对照 7 部专业启动影片的画像打分迭代。README 里给了完整命令链:earshot critique film.mp4输出VERDICT和FIX FIRST,earshot sheet film.mp4 -o out/sheet.png输出带标注的频谱图。演示和产品共用同一套工具,这让"宣传"和"使用"之间没有落差——转发的人可以自己复现整条链路。
第三层:数字文化。这是 earshot 与大多数新项目差异最大的一点,体现在 docs/DESIGN.md 的第一条设计原则:"Honest numbers.Every score says what it is and how much to trust it."(诚实的数字:每个分数都说明它是什么、可信度如何)。具体到行动上:
- 每个验证数字都带命令,可复现:docs/VALIDATION.md 开篇声明"这里每个数字都来自本仓库中的某条命令"。
- 盲测结果如实公布:v1 配方的 15 次试听中,作者只猜对 8 次——"跟抛硬币一样"(README 原文如此,README.md)。这个"翻车"数据被原样写进 README,成了信任状。
- 模型能骗过自家检查这件事被单独写成一节,标题就叫Honest limits (Goodhart):搜索会优化 earshot 自己的模型,而模型检查可以被"取悦",所以判定合成音好坏要靠模型无关的测量、对照频谱图和人工盲测。
- forge v2 的结论同样克制:"no v2 score is published yet"(docs/FORGE_V2.md),README 只保留 v1 的盲测。
这套"自曝其短"的叙事在今天尤其稀缺。它把"项目很牛"的 claim 转化成了"你可以自己验证"的 offer,转化率比任何形容词都高。
第四层:交付物完整。首发即有 earshot/cli.py 里的 20 个命令(describe、match、rank、find、compare、realness、timeline、sheet、critique、forge、fit、mcp、doctor……)、earshot/api.py 的统一 Python API、earshot/mcp_server.py 的 MCP server,以及 skills/earshot/SKILL.md 和skills/real-sound/两套 agent 技能。0.3.0 又补上了 earshot/forge/bank.py 描述的 201 音效库——183 个 forge v2 终版、3 个调音 kalimba 音色、15 个从 CC0 录音拟合的配方,全部以代码形式存储,渲染只需 numpy/scipy,无模型、无网络。星标们不是投给一个 idea,而是投给一个拿到手就能跑、跑完就能用的成品。
三、增速回落后,该盯哪些指标
任何曲线都会回落。4 天 916 星之后,判断这 916 星是"资产"还是"负债",要看以下四组指标。巧合的是,earshot 仓库里恰好都留有对应证据。
1. 外部评审的响应速度。v0.2.1 的 changelog 开头是:"Two fixes from a careful outside review (thanks, @markblundeberg)."(两项修复来自一次细致的外部评审。)评审发现的第一个问题颇具代表性:realness工具描述和 MCP server 指令把"用户拒绝合成感音频"写成了对所有 agent 的强制指令——即"把一个人的偏好表述成了全局指令"。修复在 10-17 当天完成(CHANGELOG.md)。star 之后愿意认真读代码的人,比 star 本身值钱;而能不能在 24 小时内接住这份评审,决定了这批人会留下还是离开。
2. 可复现性。0.3.0 的核心承诺是"渲染即校验":183 个音效全部能在 1.19e-7 误差内从report.json重渲染(tests/test_forge_rerender.py逐项检查),每个 bank 条目都存有指纹(长度、峰值时间、包络),重渲染对不上就报错(earshot/forge/bank.py)。对 eval 数据,eval/README.md 明确声明:评估用的授权录音和第三方影片不随仓库分发,只有派生数字入库。这既是法律严谨,也是可复现性的另一种形态——别人拿到仓库,跑不出和你一样的数,但你的数每一个都标注了"用什么命令、在什么数据上测的"。
3. 下游生态的自我繁殖。skills/earshot/SKILL.md里的 Loop 1-5 把工具用法编排成了 agent 可以直接遵循的流程(选素材、审混音、做音效、拼 kit……),skills/real-sound/则是一整套"从真实授权录音制作电影音轨"的流水线,docs/INTEGRATION.md 记录了它如何被 cinetic 使用。工具被封装成技能、技能被写进文档、文档又被别的项目引用——这是比 star 更深的采用信号。
4. 命名与搜索噪音。一个容易被忽略的长尾指标是"品牌区分度"。earshot 这个名字在中文互联网的搜索结果里,会撞上一个同名的音频取证调查机构(其鉴伪报告近日出现在部分新闻流中)。两者毫无关系,但同名造成的搜索噪音是真实的。对仓库维护者而言,这意味着 README、pyproject.toml的 description(pyproject.toml 里写着 "Ears for coding agents: describe, match, search, compare, time-align and critique sound files an agent cannot hear.")这类"一句话说清自己是谁"的文本,承担着比想象中更重的流量分流职能。
四、与常见新项目增长模式的对比
把 earshot 放进开源增长的光谱里,能更清楚地看到它属于哪一类:
| 模式 | 典型形态 | 流量峰值特征 | earshot 的对应项 |
|---|---|---|---|
| 榜单驱动型 | 靠 trending 算法、爆款新闻上榜 | 峰值极高、衰减极快、留存依赖后续运营 | 部分成立,但仓库没有做任何榜单运营痕迹 |
| 演示视频型 | 一条惊艳 demo 视频引爆 | 峰值由视频传播速度决定 | 22 秒启动影片扮演了这个角色,但影片本身是用产品做的,视频和工具互为证据 |
| 说明文驱动型 | 深度长文/论文式 README 积累信任 | 峰值平缓、长尾稳健 | README 篇幅大、命令全,但首屏就给了可执行的命令,不靠文章本身引流 |
| 迭代驱动型 | 高频发版、changelog 持续更新 | 多次小峰值叠成阶梯 | 3 天 4 版的节奏属于这类,且每次发版都带新的可测量能力(0.2.0 的 fit、0.3.0 的音效库) |
| 生态卡位型 | 填补平台空白,随平台成长 | 峰值与平台红利同步 | MCP 生态缺口是最核心的卡位 |
earshot 的特别之处在于它同时踩中了演示、迭代和生态卡位三条线,且三者由同一套代码互相支撑:影片是 forge 的产物,forge 的迭代日志被完整保存在 docs/history/FORGE_V2_LOG.md,日志里每个回合都有冻结的基准分数(eval/forge/results_v2r6.md等),迭代不是口头宣称的"变好了",而是"Round 3 修好了 swipe 的高频、Round 5 让 pro_logo_sting 的变体相似度从 0.908 降到 0.642"这样的可查证记录。这套做法回答了一个尖锐问题:4 天 916 星里,有多少是给"演示效果"的,有多少是给"工程质量"的?通宵日志的存在,让后者可被逐行审计。
结语:曲线会走向哪里
热度曲线的终局不由峰值决定,由峰值之后的第一批 issue、第一批 PR、第一批派生项目决定。对 earshot 而言,仓库里已经有三个可观察的先行指标:外部评审在 24 小时内被吸收并转化为测试(tests/test_interfaces.py覆盖全部 13 个 MCP 工具)、183 个音效的渲染可复现性被测试固化为硬约束、评估数据的分发边界被写死成仓库政策。这些都不是为了冲榜设计的,但它们恰恰是榜单之后留存率的来源。
至于 916 星本身——它既不是偶然,也不是必然。它是"正确的赛道 × 完整的首发 × 自曝其短的诚实 × 可复现的数字"四件事在同一周内同时兑现的结果。下一段曲线的斜率,取决于这些问题:第一批用户跑earshot forge keypress时,CPU-only 的 20-40 秒模型加载是否会劝退;fit的 12 条验证录音之外(docs/FIT.md 明说 risers、zips 和长设计音尚未测试),会不会有人补上更广的覆盖;以及 0.3.0 的 201 音效库,能否吸引 film 制作类 agent 项目把它变成默认依赖。这些问题的答案,会在未来几周的增量曲线上画出来——而这一次,所有数据点都会像 changelog 一样,落在明处。
【免费下载链接】earshotEars for coding agents: let AI hear, review and make sound. CPU-only, open source.项目地址: https://gitcode.com/gh_mirrors/ears/earshot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考