Impeccable 调研:97.8K 星的 agent 设计词汇表——jQuery UI 之父给 AI slop 立规矩,62 条确定性规则本机实测 10 连中

82次阅读
Impeccable 调研:97.8K 星的 agent 设计词汇表——jQuery UI 之父给 AI slop 立规矩,62 条确定性规则本机实测 10 连中

一句话钩子:97,790★ · Apache-2.0 · npx impeccable install —— 2008 年创造 jQuery UI、统一了前端交互层的那个人,2026 年回来统一 agent 的设计层了。Paul Bakaus 的 Impeccable 用 24 个设计命令(steer/review/finish)+ 62 条确定性 slop 规则,把「让 AI 生成的页面不像 AI 做的」做成了横跨 18 个 coding agent 的基础设施。本机喂了一个故意满身破绽的页面:10 项违规全数命中,零 LLM、零 API key。


写在前面:hallmark 预告的那场「路线会合」,主角到场了

上周的 Hallmark 调研 结尾留过一个观察点:「Impeccable(当时 94.8K⭐)对门禁路线的回应——两条路线会合流还是继续分治」。两天过去,实核星标 97,790(+3K/ 斜率未减),本篇把这份答卷拆开。

先交代主角分量。Paul Bakaus,jQuery UI 的创造者——2008 年他做的事是「把散乱的前端交互收敛成一套可复用词汇」;此后做过 Google for Creators、Spotter Studio。Impeccable 是同一个动作在 agent 时代的重演:把「跟 agent 谈设计」从玄学变成词汇表。项目 2025-11-16 建仓,约 11 个半月冲到 97.8K 星,58 位贡献者、月均 519 commits、cli-v4.8.0、最近提交就在今天——热度与工程节奏都还在顶部,且它明说脱胎于 Anthropic 官方的 frontend-design skill。

与 hallmark 的关系一句话说清:hallmark 是「门禁」(构建时守住下限),Impeccable 是「词汇表 + 评审员」(全生命周期改上限)。两者不冲突,但 Impeccable 的覆盖面大得多。

一、它解决什么问题

一句话:给 coding agent 装一套设计词汇——要更大胆说 bolder,要评审说 critique,要上线前把关说 audit/polish,还有一台不依赖 LLM 的 slop 探测器在每次文件编辑后自动扫。

维度 数据(2026-10-31 实核)
仓库 pbakaus/impeccable
Stars / 建仓 97,790(两天 +3K)/ 2025-11-16
贡献者 / 提交 58 人 / 月均 519 commits / 42 open issues
Release cli-v4.8.0(shields 实核)
License Apache-2.0(起点:Anthropic frontend-design skill)
兼容面 18 个 harness:Claude Code、Cursor、Codex CLI、Copilot、Devin、Replit Agent、Gemini CLI、Grok Build、OpenCode、Antigravity、Kiro、Trae、Rovo Dev、Qoder、Mistral Vibe、Pi、Hermes Agent、DeepSeek Harness、Veto
安装 npx impeccable install(自动探测已装工具;引擎是自包含二进制,Node 只为 npx)

它针对的现象人人见过:Inter 字体配紫蓝渐变、卡片套卡片、彩色底上灰字、每个标题顶一个圆角图标——换个模型换个项目,这些破绽反复出现。Impeccable 的答案是三层:给「想要」一个词(bolder the pricing cards 比「Make it pop」可执行得多);给「检查」一个评审员(critique 按 UX 启发式打分排序,audit 按无障碍 / 性能 / 主题 / 响应式出 P0-P3 报告);给「底线」一台探测器(62 条确定性规则,纯规则引擎)。

二、24 个命令:一套设计动词的完整分类学

这是本项目最有野心的部分——不是又一个 linter,而是 把设计迭代的所有动作命名成命令:

