【Code with SOLO】我在医院信息科,用 SOLO 给医生造了一座『QR 码桥梁』
命题:Code with SOLO · MedQR — 让 AI 写好的病历,从手机走进那台不能上网的电脑
在线体验:病历 QR 传输系统(MedQR) - 工作小程序
技术栈:TRAE SOLO · 原生 HTML/JS · PWA · MEDQR v1 自研协议
真实场景:医院科室手机 / iPad → USB 扫码枪 → 内网无外网无 USB 工作电脑
① 摘要
我是医院信息科的,业余给医生造工具。
晚上去科室巡查的时候一位年轻医生提出一个建议:他用手机里的AI把杂乱问诊记录整理成完美病历,对着内网电脑发呆10分钟——这台电脑不连外网、禁了USB存储、关了蓝牙。他一直的做法是:「手打」。
三千字,他想徒手打一遍。
于是我沟通下来,用 TRAE SOLO 一周做了 MedQR 病历 QR 传输系统:手机生成 QR 序列 → USB 扫码枪逐张扫 → 内网网页拼回原文 → 一键复制或下载。手打 5 分钟 → 扫码 30 秒,1000 倍提速,零跨网。
手机端:hj1982.cn/tools/medqr-sender/(PWA · 加主屏幕后离线可用)
内网端:hj1982.cn/tools/medqr-receiver/(27 KB 单文件 HTML,双击即开)
详情页:hj1982.cn/tools/medqr
自研协议:MEDQR v1(向前兼容 v2/v3)
一个人 + SOLO,一周业余时间完成。
② 需求确认
人民群众的想法是比较多的,有些可以实现,有些不能,但最多的是可以沟通后实现的。
目前的场景是医院内部电脑不可以联网,也不可以使用U盘,但是有时候,想把外网的纯文本资料,比如微信、豆包等的查询结果输入内部电脑。以前除了手打就没办法了。
医院信息科干了几年,我太清楚这条「最后一公里」长什么样:
| 内网铁律 | 现状 |
|---|---|
| 不连外网 | 防火墙 + 安全策略组双层封堵 |
| 禁 USB 存储 | 全员注册表禁用,插上识别但不挂载 |
| 禁蓝牙 | BIOS 已关,物理拔卡 |
| 禁个人云盘 | 域名级阻断 |
只剩一条窄缝:USB 扫码枪——医院发药、收银、扫腕带都靠它,HID 模式当键盘用,全院上百把,没人会禁它。
桌面 AI 一年比一年强,内网铁律一年比一年严,中间这条路没人走。
于是我决定走一趟的引子。
③ 那把活着的扫码枪
第二天上午经过住院部护士站,我看到一位护士给老太太扫腕带,扫码枪「滴」一声,红光一闪,电脑屏幕上立刻多出一行字。
我在原地愣了几秒。
HID 模式 = 一把「系统认可的合规键盘」。 它是医院花了 5 年堵 USB 口之后,唯一还活着、有人维护、所有医生都会用的输入设备。
链路其实极短:
手机生成 QR 序列 → 屏幕播放 → 扫码枪扫屏 → 解析为按键输入 → 内网网页拼回原文
没有外网、没有存储、没有蓝牙,只有一束红光从手机屏幕跳到内网电脑——单向、可控、不破坏内网安全。
我把这条链画给安全策略组的同事看,对方端着保温杯转了一圈,说:
「这没毛病,扫码枪输入跟键盘输入是一回事,本来就不在我们防的范围里。」
OK,开造。
④ 那一周和 SOLO 一起做的事
这是全文重头。我尽量把"和 SOLO 怎么对话"拍出来——它不是代码生成器,更像一个比我冷静的工程师。
4.1 协议层:和 SOLO 吵了一架的 SHA256 字段
第一版我让 SOLO 直接把完整 SHA256(64 字符)塞进每片 QR:
我:“这样每片都能独立校验,最稳。”
SOLO 反过来问:
「每片都塞 64 字符校验,QR 容量被吃掉 1/4,分片数量直接翻倍。原文校验只需要在『全部收齐』那一刻做一次,为什么要每片都背着完整哈希?」
我顶了一句:“那要是中途某一片错了呢?”
它也不让步:
「序号
i已经能定位丢片,重复扫描自动跳过。原文级校验放在拼接完成后做一次 SHA256,只取前 4 字节就够区分篡改和正确——单帧字段从 96 字节砍到 24 字节。」
来回 3 轮,最终拍板的协议长这样:
MEDQR|v=1|s=<sid>|i=<idx>|n=<total>|h=<sha256>|d=<base64>
v 协议版本(1)
s 会话 ID(8 字节随机)
i 片序号(从 0 开始)
n 总片数
h 原文 SHA256 前 4 字节
d Base64 编码的分片数据
我承认它对。每片 QR 容量瞬间宽出 30%,扫码识别率明显上去了。
4.2 手机端:让 SOLO 一次搞定 PWA + 离线兜底
需求很硬:医生手机切到飞行模式也能用、不依赖任何外部 CDN。
我跟 SOLO 说:“给我一个能加到主屏幕的 PWA,断网也能渲染 QR。”
它一次性产出了三件套:manifest.json + service-worker.js + 主页 HTML,还主动加了屏幕亮度建议——亮度低于 80% 时弹提示,因为暗屏下扫码识别率会掉到 70% 以下。这条建议我自己测之前根本没想到。
QR 生成库我顺手让它从 CDN 引,被它驳回:
「断网就废了。我把 qrcode-generator 单文件放进
/lib/目录,本地兜底。」
加完一行 <script src="lib/qrcode.min.js"> 就齐了,全离线。
4.3 内网端:把整套接收逻辑压进一个 HTML 文件
这一端的约束最硬:
- 不能
npm install - 不能装 Node
- 不能联网
- 必须能拷到任意一台医院主任的桌面、双击即开
我跟 SOLO 摊牌:“我宁可不要 React、不要 TypeScript、不要任何框架,也要让这玩意儿单文件交付。”
它把 QR 解码、序列拼接、SHA256 校验、丢片重补、复制 / 下载——全压进一个 index.html,最后大小是 27,521 字节,27 KB,含两份依赖库 inline。
它还主动加了一个让我服气的彩蛋:
| 进度格 | 含义 |
|---|---|
| 已收 | |
| 待补 | |
| 重复片(提示扫码枪已扫过) |
非工程师的医生一眼看懂——这是 SOLO 自己加的交互,我没要求。
4.4 合规自检:让 SOLO 反过来扮演医院安全策略组
到了交付阶段,我让 SOLO 切换角色:
「现在你是医院信息安全策略组的人,反过来挑这份 HTML 的刺。它能联网吗?能写盘吗?能调外部资源吗?」
SOLO 自检了 4 条 assert:
- 无 fetch / XMLHttpRequest — grep 全文确认零外部请求
- 无 IndexedDB / localStorage 写入 — 浏览器内存处理,关掉网页清零
- 无外部 CDN 依赖 — 所有 JS 库本地 inline
- 无 cookie / 会话状态 — 不动浏览器存储
每条它都给我一段定位代码 + 一段反向验证脚本。我把这份自检报告打印出来,附在内部上线申请里——安全策略组那边一次过。
我对 SOLO 最大的好感来自这一节:它不只是写代码,它能扮演评审者把项目反向打一遍。
⑤ 30 秒看完整条流
打开 病历 QR 传输 · 发送端 复制文本到手机,点击生成二维码
手机调整亮度到最高,展示二维码给扫码枪。如有防偷窥膜需要离近一点且垂直面向扫码枪。
收集完成并转换为文字
内网最终成果
整条流走一遍:
- 手机打开发送端 → 粘贴 AI 写好的病历文本 → 点「生成二维码」
- 屏幕亮度拉满,自动播放 QR 序列(约每秒一帧)
- 内网电脑浏览器打开接收端,光标留在输入区
- USB 扫码枪对准手机屏幕,挨张扫过去
- 实时显示「已收 X / N 片」,绿格 = 已收、灰格 = 待补、黄闪 = 重复片
- 全部收齐自动 SHA256 校验 → 完整文本出现 → 「复制全文」或「下载 .txt」
| 方案 | 时间 |
|---|---|
| 主任原方案:手打抄写 | ≈ 5 分钟(三千字病历) |
| MedQR 扫码传输 | ≈ 30 秒 |
10 倍提速,零跨网,零存盘。
⑥ 医生后来怎么说
第一次试用那天,我守在他旁边。
扫码枪扫完最后一张,他盯着屏幕等了两秒,等到完整文本已经贴在那躺着,他转头跟我说:
「比我想象中安静。扫完那一下我以为还在算,结果文本已经在那躺着了。」
没什么戏剧性,就是这么平淡。
但我们花一周省下来的,是医生的 5 分钟、更是患者的 5 分钟。
踩坑实录
上线前我自测一切顺利,第二天第一次就翻车了——他手机的「自动锁屏 30 秒」把 QR 播放序列腰斩。
我加了一条「保持屏幕常亮」的提示,又让 SOLO 在播放期间调用 Wake Lock API 自动锁屏抑制。这种坑只有真实用户能踩出来。
⑦ 写在最后
习大大说过:空谈误国,实干兴邦。我们的重点是做起来,不要怕错,不要所失败。
以前觉得做一个内网工具至少要:立项、申请经费、走采购流程、走 IT 实施流程。
有了 SOLO 之后,我一个信息科的,业余时间就能给主任造一座桥。
不复杂、不张扬,安静地架在那里——让主任晚上 10 点不用再发那条「要不我手打吧」的私信。
这是我理解的「Code with SOLO」:
不是写更花哨的代码,是让真问题更快地有解。
关于我 + 项目入口
| 项 | 链接 |
|---|---|
| 详情页(含完整介绍 + 协议规范) | hj1982.cn/tools/medqr |
| 手机发送端(PWA) | hj1982.cn/tools/medqr-sender/ |
| 内网接收端(在线试用 / 单文件下载) | hj1982.cn/tools/medqr-receiver/ |
| 个人主站 | hj1982.cn |
| 同作者姊妹篇 · 亲子赛道 | 普通父母也能陪孩子学 AI |
关于我:医院信息科,业余维护个人站 hj1982.cn。写过亲子向、教育向稿子,这次拿一个工程向作品来交作业。欢迎拍砖。
致谢 TRAE SOLO —— 它不是替我写代码的工具,是和我一起拍板的工程伙伴。



