根据短视频找1688产品
Go to file
ywkj a95f9045e5
register-skill-release / register (push) Successful in 17s Details
feat: 结构化 session ID + 输出透传
- 格式: vps-YYYYMMDD-HHMMSS-xxxx (vps = video-product-snapshot)
- 优先级: --session-id CLI > SKILL_SESSION_ID env > 自动生成
- sessionId 写入 stdout JSON,telemetry 同步上报

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-26 18:44:01 +08:00
.forgejo/workflows chore: 接入 CI/CD skill 注册流程 2026-04-20 07:26:42 +08:00
scripts feat: 结构化 session ID + 输出透传 2026-04-26 18:44:01 +08:00
src feat: 统一鉴权清理 + Langfuse session 追踪 2026-04-26 18:35:55 +08:00
.DS_Store feat: 初始化 video-product-snapshot skill 2026-04-20 07:24:28 +08:00
.env.example refactor: remove VISION_API_KEY/BASE env overrides, all credentials from client config only 2026-04-20 12:21:44 +08:00
.gitignore chore: 接入 CI/CD skill 注册流程 2026-04-20 07:26:42 +08:00
README.md skill: translate user-facing docs to Chinese, add detect-best commands 2026-04-25 15:13:07 +08:00
SKILL.md feat: image-only pipeline with LLM post-filter for category accuracy 2026-04-26 15:01:42 +08:00
bun.lock feat: 初始化 video-product-snapshot skill 2026-04-20 07:24:28 +08:00
install.sh chore: 接入 CI/CD skill 注册流程 2026-04-20 07:26:42 +08:00
package.json feat: 初始化 video-product-snapshot skill 2026-04-20 07:24:28 +08:00

README.md

video-product-snapshot — 视频商品截图

检测视频中的电商商品,提取最佳商品画面,并通过图片搜索在 1688 找同款。

工作原理

  1. 使用 ffmpeg 按配置间隔从视频抽帧
  2. 将每帧发给视觉模型,检测是否有商品并评分
  3. 选出置信度最高的帧作为最佳商品截图
  4. 可选:用这张截图调用图片搜索 API 找同款商品

安装

bun install
bun run build        # 输出到 dist/run.js

使用方法

bun dist/run.js <command> [options]

命令

命令 说明
detect <video> 抽帧并检测商品画面
search <image> 用图片搜同款
detect-and-search <video> 完整流程:检测最佳画面 → 搜图
session 打印当前认证 session token
参数 默认值 说明
--interval=<秒> 1 抽帧间隔(秒)
--max-frames=<数量> 60 最多分析帧数
--output-dir=<目录> 视频所在目录 抽帧图片保存目录
--min-confidence=<0-1> 0.7 最低检测置信度
--dry-run 解析参数并打印配置,不实际执行

示例

# 检测商品,每 3 秒抽一帧
bun dist/run.js detect ./demo.mp4 --interval=3

# 完整流程 + 更高置信度门槛
bun dist/run.js detect-and-search ./demo.mp4 --interval=5 --min-confidence=0.85

# 用已有截图搜同款
bun dist/run.js search ./snapshot.jpg

输出

所有命令输出 JSON 到 stdout。

{
  "bestSnapshot": {
    "frameIndex": 4,
    "timestampSeconds": 9,
    "imagePath": "/path/to/frame_0004.jpg",
    "confidence": 0.92,
    "description": "White sneaker with blue logo, left side view",
    "boundingHint": "centered"
  },
  "productFrames": [...],
  "searchBody": { ... }
}
  • productFrames — 所有检测到的画面,按置信度排序(最高在前)
  • bestSnapshot — 排名第一的画面
  • searchBody — 图片搜索 API 的返回(仅 search / detect-and-search

环境变量

唯一必需配置是 ~/.openclaw/.env 中的 CLIENT_KEY

CLIENT_KEY=sk_xxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxx

所有凭据和接口地址通过 auth-rt 从客户端配置自动获取,无需额外配置。

可选覆盖

变量 说明
VISION_MODEL 覆盖模型名称(默认:aliyun-cp-multimodal
AUTH_RT_BIN 覆盖 auth-rt 二进制路径
TELEMETRY_ENDPOINT 上报执行结果到遥测接口

前置依赖

  • Bun 运行时
  • 系统 PATH 中包含 ffmpegffprobe
  • 系统 PATH 中包含 auth-rt CLIsearch / detect-and-search 需要)