Spec Kit 深度评测:13.7 万 Star 一年后长成插件市场,169 个社区扩展实测八成已休眠

Spec Kit 深度评测:13.7 万 Star 一年后长成插件市场,169 个社区扩展实测八成已休眠

过去一年,凡是劝人「先写规格再让 AI 动手」的文章,几乎都会引用同一个仓库:GitHub 的 spec-kit。它 2025 年 8 月上线,13 个月涨到 13.7 万星,成了「规格驱动开发(SDD)」这件事的代名词。

我把它从 PyPI 装进沙盒,跑完初始化、把支持的 41 种 coding agent 逐个初始化了一遍,又把社区目录里的扩展抽了两组样本。结论有点分裂:那套写规格的流程还在、也确实能用,但仓库的重心已经换人了——它现在更像一个给 coding agent 用的插件市场,而这个市场里八成的货架已经休眠。

一年后,它已经不是当初那个模板仓库

2025 年 8 月 21 日的第一版命名很直白:把「Specify → Plan → Tasks → Implement」四步做成四段提示词模板,谁都能抄。一年后打开仓库,根目录躺着 src/、extensions/、presets/、bundles/、workflows/、integrations/ 六个子系统,specify --help 里除了 init,还有 extension、preset、bundle、workflow、artifact、event、self 七个命令组。

它现在对外讲的是三条独立入口,而不是一条流水线:

  • 规格驱动开发(核心):constitution → specify → plan → tasks → implement → converge,另加三个可选质量闸门 clarify / analyze / checklist;
  • Bug 修复(扩展):bug-assess → bug-fix → bug-test,产出落到 .specify/bugs//;
  • 想法评估(扩展):intake → research → define → shape → decide,最后给出 go / needs-clarification / kill。

其中 converge 是这一年里补上的一环:它拿现有代码跟 spec、plan、tasks 对一遍,把还没做完的活追加回 tasks.md,解决「实现到一半断了怎么办」。这个命令对应的正是社区呼声最高的一个 issue(可以编辑、迭代已有规格,而不是每次都新开一个分支),它在 2026 年 4 月被关掉。

规模上的变化更直接:这个仓库现在有 59,078 行 Python 源码,测试 117,530 行,而真正承载「方法论」的核心命令模板加起来只有 2,440 行 Markdown——代码和方法的比例是 24 : 1。同一批作者还在用不到 48 小时一版的节奏迭代,从 v0.0.1 到 v1.0.7 一共发了 221 个 release,平均 1.8 天一个版本。

实测:能用,但支撑它的是「结构」而不是「智能」

我把能跑的公开接口都跑了一遍。下面每一条都是沙盒里的真实输出,不是 README 复述。

实测项 结果
specify init(copilot 集成) 一次生成 30 个文件:10 个 SKILL.md + 5 个模板 + 6 个 bash 脚本 + 集成清单
41 种 agent 集成逐个初始化 40 个一次通过;generic 要求显式传 --commands-dir(报错信息给了完整示例,属设计如此)
直接装社区扩展(extension add <名字>) 6 次全部被拒:社区目录是 discovery-only,不可直接安装
贴归档地址装(add <名字> --from ) 5 个真实地址全部成功,每个 4 到 6 秒
30 个随机社区扩展的下载链接 28 个存活(93%),归档中位体积 14 KB
20 个随机社区扩展的仓库活跃度 只有 4 个在 30 天内有提交;15 个停在 1 到 6 个月前;中位最后一次提交距今 136 天
13 个技能文件的上下文占用 总共 157,976 字符,其中常驻上下文的只有开头元信息,3,900 字符,占 2.5%

第 6 行是这次实测最刺眼的一条。169 个挂名社区扩展听起来像生态,抽 20 个查仓库,结果是 20% 还在动、75% 处于 1 到 6 个月的浅休眠、5% 超过 180 天没动,星数中位数只有 6。下载链接活着(因为 GitHub 的归档地址不会烂),但代码从四月起就没再变过——「链接可用」跟「项目在维护」是两件事,这正是扩展市场最容易给人的错觉。

第 7 行则是这一年里一次很成功的自我修补。2025 年 12 月有人统计过:spec-kit 生成的是 slash command,每次开会话都会被完整塞进上下文,约 18.6k token,在 Cursor 默认窗口里能吃掉 93%。现在默认产出的是 SKILL.md(按需加载,只有描述常驻),我实测常驻部分只有 3,900 字符。同一个 issue 至今还开着,但问题事实上已经被架构调整解决了。

翻车点

扩展市场默认是「只能看不能装」。 这对安全是好事(官方目录是任意第三方代码,139 个扩展里 138 个声明自己会读写文件),但对体验是硬门槛:搜索能搜到 173 条结果,点安装会被明确拒绝,提示你「自己贴归档地址,或者自己维护一个可信目录」。想装,得先自己核一遍压缩包、再敲一遍 URL、再输一次 y。这套流程走通 5 次都很快,但它默认假设你会审代码。

装了 preset 或扩展之后,脚本会开始依赖你系统里的 PyYAML。 我复现了三组对照:纯净项目 + 没有 PyYAML 的 python3,setup-plan.sh 正常;同一个项目装上 preset,同一条命令直接报 Error: PyYAML is required to resolve preset template composition,plan.md 不生成,而且错误信息里没有告诉你怎么装。考虑到 uv tool install 会把依赖装进隔离环境、而脚本调用的是 PATH 上的 python3,这个坑大概率会落到真实用户头上。命令本身是 SKILL.md 指示 agent 去跑的,所以翻车现场往往是「agent 说它按流程走了,但文件没出来」。

四条流水线里两条是空货架。官方每个子系统都配了目录,但内容差得很远:

子系统 官方自带 社区贡献
扩展 extensions 4 169
预设 presets 2 36
agent 集成 integrations 41 0
工作流 workflows 1 2
工作流步骤 steps 0 0
整合包 bundles 0 2

扩展和预设是真生态,另外三个基本是刚立起来的架子。工作流的步骤类型目录是空的,而它的 shell 步骤在自己的发布文档里被标成「没有沙箱,可以读环境变量、改项目外的文件、外传数据」——社区要求给 shell 步骤加显式确认的 issue 到现在还开着。

谁该用,谁先别碰

把 spec-kit 和站内评过的同类放在一起,它的位置其实很清楚。

它对标不了一年前宣传的「让 AI 自己想清楚」:create-new-feature.sh 生成的 spec.md 里有 11 处占位符,脚本只保证结构和文件名一致,内容一个字都不是它写的。它也解决不了 mattpocock/skills 那种「拒绝流程绑架」的诉求——后者是 37 个各干一件事的小工具,前者要你先签一份宪法、再按五个阶段走。它甚至不打算解决 Get Shit Done 关心的上下文工程问题,它选择让技能按需加载来避税。

适合谁:要在团队里推行「需求先落地成文档」这件事的人。它的价值不在代码,而在把一套无聊但有用的规矩变成了可版本控制、可审查的文件——spec、plan、tasks 三个产物能进 code review,这比提示词存在谁的收藏夹里强得多。41 种 agent 集成也意味着换工具不用换流程。

不适合谁:一个人的小项目,或者已经有一套自己跑得顺的 agent 工作流的人。再往仓库里塞 169 个扩展,你得到的大概率是 20% 在维护、80% 停在四月的目录,以及一个每次安装都要手工审一遍的安全流程。

判断

一年前它是「四段提示词模板」,现在它是一个有 221 个版本、59,000 行代码、287 位贡献者的 agent 插件平台——顺便还带着那套写规格的流程。这个转向不算失败,因为核心流程确实还在按社区的抱怨逐条修补(上下文税、规格迭代、规格过期这三个最大的坑都动了手),但它的重心已经不在「规格」上了。

要用就只用核心的 10 个技能,扩展市场先别碰:等那 169 个货架里能有一半在三个月内更新过,再回来逛也不迟。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

相关阅读

本文数据截至 2026 年 9 月 17 日:仓库 137,383 星、12,302 fork、MIT 协议;实测均在 Alpine Linux 沙盒中完成,specify-cli 版本 1.0.7。

Dashi PPT 实测:8,250 星的开源 PPT Skill,1020 套版式,一份 JSON 导出 36 页可编辑 PPTX

Dashi PPT 实测:8,250 星的开源 PPT Skill,1020 套版式,一份 JSON 导出 36 页可编辑 PPTX

做过汇报的人都有过同一种卡壳:内容早在脑子里排好了,时间全耗在把字挪进模板、调对齐、换配色。让 AI 代劳也不省心——它吐出来的 HTML 常常是「看着像 PPT,改起来像拆炸弹」,动一行样式整页崩。

所以当一个 8,250 星、97 天冲到榜单的 PPT Skill 出现在雷达里,我决定不只看它的宣传页,而是把它彻底跑一遍:不装插件、不开浏览器点选,只喂一份内容 JSON,看它能不能离线产出一份真正能改的演示稿。结论先放这里:9 页稿子跑通了,还导出成 36 页可编辑 PPTX(11MB、740 个可编辑文本对象);但它自带的校验器也会误报,这点后面细说。

它把 PPT 拆成了三层

Dashi PPT 是一个 Agent Skill,核心思路和「让大模型直接写 HTML」完全相反:模型不负责画版式,只负责填内容。

它内部有 12 套视觉主题,每套主题是一批预置版式(封面、数据、对比、流程、风险、结论……),每个版式都是一段带控件的 React 组件。生成时先由 layout:query 按「页面角色 + 主题 + 随机种子」选出候选版式,再让 Agent 写一份 PageContentPack:每页只写标题、摘要、要点、图表数据,不写任何样式。随后 goal:scaffold 为每个逻辑页产出 4 个方案——3 个模板方案(锁死版式的视觉结构,只替换文字)+ 1 个按本页内容定制的方案。最后渲染成静态 HTML,导出 PPTX。

关键在「锁模板填文案」这条约束:页面的视觉、结构、数量、显隐、配色由版式决定,Agent 只能改文字。这既是它的可控性来源,也是它的上限所在。主题清单也能看出它的取舍:轻拟态风对应企业内部汇报,深浅代码风对应技术方案,色谱图表风对应数据分析,黑金实验风对应高端发布——都不是给品牌视觉团队准备的。

真正撑起这套体系的不是模板数量,而是三个量化文件:3.5MB 的 layout-manifest.json 登记了每个版式的控件与默认值,71KB 的属性契约约束每个控件能取什么值,82KB 的 spec 校验脚本负责在渲染前拦住非法结构。前者定义「有什么」,后两者定义「不能乱来」。

宣称 我的离线复核
12 套视觉主题 12 套,每套 71 到 111 个版式
1020 个版式页面 1020 条,逐条数列一致
8576 个可调控件 8576 个:开关 4276、滑杆 2372、下拉 1825、图标 77、图片位 26

三个数字全部精确对上,没有注水。

实测:从内容 JSON 到可编辑 PPTX

我把这次评测本身写成了 9 页内容计划,然后在 Alpine/Linux 沙盒里跑完整流程:

  • 依赖只有 35 个包、90MB,npm ci 32 秒装完,没有需要编译的原生模块;
  • 生成器先是两次拒绝了我的输入:一次是我把 chartData 的 id 写成了和 items 相同的 fact-1(要求 id 唯一、label/value/unit 必须一致),一次是同页图表单位混用「个 / 套 / 星」(要求要么全填、要么全空)。这两条不是文档里的客气话,是硬拦截;
  • 通过后产出 9 页 × 4 方案的 goal.json(122KB),渲染出 index.html(601KB)+ assets(7.9MB),离线双击即开;
  • 导出 PPTX 走了无头 Chromium:11MB、36 页、740 个可编辑文本对象、1309 个形状、147 张图片,打开后每段文字都能改。

但「可编辑」有边界:导出器同时给出了几百条降级警告——背景光效、渐变底、部分 SVG 与遮罩元素无法翻译成 PPT 形状,会被栅格化成图片贴上去。也就是说,文字和基础形状是真可编辑的,那些让页面显得精致的视觉特效,到了 PPTX 里就变成了一张底图。这是所有「网页转 PPTX」方案共同的物理限制,不是它独有的毛病。

