文档 / 产品工厂
产品工厂
把一句想法走成一条产品线:创意、造型、硬件、软件、联调五步,每步产出落在项目文件里,证据可追溯,最后生成产品包。
产品工厂是产品项目的工作区。它把”做一款嵌入式产品”拆成五步,每一步的产出都写进项目里固定的文件。
普通的代码项目里,AI 帮你写实现;产品项目里,AI 还要负责结构、选型、验证,并把结果记成证据。
五步各产出什么
| 阶段 | 做什么 | 产出 |
|---|---|---|
| 创意 | 把想法收敛成可验收的条件 | spec.json(条件与确认状态)、spec.md(需求正文) |
| 造型 | 定外形尺寸、3D 模型、2D 视图 | design/shape.json(dims / model / mesh / views[]);design/ 放源码与网格,design/views/ 放 2D 图 |
| 硬件 | 选型,以及引脚、总线、电源约束 | bom.json、constraints.json |
| 软件 | 写固件 | firmware/ |
| 联调 | 跑通,并把结果记下来 | evidence.jsonl |
造型的标配产出
这一步的标准产出是三样,缺一样都不算完成:
| 字段 | 说明 | |
|---|---|---|
| 3D 源码 | model | .scad / .step,要改结构就改它 |
| 3D 网格 | mesh | .stl / .obj / .3mf,看板的 3D 预览只认这个 |
| 2D 视图 | views[] | 俯视 / 正视 / 等轴测,放 design/views/ |
有 mesh 时,造型右侧出现 3D / 2D 视图 切换(默认 3D):拖动旋转、滚轮缩放。
装了 OpenSCAD 插件的用户,AI 会用插件里的 render / preview 出网格和三视图(真几何内核);没装就由 AI 写脚本导出 STL。
插件不必提前启用——AI 在造型阶段发现缺建模工具时,会先查本地插件、请求启用(弹一次确认),再继续。
只写 .scad 不导网格的话,看板只能显示 2D 图和按尺寸画的线框,造型会停在「进行中」并提示缺网格——
这是有意的:结构图应该是”能转着看的”,不该靠用户在对话里提醒。
试一次
- 新建项目,类型选产品项目。项目骨架会自动创建上面这些文件。
- 打开左侧的产品工厂,点「开始描述需求」——这句话会写进右侧 AI 输入框,你接着说想要什么。
- AI 会先问几个问题,把需求收敛成条件。输入框上方出现「待确认」卡,确认后才继续。
- 之后按同样的方式推进:造型、选型、固件、联调。
为什么有些阶段会显示”阻塞”
阶段状态由磁盘文件算出来,不是凭感觉:
- 验收条件没确认 → 创意停在「进行中」;
design/shape.json里写的模型 / 网格 / 视图文件不存在 → 造型「阻塞」;- 有视图但没 3D 网格(或反过来)→ 造型停在「进行中」;
bom.json里有一颗器件没有来源链接 → 硬件「阻塞」;- 任何一条有效证据的结果是 fail → 联调「阻塞」。
阻塞的意思是”有东西没落地”,不是出错。
证据账本
evidence.jsonl 一行一条,只追加、不修改:
{"id":"ev-0007","at":"2026-11-02T13:20:00Z","stage":"integration","claim":"水泵启停 50 次无卡死","result":"pass","covers":["c1","c3"],"by":"ai"}
result是pass/fail/inconclusive。只有 pass 才算覆盖——“没能验证”不等于通过。covers是这条证据覆盖了哪几条验收条件。does_not_cover写明没证明到什么,会出现在看板的「未证明」清单里。- 要撤销旧证据,追加一条
{"id":"ev-0008","invalidates":"ev-0007","reason":"换了传感器"},不要删原行。
产品包
联调跑通后生成 hardware-package/:
requirements.md、bom.csv、evidence.md、README.md;firmware/与design/的副本,便于直接交给别人;.manifest.json记录输入指纹——之后改了需求或选型,看板会把产品包标成「已过期」。
谁做决定
AI 只提案,不替你确认:验收条件、结构、选型写入后都是未确认状态,确认按钮在你手上。
你只在这三处出现:确认验收条件、确认结构与选型、给物理结果。
当前边界
- 不做 PCB 设计;
- 不提供代购、打样与发货;
- 选型自由,但型号必须附来源链接(数据手册 / 官网 / 商城);查不到时 AI 会问你,不会编。