当用户希望通过智睦云打印服务完成打印相关操作时,使用此技能。
本技能支持:
Python 3.10+
pip install -r requirements.txt
https://any.webprinter.cn/get-ai-server-token
WEBPRINTER_ACCESS_TOKEN
python scripts/mcp_client.py check-install-progress
如果返回:
hasClient: false:停止后续打印操作,提示用户先安装并绑定官方智睦云打印客户端(访问 https://any.webprinter.cn 下载)
hasDevice: false:停止后续打印操作,提示用户先共享或绑定打印机
依赖文件:
requirements.txt,当前依赖为 requests>=2.31.0
直接打印和创建漫游打印任务,只接受两类输入来源:
http:// 或 https:// 文档链接,且链接内容必须能被智睦云打印服务器访问
额外限制:
localhost、.local 等本地地址
https://any.webprinter.cn/... 地址
保留以下动作和默认决策,不要随意改变。
触发条件:
默认行为:
执行步骤:
upload-file
python scripts/mcp_client.py create-roaming-task --file-name "document.pdf" --url "https://any.webprinter.cn/files/abc123/document.pdf" --media-format PDF
触发条件:
执行步骤:
python scripts/mcp_client.py query-printers
hidden=true 的数据),请用户确认
python scripts/mcp_client.py print-document --file-name "report.pdf" --url "https://any.webprinter.cn/files/abc123/report.pdf" --media-format PDF --device-name "HP LaserJet Pro" --control-sn "SERVER123456"
只在用户明确提出时调用,例如:
执行命令:
python scripts/mcp_client.py query-printer-detail --printer-name "HP LaserJet Pro" --share-sn "SERVER123456"
只在用户明确提出时调用。
修改单双面时,例如:
执行命令:
python scripts/mcp_client.py update-printer-side --task-id "TASK_20240324_001" --side DUPLEX
支持值:
ONESIDE
DUPLEX
TUMBLE
修改颜色时,例如:
执行命令:
python scripts/mcp_client.py update-printer-color --task-id "TASK_20240324_001" --color COLOR
支持值:
COLOR
MONOCHROME
修改份数时,例如:
执行命令:
python scripts/mcp_client.py update-printer-copies --task-id "TASK_20240324_001" --copies 3
支持值:
1-99
修改纸张时,例如:
执行命令:
python scripts/mcp_client.py update-printer-paper --task-id "TASK_20240324_001" --paper-size A4
或:
python scripts/mcp_client.py update-printer-paper --task-id "TASK_20240324_001" --width 210 --height 297
内置纸型转换规则(单位:毫米):
A3 -> 297 x 420
A4 -> 210 x 297
A5 -> 148 x 210
B4 -> 250 x 353
B5 -> 176 x 250
LETTER -> 215.9 x 279.4
LEGAL -> 215.9 x 355.6
TABLOID -> 279.4 x 431.8
如果用户说的是纸型名称,优先自动转换成 paper.width 和 paper.height 后再调用接口。
query-printer-detail、update-printer-side、update-printer-color、update-printer-copies、update-printer-paper 仅在用户明确要求时调用
update-printer-side 只负责单双面;颜色和份数必须分别使用独立动作更新
A3、A4 等纸型时,不要把纸型名称原样传给后端;先转换成毫米单位的 paper.width 和 paper.height
sn、shareSn 或 controlSn,应结合接口返回字段使用
| 用户表达 | 输入类型 | 调用动作 | 说明 |
| --- | --- | --- | --- |
| “上传这个文件” | 本地文件 | upload-file | 仅上传文件 |
| “打印这个链接:https://...” | URL 链接 | create-roaming-task | 默认进入漫游打印 |
| “打印这个文件”且未指定打印机 | 本地文件 | upload-file + create-roaming-task | 默认打印路径 |
| “用 XX 打印机打印” | 本地文件或 URL 链接 | query-printers + upload-file(仅本地文件)+ print-document | 直接打印到指定设备 |
| “查询打印机能力” | - | query-printer-detail | 按需调用 |
| “设置双面打印” | - | update-printer-side | 只更新单双面 |
| “改成彩色打印” | - | update-printer-color | 只更新颜色 |
| “打印 3 份” | - | update-printer-copies | 只更新份数 |
| “改成 A4” | - | update-printer-paper | 纸型先转宽高再更新 |
服务信息:
https://any.webprinter.cn
Authorization: Bearer
WEBPRINTER_ACCESS_TOKEN
POST /openapi/platform/checkInstallProgressMCP
python scripts/mcp_client.py check-install-progress
POST /openapi/control/queryPrinters
python scripts/mcp_client.py query-printers
POST /openapi/mcpClient/uploadFileMCP
python scripts/mcp_client.py upload-file --file-path "C:/path/to/document.pdf"
POST /openapi/task/createRoamingTask
python scripts/mcp_client.py create-roaming-task --file-name "document.pdf" --url "https://any.webprinter.cn/files/abc123/document.pdf" --media-format PDF
{
"success": true,
"taskId": "TASK_20240324_001"
}
POST /openapi/control/queryPrinterDetail
python scripts/mcp_client.py query-printer-detail --printer-name "HP LaserJet Pro" --share-sn "SERVER123456"
POST /openapi/task/config/updatePrinterSideMCP
python scripts/mcp_client.py update-printer-side --task-id "TASK_20240324_001" --side DUPLEX
POST /openapi/task/config/updatePrinterColorMCP
python scripts/mcp_client.py update-printer-color --task-id "TASK_20240324_001" --color COLOR
POST /openapi/task/config/updatePrinterCopiesMCP
python scripts/mcp_client.py update-printer-copies --task-id "TASK_20240324_001" --copies 2
POST /openapi/task/config/updatePrinterPaperMCP
python scripts/mcp_client.py update-printer-paper --task-id "TASK_20240324_001" --paper-size A4
或:
python scripts/mcp_client.py update-printer-paper --task-id "TASK_20240324_001" --width 210 --height 297
POST /openapi/task/directPrintDocumentMCP
python scripts/mcp_client.py print-document --file-name "report.pdf" --url "https://any.webprinter.cn/files/abc123/report.pdf" --media-format PDF --device-name "HP LaserJet Pro" --control-sn "SERVER123456"
HTML、PNG、JPG、PDF、BMP、WEBP、WORD、EXCEL、PPT、TEXT、WPS、ODF、ODT、ODS、ODP、ODG、XPS、PWG
常见错误:
401:令牌缺失或失效
403:账户没有访问该资源的权限
404:接口路径或资源不存在
5xx:服务端异常
排查顺序:
WEBPRINTER_ACCESS_TOKEN 是否已配置
control-sn 是否来自 query-printers 的返回结果
scripts/mcp_client.py
共 2 个版本