77 lines
2.7 KiB
Markdown
77 lines
2.7 KiB
Markdown
---
|
||
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]]
|