SuperAPI AI 工具集

print-file

办公与效率

查看项目

更新于 10-16 01:17

技能介绍

用途:当用户要求打印本地文件、刚生成的文件、PDF、图片或文档(如“打印/打出来/print/送打印机”)时,调用此技能完成本地打印。

主要能力:定位文件并确认其真实存在;查询系统打印机(默认打印机、可用打印机列表及状态);查询目标打印机支持的纸张与颜色选项;向用户确认打印设置后提交打印任务,并回报任务号、检查队列;支持重新打印与取消卡住或重复的任务。

标准流程:先用 ls -lh "<file>" 定位文件;用 lpstat -d、lpstat -e、lpstat -p 查询打印机;用 lpoptions -p "<printer>" -l 查询支持选项;向用户确认设置后提交,例如 lp -d "<printer>" -o media=A4 -o ColorModel=Gray "<file>";随后用 lpstat -W not-completed -o "<printer>" 与 lpstat -p "<printer>" -l 检查队列。若打印机不支持 ColorModel=Gray,按 lpoptions 输出改用实际选项,如 print-color-mode=monochrome 或 cupsPrintQuality=Draft。重新打印前先查队列,旧任务仍在时先询问是否取消;用户确认失败或缺纸卡住后,用 cancel "<job-id>" 再重新提交。

核心规则:每次打印前必须确认纸张大小(默认 A4)与颜色(默认黑白);若用户在同一句已明确指定则可不追问;未确认前不得提交任务。优先使用默认打印机,无默认打印机时列出并让用户选择。若 lpstat 在沙箱内查不到打印机,可用 escalated 权限重试(常见于 macOS 打印服务访问受限,不代表没有打印机)。

限制:红灯、缺纸、卡纸、缺墨等硬件状态通常只能由用户在打印机上处理,CLI 只能看到队列状态;离线或暂停时先报告状态,不要反复提交多份任务。