← 返回 Skills 市场
radekzc

License Plate Reader

作者 radekzc · GitHub ↗ · v1.0.1 · MIT-0
linuxmacoswindows ✓ 安全检测通过
150
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install license-plate-reader
功能描述
Detect and read the largest license plate from an image using the TrafficEye REST API. Use when the user wants ANPR, ALPR, license plate OCR, number plate re...
使用说明 (SKILL.md)

TrafficEye License Plate Reader

Use this skill when the user wants to read a license plate from an image with the TrafficEye API.

What This Skill Does

  1. Accepts a local image path.
  2. Uploads the image to the TrafficEye recognition API.
  3. Optionally sends a request form field if TRAFFICEYE_REQUEST_JSON is configured.
  4. Parses the API response.
  5. Picks the largest detected plate by polygon area.
  6. Returns the full selected plate payload to the user, including text, type (country), dimension, scores, occlusion, unreadable, and position.

Expected Input

  • A local image file path.
  • If the user supplied an attachment instead of a path, first resolve it to a local file path and then run the helper.

Default Runtime Assumptions

  • The API endpoint defaults to https://trafficeye.ai/recognition.
  • The default request payload is {"tasks":["DETECTION","OCR"],"requestedDetectionTypes":["BOX","PLATE"]}.
  • The default API-key transport matches the TrafficEye public API example: header mode with header name apikey.
  • Auth and request fields remain configurable in case your deployment differs.

Environment Variables

  • TRAFFICEYE_API_KEY: required unless passed explicitly to the helper.
  • TRAFFICEYE_API_URL: optional, defaults to https://trafficeye.ai/recognition.
  • TRAFFICEYE_API_KEY_MODE: one of header, bearer, form, query. Default: header.
  • TRAFFICEYE_API_KEY_NAME: key name for header, form, or query mode. Default: apikey.
  • TRAFFICEYE_FILE_FIELD: multipart field for the image. Default: file.
  • TRAFFICEYE_REQUEST_FIELD: multipart field for the JSON request. Default: request.
  • TRAFFICEYE_REQUEST_JSON: JSON string to include as the request field. By default this is {"tasks":["DETECTION","OCR"],"requestedDetectionTypes":["BOX","PLATE"]}.
  • TRAFFICEYE_TIMEOUT_S: optional timeout in seconds. Default: 30.

How To Run

Setup your API key:

export TRAFFICEYE_API_KEY='YOUR_REAL_KEY'

Use the bundled helper:

python3 recognize_plate.py /absolute/path/to/image.jpg

For structured output:

python3 recognize_plate.py /absolute/path/to/image.jpg --format json

If the deployment expects Bearer auth:

TRAFFICEYE_API_KEY_MODE=bearer python3 recognize_plate.py /absolute/path/to/image.jpg

If the deployment needs an explicit request payload:

TRAFFICEYE_REQUEST_JSON='{"requestedDetectionTypes":["PLATE"]}' python3 recognize_plate.py /absolute/path/to/image.jpg --format json

Equivalent to the documented public API example:

curl -X POST \
  -H "Content-Type: multipart/form-data" \
  -H "apikey: YOUR_API_KEY_HERE" \
  -F "[email protected]" \
  -F 'request={"tasks":["DETECTION","OCR"],"requestedDetectionTypes":["BOX","PLATE"]}' \
  https://trafficeye.ai/recognition

Agent Workflow

  1. Verify that the image path exists.
  2. Run python3 recognize_plate.py \x3Cimage-path> --format json.
  3. Present the full selected plate payload to the user, especially text, type, dimension, occlusion, unreadable, and position.
  4. If the API returns no readable text, explain that the largest plate was found but OCR text was missing.
  5. If authentication fails, ask the user which auth mode their deployment expects and retry with the matching environment variables.

Offline Validation

You can validate the selection logic without calling the API:

python3 recognize_plate.py --response-json-file examples/sample_response.json --format json