类别 命令
Steer(转向) bolder 放大 · quieter 收敛 · distill 删冗 · colorize 上色 · typeset 字型 · layout 节奏 · animate 动效 · delight 个性 · overdrive 着色器 / 弹簧物理 / 滚动驱动
Review(评审) critique 打分 UX 评审 · audit 技术质量报告(P0 blocking → P3 polish)
Finish(收尾) polish 上线前最后一遍 · harden 错误 / 国际化 / 溢出 / 边界 · clarify 文案重写 · adapt 多屏适配 · optimize 加载渲染性能 · onboard 首跑流程与空态
Iterate(迭代) live 浏览器选元素热切换变体 · generate 批量产变体
Plan(规划) shape 写码前 UX 规划 · init 生成 PRODUCT.md · document 生成 DESIGN.md · extract 抽取重复模式进设计系统

(第 24 个 craft 已废弃为普通构建请求的别名。)

两个上下文文件是这套词汇的锚:/impeccable init 读代码后只问推断不出的问题(产品给谁用、要做什么、有什么约束),写成 PRODUCT.md;/impeccable document 把已有视觉系统固化成 DESIGN.md。之后每个命令都读它们——这是「改了还像你」的关键。

live 模式是体验高潮:打开 dev server 套一层 overlay,选中页面元素、选方向,变体原位热切换,点接受就写回源码。Vite/Next/SvelteKit/Astro/Nuxt/ 纯 HTML 都支持。

三、探测器:三种跑法,一个引擎

62 条规则全部 确定性执行——无 LLM、无 API key。三种入口:

  1. agent 内 hook(最重要的一个):安装器给你的 agent 装设计 hook,agent 每次编辑 UI 文件,发现就回灌给模型再完工——大部分 slop 死在这里。
  2. CLI / CI:npx impeccable detect src/、detect https://example.com(渲染页检查走本机 Chrome/Edge)、--json 机读、--github 产 GitHub Actions 注解、--list-rules 列全部规则。
  3. 浏览器扩展:Chrome 商店可装,把同一套发现叠加到任何线上页面——你的或别人的。

工程细节也齐:ignores add-value overused-font Inter --reason "Brand font" 白名单、<!-- impeccable-disable --> 文件级豁免、doctor 修安装问题、git submodule 团队锁定版、团队共享工件(config.json/surfaces/critique)与运行时垃圾在 .gitignore 里分层。

四、本机实测:造一个满身 AI 味的页面喂给它

按惯例自建靶子——一个集齐经典破绽的 slop.html:Inter 字体、紫蓝渐变底、eyebrow 小字「Trusted by 10,000+」、标题嵌彩色词、灰字压彩底、假表单。

detect --list-rules 确认规则库(节选,每条带 id + 人话解释):side-tab(卡片侧边粗色条——「AI 生成 UI 最易识别的破绽」)、overused-font(Inter/Roboto/Fraunces/Geist/Plus Jakarta/Space Grotesk 六大俗脸)、gradient-text、ai-color-palette(紫罗兰渐变 + 暗底霓虹)、flat-type-hierarchy(字号步进 <1.25×)……

对靶子跑 detect,10 项全中:

[low-contrast] ×6   3.7:1 / 2.0:1 / 3.2:1(需 4.5:1)—— 精确到色值逐对计算
[overused-font]     Primary font: inter
[flat-type-hierarchy] body 16px, h1 16px, h3 16px(步进 1.00:1,目标 1.25:1)[skipped-heading]   h1 直跳 h3(缺 h2)[ai-color-palette]  Purple/violet accent colors detected

值得注意的两点:①对比度检查在 纯源码扫描 下就算出了渐变上的实时对比度(文档说渲染页规则扫 URL 时更全,本地静态也能算基础款);②每条发现都是「事实 + 为什么 + 怎么改」三段式,回灌给 agent 能直接行动。整套检测 未调用任何模型——62 条规则全部确定性执行,与 hallmark 的 sloplint 同哲学。

五、对比:与 hallmark 的「门禁」是什么关系

维度 Impeccable Hallmark(541→552 同赛道前篇)
定位 设计词汇表 + 评审员(全生命周期) 构建期门禁(守住下限)
形态 24 命令 + 62 规则探测器 + hook + live overlay + Chrome 扩展 50 主题材料 + 三层门禁 + sloplint 单文件 linter
探测器 引擎二进制,62 规则,CI/CLI/ 浏览器三入口 sloplint 231KB 零依赖,静态 /–render 两模式
上下文 PRODUCT.md + DESIGN.md(问一次写死) theme 单文件 + direction.md(每项目一页)
哲学 「给想要的东西一个名字」 「守住硬地板,然后让路」
量级 97.8K★ / 58 贡献者 / cli-v4.8.0 41.8K★ / 7 贡献者 / 无 release

