你造机器。
我做随机出货的那套软件。

集成商和设备厂拿得下机器的单子,却常常缺做软件的人。从“机器到了”到“客户的人天天在用”,中间这一段都是我的活。操作界面是看得见的部分,下面还有三层,按出问题的先后排列。

我现在的状态:我的工作时段是 UTC 10:00–20:00,对得上欧洲的下午和美国整个上午。12 小时内一定回复。

现在给一家北美系统集成商做工业机器人操作员 HMI(进行中)

原理图:机器和控制器经 Modbus、OPC UA 或 MQTT 连到操作员界面;界面向客户 ERP 回传产量和批次,并接收工单。虚线框标出包住整套系统的验证层。安全继电器在软件之外。
验证层:先模拟,CI 把关 机器 M 控制器 Modbus / OPC UA / MQTT 操作员界面 工单下发 产量与批次回传 客户 ERP 设备层 接缝层 安全继电器(不归我) 验证层:先模拟,CI 把关 机器 控制器 Modbus / OPC UA / MQTT 操作员界面 工单下发 产量与批次回传 客户 ERP 安全继电器(不归我)

我做什么,以及别人为什么找我#

给机器、以及给造机器的人做软件

你一年出 20 台机器,就要维护 20 套界面。每个机型一套画面、一套怪癖、一轮现场调试,每个售后电话的第一句都是“这是哪一版?”我做一套按机型配置的操作界面,底下接 PLC、Modbus、OPC UA 或 MQTT,外加设备对接和远程运维通道(远程访问怎么管控)。调试时间缩短,你的团队也不用再维护一堆变体。

我也懂 ERP。在做机器软件之前,我花了两年重构过一套(BOM、工单、批次、追溯)。这一层行内叫 shop floor to top floor,按 ISA-95 是 Level 2 到 Level 4。这部分活我做,但我不卖 MES。所以客户问“机器的数据能不能进我们系统”时,你可以直接答应,不用再去找一家供应商。

一位客户真的这样问过我:“我们现场工程师自己就把工具参数改了、点位也重命名了,那你这份工作到底给我们买到了什么?” 我的回答  ·  如果你是集成商或设备厂,这里有一页专门写给你

  1. 设备层

    “机器能动,操作员用不动。”一套按机型配置的操作界面,不再一台机器一套画面。本来没打算让人读的设备,照样读出来:Modbus、OPC UA、MQTT、串口、厂商 SDK。告警和联锁路径出了错会明确报出来,不会悄悄吞掉。

    正在做:一套工业机器人操作员 HMI,客户是北美集成商。还有一个公开仓库:所有让机器做危险动作的尝试都会被拒绝,全部检查大约一秒跑完。

  2. 接缝层

    “车间报的数,和 ERP 里的数对不上。”工单下发、WIP 与批次回传、追溯、对账。做 ERP 的不碰设备,做设备的不清楚一张工单对业务意味着什么。这一层通常没人负责,而这条缝的两边我都做过。

    93% 的制造企业有 MES,但只有 23% 把它和 ERP、质量、OT 系统真正打通。缺的就是这一层。(Rockwell Automation 调研,2026 年 7 月,1,560 名决策者。)

  3. 验证层

    “你不在现场,我怎么知道它能用?”我先对着模拟设备开发,真机到位之前软件就已经做完并测过。拿到你任何凭据之前,Mock 模式的 demo 就能把整条链路跑给你看。改进用 CI 检查固定下来,不会悄悄退化;每个里程碑都附书面验证和截图。

    前半段有个行业名称:virtual commissioning(虚拟调试)。按 Rockwell Automation 的说法,调试阶段修一个机器问题的成本可达设计阶段的 100 倍,所以这部分前期工作我单独列项报价。例子:下面的 ClickHouse 案例用数据库自己的 query_log 度量,并有 CI 检查守着;Demo 库里的东西都不需要凭据就能跑。

如果你的问题不在这三层里,用你自己的话说就行,包括“这是 AI 写的,现在没人敢动”,这种我常遇到,也接。该不该由我来解,我会如实告诉你;不该我做的,我会直说,不硬接。如果问题是“到底能不能做”,有一个三天的冲刺专门回答它

常用工具:PLC · Modbus · OPC UA · MQTT / Sparkplug B · 操作员 HMI 栈 · ClickHouse · MySQL binlog · 事件驱动服务。

要转给别人的话,这里有一页 PDF。

能核实的作品#