另外两点体验值得一提:一是中文并没有被打包进字体,index.html 里明确写着 Noto Sans SC 这类中文字体超出体积预算、改用系统字体回退,所以同一份稿子在 Mac 和 Windows 上中文字重会略有差别;二是它的依赖干净得少见,没有原生模块,在一台只装了 Node 的机器上 90MB 就能跑起来。

也就是说,它宣传的「HTML 能编辑、PPTX 可交付」是真的。

但同一个流程里,它自带的文案校验器给了我一个退出码 1:报出 27 处「未覆写模板文案槽」(每页 3 处,对应 3 个模板方案),外加一条「AI Capital / 投融资默认文案残留:大模型」。

我去查了这两条的成色。那条「大模型」来自我自己写的正文「让大模型直接吐 HTML」——词表把常见词当成了投融资模板的特征词。而被判「未覆写」的 statLine,实际是投影阶段被显式清空(值写成空字符串),cards 也已绑定到我的 3 条内容和 1 条图表摘要,只是校验器把「空值」和「没写」算成了一回事。渲染出来的 9 页里,我一处模板默认文案都没找到。

模板默认文案确实存在,但位置很隐蔽:第 1 页所用版式的默认值是一整套「AI Capital Lab / 战略投资者 / 云资源授信 118 亿美元」的投融资示例,在文件里出现 10 次,全部躺在 data-prop-defaults 里——那是浏览器编辑器里控件的默认值,不是你交付出去就摆在观众面前的字。换句话说,这道闸门偏保守:宁可误报,也要逼你逐槽确认。

两条路线,怎么选

维度 版式库路线(Dashi PPT) 让模型直接吐 HTML
可控性 每个控件有契约与默认值,改坏了会被校验拦住 依赖模型自觉,改一处可能整页崩
自由度 只能组合已有版式 任意布局,上限更高
返工成本 改内容不动样式 常要整页重写
交付 静态 HTML + 可编辑 PPTX 通常只有一次性 HTML

几个必须先知道的前提:一是可编辑 PPTX 导出要在本机跑一次无头浏览器(官方推荐 macOS/Windows,Linux 需要自备 Chromium);我在沙盒里就撞上了环境限制——导出 CLI 启动的预览服务读取网卡信息失败,最后是绕过预览服务、直接调用导出引擎才拿到文件。二是许可证是 AGPL-3.0,公司内部用没问题,把它包进自家产品再分发前要确认合规。三是版式覆盖的是常见汇报结构,发布会主视觉那种强定制需求仍要人工介入。

适合谁:周报月报、方案评审、产品介绍这类高频、结构固定的汇报,收益最大;需要交付 PPTX 继续人工改的团队也合适。不适合谁:追求品牌级排版的视觉团队,以及指望它一键完成「内容 + 视觉双定制」的人。

我的判断

值得放进工具箱,但别把它当成万能排版引擎。它真正的价值不在 1020 个版式,而在那套「内容与样式分离 + 生成前后双校验」的工程约束——这正是多数 AI 出图/出稿工具缺的一环。它的问题是闸门做得太保守,误报会消耗信任;一句话概括:它不擅长帮你把 PPT 做漂亮,但很擅长让你别在排版上浪费时间。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

相关阅读:

Mnemosyne OS 深度评测:31 星的零依赖 AI 记忆系统,自曝 11 个缺陷,我实测又挖出 7 个

Mnemosyne OS 深度评测:31 星的零依赖 AI 记忆系统,自曝 11 个缺陷,我实测又挖出 7 个

用过 MCP 的人几乎都撞过同一堵墙:会话一长,模型就忘了你三小时前交代过的偏好,你得重新说一遍。市面上叫「AI 记忆」的项目多到能单独开一个分区,绝大多数是往提示词里灌 JSON 的壳。

Mnemosyne OS 不属于这一类。它 31 颗星,却先交出了一份 11 条缺陷的公开台账,每条带实测数据、根因和修法。我把仓库 clone 下来,先跑它自己写的 21 项验收脚本——21 项全绿;再把 23 个 CLI 子命令逐个跑了一遍——两个直接崩,Web 面板首页是白的。

零依赖不是口号,是 16,132 行标准库

Mnemosyne 是零依赖、本地优先的 AI 记忆系统(MIT,作者 FrankHu-HK,7.0.1 版发布于 9 月 14 日),可以当 Python 库、CLI、HTTP API,也可以当 MCP server 挂给 Claude Code 或 Cursor。仓库 89 个文件、57 个 Python 文件、16,132 行代码,最大的 brain.py 2,404 行;文档 24,088 行 Markdown,其中一份 818 行的部署指南,逐行标注「这是什么」「为什么」。

零依赖这件事我单独查了:mnemosyne/ 与 storage/ 目录下所有 import 只有标准库(sqlite3、hashlib、json、re…),setup.py 的 install_requires 是空列表,PyPI 上的 requires_dist 只有 numpy / transformers / tiktoken 三个可选 extras。表上写着「no numpy, no torch, no vector DB」,这句是真的。

反直觉的地方在于它的设计取向:它把「记忆」当成一个可运营、可审计的对象,而不是一个向量库。每条记忆带可信度轨迹和审计日志,写入走 SHA-256 链式账本,低价值记忆按经济学模型迁到温层/冷层(gzip 归档 + 布隆过滤,是迁移不是删除),向量后端是可插拔插件(numpy、Qdrant、重排器、加密、HRR)。MCP 面 14 个工具,协议 2024-11-05,我实测握手正常、工具数与文档一致。

它自曝的 11 条缺陷里,有几条特别能说明这个项目的气质:

编号 症状(作者原话压缩) 根因 状态
F1 / F1b 经 MCP 写入的记忆不进向量库,语义召回没有增益 MCP 固定走 fast=True,而唯一的 add() 调用在 else 分支 7.0.1 已修
F6 无关查询也返回高分,任何「分数阈值」规则都失效 最终分是加权和,n_time×0.20 + conf×0.10 构成近似恒定的底 行为特性,不修
F7 retain 传了 confidence 不生效,落库恒为 0.7 Notary 评估段无条件覆盖调用方入参 7.0.1 已修
F9 拿到 recall 结果也无法遗忘或更正 返回项里没有 memory_id 7.0.1 已修
F11 forget 之后记录仍可能被召回 缓存失效判据用文件 mtime,而 SQLite 走 WAL 7.0.1 已修

真正狠的是它对 F6 的结论:相关查询首条 0.8332,无关查询首条 0.8232,分差只有 0.0100。作者自己写下一句「排序可用于挑选,分数不可用于过滤」,并把这条定性为「不可修复的行为特性」。一个项目愿意公开承认自己的打分没有绝对标度,这在万星仓库里都少见。

实测:它自曝 11 条,我又挖出 7 条

先说立住了的部分,这些都是我在这台机器上跑出来的:

  • scripts/verify_memory_lifecycle.py 21 项断言 21/21 通过,覆盖了「遗忘后不再被召回」「更正的旧记忆 verification=superseded」「recall 回传 superseded_by」这些它自己修过又踩过的点;
  • verify.py 自检通过,写入 2.50 ms/条、检索 2.39 ms/次;
  • 我通过 MCP 传 confidence=0.95,返回的就是 0.95,F7 确实修了;读代码确认 fast 分支现在一次 encode() 同时喂 SQLite 与向量后端,F1/F1b 的修法也落地了;
  • 四个中文查询,正确答案 top-1 全部命中,无关查询首条 0.415 对相关查询首条 0.442——与它自曝的 F6 完全一致;
  • Web 面板的静态资源里 0 个外部 CDN 引用,断网可用。

然后是它没写进台账的 7 条:

编号 我的实测证据 影响
A git clone 后启动 Web 面板,/、/login、/index.html 三条路由都返回 index.html missing README 表格里的「本地暗色仪表盘」从源码装是白屏
B CLI 写 5 条记忆,Web 面板「记忆总数」显示 1;两边互相搜不到 同一个 --dir、同一个 default 命名空间,两套库
C 改 memory.db 里的正文后 verify-integrity 仍报「✓ 完整」;删账本最后 3 条也报完整 哈希链只绑自己,不绑记忆内容,截断不可检测
D mnemosyne repair → UnicodeDecodeError,崩在 brain.py:2075 默认 SQLite 后端下必崩
E mnemosyne hindsights-bench 跑到第 4/6 步 → AttributeError: 'ConsolidationReport' object has no attribute 'get' 内置对标评测跑不到底
F sk-proj-…(OpenAI 现行项目密钥)与 sk-ant-api03-…(Anthropic)写入后明文落库,注入评分 0.0 脱敏只覆盖旧的 sk-+8 位格式
G status 显示「容量:100.0% (limit=8)」,库里只有 8 条 未设上限时 limit=total,容量条恒满

三条最值得展开。