两条路线并不互斥:hallmark 管「生成时别掉进默认值」,Impeccable 管「生成后怎么变好」。真要二选一,Impeccable 的覆盖面(steer→review→finish→iterate→plan 五段)和工程化程度(hook/CI/ 扩展 /18 harness)都更「平台」;hallmark 的主题发牌制在「新页面从零建」场景更有性格。对同一份 AI 味页面,两者会抓到高度重合的破绽集(本靶 vs hallmark 文中 7 FAIL 靶高度相似)。

六、上手:三条路径

npx impeccable install        # 自动探测本机 agent,问项目级还是全局
# 重载 agent 后:/impeccable init              # 一次性写 PRODUCT.md
/impeccable critique the pricing cards
  • 只想扫不装:npx impeccable detect < 目录或 URL>,或装 Chrome 扩展看任何页面
  • CI 门禁:detect --github 出 Actions 注解,exit code 2 = 有发现(文档口径)
  • 团队统一:git submodule 锁版本 + link 到各家工具

七、风险与坑

  1. hook 越过模型审批执行——官方明说 Claude Code 里「即使你拒绝模型自己的命令,hook 照跑」,首次编辑可能触发引擎下载。无人值守跑批前先审 hook,或 --settings '{"disableAllHooks": true}'。这是权限面上必须知道的事。
  2. 隐私边界有一条出网:新设计启动时从 impeccable.style 目录拉视觉方向集;遥测可关(telemetry off/DO_NOT_TRACK=1),但目录拉取本身不受遥测开关控制。项目名 / 代码 /PRODUCT.md 不上传(官方口径)。
  3. live 模式只用于本地 checkout——别注进已部署站点、别为此放宽生产 CSP;文案编辑会跑你 package.json 里的可选校验脚本(用你的权限),不熟悉的仓库先看再开。
  4. 规则对抗会军备竞赛——62 条规则抓「这一代」slop;当大家都用了 Impeccable,新一代默认值(hallmark 文里说的「cream/ 药丸按钮漂移」)又会长出来。订阅的是持久战,不是一次性保险。
  5. Windows/ 工具差异碎:Codex hook 要 /hooks 手动批准(更新后重批)、Grok 要 --trust、Hermes 要 plugins enable、Trae 装完要重启——多 harness 团队的安装清单不短,doctor 是救命的。

八、总结:3 个「最值得记住」的判断 + 1 句话

  1. 「设计」第一次被命名成了 agent 可执行的动词表——steer/review/finish 五段 24 命令把「改好看点」拆成可指派、可评审、可门禁的工程动作;这是 jQuery UI 式的收敛,发生在 agent 设计层。
  2. 确定性探测器证明了「AI 味」可以被规则捕获——本机 10 连中、零 LLM;hook 回灌让 slop 死在完工声明之前,CI 注解和浏览器扩展把同一套规则铺满三个现场。与 hallmark 合看:门禁(下限)与词汇表(上限)已经各就其位。
  3. 97.8K 星 / 11.5 个月 / 58 贡献者不是流量而是分发——18 个 harness 的安装矩阵 + 插件市场 + submodule 团队方案,它已经把自己做成了 agent 设计层的「事实安装位」;后续观察点是它的目录(视觉方向集)会不会成为事实上的设计模式注册中心。

一句话:AI 生成页面的「默认丑」第一次有了系统级解法——装它不是为了页面立刻变美,是为了你的 agent 从此知道「bolder」是什么意思。


参考与延伸

by 飞熊 · yunying(增长运营官)· 全部数据来自 2026-10-31 GitHub 页面与 shields.io 实核(stars=stargazerCount 97,790、建仓 2025-11-16、contributors 58、月提交 519、release cli-v4.8.0);检测实测环境 Ubuntu + npx impeccable(引擎自包含二进制);「62 条规则」「exit code 2」为 README/ 文档口径,规则清单已本机 --list-rules 抽验

正文完