案例
NiimBlue:NIIMBOT 标签打印机的独立网页客户端
以浏览器客户端替代 NIIMBOT 官方标签应用,可设计标签并通过 Web Bluetooth 或 Web Serial 打印,同一界面另有 Android(Capacitor)和 Windows(Tauri)版本。与打印机的通信由同一作者的 NiimBlueLib 实现,README 称其为最完整的 NIIMBOT 协议实现;协议记录在 NIIMBOT Community Wiki 上,打印失败机型的用户会被请求提供用官方应用打印时的数据包抓包。README 称客户端完全在浏览器中运行,标签数据也保存在浏览器里。
使用条件与局限
- 所审阅的 main 提交即 2026-09-27 发布的 v2026.9.0;更新的开发在 dev 分支进行,CONTRIBUTING 要求以该分支作为拉取请求的基础。README 不维护支持机型列表,而是指向 NiimBlueLib 中汇总已测试机型的 issue;打印失败时,建议在预览对话框中尝试其他打印任务版本。
- 需要使用者自己的 NIIMBOT 打印机(蓝牙或 USB 串口连接),以及支持 Web Bluetooth 或 Web Serial API 的浏览器,通常为 Chrome 系浏览器;部分系统需开启 Chrome 实验选项,Safari 需要第三方扩展,localhost 以外的部署需要 HTTPS。打印不需要厂商应用或固件。可选的固件更新功能只会刷写使用者自选的 .bin 文件。
- 使用 Node.js 和 npm 构建,基于 Svelte 5、Vite 和 Fabric.js,并固定 @mmote/niimbluelib 0.47.0;npm run build 生成静态文件,Dockerfile 用 nginx 提供这些文件。发布版本附带静态站点包 niimblue-dist.zip、Android APK 和 Windows 可执行文件,均由仓库中的 Gitea 工作流构建。
- 仓库没有自动化测试:Dockerfile 和部署工作流在构建前运行 svelte-check,Gitea 工作流负责构建和发布站点与应用。协议代码及其测试位于独立的 NiimBlueLib 仓库,本次审阅仅阅读了它的 README。机型支持依据用户报告;本次审阅未构建或运行任何程序。
- 采用 MIT 许可证(LICENSE,2024 MultiMote);NiimBlueLib 同样采用 MIT,其 README 称项目仅供信息和教育用途,与厂商无关联、未获厂商认可,未经厂商同意不应用于商业用途。CONTRIBUTING 表示不欢迎 AI 生成的代码,如有使用须经审查;所审来源未确立项目使用 AI 或 REA。
关于此条目
- 类型
- 案例
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 目标
- 应用 · 协议
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · MultiMote/niimblue · 修订 82c5605
- package.json GitHub · MultiMote/niimblue · 修订 82c5605
- CHANGELOG.md GitHub · MultiMote/niimblue · 修订 82c5605
- CONTRIBUTING.md GitHub · MultiMote/niimblue · 修订 82c5605
- Dockerfile GitHub · MultiMote/niimblue · 修订 82c5605
- LICENSE GitHub · MultiMote/niimblue · 修订 82c5605
- src/components/basic/FirmwareUpdater.svelte GitHub · MultiMote/niimblue · 修订 82c5605
- .gitea/workflows/deploy-to-server.yml GitHub · MultiMote/niimblue · 修订 82c5605
- .gitea/workflows/build-android-app.yml GitHub · MultiMote/niimblue · 修订 82c5605
- .gitea/workflows/build-tauri-app.yml GitHub · MultiMote/niimblue · 修订 82c5605
- https://github.com/MultiMote/niimblue/releases/tag/v2026.9.0
- README.md GitHub · MultiMote/niimbluelib · 修订 a9bc3f5
- https://printers.niim.blue/interfacing/proto/