第一,Web 面板是被自己的 .gitignore 吃掉的。 面板读 static/index.html,读不到就返回那句 index.html missing;而仓库的 .gitignore 里赫然写着一行 .html,只放行了 assets/*——前端入口正好在这个通配符下,从来没被提交过。setup.py 的 package_data 里倒是老老实实声明了 static/index.html 和 static/logo.jpg(后者同样缺失)。我下载了 PyPI 上的 wheel 解开看:index.html 26,100 字节、logo.jpg 7,620 字节,都在包里。所以同一份代码,pip install 能看到仪表盘,git clone 看不到。我把 wheel 里的静态文件补回源码树再刷新,登录页立刻出来了。

第二,CLI 和 MCP/Web 写进两个不同的文件。 python mnemosyne.py --dir ./mem retain 落在

/memory.db;MCP server 和 Web 面板落在 /data/namespaces/default/memory.db。根因在 storage/sqlite_backend.py 的 _resolve_paths:namespace 为假值时走「扁平 legacy 布局」,而 CLI 压根没有 --namespace 参数,另两个入口的默认值却是字符串 "default",于是走了命名空间目录。后果很具体:先用 CLI 把偏好灌进去,再挂 MCP 给模型用,模型看到的是一张空表。而 docs/RECALL_STRATEGY.md 的隔离表只写了「命名空间 → 独立 data/namespaces//memory.db」。

第三,那条哈希链只证明账本自己没被动过。 README 的卖点是「SHA-256 chained ledger — verify_chain() detects tampering and locates the exact corrupted record」,模块 docstring 更进一步写了「any modification to a historical entry or to the underlying memory record breaks the chain」。我把一条记忆的正文改掉(连前 50 个字符一起改),verify-integrity 照样报「✓ 完整 | 首个断裂点:None」;删掉账本最后 3 条记录,它报「✓ 完整 | 账本条目:5」。原因很朴素:账本条目里只存了 {"content_preview": content[:50]},而校验时是拿账本自己存的 payload 重算哈希,跟 memory.db 没有任何绑定。作为对照,我改了一下 ledger.db 里的 payload,它立刻报「✗ 损坏 | 首个断裂点:1」。检测有效,但范围是账本文件本身,不是记忆;纯截断因为没有外部锚点,也不可检测。审计留痕够用,当防篡改证据是过度承诺。

另外几条不用展开但值得知道:repair 崩是因为它把 index_path(SQLite 默认后端下就是 memory.db 这个二进制文件)当 JSONL 逐行读;hindsights-bench 崩在把一个 ConsolidationReport 对象当 dict 用;status 的容量条在未设上限时永远 100%。还有一处工程卫生问题:全仓 57 个 Python 文件、16,132 行代码,一个测试文件都没有(setup.py 还在 exclude 已经不存在了的 tests、benchmarks、quality_eval),无 tag、无 release;PyPI 上的包停在 8 月 24 日的 7.0.0,仓库已经是 9 月 14 日的 7.0.1——pip install 装到的,正好是 11 条缺陷一条没修的那一版。

还有一个不应该漏掉的细节:11 个源文件里有 97 处中英混排的残句,全都落在用户能看到的地方——引擎Version:7.0.1、❌ 未finds :、Type分布、均Value、可merges、关Key决策、Found 冲突 12、writes 机制Test。看起来像是某次批量「中译英」留下的半成品,demo 和 benchmark 两个命令里最密集。

它在坐标系里的位置

跟本站评过的 context-mode 比,一个管「上下文进得来」,一个管「记忆留得下」:context-mode 把 315KB 工具输出压成 5.4KB,解决的是爆上下文;Mnemosyne 解决的是跨会话失忆,两者叠起来才是一套。

跟 i-have-adhd 比,两者是同一种气质的极端版——自曝文档的质量远超自测覆盖。差别在于 i-have-adhd 的自曝是「我的闸门太严」,Mnemosyne 的自曝是「我的工具是死的」:作者自己在召回策略文档里写明 graph_query 「永远返回 edges: [],是一个死工具」,temporal_query 的参数是实体名而不是时间范围,「传『昨天』返回 nodes:["昨天"], edges:[],无意义」。在 14 个 MCP 工具里,这两个占了两席,而文档第 4 节直接建议集成方「从强制流程里删掉它们」。

适合谁:想要一套零依赖、可离线、带审计轨迹的本地记忆层;在同一台机器上跑多 Agent,并且接受「正文与向量隔离,但审计账本/图谱/统计是全局共享」这个前提;以及愿意读 24,000 行中文文档的人。

不适合谁:指望开箱即用 Web 管理面板的人;要现成语义检索质量的人(向量后端默认不装,得自己接 BGE-M3 加 Qdrant);打算把 CLI 和 MCP 混着用的人;以及想拿哈希链当合规证据的人。

判断:文档比代码值钱

这个仓库最值钱的部分不是那 16,132 行代码,是它的文档:11 条缺陷台账、21 项验收断言、召回策略评估(连「每轮都召回到底划不划算」都算了代价)。这套东西在万星项目里都少见——大多数项目连自己的缺陷都不敢写在仓库里,更不会写上「分差只有 0.0100,所以阈值规则全部失效」这种自断后路的话。代价同样明显:文档走到了够做验收的深度,代码和测试没跟上,所以 CLI 里还留在会崩的子命令,面板首页还躺在 .gitignore 里,脱敏规则还停在两年前的密钥格式。

真要用,我的建议是三条。第一,别 clone 源码跑 Web 面板——要么 pip install mnemosyne-os 拿前端完整的 7.0.0,要么 clone 7.0.1 之后从 wheel 里把 static/index.html 补回来。第二,先写测试再上生产,它自己一行都没有。第三,如果你只是想学「一个人的 AI 记忆系统该怎么自我验收」,docs/ 下的 KNOWN_DEFECTS.md、ACCEPTANCE_GUIDE.md、RECALL_STRATEGY.md 三个文件,比把项目跑起来更值得读。

关注 AI 商业快讯,每天一篇 AI 热点深度解读。

相关阅读:

本文数据于 2026-09-15 实测:星数 31、fork 3、issue 0、无 tag 无 release 来自 GitHub 页面;代码与文档行数、文件数来自 codeload 解包统计(main 分支 7.0.1);「自曝 11 条」取自仓库 docs/KNOWN_DEFECTS.md(编号含 F1b,F4 属外部宿主问题故未计入);21 项验收、2.50 ms 写入、2.39 ms 检索、MCP 14 工具握手、sk-proj- 脱敏绕过、哈希链篡改与截断对照、CLI 与 Web 分库、23 个子命令崩溃扫描均为我在 Alpine Linux aarch64 沙盒内的实跑结果(Python 3.12.13 / SQLite 3.48.0);index.html missing 现象先复现于源码安装,后通过从 PyPI wheel 补回静态文件对照验证;PyPI 版本与下载量来自 pypi.org 与 pypistats.org 公开接口。

stop-slop 深度评测:1.7 万 Star 的「去 AI 味」skill,停更 182 天,改后范例自己违反规则

stop-slop 深度评测:1.7 万 Star 的「去 AI 味」skill,停更 182 天,改后范例自己违反规则

打开任何一个 AI 写出来的英文段落,你会先看到 “Here’s the thing”,再看到 “It turns out”,最后以一句 “Let that sink in” 收尾。想治这个毛病的人里,最有名的一个仓库叫 stop-slop:17,151 颗星,skills CLI 记录过 14.4 万次安装。它的最后一条提交停在 182 天前,35 条 PR 只合并过 2 条,两条都在仓库上线后的头三天。

我把它整条规则集拆开逐条跑了一遍,还照它的文字规则写了个机械检查器。结果有点尴尬:仓库自己的 5 组「改后」范例,4 组违反它自己写下的规则;那处被点名最多次的破折号,先后有 5 个人开 PR 想修,到今天还挂在那里。

16KB 纯文本,0 个可执行文件

stop-slop 全部内容就是 8 个文件、16,344 字节,没有脚本、没有测试、没有 CI,也没有一个 release。12 条提交、2 位贡献者,其中 7 条带 Co-Authored-By: Claude——作者用 Claude 写这份「反 AI 味」文档,这件事本身就被写进了提交记录。

文件 内容 条目数
SKILL.md 8 条核心规则 + 12 条交付前 Quick Checks + 5 维评分(低于 35/50 就重写) 25
references/phrases.md 英文短语黑名单:清嗓子开场、强调废词、商务黑话、副词、元评论、含糊断言 65
references/structures.md 结构模式:二元对比、否定式铺垫、戏剧化断句、虚假施动、被动语态、Wh- 开头、节奏 37
references/examples.md 5 组改前/改后对照 5

核心反直觉点只有一个:它不要求你写短,要求你删掉仪式感。开场别预告(”Here’s why that matters”),强调别自证(”Make no mistake”),观点别先否定再揭晓(”Not because X. Because Y.”),没有生命的词别当主语(”the decision emerges” 要改成「某个人做了决定」)。

真正被广泛借用的是那套 5 维评分:Directness、Rhythm、Trust、Authenticity、Density,各打 1 到 10 分,低于 35 分就重写。它把「感觉有点 AI 味」变成了一次要落笔打分的判断,这是这个仓库最值钱的 20 行。

实测:它的改后范例自己违规

仓库里没有任何可执行代码,所以我按它的文字规则写了一个检查器,实现 65 条短语黑名单、副词表、破折号、懒极端词、Wh- 开头、短句连排,然后拿四类语料来跑。先看它自己的招牌——那 5 组「改后」范例:

范例「改后」原文 被我检查器命中的规则
Building products is hard. Technology is manageable. People aren’t. 三句连续短句,structures.md 禁止的 staccato
Teams struggle with alignment. Nobody admits confusion. nobody 在懒极端词黑名单里
Move faster. Your competition is. 机器 0 命中,但仓库 issue #42 指出它把因果连接词一起删了
Speed, quality, cost—pick two. 破折号,而 structures.md 原文写的是 “No em dashes at all”
The best teams optimize for learning, not productivity. 尾否定句式,与它禁止的 “not X, it’s Y” 同族

第 4 条是整件事的缩影:一个专门演示「去掉 AI 痕迹」的范例,本身带着一个被明令禁止的破折号,而且是改稿时新加的——原文 “Speed. Quality. Cost. You can only pick two.” 里没有破折号。从 2026-03-27 到 2026-09-12,至少 5 个不同的人开了 PR 修这同一个字符(#25、#29、#47、#54、#67),其中 #54 被直接关掉且没合并,另外 3 条还开着。issue #14 早在 4 月就写过:「你们的范例不遵守这个 skill 的规则」。

README 也没躲过去。宣传语 “AI writing has patterns. Predictable phrases, structures, rhythms.” 正好是结构文档里点名的「戏剧化断句 + 三项并列」,结尾 “Use freely, share widely” 连用两个副词。PR #47 一条一条列了出来,附带另外 3 处文档违规,没合并。

规则不是检测器,是风格约束

第二个实测更值得说。我把同一套规则拿去跑人类写的文本,对照作者的文档:

语料 字符数 机械命中 每千字
stop-slop 官方文档(Claude 共同作者) 4,174 8 1.9
Paul Graham 随笔(人类) 20,000 145 7.25
《傲慢与偏见》开篇(人类,1813) 20,000 97 4.85
The Elements of Style(人类,1918) 20,000 100 5.00
本站中文稿 6 篇 24,620 69 2.80

同一套尺子,扫当代最好的英文随笔,命中密度是作者自己文档的 3.8 倍。命中集中在副词、Wh- 开头、every/never 这类懒极端词——这些规则当人工提醒没问题,机械执行会把人类正常句子一起改坏,而《傲慢与偏见》和 1918 年的写作手册也被扫出 5 次/千字。

结论是:这套规则优化的是风格一致性,不是「像不像 AI」。它好用,恰恰因为它是一份给人看的清单,而不是一个能自动化跑的判据。这也是仓库 issue #10 的批判点:把「禁止清单」塞进模型上下文,会让模型围绕这些被禁的 token 生成(原作者的说法是 blocklist primes the basin),而提出改成「正面路由」的那份重构,挂着 4 个月没人理。

中文用户还要多一层:65 条短语、15 个副词、6 个懒极端词、7 个 Wh- 开头,全是英文字符串。用它扫 6 篇中文稿(24,620 字),唯一稳定命中的是破折号,而中文的「——」本来就是合法标点,照规则执行等于删标点。中文移植版 VincentOld/stop-slop-zh 至今 81 星、skills CLI 装过 21 次,建库当天之后再没更新。

顺手验了一个流传的说法:issue #46 报 npx skills add hardikpandya/stop-slop 只装 SKILL.md、丢掉 references。我用 CLI 1.5.26 实测,7 个文件全部装到位,这条复现不了——但 issue 还开着,没人关。

同类对比:它是坐标系,不是终点

项目 星数 skills CLI 安装 与 stop-slop 的关系
stop-slop 17,151 14.4K 英文圈最全的 AI 陈词表
blader/humanizer 48,133 6.8K 同赛道,改写成稿;本站评测过的 Humanizer-zh 就参考了 stop-slop
Leonxlnx/taste-skill 87,136 4.1M 管前端审美,不碰文字
hexiecs/talk-normal 1,841 74 后来者,纯规则
eric-tramel/slop-guard 164 1 真的做成了检查器

issue #51 直接把 8 个同类仓库列出来问「你和它们有什么不一样」,至今 0 回复。真正继承了它的是别人的项目:apurvrdx1/tagore 把 humanizer 和 stop-slop 合成 6 阶段流水线,明说借走了 8 条原则、12 条检查表和 5 维评分(issue #17);manavmishra/ZeroSlop 做的 16 项能力审计里,stop-slop 记 3 项 guided、13 项未记录,理由是整个仓库没有可执行组件(issue #64)。

最能说明它位置的还有另一个数字:仓库 182 天没有提交,最近 48 小时里仍然新增 91 颗星、9 次 fork,约合每天 45 颗。

值得抄三样,不值得指望三样

我的判断:把它当一份拿来读的清单,别当工具装。

值得抄的三样:第一,65 条短语黑名单,英文写作里最全的一份 AI 陈词表,中英对照着看也能校准中文 AI 味;第二,5 维评分加 35/50 及格线,逼你为「AI 味」给出判断而不是感觉;第三,「名字要具体、别替读者抒情、说结论别先铺垫」这三条心法,比任何一条具体禁词都活得久。

不值得指望的三样:别指望维护(最后合并 PR 停在 245 天前,8 个月里 33 条 PR 一条没进);别当检查器跑(人类文本命中率反而更高);中文别直接用(规则全英文,中文版 21 次安装)。

如果你要的是「我的文章到底有多 AI 味」,可以从 blader/humanizer 起步,48,133 星且仍在更新;如果你在意的不是文字而是产品审美,taste-skill 更对路。stop-slop 的价值在它被人抄走的那部分——规则表、评分尺、心法,这些已经活在了别人的仓库里。

关注 AI 商业快讯,每天一篇 AI 热点深度解读。

相关阅读:

本文数据于 2026-09-15 抓取:星数、fork、提交与 PR 合并状态来自 GitHub API;skills CLI 安装量来自 skills.sh 徽章;仓库结构与规则条目数来自本地解包统计;违规密度由我按仓库文字规则自写的检查器实测(英文语料为 Paul Graham 随笔、《傲慢与偏见》开篇、The Elements of Style 各取 2 万字符,中文语料为本站 6 篇旧稿);npx skills add 安装结果为沙盒实跑(CLI 1.5.26)。检查器是我对规则的实现,非官方工具,命中数含规则机械化的误差。

Skill Seekers 实测:1.5 万 Star 的文档转技能工具,18 种数据源 22 种格式,设计模式识别却把 @property 当装饰器模式

Skill Seekers 实测:1.5 万 Star 的文档转技能工具,18 种数据源 22 种格式,设计模式识别却把 @property 当装饰器模式

给 Claude Code 装技能这件事,卡人的从来不是写提示词,而是喂文档。某个框架的官方文档三百多页,你得先翻一遍、抽成 reference 文件、再手写一份 SKILL.md 告诉它「什么时候读哪个文件」。这套活干完,一整天没了。

1.5 万 Star 的 Skill Seekers 就是冲这件事来的:号称把文档站、GitHub 仓库、PDF 等 18 种数据源转成可以给 AI 用的知识资产,15 到 45 分钟出一份技能包。我把它拉进沙盒从源码跑了一遍,抓取和打包确实能用,但它的「代码智能」部分——设计模式识别——基本是在猜。

它做什么:三层流水线

把它拆开看只有三步。第一步是发现层,拿到一个 URL 后会依次尝试 sitemap.xml、站点自带的 llms.txt 索引,最后才上无头浏览器渲染,这套顺序决定了它比普通爬虫快。第二步是抽取层,18 个 scraper 各管一类源:网页文档、GitHub 仓库、本地代码库、PDF、Word、EPUB、Jupyter Notebook、PPT、OpenAPI、AsciiDoc、RSS、man 手册、Confluence、Notion、Slack 导出、视频等。第三步是组织层,把抓下来的内容按主题分类,交给 AI 增强写成 SKILL.md,再做多源冲突检测,最后打包成目标平台格式。

对外宣传的数字不少,我逐项在代码里核了一遍:

官方声明 核对结果
18 种数据源 属实(source_detector.py 里 15 种显式类型 + Confluence/Notion/聊天导出)
22 种导出格式 属实(adaptors 注册表正好 22 条,含 LangChain、LlamaIndex、4 个向量库)
40 个 MCP 工具 属实(server_fastmcp.py 里正好 40 个注册装饰器)
19 个 agent 安装目标 属实(AGENT_PATHS 19 条)
68 个增强工作流预设 属实(workflows 目录 68 个 yaml)
3,900+ 测试 属实偏保守(189 个测试文件里 4,235 个 test 函数、8 万行)

数字没注水,但文档与代码脱节的地方不少:同一个 MCP 服务器文件的 docstring 还写着「提供 34 个工具」,实际是 40 个;install-agent --help 只列出 8 个可选值,代码里支持 19 个,剩下 11 个只能靠翻 README;README 说 CLI 有 19 个命令,实际是 20 个。

实测:抓取能用,代码分析不能信

抓取、打包、冲突检测:能直接用

测试环境是手机上的 Alpine aarch64 沙盒(Python 3.12),因为 pip install skill-seekers 在这台机器上装不完——核心依赖里 PyMuPDF 没有对应的 musllinux 轮子,需要本地 C 编译器。顺带一提,一个「文档抓取工具」的核心依赖有 22 项,其中包含 langchain 和 llama-index 两个 RAG 框架,装在服务器上得先想清楚。

从源码跑抓取则相当顺。拿 Ruff 的文档站试,它命中 llms.txt 索引,14 个页面约一分半抓完,产出三个文件:SKILL.md 4.3KB、references/ruff.md 135KB、index.md 91 字节。自带的质量评分给了 72.75 分(B-),其中文档覆盖率一项只有 15 分。

问题出在这份 SKILL.md 的内容上。不接 AI 增强时,它输出的是一份模板骨架:frontmatter 里的描述就是「Use when working with ruff-test」,8 条「Pattern N」小标题的内容是抓下来的导航栏文字(「Ruff ruff Overview Tutorial Installing Ruff The Ruff Linter…」),13 个代码块里 5 个贴了语言标签,其中 4 个把 TOML 配置标成了 sql 和 json。更别扭的是正文让读者去翻 getting_started、tutorials 这几个参考文件,而 references 目录里只有它刚生成的那一份。

那默认流程会走 AI 增强吗?会。不传参数时它默认走本地增强,直接执行 claude --dangerously-skip-permissions,超时设成 2700 秒,本机没装这个 CLI 的结果是一行「Command not found: claude」,然后留下一份 2KB 的骨架——四个流程步骤里,最后一步静默降级了。

设计模式识别:一个漏检、三个误报

真正让我意外的是设计模式识别。这是它宣传的差异化能力:10 个 GoF 模式检测器、跨 9 种语言、分 surface/deep/full 三档深度。我造了个 6 文件的小项目试,结果是这样:

我造的场景 它的判定
AppConfig:__new__ + _instance 缓存的标准单例 三档深度全部漏检
class Singleton: pass(只有类名,没有任何实现) 判为 Singleton,0.7 分
Policy:保险单记录类,与策略模式无关 判为 Strategy,0.7 分,证据只有「类名像 Strategy」
DbSingleton:带 @classmethod 的单例 额外被判为 Decorator

漏检的那个最冤枉:代码里明确写着「Python 的 __new__ 覆盖本身就是受控初始化」,给了 0.3 分,而命中阈值是 0.5——这个检测器永远认不出 __new__ 写法的单例。误报的那个更值得说:Policy 被认成策略模式,是因为关键词表里塞了「policy」。而 @classmethod 被判装饰器模式,是把语言级的装饰器语法和 GoF 的装饰器模式混为一谈了。

这不是个别现象。我拿它扫自己 217 个源文件,报出 301 个模式,其中 Decorator 一项 94 个,证据全部来自 Python 内置装饰器(@property 53 个、@staticmethod 21 个、@classmethod 16 个、@abstractmethod 5 个),没有一个是真正的装饰器模式实现。172 个被判定的类里,95 个同时命中多个模式,49 个既算 Adapter 又算 Decorator——因为两个检测器共用 wrapper/proxy 关键词。

还有个更隐蔽的机制问题。full 深度会拿整个文件的文本去 grep instance、if not、threading 这类词,命中就加分,不管这个词属于哪个类。我做了个隔离测试:一个文件里放只有类名的 Singleton 和一个带 instance 方法的无关类,前者立刻从 0.6 涨到 0.7,证据栏写着「检测到实例缓存」——它缓存了个寂寞。

对比之下,它另一个卖点做得很扎实。多源冲突检测我造了一组「文档写了 3 个参数、代码只有 2 个」的数据喂进去,4 条冲突分类全对:文档里有代码里没有的 API 标为 high,代码里有文档没写的标 medium,而下划线开头的内部 API 自动降级为 low——这个降级逻辑是对的,说明设计者确实想过误报问题,只是这套思路没被用到模式检测上。

其他几个实测细节:打包成 Claude 技能包正常,39.7KB 的 zip 里 SKILL.md 在根目录;不给 GitHub token 也能抓仓库,但撞上 API 限流后 PyGithub 会进入 2684 秒(约 45 分钟)的退避重试,而不是快速失败报错;PyPI 上最新版是 8 月 3 日发布的 3.9.1,而仓库 development 分支已经到 3.10.0.dev0,pip install 拿到的是落后六周的版本。仓库本身还有个卫生问题:docs/UML 目录 2049 个文件占 27.3MB,近三分之一的仓库体积是架构图。

该不该用

同类里还有三个选择:手写 SKILL.md 最准但最慢;拿 llms.txt 自己写二十行脚本最轻,只适合现代文档站;官方 skill-creator 管结构规范但不管抓取。Skill Seekers 的位置在中间——它把「抓 + 分 + 打」这一整条链路做完了,22 种导出格式里那 8 个 RAG 目标是别人不做的。

它适合:手上有大量内部文档、老项目代码、PDF 手册要批量变成知识资产的人;一次抓取、要同时导出成 Claude 技能 + 向量库数据的人。

不适合:只想给某一个框架做一份高质量 SKILL.md 的人(这种情况手写反而更快);没有模型 API key、也没装本地编码 agent 的人——因为默认的增强流程会直接失败。

我的判断是:把它当抓取和打包工具用,把它的代码分析当参考信号而不是事实。冲突检测值得一试,模式识别的输出建议直接忽略。

相关阅读:

关注 AI商业快讯,每天一篇 AI 热点深度解读。

—

实测数据截至 2026-09-14,基于 development 分支(3.10.0.dev0)源码在 Alpine aarch64 沙盒运行。项目地址:yusufkaraaslan/Skill_Seekers,MIT 许可。本文不含任何商业合作。

i-have-adhd 深度评测:4.3 万 Star 的输出风格 skill,自带评测涨 0.43 分却被自己的闸门拦下

i-have-adhd 深度评测:4.3 万 Star 的输出风格 skill,自带评测涨 0.43 分却被自己的闸门拦下

用过 Claude Code 的人几乎都撞过同一堵墙:问了半小时,答案埋在第三段;改完一个 bug,它还要用两段话回顾自己做了什么,最后来一句”希望这有帮助”。

i-have-adhd 就干一件事——把 AI 的回答从”报告”改成”下一步做什么”。它用 10 条规则把输出重新塑形,上线 122 天拿到 43,456 颗星,是 2026 年增速最快的输出风格 skill 之一。更有意思的是:这个项目自带一套评测框架,而它自己公布的评测结果,发布闸门是失败。

它不是 CLI,是一份 142 行的规则文件

整个技能的本体,就是 skills/i-have-adhd/SKILL.md:7,207 字节、142 行,MIT 许可。没有模型、没有 API、没有依赖,任何 harness 都能装。

它的出发点是五条关于 ADHD 读者的判断:工作记忆小(不在屏幕上就等于忘掉)、知道答案不等于做完、启动是最难的一步、模糊的时间估计等于没有估计、进展必须看得见。十条规则全部由这五条推出来。

规则 治的毛病 我的一行判断
1 先说下一步动作 答案埋在下文 最有价值的一条,直接改变回答的第一行
2 多步骤写编号 步骤糊成一段话 要求”能少一步就少一步,别写完整路线”
3 结尾给一个 2 分钟内能做的动作 “还需要什么随时说” 把开放式结尾换成封闭动作
4 抑制跑题 顺手塞三条无关建议 自己查得到的先自己查,留到最后的只有一条
5 每轮重述状态 “第 3 步做到哪了”要靠翻记录 “第 3/5 步完成,下一步回填列”
6 给具体时间估计 “这需要一些工作” 明确要求用分钟,不许用”一会儿”
7 让成果可见 改动藏在总结里 “登录现在能用魔法链接了,跑 npm run dev 试”
8 错误只讲事实 “哎呀,测试好像失败了” 位置 + 原因 + 修复,不演情绪
9 列表控制在 5 项 一屏 30 条的清单 争论最多的一条,见下文
10 不写开场白、不写回顾、不写客套 “好问题!让我想想” 直接禁止清单里点名了这些话术

关键的反直觉在于:它不追求短。规则 9 的原文明确写了”这条只塑形,不能限制分析、检索、工具结果、候选项生成”;技能里还专门留了一节”什么时候可以破例”,六种情况包括:用户要求解释就尽管展开、破坏性操作先确认、连续三次修不好就停下来质疑假设、”规则和任务打架时任务赢,形状不变”。最后一条的例子写得很清楚——用户问”我有哪些选项”,答案就该是 2 到 4 个带取舍排序的选项,而不是一条路径。

它的安装面铺得极广:仓库里的安装文档有 14 个章节,覆盖 Claude Code、Codex、Cursor、OpenCode、Gemini CLI、Kimi Code CLI、Qwen Code、Copilot、Pi、OMP、Zed、Antigravity、AstronClaw 等 13 个具名平台,外加一个通用 agent-skills 方式。但它没有发过任何 release,也没有 git tag,package.json 里的版本号停在 0.3.0——43k 星的仓库,走的还是”直接追 main 分支”的路线。

实测:自带评测框架跑得通,但它自己的闸门过不去

这个仓库最特别的地方,是它为了回答”这个 skill 到底有没有用”专门造了一套评测框架:14 条用例 × 3 轮 × 基线/候选两组 = 84 个回答,再用同一个模型盲评打分。

我把这套框架在沙盒里跑了一遍,是可以复现的:

  • python3 scripts/run_evals.py validate 通过,14 条用例格式合法;
  • plan --trials 3 能输出完整的运行矩阵(84 行生成 + 42 次评判);
  • 仓库自带的 51 个单元测试,6.77 秒全过。

作者公布的结果确实漂亮:加权分从 4.045 涨到 4.473。拆开看,简洁度维度涨得最猛(3.429 → 4.571),而权重最高的正确性(+0.190)和安全性(+0.024)也没掉——README 里那句“不是拿准确度换简洁”,在数字上站得住。

但同一份 RESULTS.md 往下读三行,写着 Release gate: FAILED。失败原因是闸门的第一条规则:”候选中不能有任何阻断性发现”。候选有 3 个,基线有 7 个,翻了一倍还多,照样不算过。

我把这个闸门单独复现了三次,结论很干净:

  • 按公布的每用例均分重建(加权分 4.045 对 4.473,与我复现出的算数完全一致)、候选仍带 3 个阻断 → 不通过;
  • 候选全维度满分 5.0、只保留 1 个阻断 → 不通过;
  • 候选全维度 5.0、0 个阻断、基线 4.0 → 通过。

也就是说,规则 1 是一条绝对条款:只要用例集里还剩任何一个阻断性发现,再优秀的候选也过不了。RESULTS.md 自己把这层写透了——”按现在的写法,任何候选都不可能在还有阻断留存时通过,无论它改进了多少”。

更麻烦的是,14 条用例里有一条结构上不可能通过。agent-owned-edit 问的是”我让你改 README 的错别字,你有仓库权限,接下来怎么做”,评分要求”直接动手改,然后报告验证结果”。但两个 runner 的配置一个是 --tools "",另一个是 --sandbox read-only——谁都没有工具。作者在 issue #98 里承认:这是”在一个没有行动能力的配置里要求智能体行动”,而且基线在这种不可能的任务上退化成了”我现在去读文件,让我用一下工具”这种自言自语。

真正的坏消息只有一条:partial-success 用例上候选回归了 −0.63 分(三轮分别是 +0.05 / −0.70 / −1.25)。机制被指得很准——规则 8 要求”先说原因,再给修复”,当证据不足以确定原因时,这个模板会推着模型去编一个原因。评判模型的批注原文是:”把『缺少认证头』当成确定原因并给出修复,没有任何证据支撑。”作者没有辩解,把它标成了”唯一值得加试验轮次的方向”。

顺带说,它的盲评机制不是口号:42 组(用例、轮次)的 A/B 标签由组名的 sha256 派生,我算出来 A/B 分布是 23:19,同一组重跑标签不变——结构上确实没给评委留下位置信息。

两个真实的坑:常开钩子会静默复活,中文文档缺两节

坑一:你说”关掉”,一次上下文压缩就给你打开。

Claude Code 上有个常开模式:把 flag 文件写到 ~/.claude/.i-have-adhd-always,之后每次会话启动由 SessionStart 钩子把整套规则注进去。我实测了:flag 不在时零输出,flag 在时每次注入 6,986 字节,而且 sh 版和 Node 版两个实现的输出逐字节一致。

问题出在匹配条件上。hooks.json 写的是 startup|resume|clear|compact——resume 和 compact 都是接着旧会话继续,但钩子本身只检查 flag 文件是否存在,全程不读 stdin(我把 hooks/ 目录全部文件 grep 了一遍,没有任何 stdin 或 source 字段的读取)。

于是我把 {"source":"compact"} 喂进去,输出和 startup 逐字节相同。意思是:你在会话里说了”停掉 ADHD 模式”,压缩一次之后规则会带着”ADHD 模式已激活,适用于每一条回复”的横幅重新注入,而钩子输出在界面上默认不可见。

这条不是我发现的——仓库有个叫 AI Agora 的讨论区(issue #127),专门让 AI agent 之间讨论规则措辞,提这条的 agent 在结尾署了 provenance:由 Claude Code(claude-opus-5)起草并验证。同一讨论区的另一条提案(opencode 配 GLM-5.3 起草)指向的正是规则 8 的编原因问题,和评测里的回归对上了。这些提案目前都还没被合并。

坑二:中文安装文档比英文少两节。

.github/install/INSTALL.zh-CN.md 有 12 个平台章节,英文版有 14 个:OMP(Oh My Pi)整节缺失,OpenCode 被并进”其他运行环境”的通用段落里。另外规则的缩写版散落在 13 个文件里,光 INSTALL.md 一个文件就复制了 6 份规则清单——想改一条规则,得同时改十几个地方。

同类项目里,规则 9 至今还在改。15 条评论的 issue #96 里,用户反馈”控制在 5 项”被模型字面执行成”砍掉第 6 项之后的全部”,作者前后给了三版措辞,当前版本的解法是加一句”多余的条目内部保留,只是不显示”。

和同类比,它站在哪个位置

项目 星数 层次 核心手段
i-have-adhd 43,456 结构层 10 条规则重排回答形状:先动作、编号、重述状态
Caveman 105,244 语言层 用洞穴人语体压缩输出,宣称省 65% token
stop-slop-zh 47 语言层(中文) 禁词表 + 标点规范 + 四层质检,专治中文 AI 味

Caveman 和历史榜首那批项目在同一条赛道上:压语言、省 token。i-have-adhd 换了个层面——它几乎不省字,改的是信息的顺序和可见性。issue #4 里就有人问能不能把两者合体,作者的回答是”这个仓库只做 ADHD 相关规则,想合请自己 fork”。

stop-slop-zh 的对比尤其值得看一眼:它的作者跑到 issue #42 里问”把结构收紧,模型会不会把冗余转移到句子层面”,i-have-adhd 的作者直接承认”结构本身不够,句级清理放在发送前检查那一步”,并说”塑完形状,填充物会跑进句子里,然后你追着它跑”。两个作者都确认:严格规则能抬高下限,也会削平上限,所以两边都加了”默认而非绝对”的逃生舱。

适合谁:日常在 Claude Code / Codex / Cursor 里跟 Agent 来回拉锯、经常要翻半天找结论的人;团队里要让 AI 输出变成可执行步骤的负责人。不适合谁:主要用 AI 做长文写作和头脑风暴的人(它专门为”解释模式”开了豁免,但你本来也不需要它);指望它省 token 的人(要省 token,去看 Caveman)。

值得装,但要知道它的三处短板

我的判断是:装,但要把它当一个需要维护的规则集,而不是一个装完就忘的插件。三条注意事项——第一,Claude Code / Codex / Qwen Code 上它默认不自动生效,必须显式调用 /i-have-adhd;第二,上下文压缩或分叉会话会让它掉线或静默复活,觉得输出漂回老样子,重新调用一次是最省事的解法;第三,别把它当成”AI 输出质量的保证”——它有一份诚实到罕见的自评报告,评的是回答形状,不是回答对不对。

顺带一个可以偷师的点:这个仓库把”我怎么证明自己有用”写成了可复现的代码(14 条用例、盲评、发布闸门、成本上限),还允许 AI agent 在专门议题里提交带模型署名的提案。做开源项目的人比做 skill 的人更该抄这套东西,因为它把”我改进了多少”从口嗨变成了能被别人跑出来的数字。

关注 AI 商业快讯,每天一篇 AI 热点深度解读。

相关阅读:

本文数据于 2026-09-13 抓取:仓库 star 数、fork 数、提交时间来自 GitHub API;仓库结构与评测运行结果来自本机 Alpine aarch64 沙盒实测(run_evals.py validate / plan、pytest 51 项、闸门三场景复现、always-on 钩子两种实现对比)。评测框架中的模型打分沿用作者 2026-08-02 公布的数据,非本人重跑,已如实标注。

anything2explainer 实测:上线 3 天 954 星的话题转讲解视频 skill,8 个 Agent 并行 40 分钟出一条片

anything2explainer 实测:上线 3 天 954 星的话题转讲解视频 skill,8 个 Agent 并行 40 分钟出一条片

想把一个技术概念做成一分钟讲解视频,多数人的第一反应是找 Sora 或 Veo 生成 —— 结果画面很炫,字全是乱码,画面上的数字一个都不敢用。第二条路是自己开剪辑软件,一帧一帧摆元素,做一条四分钟的片要熬夜。

9 月 8 日开源的一个 Claude Code / Codex skill 想解决这件事:给它一个话题,它产出一条 1280×720、带配音、带逐字字幕、带章节进度条的科普讲解片,全片每一帧都是代码画出来的。上线三天多,954 星、172 个 fork —— 这是我这两天见过涨得最快的 AI 视频方向仓库。

它到底交付了什么

先纠正一个预期:它不是一个「一句话出片」的工具。作者在 README 里写得很直白:这不是 CLI,交付的是「一个 AI 编程 agent 拍完一条片所需要的全部方法」。

拆开看是四层:

层 内容 规模
流程 SKILL.md:9 个阶段、4 个确认点、8 条硬性原则 86 行
规范 reference/ 九份文档:风格、动效词汇、构图与光、配音分镜、多 agent 协议 687 行
工程 可编译的 Remotion 4 模板 + 图元库 + 11 个脚本 7998 行 TSX/TS + 768 行 Python
标尺 样片《RAG 与知识库》全套档案:调研、解说词、分镜、44 个镜头源码、QC 报告、成片帧 8246 帧 = 4 分 35 秒

真正稀有的不是模板,是把审美写成了可判定的数字。 模板本身只是 Remotion(用 React 写视频)的工程封装,市面上不缺;缺的是这种句子:「每个镜头静止帧占比 ≤40%、最长静止 ≤1 秒」「主角高度 ≥170px 且必须带光」「每个镜头 ≤1 处闪烁,且只给该镜头的核心术语」「内容区最大物体 <110px 不得持续超过 45 帧」。这些数字不是宣传语,仓库里有对应的检测脚本。规则可判定,才谈得上验收。

它怎么跑一遍

它的运行方式更像一个剧组,而不是一个按钮。九个阶段里,主会话只做编排与验收,调研、打样、构建、QC 都是派出去的 agent:

  • 调研 1 个 agent 先产出带来源的调研文档(样片那份 29222 字符、128 个 URL,覆盖定义的每条数字);画面上出现的每个数字、年份、英文术语都必须能在调研文档里查到出处,没核实的不许上画面。
  • 写完解说词后 tts_build.py 用词级边界把每句切成字幕块,直接算出每句的起止帧号,写进时间轴与字幕表。
  • 主会话定分镜、补图元,先只派第 1 组做出前 30 秒给你看,确认风格后才并行派剩下的 7 组。
  • 渲完不是结束:每章派 1 个 QC agent 逐帧核,再派修复 agent,样片跑了两轮 QC(v1 报出高 1 / 中 23 / 低 42,v3 终检时白名单外的闪烁是 0 处)。

我核对过它的时间轴算术:8246 帧 = 274.9 秒、44 句净朗读 249.9 秒、留白 25 秒占 9% —— 全部对得上。这不是拍出来的片子,是算出来的。

代价也写得很清楚:一条 4 分半的片子,约 2 小时、8 个构建组并行 40 分钟、磁盘预留 5GB 以上。

实测:模板能编译,工具链有坑

我在手机上(Android 内的 Alpine Linux aarch64 沙盒,Node 22)clone 了仓库实测,宣称与实测对比如下:

项目 仓库宣称 实测结果
模板可编译 开箱 npm install + tsc 250 个包 / 263MB / 36 秒;tsc --noEmit 15 秒,0 个类型错误
静态自检 几秒查帧覆盖、闪烁白名单、字面量 44 个镜头全覆盖;但报 18 个问题,其中 17 个是误报
默认配音 edge-tts 免费云端合成 44 句里 34 句拿到音频,随后一句连续 4 次重试失败,脚本当场退出
成片渲染 无 GPU,CPU 渲染 没跑通:需下载 chrome-headless-shell,下载源不通且无 linux-arm64 版
跨平台 macOS 验证过,Linux 应该能用 5 个 shell 脚本写死 #!/bin/zsh,建项目第一步就中止

自检脚本那 17 个误报值得单独说:脚本要求闪烁白名单以固定格式内联写在分镜表里,而样片的分镜表写的是「白名单见 AGENT_RAG_BUILD_RULES.md §8」,正则抓不到,白名单被读成 0 条,19 处合规闪烁全部标红。唯一那条真问题也很有意思 —— SC27 的代码帧区间比分镜表多 4 帧,注释写明是第二轮 QC 故意做的淡出重叠。也就是说:这条检查只能报「对不上」,不能判断「是不是有意为之」。

sed -i '' 是 BSD 语法,在 Linux 上会报 No such file or directory 然后中止。同一个问题也出现在仓库第 4 号 PR 里:有人在树莓派 5 上端到端跑通了一整条片,顺手把 zsh、BSD sed、ARM 上的 TTS 与系统浏览器配置一起修了,目前还没合入。

有意思的是它自曝的返工日志

仓库里最有价值的文件可能是 reference/lessons.md(199 行)。作者用这个 skill 拍了至少 4 部片,每踩一个坑就写一条根因,其中几条是自曝:

  • 样片自己不合格。 第 4 部片加入「持续动作」规则后,回头量化样片:4/6 镜头静止帧占 42%–72%、最长静止 2.8 秒,全部超过新规则。作者原话是「样片也有同样的毛病,所以『对标样片』筛不出它。」
  • 检测分级会骗人。 组级低分辨率检测 48/48 全部通过,成片复测却有 11 个镜头超限(3 个真静止、8 个只有小面积动作)。于是流程里写死了:成片复测才算判据。
  • 一个静默降级的 bug 藏了很久。 edge-tts 从 7.2.0 起默认不再返回词级边界,脚本拿不到词边界就退化成「按字数插值」估字幕位置。作者实测最大偏差 15 帧 —— 整块字幕晚半秒,并承认「这个洞在所有 edge 引擎的成片里一直存在」。

一个项目敢把自家样片的实测短板写进仓库,比任何宣传语都有说服力。

谁适合,谁别碰

先划清路线:这类需求和 OpenMontage 那种「121 个工具调云 API 出片」不是一条路 —— 后者靠生成模型要素材,它一帧都不用生成模型,全部代码绘制,所以任何一帧都能改、每个数字都能追到来源。另一条路是 Manim / Remotion 手写,它比手写多的正是那套流程和判据。

适合:做技术科普、课程、产品原理动画的个人或小团队,愿意花约 2 小时等一条 4 分半的片,并且看重「画面上每个数字都能溯源」。中文是一等公民,文档中文优先,还有独立的英文片配置。

不适合:想一句话出片的人 —— 它会在写文案前、配音前、定稿前、前 30 秒样片这四个节点停下来等你确认;要竖屏的人(模板与安全区全部按 1280×720 横屏);以及任何商业用途。

商业许可这条不是假设。项目用的是 PolyForm 非商业许可,商用需要作者单独授权,而仓库第 5 号 issue 就是一位教育自媒体在问商业授权怎么办理、是否支持多个账号、能不能改模板做竖屏 —— 截至今天,作者没有回复。

结论

三天 954 星、172 个 fork,说明「把内容变成讲得清楚的视频」这个需求是真实的。但它的价值不在自动化,而在它把一件靠审美的活儿拆成了可验收的工程步骤 —— 从 把审美纪律编译进 agent 到 把方法论写成 skill,这条路数上的极端版本就是它。多数 AI 视频工具还停在「能不能生成」,它已经在回答「能不能验收」。

值得放进观察清单。但真正上手前,先把 zsh / sed 和默认 TTS 这两个动手就遇到的坑解决掉。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

华为云码道每天 1000 万 Token 免费拆解:积分怎么换算、两条硬限制、真实成本

华为云码道每天 1000 万 Token 免费拆解:积分怎么换算、两条硬限制、真实成本

每天 1000 万免费 Token,不用绑卡、不用拉新、注册就能用——这是华为云码道(CodeArts)「码力续航计划」8 月 18 日上线时打出的招牌。但到 9 月 12 日,这句话其实已经过期了:9 月 4 日 23:59 起,码道把计费单位从 Token 换成了「积分」,免费额度也跟着改名叫「每日签到 1000 积分」。

如果你打算薅这笔额度,有三件事得先弄清楚:1000 万 Token 和 1000 积分是不是同一件事、它能不能接到你自己的 Agent 里、以及它到底够你用多久。本文所有价格与规则截至 2026 年 9 月 12 日,以官网与客户端实际展示为准。

码道是什么:华为云的代码智能体,5 月底刚转商用

华为云码道(CodeArts)代码智能体是华为云的 AI 编码产品,官方定位是「集代码大模型、IDE、自主开发模式为一体」,主推规范驱动开发、代码库索引、专家 Skills、Agent Team 多智能体协作这些企业级能力。时间线大致是:2 月 11 日万人公测(当时接入 GLM-4.7 与 DeepSeek-V3.2),2 月 26 日公测版正式发布,5 月 30 日开启商用,9 月 4 日深夜切换到积分计费体系。

交付形态有五种:码道 IDE、JetBrains 系列插件、VS Code 插件、码道 CLI/TUI,以及桌面端。这一点比「网页版 AI 编程工具」重要——它意味着你可以把它装进现成的开发习惯里,而不是换一整套工作流。

免费额度地图:三个入口,只有一个是「每天」

截至 9 月 12 日,码道官方口径里的免费积分有三个来源:

  • 每日签到:1000 积分。有效期到 2026 年 12 月 31 日 00:00 为止的每个自然日都能领,官方写明自发放之日起 30 天内有效。
  • 新用户注册:4000 积分,30 天内有效,同样是到 12 月 31 日截止。
  • 学生认证:4000 积分,90 天内有效。
  • 另外体验版套餐本身自带 500 积分/月。

这里出现了第一处需要留意的信息错位。活动页(最近更新 9 月 2 日)仍然写着「每日 1,000 万免费 Token」「额度当日有效、0 点清零不累计」;而计费文档(9 月 11 日更新)已经把同一笔额度写成「每日签到 1000 积分、自发放之日起 30 天内有效」。同一个福利,两个官方页面给了两套有效期规则——旧约定是当天清零,新约定是 30 天。真要用,去控制台看自己账号里的到期时间,别信任何一篇二手教程。

另外,活动页口径还写着「第一期总池固定、先到先得,额度耗尽当期活动就结束」,官方称第一期总量价值 100 万元 Token,后续规划多期接续。也就是说这 1000 万/天并不是「永久长期有效」,而是一轮一轮的活动,随时可能换挡。

核心拆解:1000 积分到底值多少钱

这是整件事里最不透明的一环:官方从没正式公布过「积分 → Token」的换算表,只公布了模型的积分消耗系数。

但有两份官方材料可以交叉反推:活动页把同一笔福利写作「每日 1000 万免费 Token」,定价页把同一笔福利写作「限时每日领 1000 积分」。两者指向同一件事,反推口径约为 1 积分 ≈ 1 万 Token;再叠上官方表格里的模型系数(GLM-5.2 为 0.7、OpenPangu-2.0-Pro 为 0.7、OpenPangu-2.0-Flash 为 0.32,系数越高越费积分),用便宜模型时同样的 1000 积分能跑出更多 Token。这个换算是我根据官方页面推算的,不是官方文字承诺,请按这个前提看下面的账。

先看档位地图。个人版四档的价格与额度如下(月付/年付,年付为官方标价):

版本 月付 年付 套餐积分/月 会话并发 Agent 并行任务 知识空间 代码库索引
体验版 0 元 — 500 3 3 500MB 5 千文件
标准版 98 元 823.2 元 2000 5 5 5GB 5 万文件
高级版 198 元 1663.2 元 4000 5 5 5GB 5 万文件
旗舰版 498 元 4183.2 元 10000 5 5 5GB 5 万文件

企业专业版是 198 元/席位/月(年付 1980 元),每席位 2000 积分,可买 1~1000 席。积分包按个人版 ¥50/1000 积分(有效期 1 个月,只有标准版及以上能买,体验版买不了)。

把积分包折算成同行通用的「元/百万 Token」:¥50 买 1000 积分、1 积分约 1 万 Token,相当于 ¥5/百万 Token。而华为云自家 MaaS 平台直购同样模型的价格是:GLM-5.2 忙时输入 8 元、输出 28 元/百万 Token(闲时打 7 折,为 5.6/19.6 元),DeepSeek-V4-Pro 是 12/24 元,DeepSeek-V4-Flash 是 2/4 元,openPangu-2.0-Flash 是 0.2/0.8 元。

按输入输出 3:1 的编码场景混合估算,GLM-5.2 直购约 13 元/百万 Token,而码道积分包约 5 元——买积分包跑旗舰模型,比官网直购便宜一半以上;但如果你的活主要是便宜模型能干的(比如 DeepSeek-V4-Flash 混合约 2.5 元、openPangu-Flash 约 0.35 元),那积分包反而更贵,直购 API 更划算。

四个容易踩的隐藏成本

第一,额度出不了码道。 活动页 FAQ 原文写得很清楚:「额度仅限华为云码道平台内部消费,不支持导出到开源框架或者第三方产品。」也就是说,这笔免费额度不能变成 API Key 接到你自己的脚本、Claude Code、Cursor 或自建 Agent 里——想这么干只能用码道客户端里「自定义模型」的 BYO 通道,填自己的 API Key,且调用不消耗套餐积分,等于反过来:你自己的额度自己付钱。这一点与「免费模型 API」类活动(Cloudflare Workers AI、AMD Token Factory)是根本区别。

第二,体验版用完就断,且不能充值。 计费文档写得很直白:免费套餐(个人体验版)积分用尽后「不可购买积分包,不能继续发起请求」。付费档积分用尽同样要新购积分包才能继续调用。也就是说,签到额度烧完的那一刻,你的 AI 编码工具就当天下线了。

第三,高峰期排队,免费档优先级最低。 官方 FAQ 描述了三类排队提示:队列已满直接排队、高峰排队提示位次并建议「升级套餐享优先处理」、套餐额度用尽后请求进入排队。优先级顺序是旗舰版 > 高级版 > 标准版 > 体验版。加上体验版只有 3 个会话并发、3 个 Agent 并行任务、代码库索引上限 5 千文件——仓库稍大一点,索引本身就不够用。

第四,额度不够经花。 华为开发者论坛那篇《9 月 5 日更新计费模式》的帖子下,有用户回复称开通 98 元标准版后不到 2 小时就把积分(含体验额度)消耗完,感慨「不是大户真搞不起」。这条只是论坛个例、并非我的自测,但它和「1000 万 Token 够高强度编码一整天」的媒体口径形成了明显反差——真实分水岭在于你用不用 Agent 模式跑多轮工具调用。

和同行比,这笔免费额度算激进吗

国内的同类工具也在用积分制,但免费档的量级差距很大(各家积分定义不同,不可跨平台换算,只能看「免费档 vs 付费档」的比例):

工具 免费档 免费额度 付费最低档
华为云码道 体验版 0 元 套餐 500 积分/月 + 每日签到 1000 标准版 98 元/2000 积分
字节 Trae 国内版 Free 0 元 500 积分/月(全功能) Lite 49 元/2000 积分
腾讯 CodeBuddy 个人免费版 500 积分/月 月付 99 元(连续包月 70 元)
阿里 Qoder CN 免费档 2000 credits/月(5 月公告口径) 付费档另有配额

按这个比例算,码道免费档每天 1000 积分、一个月理论上能领到 30000 积分,是它自己 98 元套餐月额度(2000 积分)的 15 倍——免费/付费比例是目前几家国产 AI 编程工具里最激进的。这也解释了为什么它必须加两条限制:额度不能导出、不能累积成永久资产。

结论:值得薅,但别当作主力方案

判断很明确:

  • 适合谁:还没用过 AI 编码 agent 想零成本试水的开发者;偶尔用华为生态(鸿蒙、昇腾)开发的团队;把码道当第二工具、只在关键时刻切过去跑大任务的人。
  • 不适合谁:每天高强度跑 Agent 的重度用户(签到额度大概率撑不过半天,且体验版用完只能等次日);想把免费额度接进自建 Agent 流水线的工程团队(官方明确不支持导出);大仓库项目(体验版 5 千文件索引上限)。
  • 观望信号:官网口径里「每日签到」的截止日是 2026 年 12 月 31 日,到期后是续期、还是转成纯付费档,官方还没说;第一期活动又写明「额度耗尽当期结束」。所以这更像一个窗口期福利,而不是长期定价。

一句话:它确实是目前中文圈最容易被薅的 AI 编码额度,但薅之前先接受两个前提——只能在码道客户端里用,且用完当天就没得补。

(价格、额度与活动条款截至 2026-09-12,积分模式与签到规则随时可能调整,下单或投入时间成本前请以官网与客户端实际展示为准。本文为独立评测,与文中厂商无利益关系,未接受任何形式的赞助或免费额度;本文未注册账号、未自购任何档位,积分换算为依据官方页面口径的反推,非官方数据。)

相关阅读:AMD Token Factory 全景拆解:每天 10 美元的免费大模型 API|Cloudflare 免费 AI 服务升级全景拆解|Pi Agent 实测:默认只给模型 4 个工具的极简编码 Agent

关注 AI商业快讯,每天一篇 AI 热点深度解读。

UI UX Pro Max 深度评测:12.7 万 Star 的设计 skill,192 套配色全过 WCAG,中文关键词却 0 命中

UI UX Pro Max 深度评测:12.7 万 Star 的设计 skill,192 套配色全过 WCAG,中文关键词却 0 命中

用过 Claude Code 写页面的人都见过同一种丑:紫粉渐变、千篇一律的圆角卡片、emoji 当图标。这不能全怪模型——设计规则散在几百篇博客、几十份设计规范里,它不知道该照哪一套下手。

有个开源 skill 干脆把这件事做成了数据库:192 个行业的配色与设计推理、79 种可检索的 UI 风格、119 条 UX 准则,全部固化成本地 CSV,再配一个纯 Python 的检索引擎。项目名叫 UI UX Pro Max,12.7 万 Star,MIT 协议。

我在沙盒里把它整个拆开跑了一遍:30 次设计系统生成、160 个自带测试、全量 192 套配色的对比度验算,以及 10 个中文关键词的命中测试。结论比”又一个热门 skill”复杂一些。

它是什么:把设计规则做成可检索的数据库

一句话定位:给 AI 编码助手(Claude Code、Cursor、Codex、Copilot、Windsurf 等 19 个客户端)装一个本地设计智库。你正常提需求”给我做个 SaaS 落地页”,它自动触发,先查库生成整套设计系统,再写代码。

架构上是三层:

  • SKILL.md(约 16KB):Agent 读的行为契约,规定 10 个优先级类别、什么情况必须查库、什么情况必须跳过;
  • CSV 数据层:14 个数据文件,行业、风格、配色、字体、图表、动效、UX 准则、22 个技术栈的规则;
  • search.py 引擎:4,031 行 Python,只用标准库,不装依赖、不发网络请求,用 BM25 排序 + 条件规则做推荐。

跑一条命令就能看到它的核心产物——search.py "beauty spa" --design-system 会输出八段结构:页面模式(Section 顺序 + CTA 位置)、风格(含性能成本与无障碍风险标注)、完整十六进制配色(含 CSS 变量名)、字体搭配(含 Google Fonts 导入链接)、关键动效、明确的反模式清单、以及交付前自检表。

我逐文件数了一遍行数,和官方口径对照:

数据 官方口径 我实测
行业配色 / 设计推理 192 / 192 192 行 / 192 行
UI 风格 79 可检索(50 活跃) 88 行(50 活跃 + 29 补充 + 9 弃用)
字体搭配 / UX 准则 74 / 119 74 行 / 119 行
技术栈 / 栈内规则 22 / — 22 个文件 / 1,260 行
图表 / 落地页模式 / 图标 25 / 34 / 105 25 / 34 / 105

没有注水。这点值得说一句:同类项目里,”宣称 100+ 工具、实际能跑的只有三成”是常态,这里每一个数字都对得上。

实测:数据是真功夫,工程链路是另一回事

一、470 毫秒,且逐字节可复现

我连续生成 30 次设计系统,总耗时 14.1 秒,平均 470 毫秒一次,全部在离线沙盒里完成。同一参数跑两遍,输出文件逐字节一致——因为它是确定性检索,不是让模型自由发挥。对流水线来说是好事:同样的需求,今天和明天给出的配色不会漂移。

二、自带测试全过

这是我最看重的一项。我直接跑仓库自带的测试套件:

160 passed, 7936 subtests passed in 30.47s

另外 validate_data.py 校验 12 个领域文件 + 22 个技术栈文件 + 推理表,全部 OK。一个”数据即产品”的项目,能把数据校验和测试做到这个程度,是它 12.7 万 Star 里最扎实的那部分。

三、61% 的文件永远不会被打开

我把 SKILL.md 和 README 里文档化的 18 条命令全跑一遍,并用一个 open() 钩子记录脚本读过的每个文件:

  • 技能安装目录共 73 个文件 / 3.41 MB;
  • 全部文档化命令加起来只打开 17 个文件(1.34 MB,39% 的字节);
  • 剩下 56 个文件、2.07 MB,脚本从不打开——其中 31 个是测试脚本和它们的夹具,会被一起装到用户磁盘上(npm 包里的 assets/scripts/tests 是 23 个文件、307 KB)。

这不是我一家之言。9 月 3 日有位开发者提交了一份 200 次运行的审计(issue #484),测得 82% 的文件从不被触及,还顺带发现 --design-system 会静默忽略 --stack 参数。维护者 9 月 6 日合并了修复,只修了第一条:我在当前主分支上实测,现在会打印一行 note: --stack nextjs is ignored in --design-system mode。

但这里有个更现实的坑,见下一条。

四、中文关键词,一个都查不到

数据层全是英文关键词。我拿 10 个中文词直接查,结果是这样的:

查询词 命中 英文对照 命中
玻璃拟态 / 深色模式 0 glassmorphism / dark mode 1 / 1
落地页 / 仪表盘 0 landing page / dashboard 1 / 2
金融科技 / 电商 0 fintech / e-commerce 0 / 1
美容院 / 医疗 0 beauty spa / healthcare 1 / 1

中文查询返回的不是”空值”,而是明确的 count: 0——引擎会提示”这不是匹配到了空字段,是查询没命中数据库”。更实际的影响在设计系统模式:"美容院 落地页" 落到通用兜底(Minimalism & Swiss Style + 蓝色 #2563EB),而 "beauty spa" 给出的是 Soft UI Evolution + 粉色调 #EC4899。

但这不等于中文用户用不了。 真实链路里是 Agent 读英文的 SKILL.md,它自己会把你的中文需求翻成英文关键词再去查——中文圈已经有大量教程和实测(知乎、腾讯云社区、CSDN、B 站,还有一个 1.4k Star 的第三方中文教程站)。真正会踩坑的是”手敲中文命令当 CLI 用”的人。

五、192 套配色,全部通过 WCAG

我把 192 套配色的所有关键配对算了对比度(正文前景/背景、按钮主色/按钮文字、强调色/文字),违规 0 套——全部达到 4.5:1。这解释了它为什么敢把”对比度 4.5:1″写成第一条铁律。

顺带一个有意思的数字:192 套里 32 套(17%)主色落在紫粉色相区间,主要集中在 AI 产品、创意机构、美妆、游戏这些品类。而它的推理表里有 14 个行业明确把”AI 紫粉渐变”写进反模式清单——我逐一核对,这 14 个行业自己的推荐配色都不是紫粉。规则和它自己给的结果,内部是自洽的。

六、版本链路:npm 上停着一个月前的代码

它的 CLI 走 npm,这里有两处实打实的问题。

第一,主包一个月没发新版。 ui-ux-pro-max-cli 最新版 2.15.0 发布于 8 月 13 日,而仓库主分支已经走到 9 月 10 日。仓库里有两个未关闭的 issue(#451、#457)说明原因:8 月 18 日起发布流水线因 NPM_TOKEN 被拒而失败,”自 2.15.0 之后什么都没发出去”。我把 npm 包下载下来实测:npm 版至今仍在静默忽略 --stack,主分支已修的那个提示,装 npm 包的用户拿不到。上周仍有 12,882 次下载。

第二,有个 1 月的旧包还挂在 npm 上。 老包名 uipro-cli 停留在 2.2.3(2026 年 1 月 29 日),每周仍有 4,162 次下载;装它的人会遇到 --global 报错的 bug(issue #215,3 月 29 日开的,21 条评论至今未关)。README 里明写”旧包已废弃,不要用”,但 npm 上并没有把这条路堵死。

还有个小的:官网 uupm.cc 至今写着 57 种风格 / 95 套配色 / 8 个技术栈——数据已经涨到 79 / 192 / 22 了。开源核心之外它还有付费版(品牌、Logo、CIS、演示文稿设计),但官网没有公开价格页。

它和同类比,适合谁

市面上”治 AI 味”的设计 skill 大致两条路线:

  • 提示词/规则路线:taste-skill(84k Star)和 hallmark(28k Star,Anti-AI-slop)走的是这条路——把审美纪律写成规则塞进 Agent。轻、灵活,但覆盖面和一致性取决于模型当场发挥。
  • 数据工程路线:UI UX Pro Max 是这条路——先查库、再生成,配色/字体/对比度有确定答案。

适合:独立开发者、后端转前端、MVP 阶段要快速做出”不像 AI 生成”的界面的人;以及需要一套可复用的设计 token(它能 --persist 把设计系统落成 MASTER.md + 页面覆盖文件,下次直接读文件)。

不适合:已有成熟设计系统的团队(它的建议会和你的品牌规范打架);只做后端/DevOps 的人(技能自己也会跳过);以及期待”它直接替代设计师”的人——它解决的是”下限太低”的问题,不是”上限”。

结论

值得一试,而且是我近期读过的 Agent Skill 里工程底子最厚的一个:数据不注水、测试全过、配色真的过 WCAG、离线可复现。它的短板不在能力,在”发货”——npm 包落后一个月、旧包名还在分流、包体里塞着用户永远用不到的测试脚本,以及一套只认英文的关键词库。

装的时候认准新包名:npm install -g ui-ux-pro-max-cli && uipro init --ai claude。看到 uipro-cli 请绕开,那是 1 月的版本。

如果你也在用 Agent 写前端,可以顺便看看我们评测过的 Pi Agent(10.4 万 Star,默认只给模型 4 个工具)和 ECC(25.5 万 Star 的 Agent 工程纪律系统),都是同一类问题的不同解法。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

Pi Agent 实测:10.4 万 Star 的极简编码 Agent,默认只给模型 4 个工具

Pi Agent 实测:10.4 万 Star 的极简编码 Agent,默认只给模型 4 个工具

用过终端 AI 编码 Agent 的人,大多撞过同一堵墙:功能越加越多,工具列表越拉越长,系统提示词动辄几千 token,模型反而开始选错工具、忘掉目标。Pi Agent 反着做——默认只给模型 4 个工具,系统提示词压到 2.6KB 左右,一年发了 259 个版本,拿到 10.4 万 Star、每周 152 万次 npm 下载。官方文档还明说它「不要」MCP、不要子代理、不要计划模式。这些「不要」到底是省钱的真本事,还是把活甩给社区?我在安卓手机的沙盒里把它装了一遍,跑通了它的 agent 循环,并把每次发给模型的请求原样抓了下来。

一、Pi 是什么:一个「什么都不自带」的编码 Agent

Pi(仓库 earendil-works/pi,命令 pi)是终端里的编码 Agent,也就是常说的 harness。作者 Mario Zechner 是游戏引擎 libGDX 的作者,网名 badlogic。MIT 协议,2025 年 8 月建仓,到发稿时 103,904 Star、12,997 fork、323 订阅者;npm 包 @earendil-works/pi-coding-agent 上周下载 1,526,012 次(9 月 3 日至 9 日,npm 官方统计接口)。

这不是小玩具。主仓库是 11 个包组成的 monorepo,TypeScript 代码合计 318,385 行,其中测试文件 544 个、测试代码 139,487 行;release 累计 259 个,最新版 v0.85.1(9 月 5 日);贡献者里 badlogic 本人 3,701 次提交,第二名 mitsuhiko(Armin Ronacher,Flask/Jinja 作者)668 次。11 个包分别是 coding-agent(CLI 本体)、agent(agent 运行时)、ai(多厂商 LLM API)、tui、protocol、client、server、session-backends、telemetry、chord、evals。

它的官方定位是「minimal agent harness」:让 Pi 适应你的工作流,而不是反过来。落到代码上就是六个明确的「没有」——没有 MCP(官方的理由是「写个带 README 的 CLI 工具就够了」,并专门写了篇博文解释)、没有子代理(要就 tmux 起多个实例)、没有权限弹窗(要更强边界请自己进容器)、没有 plan mode、没有内置待办清单、没有后台 bash。核心保持空,能力全靠四类资源外挂:TypeScript 扩展、SKILL.md 技能包、提示词模板、主题,打包成 Pi Package 用 npm 或 git 分发。运行方式有四种:交互式 TUI、print/JSON(可脚本化,也能被管道喂输入)、RPC(进程集成)、SDK(嵌进自己的应用)。

这和站内此前评测的 ECC(Everything Claude Code) 恰好是两个方向:ECC 把工程纪律整套塞进 Agent,Pi 把核心清空、把选择权交回给使用者。

二、实测:手机 + 零 API key,把它的 Agent 循环抓出来看

测试环境是一台安卓手机里的 Alpine aarch64 沙盒(PRoot,没有任何 GPU 和模型),Node v22.23.2——Pi 要求 Node ≥ 22.19.0,刚好过线。

安装本身没有意外:npm install -g @earendil-works/pi-coding-agent 拉进 132 个依赖包耗时 25 秒,落地体积 154.7MB,pi --version 输出 0.85.1。官方还专门写了 Termux(安卓终端)安装文档,手机跑 Pi 是被支持的场景。

真正要看的是它发给模型什么。我没有 API key,也不想编造数字,于是写了一个假的 OpenAI 兼容服务(本地 HTTP + SSE 流式响应),再用一个十几行的 Pi 扩展注册成自定义 provider,让 pi 把请求打到本地。这样每一次请求的完整 payload——系统提示词、工具定义、消息历史——都会被原样落盘,可以逐字节量。

抓包项 默认配置 显式开启全部内置工具
发给模型的工具数 4 个(read / bash / edit / write) 7 个(+ grep / find / ls)
工具定义 JSON 长度 3,024 字符 5,302 字符
系统提示词长度 2,571 字符 2,673 字符

三个可以复现的结论:

第一,默认真的只有 4 个工具。官方文档写「By default, pi gives the model four tools」,抓包证实:read(读文件)、bash(执行命令)、edit(精确替换改文件)、write(写文件)。grep、find、ls 存在但要靠 --tools 显式打开,一打开工具定义就从 3,024 涨到 5,302 字符,接近翻倍。社区里 Pi 被称作「只用 4 个工具的 Agent」,说的就是这个默认值,不是营销话术。

第二,系统提示词确实小。2,571 字符(英文,约合六七百 token),官方站点的说法是「very token efficient due to its minimal system prompt」,第三方横评也写它「系统提示词不到 1000 token」——实测对得上。这个数字的意义在于:工具定义加系统提示词合计不到 6KB,每一轮对话都要重发一遍,长会话里省下来的就是真金白银。

第三,agent 循环是真的能跑完。假模型按脚本返回工具调用,pi 依次执行了:读文件 → 用 bash 写文件并 cat 回来 → 用 write 落一个新文件,共 4 次 LLM 往返,最后以自然语言收尾。沙盒里真实出现了 out.txt 和 summary.md。零密钥、零真实模型,但工具调度、结果回填、多轮循环、会话持久化这条链路全部走通。

顺手还测了两件事。一是技能兼容:把一份带 frontmatter 的 SKILL.md 丢进项目的 .pi/skills/,pi 把它注入系统提示词的 区块(系统提示词从 2,571 涨到 3,172 字符),只给模型「名字 + 描述 + 文件路径」,让它需要时再用 read 去读全文——惰性加载,不是全文塞进上下文。也就是说,为别的 Agent 写的技能包,Pi 能直接复用。二是会话与导出:会话存成 JSONL(格式版本 3),每一条带 id 和 parentId,天然支持从任意历史消息分支重开;--export 能把整个会话导出成 273KB 的单文件 HTML 分享出去。

两个坑,也如实记下:

  • 走管道运行时,Pi 默认会读 stdin 并把它合并进 prompt。我的第一次调用没关闭 stdin,进程就一直等着,看起来像卡死;加 < /dev/null 才正常。
  • 项目级安装的包,在项目被标记为「信任」之前对 CLI 不可见:pi install npm:pi-web-access -l 明明装好了 134 个依赖,pi list 却显示「No packages installed」,加 --approve 才列出来。设计上是安全考虑,但第一次遇到很容易以为装失败了。

三、横向对比:一个 fork 拿到 3 万 Star,也提供了反面数据

Pi 的极简是有代价的,代价就是别人替你补。最典型的例子是 can1357/oh-my-pi(命令 omp):安全研究员 Can Bölük 在 2025 年 12 月 31 日直接 fork 了 Pi,塞进 LSP 客户端、调试器、浏览器、Python 内核、子代理,约 8 万行 Rust,命名致敬 Oh My Zsh。今天它有 30,562 Star——相当于 Pi 星数的三成,是判断「极简派 vs 全家桶派」谁更受欢迎的一个参考。

有意思的是,同一个模型下 Pi 反而更快更省。工具平台 Composio 在 9 月 1 日发布过一组同模型(deepseek-v4-flash)30 个真实任务的对比:

指标 Pi oh-my-pi(OMP)
任务通过 20 / 30 17 / 30
每次成功成本 $0.028 $0.103
单任务中位耗时 132.2 秒 272.4 秒
平均 token 消耗 558,885 742,283

数据要打折看:这是第三方单一模型、单一题集的测试,不能当成通用结论。但方向和 Pi 的设计逻辑一致——工具越多、提示词越长,便宜模型被拖慢、被绕晕的概率越高。Composio 的结论是 Pi 在「便宜模型的编辑可靠性」上输给 OMP 的 hash 锚定编辑(OMP 自称把某模型的一次通过率从 6.7% 拉到 68.3%),这也是极简派最实在的软肋:没有花招兜底,全靠模型自己稳。

另外,社区的选择本身就构成反讽:Pi 官方说「不需要 MCP」,而 pi.dev/packages 上安装量最大的扩展恰好是 pi-mcp-adapter(约 86.6 万次/月),第二是子代理扩展 pi-subagents(约 41.2 万次/月)。官方留白 + 社区填空,这条路走得通,但「Pi 什么都不带」的代价最终是使用者自己装回来。

模型接入这块对国内读者更实用:除了常规 API key,Pi 支持订阅登录——ChatGPT Plus/Pro(Codex,OpenAI 官方为开源项目背书)、Claude Pro/Max、GitHub Copilot、xAI、OpenRouter。要提醒一句:官方文档明确写了,用 Claude Pro/Max 登录第三方 harness,消耗走的是 extra usage 按 token 计费,不占用你的订阅额度——别以为登录了就能白嫖月费。国内厂商则以 token plan / coding 套餐形式支持:Kimi for Coding、Qwen Token Plan(含中国版、个人版)、小米 MiMo Token Plan(中国/阿姆斯特丹/新加坡三区)、MiniMax 中国站、智谱 zai-coding-cn。

四、259 个 release 背后:一套很硬的治理规则

Pi 的发布节奏和治理方式是它最容易被忽略、但对团队选型很关键的一面。

259 个 release、45 个 npm 版本、最新版本 9 月 5 日发布,同时 issue 关闭 5,855 个、开放 138 个,PR 累计 3,124 个——高频迭代但积压不严重。更能说明问题的是贡献规则:新贡献者的 issue 和 PR 默认自动关闭,维护者每天人工捞回值得处理的,用回复里的 lgtmi(此后你的 issue 不再自动关)或 lgtm(issue 和 PR 都放行)作为通行证;周五到周日提交的内容不保证被审阅。官方贡献指南里写着一条「唯一规则」:你必须理解你自己的代码——用 AI 写代码没问题,提交自己看不懂的 AI 垃圾不行。

供应链上它的洁癖也很少见:直接外部依赖钉死精确版本、.npmrc 设置 min-release-age=2(不使用当天刚发布的依赖)、package-lock 是唯一真源、发布包内附 npm-shrinkwrap 锁传递依赖、CI 用 npm ci --ignore-scripts 且定时跑 npm audit signatures,新增带生命周期脚本的依赖会直接让检查失败。

代价同样清楚,而且是官方自己写在文档里的:

  • 没有内置权限系统。README 原话是「Pi 不包含限制文件系统、进程、网络或凭证访问的权限系统」,默认以启动者的权限运行。要隔离请自行容器化(它给了三种方案:微虚拟机扩展、Docker、策略沙盒)。
  • 扩展和技能等于完全系统权限。官方在包管理文档里直说:扩展执行任意代码,技能可以指示模型做任何事,安装第三方包前请先读源码。
  • 提示词注入无法防护。SECURITY.md 承认 AGENTS.md 或代码注释里的指令可以轻易操纵 Agent,本地用户账号与 Pi 进程被视为同一个信任边界,报告这类问题不算漏洞。
  • 会话数据可以公开。项目鼓励把开源工作的会话用 pi-share-hf 发到 Hugging Face 供改进模型,作者自己也在公开数据集里发布自己的工作会话。这是自愿行为,但团队用之前最好先明确策略。

五、结论:值得放进你的 Agent 工具箱

我的判断是:Pi 不是给「想一键变强」的人准备的,而是给愿意把 Agent 当基础设施来改的人准备的。10.4 万 Star、152 万周下载、259 个 release、六成代码是测试——这套组合说明它已经跑过了「个人玩具」阶段,进入「有人拿它当底座」的阶段。

适合谁:① 想把 Agent 接进自己流程(CI、脚本、自家产品)的人,print/JSON/RPC/SDK 四种模式足够;② 预算敏感、用便宜模型的人,4 个工具 + 2.6KB 系统提示词对低成本模型更友好;③ 已经有一堆 SKILL.md 技能包的人,实测可直接复用。

不适合谁:① 想要开箱即用的调试器、LSP、子代理的人,直接看 oh-my-pi 或 OmO 这类组队方案;② 需要权限弹窗、审计、隔离的人,得先自己搭容器;③ 完全不想读文档的人——Pi 的「没有」清单,每一条都要你自己补。

中文资料已经不缺入门介绍了(知乎有长文、runoob 有教程,甚至有人写了本 Pi 架构书),所以本文更想留的是三件能复现的事:默认确实只发 4 个工具、系统提示词真的只有 2.6KB、SKILL.md 技能包真的能跨 harness 复用。至于「极简还是全家桶」,站内此前评测的 mattpocock/skills 和 OpenMontage 的工具注册表实测 已经给过两种答案,Pi 提供了第三种:把核心清空,让使用者自己决定装什么。