--- title: 车辆旧伤检测 Skill created: 2026-05-07 updated: 2026-05-07 type: entity tags: [skill, agent, backend] sources: [packages/backend/skills/vehicle-damage-inspection/, packages/backend/test/skill_process_events.test.ts, docs/superpowers/plans/2026-05-06-tool-process-events.md] --- # 车辆旧伤检测 Skill `vehicle-damage-inspection` 是 2026-05-07 从 RZYX 迁入的多模态 compute-entry Skill,用于汽车环车视频旧伤检测。用户上传车辆环车视频并要求检查划痕、凹陷、掉漆、裂纹、锈蚀时,Agent 应通过 [[skill-runtime]] 的 `execute_skill` 调用它,而不是直接用图片识别工具分析整段视频。 ## Skill 结构 ```text packages/backend/skills/vehicle-damage-inspection/ ├── SKILL.md ├── README.md ├── skill.config.yaml ├── prompts/ │ ├── best_frame.md │ ├── damage_detect.md │ ├── damage_review.md │ └── grounding.md └── scripts/ ├── index.cjs └── lib/ ├── frame_extractor.cjs ├── damage_detector.cjs ├── damage_grounding.cjs ├── damage_reviewer.cjs ├── best_frame_selector.cjs ├── image_marker.cjs ├── json_utils.cjs ├── vision_client.cjs └── workspace.cjs ``` ## 输入与输出 主要输入: - `videoUrl`:本地路径、`/upload/...` 或本机可访问 URL。 - `fps`、`quality`、`batchSize`、`concurrency`:抽帧和检测吞吐控制。 - `groundingWindow`、`groundingFrameLimit`:候选旧伤定位窗口。 - `reviewConcurrency`、`topN`:复核和最佳证据帧数量。 - `mode`:`full`、`frames-only`、`detect-only`。 输出包含 `summary`、`vehicleInfo`、`damages`、`bestFrameImages`、`reviewImages` 和 `artifacts`。最终产物写入 dataDir 下的 `workspace/vehicle-damage-inspection/{taskId}`。 ## 执行流程 ```text execute_skill(vehicle-damage-inspection) -> 抽帧 -> 旧伤候选检测 -> grounding 定位标注 -> 不确定区域裁剪/放大复核 -> 选择最佳证据帧 -> 输出 damages / bestFrameImages / reviewImages ``` Skill 明确区分 `damages` 和 `candidates`:`damages` 是最终旧伤结论,`candidates` 只是中间候选,不应直接呈现为结论。 ## 过程事件 该 Skill 迁入时同步接入了 [[runtime-process-events]]。长耗时阶段会通过 process events 暴露抽帧、检测、定位、复核等阶段进度,前端可用 `tool-process-timeline.vue` 展示,而不需要只等最终 JSON。 ## 相关页面 - [[skill-system]] - [[skill-runtime]] - [[runtime-process-events]] - [[frontend-architecture]] - [[tool-system]]