Aaron Chartier

InkJet - Bluetooth Thermal Printer

开发编程v1.0.3
作者:Aaron Chartier更新于 2026-05-11共 8 个版本 · 最新版本发布于 2026-03-28inkjet@clawhub_aaronchartier/inkjet
脚本工具

据 AlphaMoat 统计,截至 2026-09,InkJet - Bluetooth Thermal Printer 累计下载 3,269 次、获 4 个星标,在全部 5,078 个 AI 技能中排名第 3,478 位,在「开发编程」分类(577 个)中排名第 448 位。

累计安装
234
累计下载
3,269
星标
4
全站排名
#3,478
全站前 69% · 「开发编程」前 78%
平台累计安装累计下载星标评论
ClawHub ↗1003,25742
SkillHub ↗2343,2694—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

该技能通过 inkjet 命令行把文本、Markdown、文件、图片和二维码打印到蓝牙热敏打印机(X6h、GT01、cat printers 等),适用于 macOS。打印机只需开机无需配对,inkjet 直接通过 BLE 连接。支持多行转义、--markdown 高保真渲染、--size 调整、stdin 管道输入、--json 机器可读输出、全局/项目级配置(.inkjet/config.json)与多打印机编排(--address 按角色路由或负载均衡),并给出儿童练习纸打印的最佳实践(用 ## 标题、手动编号、留足行距)。

资料发布于 2026-10-27

可以用来做什么

  • 用一行命令打印小票、待办清单或 Markdown 格式化内容
  • 生成并打印二维码(如 WiFi 配置串),小尺寸也能被手机扫描
  • 通过 --address 在多台打印机间按角色路由或轮询分摊打印量

什么时候用

  • 当需要从 macOS 向蓝牙热敏打印机输出文本、图片或二维码时
  • 当需要低成本高频的物理输出(小票、标签、练习纸、日志)时
  • 当需要管理多台热敏打印机的配置与打印路由时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

打印一张写着『订单 104:咖啡一杯』的小票
帮我生成并打印一个 WiFi 二维码
把这份 README 用 inkjet 打印到厨房那台打印机

月度数据趋势

累计下载3,269
1,9412,6543,3672026-03 · 累计下载 2,0392026-05 · 累计下载 2,4962026-06 · 累计下载 2,6652026-07 · 累计下载 2,9612026-08 · 累计下载 3,1242026-09 · 累计下载 3,26926-0326-09
星标4
3452026-03 · 星标 42026-05 · 星标 42026-06 · 星标 42026-07 · 星标 42026-08 · 星标 42026-09 · 星标 426-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-093,269—4
2026-083,124+5.5%4
2026-072,961+11.1%4
2026-062,665+6.8%4
2026-052,496—4
2026-032,039—4

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

4.8 KB · ClawHub v1.0.3
---
name: inkjet
description: "Print text, images, and QR codes to a wireless Bluetooth thermal printer from a MacOS device. Use `inkjet print` for output, `inkjet scan` to discover printers."
homepage: https://github.com/AaronChartier/inkjet
metadata: {"openclaw":{"emoji":"🖨️","requires":{"bins":["inkjet"],"bluetooth":true},"install":[{"id":"pip","kind":"pip","package":"inkjet","label":"Install (pip)"},{"id":"brew","kind":"brew","package":"aaronchartier/tap/inkjet","label":"Install (Homebrew)"}]}}
---
# Thermal Printer Skill
Print text, images, and QR codes to cheap Bluetooth thermal printers (X6h, GT01, cat printers) via `inkjet` CLI. Thermal paper is extremely low-cost, enabling high-frequency physical output. No emojis in print content.
## Install
```bash
展开全部(共 97 行)
inkjet --version           # Check if already installed; skip install if this succeeds
pip install inkjet         # Universal
brew install aaronchartier/tap/inkjet  # macOS (takes longer, compiles Pillow)
```
## Setup
Printer must be ON but does NOT need Bluetooth pairing — `inkjet` connects directly via BLE.
```bash
inkjet scan               # Discover printers, set default
inkjet whoami             # Check current configuration
```
## Print Text
Print strings directly. Supports `\n` escape sequences for multiline output. No emojis.
```bash
inkjet print text "Hello, World!"
inkjet print text "Line 1\nLine 2\nLine 3"
inkjet print text "Big Text" --size 72
```
## Print Markdown
Render high-fidelity formatted content using Markdown syntax. Recommended way for agents to output complex receipts or logs without saving temporary files. No emojis.
```bash
inkjet print text "# Order 104\n- 1x Coffee\n- 1x Donut" --markdown
```
## Print Files
Output contents of a local file. Supports plain text (`.txt`) and Markdown (`.md`).
```bash
inkjet print file ./receipt.txt
inkjet print file ./README.md
```
## Print Images
```bash
inkjet print image ./photo.png
inkjet print image ./logo.jpg --dither
```
## Print QR Codes
Generates and prints QR codes. Smartphone scanners reliably read codes down to `--size 75`.
```bash
inkjet print qr "https://github.com/AaronChartier/inkjet"
inkjet print qr "WiFi:S:NetworkName;P:example123;;" --size 75
```
## Paper Control
```bash
inkjet feed 100           # Feed paper forward (steps)
```
## Configuration
Manage settings globally or per project. If `.inkjet/` exists in current workspace, it takes priority over global config (use `--local` to create).
```bash
inkjet config show                    # Show all settings
inkjet config set printer <UUID>      # Set default device
inkjet config set energy 12000        # Set darkness (local project)
inkjet config alias kitchen <UUID>    # Save a friendly name
```
### Config JSON Schema (direct filesystem edit)
Bypass CLI and modify behavior by writing directly to config JSON. Priority: `./.inkjet/config.json` > `~/.inkjet/config.json`. Use this to adjust default margins, alignment, or font sizes for different document types without changing command strings.
```json
{"default_printer":"UUID","printers":{"alias":"UUID"},"energy":12000,"print_speed":10,"quality":3,"padding_left":0,"padding_top":10,"line_spacing":8,"align":"left","font_size":18}
```
## Multi-Printer Orchestration
If the environment (e.g., `TOOLS.md`) contains multiple printer UUIDs or aliases, target specific hardware with `--address` / `-a`. Use `-a default` for primary device.
```bash
inkjet print text "Main Status" -a office      # Role-based routing
inkjet print text "Order #104" -a kitchen
inkjet print qr "https://example.com" -a default
inkjet print file ./log.txt -a "UUID_EXT_1"    # Direct UUID targeting
```
Strategies: **Role-Based Routing** (route content by hardware role, e.g. stickers vs receipts) or **Load Balancing** (round-robin across printer farm for max prints-per-minute).
## Piping Content (stdin)
Stream data from another command's output without creating temp files. Use `-` to read from stdin.
```bash
echo "Receipt line 1" | inkjet print text -    # Text piping
curl -s "https://example.com/logo.jpg" | inkjet print image -  # Image piping
```
## JSON Output
Commands support `--json` for machine-readable output (useful for scripting).
```bash
inkjet scan --json
inkjet whoami --json
```
## Worksheet Best Practices
Thermal paper is narrow and cheap. For children's worksheets or handwriting:
1. **Size for Visibility:** Use `##` headers — standard text is too small for kids to read/write comfortably
2. **Manual Numbering:** Avoid Markdown lists (`1. content`) — they auto-indent and waste horizontal space. Use `## 1) 5 + 2 = ___`
3. **Cheap Paper Rule:** Use `\n\n\n` between items — thermal paper is free, give writing room
4. **Tear-off Line:** End with `---` for a clean tear-off that doesn't cut off the last problem
## Troubleshooting
If printer not found:
```bash
inkjet doctor             # Diagnose connection issues

「开发编程」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。