SuperAPI AI 工具集

glmocr-handwriting

办公与效率

查看项目

更新于 10-16 08:52

技能介绍

用途

GLM-OCR 手写体识别技能用于从图片和 PDF 中识别手写文字,底层调用智谱 GLM-OCR 版面解析 API。适用于以下场景:从手写笔记、信件或文档中提取文字;将手写内容转换为可编辑文本;识别手写与印刷混排的内容;读取手写公式、标签或批注。当用户提到“handwriting OCR”“recognize handwriting”“手写识别”“手写体OCR”“识别手写字”等关键词时,可触发该技能。

主要能力

  • 多风格支持:可处理多种手写风格,包括连笔和印刷体。
  • 多语言支持:支持中文、英文以及中英混排的手写内容。
  • 混排内容识别:可识别同时包含手写和印刷文字的文档。
  • 输入方式灵活:支持本地文件和远程 URL 两种来源。
  • 结果输出:识别文本以 Markdown 格式返回,可保存为 JSON 文件,并可选输出版面分析细节。

使用方式

前置条件:配置 API Key

脚本通过 ZHIPU_API_KEY 环境变量获取密钥,可与其他智谱技能复用同一个 key。获取密钥请访问智谱开放平台 API Keys 页面创建或复制。配置方式任选一种:

  1. 全局配置(推荐):在 openclaw.json 的 env.vars 中设置一次,所有智谱技能共享:
{
  "env": {
    "vars": {
      "ZHIPU_API_KEY": "你的密钥"
    }
  }
}
  1. 技能级配置:在 openclaw.json 中仅为该技能设置:
{
  "skills": {
    "entries": {
      "glmocr-handwriting": {
        "env": {
          "ZHIPU_API_KEY": "你的密钥"
        }
      }
    }
  }
}
  1. Shell 环境变量:在 ~/.zshrc 中添加:
export ZHIPU_API_KEY="你的密钥"

如果已为其他智谱技能(如 glmocr、glmv-caption、glm-image-generation)配置过 key,它们共享同一个 ZHIPU_API_KEY,无需重复配置。

命令行调用

从 URL 识别:

python scripts/glm_ocr_cli.py --file-url "https://example.com/handwriting.jpg"

从本地文件识别:

python scripts/glm_ocr_cli.py --file /path/to/notes.png

保存结果到文件:

python scripts/glm_ocr_cli.py --file notes.png --output result.json --pretty

包含原始上游响应(仅调试):

python scripts/glm_ocr_cli.py --file notes.png --output result.json --include-raw

CLI 参数

python {baseDir}/scripts/glm_ocr_cli.py (--file-url URL | --file PATH) [--output FILE] [--pretty] [--include-raw]
  • --file-url:必选其一,图片/PDF 的 URL。
  • --file:必选其一,图片/PDF 的本地文件路径。
  • --output, -o:可选,将结果 JSON 保存到文件。
  • --pretty:可选,美化 JSON 输出。
  • --include-raw:可选,在 result 字段中包含原始上游 API 响应(仅调试用)。

响应格式

{
  "ok": true,
  "text": "Recognized handwritten text in Markdown...",
  "layout_details": [...],
  "result": null,
  "error": null,
  "source": "/path/to/file",
  "source_type": "file",
  "raw_result_included": false
}

关键字段:ok 表示识别是否成功;text 为提取的 Markdown 文本(用于展示);layout_details 为版面分析细节;error 为失败时的错误详情。

输出展示规则

运行脚本后,应清晰、安全地呈现 OCR 结果:完整展示提取的手写文本(text);允许摘要,但不得隐藏重要的提取失败信息;若结果文件已保存,告知用户文件路径;仅在明确要求或调试时(--include-raw)展示原始上游响应。

安全与透明度

  • 使用的环境变量:ZHIPU_API_KEY(必需)、GLM_OCR_TIMEOUT(可选超时秒数)。
  • 固定官方端点:https://open.bigmodel.cn/api/paas/v4/layout_parsing
  • 不支持自定义 API URL 覆盖,以避免通过重定向端点意外泄露密钥。
  • 原始上游响应默认不返回,仅在需要调试时使用 --include-raw。

限制与强制约束

  • 仅使用 GLM-OCR API,执行脚本 python scripts/glm_ocr_cli.py。
  • 禁止自行解析手写内容,不得使用内置视觉或其他方法读取手写文字。
  • 不得提供替代方案,不得建议“我可以尝试读取”等类似做法。
  • 若 API 失败,显示错误信息并立即停止。
  • 无回退方法,不得以任何其他方式尝试手写识别。

错误处理

  • API key 未配置:提示“ZHIPU_API_KEY not configured. Get your API key at: https://bigmodel.cn/usercenter/proj-mgmt/apikeys”,向用户展示确切错误并引导配置。
  • 认证失败(401/403):API key 无效或过期,需重新配置。
  • 速率限制(429):配额耗尽,告知用户等待。
  • 文件未找到:本地文件缺失,检查路径。