下面每个项目都附有你能自己核实的东西:能跑的 demo、实测数据,或交接文档。第一个是我待了近两年的公司。给其他类型客户做的项目放在最下面的归档里。

在一家机器人公司里的近两年

深圳 AMR 厂商斯坦德机器人全部内部系统的唯一开发:BOM 与供应链、CRM、发版,以及一次找回 100% 被删数据的 binlog 恢复。不是他们的车队软件。CTO 签署的推荐信可索取,随时可看。

100% 被删生产数据的恢复率,逆向 MySQL binlog 做到的

让一条看板查询,少扫 230 倍数据

≈230×扫描量下降:1.9 GiB → 8 MiB,同一查询,query_log 度量

同一张 5000 万行表,朴素 vs 调优的 ClickHouse schema,用数据库自己的 query_log 度量:扫描 1.9 GiB → 约 8 MiB。一键复现、CI 门控,附 3 分钟走查。

一台拒绝做危险动作的机器

$ python3 break_it.py
  [1/11] Position outside physical travel           PASS
  [2/11] Position sensor unplugged mid-move         PASS
  [4/11] Person steps into the working envelope     PASS
  [6/11] Undocumented command injected              PASS
  [9/11] Recovery: can it come back after E-stop    PASS
  …
All 11 checks held.

9 / 9次危险尝试被拒,外加 2 项恢复检查

一台通过 MQTT 控制的机器,闸门层按每条指令可能造成的后果来分类把关。测试一共 11 项,大约一秒跑完:9 项是想让它出错,全部被拒;另外 2 项确认它仍然能停下、能恢复。后面这两项很重要,因为只测“拒绝”的测试,机器什么都不做也能全部通过。

除了这几个案例,还有一批公开 demo,不需要凭据就能跑,每个都写明了它证明什么、不证明什么。看 Demo 库

给其他类型客户做的项目(数据抽取、支付、营销运营、路径规划)在归档页。

把活交给一个人,大家通常担心什么#

我水平够不够,你可以自己核实。大家真正担心的通常是另外几件事:上班时间找不到他、财务没法给他付款、他要是不干了我就被困住。下面是我对这三点、以及由此引出的几个问题的回答。

先看 Demo,再谈合作
在你为开发投入一分钱之前,先看到能跑的软件。Mock 模式让我不碰你的任何凭据就能证明机制可行。就算自动化真的需要登录,也不需要你的密码:要么用你就在旁边的会话,要么用你随时能吊销的临时凭据。
异步且透明
我异步工作,定期发简短的 Loom 录屏,展示实际做出来的东西。bug 和风险尽早说。文档跟着每个里程碑一起写,因为留到最后的文档,真到有人离开时往往还没写。
出了事,我扛得住
有一次出事,我逆向 MySQL binlog,100% 找回了丢失的生产数据。出了问题,我会一直跟到修好为止。
我告诉你我这一层到哪为止
我交付的软件不实现你的安全联锁。急停、安全门、光幕应该放在安全继电器或有安全等级的控制器里,这样即使我的代码出错,它们照样有效。我做上面那一层,把闸门做严,并把这条边界写进合同。如果有人提出把急停做进应用层,要多留个心眼。
完整归你所有
源码可以从第一天起就提交到你的仓库,不用等到交付时才打包。任何时候停下来,你手上都是完整、能跑的东西,最多损失一个里程碑。交接文档写清怎么运行、怎么迁到你自己的账号,以及每个需要替换的凭据。你不会被绑在我身上。
你的数据留在美国
我人在深圳,安全团队问这个很正常。你的项目跑在我位于美国的服务器上,数据也留在那里:设备日志、配方、导出文件和备份都不会复制到美国以外。我不保留对你或你客户网络的常驻访问。需要远程会话时,由你发起、有时限,你可以全程旁观。我用你能随时吊销的临时账号,从不用你的密码。我做的每处改动都以提交的形式进你的仓库,由你审核;交付的软件不会把数据发到你没批准的地方。如果你的政策限制哪些 AI 工具可以接触你的代码,开始前告诉我,我照规矩来。

以及我不接什么

  • 不做功能安全认证与 SIL/PL 签字:安全逻辑我实现、我验证,认证由你的持证工程师负责。
  • 不做现场安装与机械调试:我的活是让现场那一周尽可能短。
  • 不做机械设计、电气图纸、柜体。
  • 不做项目管理。如果这活主要是追供应商、开例会,我不是合适人选。我交付的是代码和验证。
  • 不做我无法验证的活:如果我想不出怎么证明一个需求做对了,我在报价前就说,而不是做完再说。

