🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

视频理解助手 ilps2/dsh-video-understand

DeepSeek Harnessv0.5.2
ilps216 天前有提交已提供中文文档扫描:含敏感能力

低成本视频理解 dsh 插件:B站/本地视频 → AVIS 信息层 → 摘要+问答token 压缩…

39.1/100
综合分
12
GitHub 星标
1,993
npm 周下载
—/5
用户评分

数据截至 2026/10/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-video-understand
npm 源 · dsh-video-understand 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · platform
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-video-understand @ 0.5.2
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 14:14:32

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量
查看扫描证据(共 13 处,展示前 13 条)
  • 执行外部命令来自配置/变量
    dsh/index.js:102
    const proc = spawn(python, [script, ...args], {
  • 执行外部命令来自配置/变量
    bin/doctor.mjs:28
    const r = spawnSync(IS_WIN ? 'where' : 'which', [cmd], { encoding: 'utf8' })
  • 执行外部命令来自配置/变量
    bin/doctor.mjs:33
    const r = spawnSync(cmd, args, { encoding: 'utf8', timeout: 30_000 })
  • 读取密钥环境变量
    bin/doctor.mjs:141
    if (process.env.LLM_API_KEY || process.env.XIAOMI_API_KEY) return '环境变量'
  • 读取本地文件
    bin/doctor.mjs:143
    if (existsSync(cred)) {
  • 读取本地文件
    bin/doctor.mjs:144
    const text = readFileSync(cred, 'utf8')
  • 读取本地文件
    bin/doctor.mjs:155
    const whisperCached = existsSync(hfCache) && (() => {
  • 执行外部命令固定命令
    bin/doctor.mjs:156
    try { return execFileSync('ls', [path.join(hfCache, 'hub')], { encoding: 'utf8' }).includes('faster-whisper') } catch { return false }
  • 执行外部命令来自配置/变量
    dsh/env.mjs:30
    const r = spawnSync(IS_WIN ? 'where' : 'which', [cmd], { encoding: 'utf8' })
  • 执行外部命令来自配置/变量
    dsh/env.mjs:36
    const r = spawnSync(python, ['-c', CORE_MODS.map((m) => `import ${m}`).join('; ')], {
  • 读取本地文件
    dsh/env.mjs:46
    if (existsSync(VENV_PY)) return VENV_PY
  • 执行外部命令来自配置/变量
    dsh/env.mjs:52
    const proc = spawn(cmd, args, { stdio: ['ignore', 'ignore', 'pipe'] })
  • 读取本地文件
    dsh/env.mjs:105
    if (existsSync(VENV_PY) && hasCoreDeps(VENV_PY)) return VENV_PY
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 解析B站或本地视频
  • 生成视频摘要
  • 回答视频提问
展开完整介绍(91 字)↓

低成本视频理解 dsh 插件:B站/本地视频 → AVIS 信息层 → 摘要+问答(token 压缩 99.95%+)。给 DeepSeek Harness 用的低成本视频理解工具。

README

由 DeepSeek 最新模型翻译生成
dsh-video-understand 低成本视频理解插件:给 dsh 智能体注册 video_understand 工具——B站链接 / BV 号 / 本地视频 → AVIS 信息层(ASR 转写 + 场景结构 + 运动对象轨迹 + YOLO 语义)→ 摘要+问答。采用 Python 引擎:核心层需 faster-whisper / opencv / yt-dlp(约 200-300MB),可选语义层另需约 2GB 的 torch / transformers / ultralytics,内置 doctor --fix 一键建 venv 并装齐两者。 安装 npm 安装 npm install dsh-video-understand 或 dsh plugin add dsh-video-understand 装完即用:首次调用 video_understand 时自动创建插件本地隔离环境(.venv)并安装核心依赖(优先 uv,回退 venv+pip 清华镜像)——无需手动执行任何命令,不污染系统 Python。 引擎已内含,无需额外克隆外部仓库。
展开完整文档(README 剩余 1 节)
dsh-video-understand

低成本视频理解插件:给 dsh 智能体注册 video_understand 工具——B站链接 / BV 号 / 本地视频 → AVIS 信息层(ASR 转写 + 场景结构 + 运动对象轨迹 + YOLO 语义)→ 摘要+问答。采用 Python 引擎:核心层需 faster-whisper / opencv / yt-dlp(约 200-300MB),可选语义层另需约 2GB 的 torch / transformers / ultralytics,内置 doctor --fix 一键建 venv 并装齐两者。

安装

npm 安装
npm install dsh-video-understand

或 dsh plugin add dsh-video-understand

装完即用:首次调用 video_understand 时自动创建插件本地隔离环境(.venv)并安装核心依赖(优先 uv,回退 venv+pip 清华镜像)——无需手动执行任何命令,不污染系统 Python。

引擎已内含,无需额外克隆外部仓库。

环境自检

npx dsh-video-understand doctor # 逐项检测 + 给出修复命令
npx dsh-video-understand doctor --fix # 一键自动修复(建环境 + 装依赖)

前置条件仅两个:ffmpeg(macOS brew install ffmpeg / Ubuntu sudo apt install ffmpeg)和一个 LLM API key(见下表)。语义层依赖(torch/CLIP/YOLO,约 2GB)为可选,仅建完整语义层时再装:pip install -r engine/requirements-layer.txt。

⚠️ 数据流披露

| 级别 | 数据流向 | 说明 |
| L0(默认) | 完全本地 | ASR + 场景分类 + 运动检测,不上传任何数据 |
| L1 | MiMo API | 视频帧发送至 MiMo 服务器进行 VLM 分析 |
| L2 | MiMo API | 视频帧发送至 MiMo 服务器进行 VLM 分析 |

- L0 级别(默认)仅使用本地 ASR + 场景分类 + 运动检测,不涉及云服务
- L1/L2 级别会将视频帧(JPEG 编码)发送至 MiMo API 进行视觉理解
- 帧数据仅用于单次 VLM 推理,不会被存储或用于训练

环境变量

| 变量 | 必需 | 说明 |
| LLM_API_KEY | ✅* | LLM API 密钥(默认 MiMo:sk-xxxxx) |
| LLM_API_URL | ❌ | API endpoint(默认 https://api.xiaomimimo.com/v1/chat/completions) |
| LLM_MODEL | ❌ | 模型名(默认 mimo-v2.5) |
| VIDEO_UNDERSTAND_PYTHON | ❌ | Python 解释器路径(自动检测有依赖的 Python) |
| BILI_DOWNLOAD_SCRIPT | ❌ | bilibili-downloader 脚本路径(下载 B站视频用) |

\* 未设置 LLM_API_KEY 时,自动从 ~/.dsh/.credentials.yaml 读取(优先 XIAOMI_API_KEY,兼容 DEEPSEEK_API_KEY)。一个 key 搞定。

工具

video_understand(target, questions?, noDownload?, level?, window?)

| 参数 | 类型 | 说明 |
| target | string | B站 URL / BV 号 / 本地视频绝对路径 |
| questions | string[] | 可选,自定义问题(默认 3 问) |
| noDownload | boolean | 本地文件置 true |
| level | string | l0(默认) / l1(+3-5帧VLM视觉摘要) / l2(+时间窗密集帧证据) |
| window | string | L2 时间窗,如 10-30 或秒数(auto=轨迹最活跃30s) |
| budgetCny | number | 单次问题预算上限(元),视觉成本估算超预算自动降级(拦截 L2 用 L0/L1 回答) |

返回 JSON:video / duration_s / token_compression_pct / cost_cny / answers[]。

结构

dsh-video-understand/
├── package.json
├── cordis.patch.yml
├── dsh/
│ └── index.js # host 端:注册 video_understand 工具 ├── engine/ # Python 引擎(核心层 + 可选语义层依赖) │ ├── understand_video.py │ ├── avis.py │ ├── visual_level.py │ ├── frame_prep.py │ └── livestream-highlight/ │ └── asr.py └── skills/ └── video-understand/SKILL.md

分级实测(2026-08)

| 层级 | 内容 | 数据流向 | 成本(估算) |
| L0 信息层 | ASR+场景+轨迹+YOLO → 摘要/问答 | 本地 | 仅 LLM 文本成本 |
| L1 视觉级 | 3-5 帧 VLM → 颜色/姿态/衣着 | MiMo API | +数帧 VLM 成本 |
| L2 证据级 | 时间窗密集帧 → 时间线 | MiMo API | 按窗长 |

\ 成本按 engine/understand_video.py 的价格常量估算(可配置输入),实际随厂商定价变化,非测量承诺。详见 docs/blog-视频理解性价比实验(方法 + 实测)。

实测:电影解说 L1 补出「白色立领衬衫/神情凝重/暗色调诊室」(L0 完全给不出);舞蹈 L2 逐帧「头部转 15-20°→45°、口型开口→闭合→微笑」。

设计背景

本插件的核心目标是低成本视频理解:用信息层代替逐帧像素喂 LLM,单视频 LLM 调用仅需几千 token(具体成本取决于所选模型定价,见上)。

- LLM 选型:最初选用 DeepSeek v4 Flash 因其性价比最优;近期调价后已迁移至 MiMo,持续追踪成本效益比
- 视觉级(L1/L2):DeepSeek 暂不支持多模态输入,故 L1/L2 使用 MiMo API 进行视觉分析(此前曾使用 DashScope 作为过渡方案)。未来若 DeepSeek 支持多模态或出现更优的本地推理方案,可进一步优化成本

原理

引擎把视频压缩成信息层(ASR 转写 + 场景结构 + 运动对象轨迹 + YOLO 语义,约 1k token)再喂 LLM;同一视频重复理解时信息层缓存复用(内容哈希,二次提问跳过 ASR)。成本与 token 对比的具体测量见 docs/blog-视频理解性价比实验。

License

MIT
预览分享卡片长什么样 ↓ilps2/dsh-video-understand
分享 · DeepSeek Harness Hub
ilps2/dsh-video-understand

低成本视频理解 dsh 插件:B站/本地视频 → AVIS 信息层 → 摘要+问答token 压缩…

这是你的仓库?认领条目

回到顶部