个人开发者实战:从0到1手搓局域网 GPU 算力共享平台,并成功上架微软商店 个人开发者实战从0到1手搓局域网 GPU 算力共享平台并成功上架微软商店前言为什么要做这个项目作为一个全栈独立开发者我手头有一台带 RTX 3060 的主机。平时除了跑跑本地大模型、做做 AI 漫剧大部分时间它的算力都在闲置。而另一边很多高校学生、小型工作室在跑深度学习、ComfyUI 出图时却因为云端 GPU 太贵而发愁。于是我萌生了一个想法能不能做一个局域网内的“算力 Airbnb”让闲置的显卡安全地共享给同网段的开发者使用。经过几周的爆肝开发这个名为「算力集市 (Compute Bazaar)」的项目不仅跑通了完整的业务闭环还成功打包上架了微软商店。今天把开发过程中的架构设计与踩坑经验分享给大家。项目官网https://computebazaar.netlify.app开源地址https://gitee.com/tianyeHome/compute_bazaar 已采用 Apache-2.0 协议开源技术栈Flutter (GetX MVVM) Python FastAPI Docker WSL2一、核心功能与技术架构为了保证安全性和极客感平台采用了“双模式”设计租客模式和出租模式。️ 整体架构前端Flutter GetX MVVM (Monorepo 架构)打包为 Windows 桌面端 MSIX。后端Python FastAPI pynvml(硬件监控) SQLite (任务持久化)。通信UDP 广播 (局域网节点发现) HTTP REST (指令下发) SSE (实时监控流)。隔离环境Docker 容器。✨ 四大核心亮点局域网秒级发现无需公网 IP基于 UDP 广播自动发现同网段节点。Docker 沙盒隔离所有任务在容器中执行绝对保护房东的宿主机安全。受控任务包 (YAML)支持自定义 YAML 定义镜像和命令严格过滤特权模式。虚拟算力点计费不碰真实资金通过心跳与时间片机制精准计算消耗的“算力点”。二、硬核踩坑实录技术干货在开发过程中我遇到了几个极其棘手的技术难点这里重点复盘一下1. WSL2 下的 Docker GPU 透传地狱难度为了让 Windows 用户能通过 Docker 隔离任务必须让 WSL2 里的 Docker 能够使用宿主机的 NVIDIA 显卡。踩坑一开始试图在 WSL2 里装 K8s 和 HAMi 做显存切片结果遇到了致命的unresolvable CDI devices和 cgroups 格式错误。因为 WSL2 的 GPU 透传机制/dev/dxg与原生 Linux 完全不同。解决放弃复杂的硬切片改用 Docker 原生 CDI 模式。将nvidia-container-runtime配置为cdi并手动修补 CDI spec 文件注入libdxcore.so。最终成功实现了“单卡多容器”共享。2. 幽灵 IP 与 UDP 发现在局域网广播时经常扫出172.25.xxx.xxx这样的幽灵节点。踩坑Python 在获取本机 IP 时优先拿到了 WSL 虚拟网卡的 IP导致前端连不上。解决废弃传统的遍历网卡方式改用最稳健的UDP 路由探测法向8.8.8.8发送 UDP 包获取出口 IP完美避开了所有虚拟网卡。3. 动态 YAML 任务包与安全校验如果让用户随便传 YAML会有严重的安全隐患。解决后端引入PyYAML和Pydantic在接收 YAML 时做三层校验语法校验 - 必填字段校验 - 安全拦截直接拦截privileged: true和挂载C:/盘的特权操作。只要校验不通过直接打回。4. 自动化拉起与心跳防误判用户点击“开启服务”时Flutter 需要自动静默拉起 Python 打包的后端 exe。踩坑拉起需要时间此时前端的心跳检测会连续失败导致界面疯狂闪红灯报错。解决引入HeartbeatController.markAgentStarting()状态机。在 Agent 启动期间跳过失败计数只有真正连续 3 次90秒未确认才判定断线。三、界面展示发布到 CSDN 时记得在这里插入你的 4 张高清截图1. 节点发现与 GPU 监控真实的显卡利用率、显存与温度监控基于pynvml和fl_chart绘制的心电图式折线图。2. 自定义 YAML 任务提交支持用户粘贴自定义 YAML 任务包实时进行安全校验下方绿灯提示通过。3. 任务管理与算力点计费跑通完整的商业闭环任务秒级完成准确扣除 1 个算力点。四、如何体验目前 v0.1.0 单机版已经正式发布并且已提交微软商店审核。源码编译直接 clone Gitee 仓库进入apps/compute_bazaar_local执行flutter run -d windows。绿色免安装版在 Gitee 的 Releases 页面下载ComputeBazaar-v0.1.0-Windows-x64.zip解压双击即可运行。⚠️ 运行环境要求需要 Windows 10/11并提前在 WSL2 中安装并启动 Docker 环境。五、总结与后续规划作为一个个人独立项目能走到这一步非常有成就感。v0.2.0 的规划实现 Ubuntu 双系统下的 HAMi 部署做真正的“显存硬切片”A 租客只能用 3GB 租客只能用 4G。实现联网版加入 NAT 穿透让跨城调度算力成为可能。如果这个项目对你有启发或者你也想把自己的闲置显卡变成“AI 时代的房东”欢迎来 Gitee 提 Issue或者给个 Star 支持一下Gitee 传送门https://gitee.com/tianyeHome/compute_bazaar