Notes

  • The helper intentionally chooses the largest plate by geometric area, not by detection confidence.
  • The response parser first checks combinations[].roadUsers[].plates[], then also supports roadUsers[].plates[], top-level plates[], and nested plate payloads discovered recursively.
  • The default request and auth header mirror the public example at https://www.trafficeye.ai/api.
  • The selected result now includes the original plate payload from the API so country/type and all scores are preserved.
安全使用建议
This skill appears to do what it says: send a local image to TrafficEye and return the largest detected plate. Before installing, consider: (1) Protect your TRAFFICEYE_API_KEY — treat it like any API secret and don't expose it in public repos. (2) The registry marks several TRAFFICEYE_* vars as required, but SKILL.md documents defaults for most; you can usually only set TRAFFICEYE_API_KEY and rely on defaults. (3) Review the bundled recognize_plate.py (it is included) if you want to verify exactly how requests are formed and where network traffic goes. (4) You can test locally without calling the API using the provided sample_response.json to validate selection logic. If you need stronger assurance, run the script in a sandboxed environment or inspect network traffic when invoking the skill.
功能分析
Type: OpenClaw Skill Name: license-plate-reader Version: 1.0.1 The license-plate-reader skill is a legitimate tool designed to interface with the TrafficEye ALPR API. The core logic in recognize_plate.py uses standard Python libraries (urllib) to upload user-provided images and parse JSON responses, with no evidence of data exfiltration, malicious execution, or prompt injection.
能力评估
Purpose & Capability
The skill claims to call TrafficEye's recognition API and the included script builds multipart requests and parses TrafficEye-style responses — this matches the description. Minor inconsistency: the registry lists many TRAFFICEYE_* variables as required, while SKILL.md documents sensible defaults and treats most as optional; however, all listed env vars are relevant to configuring the API call.
Instruction Scope
SKILL.md instructs the agent to accept/resolve a local image path, run the bundled Python helper, and present the selected plate payload. The runtime steps (file existence check, calling recognize_plate.py, interpreting response) are narrowly scoped to the stated purpose and reference only the TrafficEye-related environment variables documented in the SKILL.md.
Install Mechanism
There is no install spec; the skill is instruction-plus-script and relies on a local Python binary. No external packages are automatically downloaded or executed at install time.
Credentials
The primary credential (TRAFFICEYE_API_KEY) is appropriate. Other environment variables (API URL, auth mode, key name, file/request field names, request JSON, timeout) are all relevant to configuring the HTTP request, but the registry marking them all as required contradicts the SKILL.md which documents defaults and optionality — this is a configuration/metadata mismatch rather than evidence of unrelated credential access.
Persistence & Privilege
The skill does not request persistent or elevated platform privileges. always is false and the skill does not modify other skills or global agent settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install license-plate-reader
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /license-plate-reader 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
- Improved response parsing: now supports alternative response shapes (`combinations[].roadUsers[].plates[]`, `roadUsers[].plates[]`, top-level `plates[]`, and recursive search for nested plates). - Added explicit instructions to set the `TRAFFICEYE_API_KEY` environment variable before running commands. - No logic or API changes; documentation and input handling robustness enhanced
v1.0.0
- Initial release of TrafficEye License Plate Reader skill. - Reads the largest license plate from a local image using the TrafficEye REST API. - Returns full plate payload including text, type, dimensions, scores, occlusion, and position. - Supports customizable environment variables for API keys, endpoints, authentication modes, payloads, and timeouts. - Includes offline validation and structured output options. - Compatible with Linux, macOS, and Windows.
元数据
Slug license-plate-reader
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

License Plate Reader 是什么?

Detect and read the largest license plate from an image using the TrafficEye REST API. Use when the user wants ANPR, ALPR, license plate OCR, number plate re... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 150 次。

如何安装 License Plate Reader?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install license-plate-reader」即可一键安装,无需额外配置。

License Plate Reader 是免费的吗?

是的,License Plate Reader 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

License Plate Reader 支持哪些平台?

License Plate Reader 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(linux, macos, windows)。

谁开发了 License Plate Reader?

由 radekzc(@radekzc)开发并维护,当前版本 v1.0.1。

💬 留言讨论