SuperAPI AI 工具集

tasteroll

设计与创作

查看项目

更新于 11-03 16:21

技能介绍

Tasteroll(roll for taste, keep what sticks)是一个用于快速设计探索与原型生成的工具,核心思路是“受约束的随机性”:先审计现有设计,最多问三个问题,修复已损坏的部分,再掷出有效替代方案。保留有效的,重掷无效的。项目约束即使选择随机也能产生品味。

用途

Tasteroll 面向快速设计探索,或在不想进行完整访谈的情况下获得意外方向。它明确不适用于用户希望手工确定具体方向的情形。其输出是个人制品/原型,而非直接发布的产品界面;若输出将用于已发布的公开界面,应升级到 tastecheck-pass 严格门禁。

主要能力

Tasteroll 的流水线包含七个阶段:

  1. AUDIT(审计):扫描现有内容,产生强制性的工艺发现。
  2. INTAKE(信息采集):从上下文/仓库推断,或进行三问题迷你访谈。
  3. FIX(修复):解决所有发现,与种子无关且不可协商。
  4. GENERATE(生成):为开放维度生成新的候选方案,上下文感知。
  5. ROLL(掷选):在有效替代方案之间进行带种子的选择。
  6. LOCK(锁定):保留有效的,重掷无效的,逐步收敛。
  7. GATE(门禁):宽松门禁(可读 + WCAG AA + 自包含 + 惰性)。

审计阶段会扫描渲染表面、源 CSS、仓库文件和内容,解决所有不可协商的工艺发现,包括:对比度(正文低于 4.5:1 或 UI 低于 3:1)、间距(无比例系统、任意边距且无令牌系统)、状态(交互元素缺少 hover/focus/active/disabled)、AI 痕迹(存在命名的 AI 低质模式,如渐变、居中英雄区、三卡片)、无障碍(缺少 alt、未标记控件、标题顺序错误)、结构(缺少 main 地标、无跳转链接、无 focus-visible)。对于工艺范围之外的发现(如文案差、内容缺口、功能损坏),会标记并移交,Tasteroll 不修复它们。单词“preserve”可覆盖有意的低对比度或缺失状态选择;否则解决每个发现。对于全新项目,会扫描简报/内容中的矛盾、缺失范围和模糊方向。

信息采集阶段默认从对话和仓库文件(README、CSS、package.json、内容)推断;当推断信息不足时,回退到三问题迷你访谈:你在构建什么?给谁用?用一个词描述它应该感觉如何?三个答案即可覆盖简报,无需完整的 11 字段设计系统访谈。

生成阶段为每个开放维度(个性、美学、字体、颜色模式、密度、节奏、签名、图像、动效、强调色)在掷选时根据审计/采集上下文生成 2–5 个候选选项,没有静态列表。候选必须满足 assets/design-rails.json 中的兼容性规则,例如紧凑密度/节拍式节奏、通透/切分节奏、粗野主义/克制动效等,不得冲突。同时尊重之前掷选中锁定的维度。

掷选阶段由 PRNG(assets/tasteroll-engine.js)为每个开放维度选择一个候选。相同种子 + 相同候选 → 相同掷选结果,始终如此;种子使掷选可复现、可分享。如果通过 MCP 可用 Chance(kyanitelabs/chance),优先使用它进行多源熵混合和可复现审计追踪;内联引擎是回退方案。

锁定与重掷支持三种模式:一次性(掷一次,接受或从头重掷)、迭代(掷选 → 审查 → 锁定有效维度 → 仅重掷未锁定维度 → 收敛;每次重掷递增种子并排除已展示方向)、霰弹枪(掷 N 个种子 → 并排比较 → 选一个发展)。锁定的维度和已解决的发现会持续保留,只有开放维度变化。

门禁阶段使用比 tastecheck-pass 更轻的标准:可读(正文 ≥ 1rem,行宽 58–75ch,行高 ≥ 1.5;简报可凭渲染证据证明其他行宽)、WCAG AA(正文 ≥ 4.5:1,UI ≥ 3:1,在掷选表面上验证)、自包含(导出中无外部请求)、惰性(导出 HTML 中无脚本)、键盘可达(所有交互元素可聚焦且有可见焦点)。已发布的公开界面应升级到 tastecheck-pass。

使用方式

Tasteroll 的交付物包括:种子、确定性发现、种子相关选择、DESIGN-SYSTEM.md、门禁证据,以及设计系统访谈交接字段。“Roll again”会递增种子;绝不会静默地用不同答案重用同一种子。证据表包含状态、原因、补救、证据、来源,覆盖审计(发现及其解决状态)、采集(推断结果或迷你访谈答案)、修复(已解决的发现,与种子无关)、掷选(种子、锁定维度、掷选选择)、门禁(宽松门禁的对比度、可读性、自包含)。

规范细节见 contract.json。路由:快速设计探索或意外方向,无需完整访谈(contract.json 中 +2);避免:用户希望手工确定具体方向(contract.json 中 +2)。排除:不要在 design rails 之外掷选或绕过审计发现(contract.json 中 +3)。停止/交接:当输出将是已发布的公开界面时停止——升级到 tastecheck-pass 严格门禁(contract.json 中 +1);接收 [design-system-interview, improve-existing-website],发送 [color-system, web-typography, spacing-system, theming, responsive-layout, art-direction, micro-motion, component-states, data-viz, empty-states, form-ux, humanize-copy]。输出:带种子的 DESIGN-SYSTEM.md,包含已解决的发现、掷选选择和门禁证据。

适用场景

适合需要快速设计探索、获得意外方向、或不想进行完整设计系统访谈的场景。也适合在已有项目上审计并修复工艺问题,然后生成新的设计候选。

限制

Tasteroll 输出是个人制品/原型,不是已发布产品;不修复工艺范围之外的发现(如文案、内容缺口、功能损坏);不适用于用户希望手工确定具体方向的情形;不要在 design rails 之外掷选或绕过审计发现。对比度、键盘可达性、自包含和真实发现保持不可变。简报只能在有理由和渲染证明的情况下覆盖行宽、行高、字重、密度、纹理、圆角、强调色数量和区块节奏。Rails 不包含选项列表;选项需新鲜生成。

与其他方案的区别

v0 / LLM 生成器:无种子、无审计、无规则、无复现性。Coolors:随机颜色,无系统、无结构、无门禁。Tasteroll:审计修复 + 上下文感知候选 + 带种子选择 + 锁定/重掷 + 完整设计系统 + 质量门禁。

参考文件

assets/design-rails.json — 维度、底线、默认值、范围、问题、规则。 assets/tasteroll-engine.js — 可粘贴的 xoshiro128++ PRNG,支持锁定、重掷、霰弹枪和排除操作。