<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>FF6B35 | Agili</title><description>无形 · 无界 · 无处不在 | Formless · Boundless · Everywhere</description><link>https://channel.agi.li</link><item><title>🚨 Tech Radar · @shadcn/lint：给 AI Coding Agent 装上设计系统方向盘用 AI 写前端最大的痛点，就是 Coding Agent 的「样式漂移（Style Drift）」</title><link>https://channel.agi.li/posts/82</link><guid isPermaLink="true">https://channel.agi.li/posts/82</guid><pubDate>Wed, 16 Sep 2026 15:01:08 GMT</pubDate><content:encoded>&lt;div class=&quot;image-list-container image-list-odd&quot;&gt;
      &lt;button type=&quot;button&quot; class=&quot;image-preview-button image-preview-wrap&quot; popovertarget=&quot;modal-82-0&quot; popovertargetaction=&quot;show&quot; aria-label=&quot;Open image preview: 🚨 Tech Radar · @shadcn/lint：给 AI Coding Agent 装上设计系统方向盘用 AI 写前端最大的痛点，就是 Coding Agent 的「样式漂移（Style Drift）」&quot;&gt;
        &lt;img src=&quot;/static/https://cdn5.telesco.pe/file/YiYnj2TLxEDCJbbVrC8JCnoWznPqkl-fV78KP9g3tn7TIfIKOXSSGJtaC_hDyIoItmF8E5mLutlnIlHKBbt55uIxm4LJjAUd5_9ZvG-mCeP9bGs4c73J_20NeO1TLcBK0MG74-fFcaqKQgdBTC7H87Mz15zgyqTzRFvM6uy4ddRTwtC-xRPJjvw61BHGMewBoQsCOzvKvI1IEhs3KBeZsXZS9eud18dh9WN_Isux0fj-Ma-1ELBnYGZqV8fq8485DFaY-Rxei7ww-uFwbBTAQ-PdBwBoEKtEwPRy5IP--rDZEmvDaxqw1c9fmHD7675QSm_dNPoVcFkp4N_FYT8-1A.jpg&quot; alt=&quot;🚨 Tech Radar · @shadcn/lint：给 AI Coding Agent 装上设计系统方向盘用 AI 写前端最大的痛点，就是 Coding Agent 的「样式漂移（Style Drift）」&quot; width=&quot;800&quot; height=&quot;339&quot; loading=&quot;eager&quot; /&gt;
      &lt;/button&gt;
      &lt;div class=&quot;modal&quot; id=&quot;modal-82-0&quot; popover=&quot;auto&quot; aria-label=&quot;Image preview&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__backdrop&quot; popovertarget=&quot;modal-82-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;&lt;/button&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__close&quot; popovertarget=&quot;modal-82-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;×&lt;/button&gt;
        &lt;div class=&quot;modal__surface&quot;&gt;
          
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🚨&lt;/b&gt;&lt;/i&gt; Tech Radar · &lt;a href=&quot;https://t.me/shadcn&quot; target=&quot;_blank&quot; title=&quot;@shadcn&quot;&gt;@shadcn&lt;/a&gt;/lint：给 AI Coding Agent 装上设计系统方向盘&lt;br /&gt;&lt;br /&gt;用 AI 写前端最大的痛点，就是 Coding Agent 的「样式漂移（Style Drift）」。给它一个需求，上一秒还在飞速写业务，下一秒随手掏出 p-[13px]、bg-[&lt;a href=&quot;/search/result?q=%23FF6B35&quot; title=&quot;#FF6B35&quot;&gt;#FF6B35&lt;/a&gt;]、hover:rounded-full，瞬间击穿团队维护的 Design System。&lt;br /&gt;&lt;br /&gt;传统编译/Lint 报错只会冷冰冰提示「TS2353: padding 属性不存在」，结果 Agent 往往开始发散幻觉硬搞  逃逸。shadcn 团队开源的 &lt;a href=&quot;https://t.me/shadcn&quot; target=&quot;_blank&quot; title=&quot;@shadcn&quot;&gt;@shadcn&lt;/a&gt;/lint 则把 Linter 彻底重塑为 AI 的自愈纠偏方向盘：&lt;br /&gt;&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🔍&lt;/b&gt;&lt;/i&gt; 核心看点：&lt;br /&gt;&lt;br /&gt;1. 报错即 Prompt：不再单向报错，而是直接给出替代路径。例如写了 p-4，报错直接指引「 独占间距，请改用 size (sm, lg) 或外层 margin」。&lt;br /&gt;2. 语义化色值推导：基于 OKLab 色彩空间计算色差，自动将野色值匹配到 &lt;a href=&quot;https://t.me/theme&quot; target=&quot;_blank&quot; title=&quot;@theme&quot;&gt;@theme&lt;/a&gt; 中最接近的声明 Token。&lt;br /&gt;3. Contracts 样式契约：细粒度定义组件部件权限（如允许 CardTitle 改字体大小但禁止换字体族，允许 CardContent 调内边距但禁止换排版）。&lt;br /&gt;4. 评测收敛惊人：官方 150+ 轮真实任务实测，Claude 3.5 Sonnet / Haiku / Opus 均在 1 轮内收敛到 0 违规，纠错 Token 成本骤降 10%~48%。&lt;br /&gt;5. 双引擎兼容：原生依托 Tailwind v4 动态编译器，同时支持 ESLint 与极速 Rust Linter「Oxlint」。&lt;br /&gt;&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;⚡️&lt;/b&gt;&lt;/i&gt; Agili 犀利点评：&lt;br /&gt;这是开发工具链演进的重要分水岭——把 Linter 彻底重塑为 AI Agent 的可编程闭环护栏（Steering Engine）。&lt;br /&gt;避坑注意：目前强绑定 Tailwind v4（v3 需升级）；无法穿透 [&amp;amp;_button] 等复杂后代选择器；务必在 &lt;code&gt;AGENTS.md&lt;/code&gt; 里写入「npm run lint」指令以闭环自愈。&lt;br /&gt;&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🔗&lt;/b&gt;&lt;/i&gt; 源码与文档：&lt;a href=&quot;https://github.com/shadcn-ui/lint&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/shadcn-ui/lint&quot;&gt;https://github.com/shadcn-ui/lint&lt;/a&gt;</content:encoded></item></channel></rss>