核心用法
inkjet 是一款面向 macOS 的 CLI 工具,通过低功耗蓝牙(BLE)直接控制廉价热敏打印机(如 X6h、GT01、儿童猫打印机等),无需将打印机与系统蓝牙设置配对。核心命令包括:
- `inkjet scan`:扫描并发现附近打印机,设置默认设备
- `inkjet print text`:打印纯文本,支持
\n换行、--size调字号 - `inkjet print text --markdown`:渲染 Markdown 格式(推荐用于复杂收据/日志)
- `inkjet print file`:直接打印
.txt或.md文件 - `inkjet print image`:打印图片,支持
--dither抖动优化 - `inkjet print qr`:生成并打印二维码,支持 WiFi 配置等标准格式
- `inkjet feed`:控制走纸
- `inkjet config`:管理全局或项目级配置(
.inkjet/目录优先)
高级功能包括多打印机编排(--address / -a 指定别名或 UUID)、JSON 输出(--json)、管道输入(- 读取 stdin),以及直接修改 config.json 实现细粒度控制(边距、对齐、字体大小、打印浓度等)。
显著优点
1. 零配对门槛:绕过 macOS 蓝牙配对流程,BLE 直连即打即走,大幅降低使用门槛
2. 多格式支持:文本、Markdown、图片、二维码全覆盖,Markdown 模式尤其适合 AI Agent 生成结构化物理输出
3. 成本极低:热敏纸价格低廉,支持高频次物理输出,适合日志、标签、儿童学习单等场景
4. 灵活编排:支持多打印机别名管理和负载均衡,可构建打印集群
5. 开发友好:JSON 输出、管道支持、配置文件热加载,便于脚本集成和自动化工作流
潜在缺点与局限性
1. 平台受限:仅支持 macOS,Windows/Linux 用户无法使用
2. 硬件局限:廉价热敏打印机分辨率有限(通常为 203dpi),图片打印效果一般;热敏纸字迹会随时间褪色
3. 无网络打印:纯 BLE 连接,不支持 WiFi 或有线网络,距离受限(约 10 米)
4. 功能边界:不支持复杂排版(如表格、多栏)、不支持彩色打印、不支持双面
5. 生态依赖:项目由个人维护(Aaron Chartier),更新频率和长期支持存疑
适合人群
- macOS 开发者需要物理化日志/调试信息
- 小型零售/餐饮场景需要低成本收银小票
- 家长/教育工作者打印儿童练习单、便签
- IoT 爱好者构建本地打印自动化流程
- AI Agent 开发者探索"物理输出"交互形态
常规风险
- 隐私泄露:打印内容通过 BLE 明文传输,附近设备可嗅探;敏感信息(WiFi 密码、个人数据)不建议打印
- 设备固件安全:廉价打印机通常无安全更新机制,可能存在未披露漏洞
- 供应链风险:通过 pip/Homebrew 安装,需信任作者及分发渠道
- 物理安全:热敏纸含双酚 A(BPA)或替代品,长期接触需留意健康风险;打印头高温,儿童使用需监护