---
name: damage-detector
description: 汽车环车旧伤与车辆关键信息检测。用于 damage_detector 能力：基于 video-frame-extractor 生成的 taskId 和 frames 分批调用多模态大模型，识别划痕、凹陷、裂纹、掉漆、锈蚀等旧伤，并采集品牌型号、前后车牌、VIN、仪表盘里程、胎压、轮胎纹理健康度、轮胎品牌型号规格；写入 workspace/damages.json。
license: MIT
metadata:
  version: "1.0.0"
  category: vehicle-inspection
  skillType: compute-entry
  aliases: ["damage_detector"]
  tags: ["vehicle", "damage", "vision", "旧伤检测", "VIN", "轮胎"]
---

# 环车旧伤检测

前置条件：先使用 `video-frame-extractor` 得到 `taskId`。

```json
{
  "name": "damage-detector",
  "input": {
    "taskId": "order_10001",
    "batchSize": 50,
    "batchDelay": 2,
    "concurrency": 5
  }
}
```

## 工作流程

1. 读取共享 workspace 的 `video_info.json` 和 `frames/` 图片。
2. 每批默认 50 帧，批间默认等待 2 秒，避免模型限流。
3. 调用多模态模型检测车身旧伤和车辆关键信息。
4. 跨批次合并车辆信息，写入 `workspace/damages.json`。

## 输入

- `taskId`: 必填，由抽帧步骤返回。
- `batchSize`: 可选，默认 `50`。
- `batchDelay`: 可选，默认 `2` 秒。
- `concurrency`: 可选，默认 `5`。
- `modelResult` / `batchResults`: 可选，外部多模态模型返回结果；传入后本技能只做归一化和汇总。

## 输出

返回 `damagesFound`、`totalBatches`、`successBatches`、`vehicleInfo`。

如果没有配置 `ARK_API_KEY` 且没有传 `modelResult`，会返回 `needsModelVision:true`、`batches[]` 和 `prompt`，由上层 Agent 使用多模态模型处理后再回传 `modelResult`。

## 运行约定

- 需要 Node.js 18+。
- 共享 workspace 根目录优先读取 `VEHICLE_SCRATCH_WORKSPACE_ROOT`，其次兼容 `RZYX_AI_WORKSPACE_ROOT`，否则使用 `RZYX_AI_DATA_DIR/workspace/vehicle-scratch-inspection`。

## 检测原则

- 不要把反光、阴影、污渍、压缩噪声虚报为旧伤。
- 车辆信息跨批次合并，以更清晰、字段更完整的结果为准。
- 不使用百度 OCR API；图片文字识别由多模态大模型完成。
- 用中文回答所有内容。
