Pencil.dev 设计 → 规格 → 代码 → 校验

0、先破后立:别把 Pencil.dev 当"截图生成代码工具",那样一致通道一定断

常见误区三件事:

  1. 只喂一张设计图:没组件规范、没 token,模型只能猜,出来必漂。
  2. 只看能不能跑:能跑不代表和设计一致;差 4px、状态少一套,后面返工最贵。
  3. 让它直接写整页:页面越大越容易混乱;应先组件化,再拼装。

你的目标是:让 Pencil.dev 产出"可验证的一致性",而不是"像"。


1、交付:Windows 上先把"输入物料"做对,通道才通

一句话中心论点:输入统一,输出才可能统一。

建议你把输入分成三层,按顺序喂给 Pencil.dev(或在项目空间里固定下来):

  • A. 设计源(Design Source)

    • Figma 链接/文件(如果你们用 Figma)
    • 页面只选 1--2 个代表性页面:列表页、表单页最优先
    • 重点不是页面多,而是状态全(hover/active/disabled/loading/empty/error)
  • B. 设计规范(Spec)

    • 色彩、字号、间距、圆角、阴影、栅格
    • 组件清单:Button/Input/Select/Modal/Table/Toast...
    • 文案口径:按钮动词、错误提示语气
  • C. 工程目标(Code Target)

    • 技术栈:React/Vue/Next.js、Tailwind/Styled-components、组件库(如 MUI/AntD)
    • 目录结构与命名:components/、features/、pages/
    • 约束:不改现有主题、不新增依赖、TypeScript 必须通过

在 Windows 上的实际动作:把这些内容整理成一个项目根目录的"协作包",例如:

  • /docs/design-spec.md(文字规范)
  • /docs/ui-tokens.json(token)
  • /docs/pencil-rules.md(给 Pencil 的生成规则:必须用现有组件、输出 diff 等)

2、可控:把 Pencil.dev 的生成变成"组件优先",先锁组件再锁页面

一句话中心论点:一致性来自组件,不来自页面。

推荐工作流(Windows 上也一样适用):

  1. 先生成/对齐 UI Tokens

    • 颜色(primary/secondary/success/warn/danger)
    • 字体层级(H1/H2/body/caption)
    • spacing(4/8/12/16/24/32...)
    • radius、shadow
      然后让 Pencil.dev 在生成代码时"只引用 token",不要写死 #1677ff14px 这种散弹。
  2. 再做组件映射(Design Component → Code Component)

    • 设计里的 Button = 代码里的 <Button variant="primary" size="md" />
    • Input、Select、Modal 同理
      你要的是"对照表",有了这个,页面拼起来才不散。
  3. 最后才拼页面

    • 页面只做布局与数据绑定
    • 视觉细节尽量回到组件里改,别在页面里补丁式修样式

3、复现:Windows 上最实用的是"同一条指令,反复生成都不跑偏"

一句话中心论点:能复现的通道,才配叫通道。

你可以用三招把复现做实:

  • 固定生成指令模板 (写在 pencil-rules.md 里)

    例:

    • 输出必须为 git diff
    • 仅修改 src/componentssrc/pages/xxx
    • 禁止新增依赖
    • 必须通过 npm testnpm run lint
    • 样式必须使用 tokens + 现有组件,不允许随意新建 class
  • 小步提交

    一次只让它做一个组件或一个页面区块(Header、Filter bar、Table 区),别让它"一次写完整页"。

  • 回归样例页

    做一个 UI Playground 页面,把所有组件状态都摆出来。之后每次生成/修改,都用它对比。


4、成本:用好 Pencil.dev 的省钱点在"少返工",不是"省几分钟编码"

一句话中心论点:节省的是沟通轮次与 UI 对齐轮次。

Windows 场景里很常见的是:设计师在 Figma,工程师在 VS Code,来回截图标注。你可以把成本压下去:

  • 把"对齐"前置成规则:token + 组件映射先做完,后面生成就少扯皮
  • 让 Pencil.dev 产出自检清单:改了什么、影响哪些页面、怎么验证
  • 把验收变成可执行:给出运行命令、路由入口、测试点,而不是"你看下对不对"

5、安全:Windows 上也要把权限、数据、仓库边界定清

一句话中心论点:设计到代码打通以后,权限要更谨慎,而不是更随意。

建议最少做到:

  • Pencil.dev 的仓库权限:优先只读或仅 PR 分支写入
  • 禁止把密钥、用户数据样例直接塞进提示词或文档
  • 输出默认走 PR,让人类 Review;重要模块加 CODEOWNERS

6、Windows 使用建议(偏操作层):让工具链顺手,产出才稳定

一句话中心论点:顺手的环境配置,会直接影响一致通道能否持续跑。

建议配置组合:

  • Windows Terminal + WSL2(推荐) :在 WSL 跑 node、lint、test,减少环境差异

  • VS Code Remote - WSL:编辑体验顺滑,命令行一致

  • Git 工作流固定

    • main 只合 PR
    • pencil/* 分支专门接 Pencil 输出
    • 每次生成前先 git status 干净,生成后立刻跑 lint/test
  • 截图与标注工具:Windows 自带截图 + 标注,用于把"差异点"快速喂回规则文档(不是喂到聊天里就完事)

如果你们不想上 WSL,也行,但要统一:Node 版本、包管理器、字体渲染(会影响视觉对比),否则"你机子上对我机子上不对"会反复出现。


快速测评清单(你照着跑一次,就知道是不是"真正打通")

  1. Token 纯度:生成的样式里,硬编码色值/字号出现次数是否接近 0。
  2. 组件复用率:页面是否主要由现有组件拼出,而不是大量新建临时样式。
  3. 状态覆盖:Button/Input/Modal 等是否含 disabled/loading/error/empty 等关键态。
  4. 差异回灌:每次发现 UI 偏差,是否能回写到 tokens 或组件映射里,下次不再犯。
  5. 生成稳定性:同一指令跑 3 次,目录结构与实现是否收敛。
  6. 门禁通过率:lint/test/build 是否一次过;不过的原因是否集中、可规则化。
  7. PR 可读性:diff 是否小、说明是否清楚、验证步骤是否可执行。
  8. 验收效率:设计验收从"截图标注多轮"变成"按 checklist 一次过"的比例是否上升。
相关推荐
风途科技~4 分钟前
多参数水质在线监测设备—水环境实时管控解决方案
大数据·人工智能
lh179310 分钟前
数据产业服务分类(53)——分类设计——数据能力集成
java·人工智能·分类
使用小功能大师10 分钟前
从零到一:使用阿里云百炼搭建企业级 AI Agent 完全实战手册(2026超详细版)
人工智能·阿里云·云计算
十铭忘14 分钟前
VideoMAE v2:使用双重掩码扩展视频掩码自编码器
人工智能
金色的暴发户15 分钟前
一劳永逸解决Codex手机验证
前端·人工智能·开源
DanCheOo24 分钟前
AI 应用的可观测性:你的 AI 系统在生产上到底表现怎么样
前端·openai
YOLO数据集集合29 分钟前
无人机松材线虫病树监测:早期与晚期感染阶段目标检测数据集全解析10125期
人工智能·目标检测·无人机
Hyyy33 分钟前
流式渲染用react-markdown还是Vercel/Streamdown
前端
天天进步201535 分钟前
InfiniteTalk 源码解析 #12:二次开发路线:做一个可商用的长视频口播生成平台
人工智能
Elastic 中国社区官方博客37 分钟前
谁来评判评判者?在 Elasticsearch Workflows 中使用 LLM-as-a-Judge
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索