第一单通常怎么进行#

  1. 你把乱的那版发我。客户的邮件、设备手册、一张电柜的照片。我不需要需求文档;你要是有,大概也就不需要我了。
  2. 一天内给你明确答复:能不能做、我担心什么、大概要投入多少。如果确实还不确定,可以用三天冲刺来弄清楚。如果范围已经明确,我免费给你固定价报价。
  3. 固定范围、分里程碑、尽早看到能跑的东西。第一个里程碑你就能看到能运行的软件。每次交付都附文档和交接,因为后续支持它的是你。
  4. 代码归你。完整源码,不锁定,不依赖我。在你的项目之前我自己写好的框架部分,权利归我,你获得永久使用授权。这一条我会写进合同。

凭什么把它交给我#

Bohea Still(尚保华)
Bohea Still(尚保华),深圳
工作时段
UTC 10:00–20:00
覆盖
欧洲下午,美国整个上午
回复
永远 12 小时内。通常 4 小时内。
首个 demo
需求沟通后 24 小时内
现在
给一家北美系统集成商做工业机器人操作员 HMI(进行中)
电话
美国号码(+1 971),按需提供
合同上
尚保华:发票、W-8BEN,可按需以公司实体签约
合同上
尚保华,文件上的法定姓名

上夜班是我自己选的,这个时段我最专注,又正好对上你的工作日。我习惯书面沟通,准确、能检索、不受时差影响。决策卡住了再通话。

斯坦德机器人的 CTO 写了一份对我工作的评价,并签了字。这封信可索取,随时可以给你看:告诉我你是谁、在评估什么,24 小时内把签字版 PDF 发给你。想直接和他本人聊也可以安排,我得先征得他同意,一般一周内。

一路走来,按顺序

  1. 2015–19

    工学学士 · 西安科技大学

  2. 2019–21

    练出:听懂业务真正要什么

    惠科股份(HKC),显示面板制造商 · 总部 IT,负责公司内部的 ERP 与 WMS。

    我把一套脆弱的单体 ERP/WMS 重构成事件驱动的微服务,从需求到上线一直和业务团队一起干。宕机故障下降约 90%,吞吐从 50 提到 5,000+ QPS。每天和真正用系统的人打交道,让我学会做业务真正需要的东西,它常常和工单上写的不一样。

    50 → 5,000+面板厂 ERP/WMS 重构后的 QPS,宕机降约 90%

  3. 2021–23

    练出:把将就能用的 AI,工程化成可靠价值

    深圳图灵机器人 · 为银行与证券客户做文档理解,项目起步时还没有 ChatGPT。我是团队里的工程师之一。

    具体是从 PDF 里抽表格:无框线的表、一格跨多行的、多格挤成一格的。开源工具大约只能做对 55%。我们把两个引擎合起来,用文本相似度把每个单元格和其中每个字的坐标对上,做到 99.5%;再加一条文档转换路径,多格式还原率到 99.99%。跟今天的大模型没法比,但道理没变:严谨的工程加上对业务的理解,比单纯的模型更可靠。(和创始团队至今关系很好。)

  4. 2023–24

    练出:在庞大混乱里,把控进度、按期交付

    深圳进门财经 · 面向投资人与路演场景的付费 ToC 平台。我是 8 名后端工程师之一。

    我主导了 7 个微服务的生产库迁移,负责高并发的付费核心链路。大型、非标准的工作怎么分阶段、按里程碑一步步可靠交付,是在这里学会的。

  5. 2024–26

    练出:从内部看懂一家机器公司到底怎么运转

    斯坦德机器人,深圳,工业 AMR 厂商 · 公司全部内部系统的唯一开发。

    除了机器人本身,这家公司赖以运转的一切都是我建的、我扛的:BOM 与供应链、CRM、报销、文件存储、发版。这一路我看清了一份配置怎么变成一张 BOM、一个机型变体怎么裂变成一堆料号、售后电话到底从哪来。我也曾逆向 MySQL binlog、在业务不停的情况下 100% 恢复被误删的生产数据。这段有 CTO 签署的推荐信背书,可索取。

  6. 2026

    全职独立

    2026 年起全职独立。这是我的主业,不是副业。

  7. 2026

    上线本站 boheastill.com

    这个站是我的长期据点。项目和客户关系都从这里出发,不依赖任何单一平台。

怎么合作#

和我合作的具体方式:条款、账务、怎么开始。

