下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/hellofont--hellofont-font-recognition.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @hellofont/hellofont-font-recognition。当用户上传图片,可以识别图片中的文字、匹配字体、候选字体,并生成 WebFont 可视化。
阅读全文 (展开查看完整说明)
概述
AI识字
仅用于通过图片识别中文文字字体、OCR 文本、最佳匹配与候选字体,并生成本地 HTML 富结果;不用于判断字体版权、授权或商业使用资格。每次识别费用为 0.50 元。
付费前置检查
调用本 Skill 前,检查当前 Agent 是否已安装 weixinpay 插件:
- 已安装:可继续提供付费服务。
- 未安装:提示“当前 Agent 暂不支持微信支付付费能力”,终止流程。
未通过付费前置检查时,不得调用识别接口或创建订单。
开始前
要求用户提供 JPEG、PNG 或 WebP 图片。没有图片时,请求上传清晰、紧密裁切到文字区域的图片;不要调用接口、创建订单或猜测字体。若对话状态已列出附件,即使只显示附件名,也直接使用该附件,不要搜索工作区或要求重新上传。
同一次用户识别意图只生成并保存一个规范 UUID client_request_id。若首次 POST 没有收到任何 HTTP 响应,例如 DNS、TLS、连接中断或超时,必须等待前一次请求明确结束,最多串行重试一次并复用这个 UUID;不得并发重复请求。
一旦收到任何 HTTP 响应,本次首次请求即告结束:只有 HTTP 402 可以继续下面的支付步骤;其他状态都必须停止,不得自动重试、不得生成新的 client_request_id,也不得创建另一笔订单。只有用户之后明确重新发起一次识别,才能生成新 UUID 并开始新订单。
HTTP 503 且 code=DEPENDENCY_UNAVAILABLE 时,说明“支付预下单或其依赖服务暂时不可用”,然后停止。若响应中未取得 paymentCode 和 out_trade_no,明确告知用户没有发起支付,也没有产生费用;不应描述为 OCR 服务故障,因为正式流程尚未进入付款后的 OCR 阶段。HTTP 410 且 code=ORDER_EXPIRED 时,说明原会话已经过期且不能继续使用,然后停止,不将其解释为 OCR 故障。
发生上述错误时,不得推荐、切换或调用任何测试版 Skill。
付费识别
严格按以下顺序执行:
- 向
https://agentpay.hellofont.cn/v1/font-recognition发起一次 multipart POST,只提交图片file、保存的client_request_id和可选query。 - 收到 HTTP 402 后,从
WeixinPay-Required取得paymentCode,并保存响应中的out_trade_no。两者都缺一不可;不要创建第二笔订单。 - 告知用户本次费用为 0.50 元,只将保存的
paymentCode交给weixinpay_pay,且同一次识别仅调用一次。等待支付工具返回明确状态;用户自行声称“已支付”不等于支付工具成功。 - 仅当
weixinpay_pay明确返回支付成功时,使用同一个out_trade_no在X-Out-Trade-No请求头向同一 endpoint 重试;不重传图片,不再发送client_request_id,也不再次支付。 - 重试必须得到 HTTP 200 且响应
mode=real。保存完整 JSON 到当前任务工作目录,例如hellofont-response.json;不要改写 OCR、候选顺序、置信度、字体 ID 或响应根级webfonts。
支付取消时立即停止,不重试取结果、不再支付。支付失败时立即停止,不重试取结果、不再支付。支付状态未知时停止;不得再次支付、再次调用 weixinpay_pay 或新建订单,请用户先通过支付渠道核验原 out_trade_no。没有支付工具明确成功或既有订单已支付的可靠执行状态时,不得仅凭用户陈述继续取结果。
对于已明确支付的订单,若取结果发生传输失败或返回 OCR_TIMEOUT,等待当前请求结束后,串行复用同一个 out_trade_no 重试;不重传图片、不创建订单、不再次支付。既有已支付订单的结果回放也只使用原 out_trade_no。
生成富结果
HTTP 200 且 mode=real 后,从本 Skill 目录运行:
python3 scripts/render_result.py
--image "/absolute/path/to/original-image"
--response "/absolute/path/to/hellofont-response.json"
--output "/absolute/path/to/hellofont-result.html"渲染器只消费响应根级 webfonts 中已批准的 HTTPS CSS;不需要也不得索取本地 WebFont 凭据。字体映射缺失、无效或加载失败时仍生成页面,并明确显示“系统字体回退”。只有页面显示“已使用识别字体渲染”时,才可声称启用了 WebFont。
当前 API 没有提供可验证的文字坐标,因此结果页展示原图但不绘制文字标框。
先返回可打开的 hellofont-result.html,再简要列出每一行 OCR 文本、最佳匹配 best_font、全部 candidates 和 confidence。所有字体匹配和 confidence 仅供参考,不承诺准确率。
NO_TEXT 是已完成结果:说明未检测到文字,建议上传更清晰、紧密裁切的文字区域,不编造 OCR 或字体。图片损坏或格式不支持时说明实际错误并请求 JPEG、PNG 或 WebP,不根据文件名推断内容。任何接口、支付或脚本未实际完成时,不得声称已经完成。
识别结果不构成任何字体版权、商用或其他授权结论;请以字体权利方的正式授权条款为准。