Backplane 一键订购全指南:从 PCB 设计到 Buy it 下单只要 4 步

发布时间:2026/10/30 2:23:12
Backplane 一键订购全指南:从 PCB 设计到 Buy it 下单只要 4 步

【免费下载链接】Backplane

Agentic hardware development with lawful, deterministic KiCad/STEP viewers, written in Bend

项目地址:https://gitcode.com/gh_mirrors/bac/Backplane
点击查看免费下载

Backplane是一个面向硬件开发的 Agentic 开源工作区,内置 KiCad 与 STEP 确定性查看器。它最有意思的能力之一是Buy it 一键订购系统:你在 Backplane 里和 AI 智能体一起设计 PCB,设计完成后,一条 "Ready to order" 价格条会浮现在输入框上方,点击Buy it就能走完"制造评审 → 文件导出 → 报价 → Stripe 支付"的全部流程,从图纸一路跟到收货。本文带你从零理解并跑通这套一键订购系统。

一键订购系统的三大角色

在动手之前,先认识贯穿整个流程的三样东西(详见 docs/order.md):

  • 项目卡片(Card):线程顶部显示项目目标(intent)、可订购部件和价格,点击可展开完整意图描述。
  • Ready to order 价格条:智能体一轮工作结束后,出现在输入框正上方的蓝色Buy it · from $X按钮条。
  • Buy 线程(buy thread):点击 Buy it 后自动创建的新线程,由它独立完成报价、上传与支付跟踪,并独占order_quote、order_status、order_ask三个订购工具。

开启订购:设置里拨动两个开关

订购功能默认关闭。关闭时任何客户端都不显示 Buy it 或价格条,中枢(hub)也不会联系订购服务器。开启步骤:

  1. 打开Settings → Ordering,把order.enabled设为开启;
  2. 按需打开Settings → Price estimates(order.estimates)——它单独控制 "from $X" 预估价格是否显示。

开关拨好后,项目目录里会出现两类约定文件:

  • .backplane/intent.md:你的目标、器件与备注,智能体会自动维护,你也可以在项目卡片里点 Edit 用/intent ...直接改写;
  • 每个可订部件旁边的*.fab.json:包含kind(pcb / 3dp / cnc / sheetmetal)、name、source、qty、options和实测features字段;写"order": false可把某个部件排除在订购之外。

预估价格是如何算出来的

当 Ordering 与 Price estimates 都开启时,中枢会向订购服务器发起POST /v1/estimate,为"裸部件"(最小批量、不带服务)算出起步价。关键点:只上传部件种类、选项和特征参数,从不上传任何设计文件,所以看价格是完全安全的。

真正的精确报价发生在 Buy 线程里:服务器用自己的进程(独立限内存、CPU 与文件大小)测量你批准导出的文件——从 Gerber 读板子尺寸和层数、从钻孔文件数孔、从 STEP 量体积与包围盒、从 DXF 展开钣金——再由pricing.py计价。客户端永远不报价格,价格只由服务器说了算。

Buy it 四步下单流程

点击Buy it后(内部动作是order.buy),Backplane 会在同一文件夹下创建一个标记为 buy 的线程,你的点击消息成为它的开场白。接下来依次是:

  1. 评审门禁:Buy 线程首先执行order_review {action: "check"}。若制造评审不是最新的,你会看到两个按钮:Review for manufacturing或Order without a review。评审作为任务运行在 buy 线程里,直接在将被下单的那几个文件上执行,发现的问题会逐条列出,并附 review 文件 链接,让你选择先修复或照单下单。
  2. 文件批准:order_quote会先弹出一张批准卡,列出全部待上传文件——"Send these files for a quote?",只有你点Send,文件才会在 curl 下按相对路径上传。
  3. 报价与支付:服务器测量计价后,线程里会贴出一条带Buy now · $X链接的报价消息,链接直达 Stripe Checkout,一次性填写卡号、邮箱、电话和收货地址。
  4. 状态跟踪:支付完成后,一个 watcher 在付款前每分钟、付款后每十分钟查询一次状态,并在线程里按顺序播报Paid → Ordered → Shipped(含运单号)→ Delivered,同时推送提醒你所有设备。

支付前的安全网

  • 评审门禁由中枢把守,而不是靠智能体自觉:评审记录了对设计(所有板子、原理图、STEP、DXF 与 fab 文件的内容哈希)的指纹,设计一改,旧评审立即变成 stale;
  • Token 不经过智能体:报价令牌只存在本地<home>/orders/<quote>.json和 Buy now 链接里,服务器只存其 SHA-256,智能体全程看不到;
  • 试航期免费走流程:当 Stripe 用的是测试密钥(或FAB_PILOT=1)时,页面和报价都会注明这是 pilot,测试卡4242 4242 4242 4242可完整走一遍结账,且不会扣款;导出的mfg/文件也可以拿去任何代工厂下单。

价格构成与费用透明度

你在报价里看到的是四行加一个总额(见 order/README.md):

行项说明
Manufacturing制造费,服务费(FAB_FEE10%,CNC 为 20%)已并入此行
Shipping最便宜的含税(duty-paid)快递
Duties & taxes关税与税费,由 duties.py 计算
元器件优先用代工厂自有库存,其余走 Mouser 代购并加采购标记

找不到货源的元器件会被当作待修复的问题,而不是靠猜。

服务器侧的安全设计

订购服务是一个跑在 Debian + nginx 后面、fab用户 + systemd 沙箱里的 Python 服务(源码在 order/fabsrv/,测试在 order/tests/):只监听 127.0.0.1、TLS 由 Let's Encrypt 短时效证书续签、上传限制 50 MB 且逐文件核对 SHA-256、只接受清单内文件、"上传的东西永远不会被执行";限流按地址和安装实例双维度设置,未付款报价的文件 7 天后自动删除,日志不含任何查询串(令牌不会落盘)。支付确认是向 Stripe 查询 session 得到的,从不信任回调 URL。

常见问题速查

  • 为什么看不到 Buy it 按钮?检查 Settings 里order.enabled是否开启;项目没有可订的 fab 文件、或订购服务器不可达时也会不显示。
  • 价格条可以收起来吗?可以,点 × 会按项目记住(设置项fab.min.<project>,所有设备同步),之后线程标题栏会出现盒子图标随时唤回。
  • 付过款后还能再买吗?能,价格条会显示订单最新状态("Ordered · paid, being placed" → 生产中 → 已发货 → 已送达),按钮变为Buy again,再次下单会自动创建 "Buy: <项目名> · 2" 线程。
  • 多板项目怎么选板?回答卡片会列出项目里每一块 KiCad 板子,查看器的 Board / Schematic / 3D 选项卡按文件夹名逐块呈现。

延伸阅读

  • 订购系统官方文档:docs/order.md
  • 订购服务器 API、定价与部署:order/README.md
  • 智能体指令与订购规则核心实现:src/core/order.bend
  • 中枢侧订购 I/O 逻辑:src/server/orderio.bend
  • 部署单元(systemd 服务与定时器):order/deploy/

从.backplane/intent.md里的一句目标,到 Delivered 的推送通知——这就是 Backplane 一键订购系统的完整旅程。

【免费下载链接】Backplane

Agentic hardware development with lawful, deterministic KiCad/STEP viewers, written in Bend

项目地址:https://gitcode.com/gh_mirrors/bac/Backplane
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考