合作条款

  • 我直接和你签 NDA 并信守。
  • 每次交付都带书面、带截图的验证。
  • 你拿到完整源码、文档和交接,成果完全归你,不依赖我,也不依赖任何平台。
  • 并附 30 天交付后支持。
  • 责任上限为你已付的费用,不含间接损失,和你其他供应商合同里的条款一样。写在这里,免得你在合同里才第一次看到。

报价方式

固定范围、按档报价、里程碑付款。报出来的价就是价。预算紧就在第一条消息里直说,我当场告诉你合不合适,不让你花三次通话才知道。

  • 实施费:固定总价。你买的是结果,不是工时。我做得快,省下的归我;做得慢,也由我承担。
  • 现场天数:唯一按天计费的一项。你在珠三角的话,这一项通常很便宜,我开车过去就行。
  • 加急:加收 30–50%。压缩工期是有成本的,我明码标价。

供参考,我现在的合作:第一个项目 $3,000,已交付;随后同一个客户签了第二个五位数美元的项目,正在做。

我们是在 Upwork 上认识的,所以合同、沟通和付款都留在 Upwork 上。这是平台规则,我照办。

每个里程碑,给你留下三样凭据

三样齐了,你的会计不用找任何人就能把账对上。

  1. 双方签署的合同

    开工前就白纸黑字写清范围、里程碑与交付物,双方签字。

  2. 我开具的发票(PDF)

    每个里程碑一张 PDF 发票,写明你的公司抬头、金额和项目,可直接归档。

  3. 付款通道的官方收款凭据

    怎么付方便你的财务就怎么来。想走 Upwork,我们就在 Upwork 上签,以它的记录为准;如果我们是在 Upwork 上认识的,就一直留在 Upwork,这是平台规则,我照办。直接付款也可以:通过 Payoneer,对公信用卡或银行转账都行,你会收到 Payoneer 出具的官方收款凭证。

美国客户:我提供 W-8BEN,方便你的税务申报。你只对接一个人,但账务流程和正规供应商一样。

如果你的采购或合规要求和公司签约,而不是和个人签,告诉我,签约前我会安排好。

第一次这样买软件?多数客户走项目实施费,或并进设备验收调试;按年做的走维护预算。发票怎么开方便你入账,可以按你的要求来。

要把我转给别人?

就说这句:“我认识一个人,专做随机器出货的软件,从操作员界面到把机器数据送进客户的 ERP。他远程工作,代码放在你自己的仓库里。”然后把 boheastill.com 发给对方,或者直接转发这份一页 PDF。里面有一句介绍我的话、三样对方能自己核实的东西,以及联系方式。

还不确定这事能不能做?

如果问题是“这事到底能不能做”,不用先签项目也能弄清楚。三天可行性冲刺给你一份书面答复,可行的话附一个能跑的 demo,不可行退一半费用。如果你已经清楚要做什么,就跳过它,直接找我报价,报价免费。

最近的笔记#

  • AI 外推流畅,我外推情绪

    “技术交给 AI,与人沟通交给人”这个分工是反的。两者出错的方向正好相反,质量来自让它们互相纠正。这是我处理客户邮件时实际在用的审查流程。

  • 重构看不见?那就试着弄坏机器

    你为一次重构付了钱,却看不出任何变化:轨迹一样,界面一样。我的建议是别去审代码,拿一份“试着弄坏它”的清单去测机器。如果你没法让它不安全地出错,你就看到了钱花在哪。

  • 我大量用 AI,机器依然伤不了人

    每次让 AI 审它自己写的代码,它总能再找出新 bug。可不用它,效率就会被远远甩在后面。当这套软件驱动的是一台真实的机器,该怎么权衡?这是我的答案。

全部笔记

联系我#

约 20 分钟

直接挑时间,不用先写邮件。通话结束时你会拿到三样东西:我把你的问题复述一遍,确认我听懂了;我判断它卡在哪一层;一个大致的价格区间。没有 PPT,没有需求调研阶段,也不会有后续的推销邮件。不合适的话我当场说。

日历自动按你的时区显示时间,约完邀请里自带 Google Meet 链接。时段覆盖欧洲下午和美国上午。

约 20 分钟

开始

告诉我你的平台做不到什么,以及这正让你付出什么代价。我会如实告诉你能不能解决;能的话,通常接下来就是一个 demo。

[email protected]

不想写邮件?留下你的问题和联系方式(邮箱最好),12 小时内回复你。

留言经 Web3Forms 直接发到我的邮箱,本站不存任何数据;每一条都是我本人看。