核心用法
inkjet 是一款面向热敏打印机的 CLI 工具,通过低功耗蓝牙(BLE)直接与打印机通信,无需系统级配对。核心功能覆盖四大输出类型:
1. 文本打印:支持多行转义序列(\n)、字号调节(--size),以及 Markdown 渲染(--markdown),适合生成带格式的收据、日志或标签
2. 图片打印:支持 PNG/JPG,可选 Floyd-Steinberg 抖动算法(--dither)优化黑白转换效果
3. QR 码生成:直接编码字符串为可扫描图形,最小可读尺寸约 75px
4. 文件输出:直接打印本地 .txt 或 .md 文件
设备管理方面,提供 scan 发现设备、config 持久化配置(全局或项目级 .inkjet/)、以及 alias 别名系统。支持多打印机编排,通过 -a 参数按角色(如 kitchen/stickers)或 UUID 路由任务,甚至可实现负载均衡打印农场。
高级特性包括:JSON 输出模式(--json)便于脚本集成;管道支持(- 参数)实现流式打印;直接修改 .inkjet/config.json 微调边距、对齐、能耗等参数。
显著优点
- 零摩擦连接:无需操作系统蓝牙配对,BLE 直连降低部署门槛
- 极低运营成本:热敏纸成本远低于喷墨/激光耗材,适合高频场景(订单小票、物流标签、IoT 状态纸条)
- Agent 友好:Markdown 原生渲染、管道输入、JSON 输出,完美契合自动化工作流
- 多机编排:内置别名与地址路由,单命令可驱动打印机集群
- 配置灵活:项目级配置覆盖全局设置,便于多仓库差异化管理
潜在缺点与局限性
- 硬件锁定:仅支持特定蓝牙热敏打印机协议,普通 USB 或 WiFi 打印机不兼容
- 色彩受限:热敏纸仅支持黑白输出,无灰度,图片需依赖抖动算法近似
- emoji 不支持:明确文档警告避免使用 emoji,国际化内容受限
- 能耗依赖硬件:
energy参数调节打印浓淡,但效果因打印机型号差异大 - 蓝牙距离限制:BLE 有效范围通常 10m,工业场景可能需中继方案
适合人群
- 需要物理化 AI 输出的开发者(如 AI 助手打印任务清单、生成实体记忆)
- 小型零售/餐饮系统的自动化集成(订单自动出票)
- IoT 项目需要本地、低功耗、无网络依赖的硬拷贝输出
- 物流、仓储场景的便携标签打印需求
常规风险
- 隐私泄露:打印内容物理留存,敏感信息(如密码、个人数据)可能意外暴露
- 配置漂移:项目级
.inkjet/config.json若未纳入版本控制,团队协作时可能出现打印行为不一致 - 蓝牙干扰:2.4GHz 频段拥挤环境(如仓库多设备场景)可能导致连接不稳定或打印失败
- 热敏纸耐久性:打印内容随时间/高温/光照褪色,不适合长期存档场景