前言¶
在 DSH 里做短视频内容管线时,常见做法是分散脚本:单独抓链接、单独调 ffmpeg、再换一套 ASR 与导出格式。链接形态多(单条、分享文案、作者主页、sec_uid),平台侧还有登录与分页限制,转写引擎又在本地与云之间切换。下面介绍社区插件 dsh-shortvideo-export(维护者 hangyesite,分类:联网工具),它把抓取、无水印下载、转写、可选术语校对和多格式导出收进一个 DSH 插件,并自带 Web 面板与 Agent 工具。
这是什么¶
dsh-shortvideo-export 是 DeepSeek Harness(DSH)插件:注册 Agent 工具、Skill、确认动作卡片、定时同步入口和带任务进度的 Web 面板;重计算由内置 Python 引擎完成。package.json 版本为 0.1.4,许可证 MIT。
它面向抖音与小红书:下载无水印 MP4,用本地或云端语音识别生成文稿,可选用聊天模型做术语级校对(不改写全文、不动时间轴),并导出 Markdown(含 YAML front-matter)、TXT、SRT、VTT、JSON、HTML、DOCX;支持每条视频单独文件,或按时间合并合集。
核心功能¶
抓取与下载¶
- Fetch:支持粘贴视频链接、视频 ID、分享文案、主页链接或原始
sec_uid;作者列表支持增量同步,遇到已收录视频即停止。 - Download:保存无水印 MP4(优先更高码率变体,经 ffprobe 校验),并提取 16 kHz 单声道 WAV 供转写。
转写¶
提供多种可互换引擎(两个本地、多个云端;小红书还可读平台自带中文字幕轨)。任务可逐条或批量执行,面板与后台任务可查看进度;支持连续失败熔断、无语音检测(静音视频跳过而非整批失败)。
| Engine id | 运行位置 | 时间戳粒度 | 主要依赖 |
|---|---|---|---|
sensevoice |
本地 CPU(int8) | 句级(ffmpeg 静音检测) | 需下载 bundled 模型 |
faster-whisper |
本地 CPU/GPU | 词级 | faster-whisper 与模型 |
openai |
OpenAI 兼容 /audio/transcriptions |
依服务商 | base URL、key、model |
dashscope |
阿里云百炼 | 词级 | API key |
volc |
火山引擎豆包 ASR | 句级 | API key;公开音频 URL 或 TOS |
official |
小红书笔记字幕轨 | 句级 | pip install xhshow、小红书登录;仅小红书 |
official 与平台绑定:输入无小红书链接或混有抖音时,面板会拒绝创建任务,API 返回 engine_platform_mismatch。
校对与导出¶
- Proofread(可选):用聊天模型从样本挖掘
wrong → right术语表,人工确认后做确定性替换;支持wrong => right || the sentence处理同音误识别。配置在polish.*,与 ASR 分离。 - Export:按任务目录输出;可选合并合集(MD/TXT/HTML/DOCX),默认较新条目在前。
任务、面板与登录¶
每次运行有独立目录结构(video/、audio/、transcript/、export/<format>/、export/合集/)及阶段表(download / transcribe / export)。
面板侧栏入口含:New task、Tasks、Library、Proofread、Login、Settings。Login 页按平台分卡(当前为抖音、小红书),各自 QR 登录状态;README 注明多数下载可不登录,但抖音作者作品超过约 18 条、需翻页时通常需要已登录会话。
环境与依赖¶
| 需求 | 说明 |
|---|---|
| DSH | 较新版本;使用 ctx.tools、ctx.slots、ctx.skills、actionCards、schedule |
| Python | 3.10+,PATH 上为 python(或 SV_PYTHON / 配置项 python) |
| ffmpeg | ffmpeg + ffprobe,或 media.ffmpegPath |
| 浏览器 | 系统 Chrome 或 Edge;Playwright 驱动抖音元数据抓取 |
| 云端密钥 | 仅在选择云端引擎时需要;本地 SenseVoice 无需账号 |
首次使用某引擎时,Python 依赖按需安装(未打入插件包):
python -m pip install playwright sherpa-onnx faster-whisper python-docx
python -m playwright install chromium # 仅在没有 Chrome/Edge 时
安装与启用¶
README 给出的安装方式为:
dsh plugin add https://github.com/<owner>/shortvideo-export
将 <owner> 换为仓库所属用户后执行;也可在 DSH Plugin Manager → install bundle 指向插件目录。社区目录页:https://www.skillhub.cn/plugins/hangyesite/dsh-shortvideo-export;源码仓库:https://github.com/hangyesite/dsh-shortvideo-export。
插件在 当前 DSH 进程权限 下运行,会驱动本机浏览器、读写配置与输出目录。安装前请自行查看源码与 MIT 许可证,并评估本机路径与密钥存放方式。
首次使用建议¶
- 打开 Settings & Login,如需预热 Cookie 可在 Warm up / Login 扫码;配置持久化,但多数下载不强制登录。
- 若用本地
sensevoice:在 Settings → Download model 下载 SenseVoiceint8(约 228 MB),或设置asr.sensevoice.modelDir。 - 在 Tasks → New task 粘贴链接,选择仅下载或下载 + 转写 + 导出。
配置默认目录为 ~/.dsh-shortvideo/config.json(可用 SV_HOME 覆盖);默认输出根目录 outputDir 为 ~/DouyinExport。Douyin 相关浏览器项建议保持 browser.headless 为 false(README 说明无头模式下页面签名易失败)。
Agent 工具一览¶
长任务返回 job id 并在后台继续;面板展示进度,Agent 侧可用 sv_job 查询。
| 工具 | 用途 |
|---|---|
sv_run |
一次完成 fetch → download → transcribe → export |
sv_sync |
同步作者视频列表(默认增量,full 全量) |
sv_download |
按 ID 或作者下载无水印视频 |
sv_transcribe |
对已下载视频转写 |
sv_export |
导出文稿与可选合集 |
sv_polish |
术语挖掘、确认、应用与重置 |
sv_failures |
按类别说明失败与重试建议 |
sv_library |
库统计与列表 |
sv_settings |
读写设置、列出引擎 |
sv_login |
打开浏览器一次性扫码登录 |
sv_job |
列出 / 查看 / 取消后台任务 |
sv_subscribe |
注册定时增量同步(DSH scheduled task) |
也可通过 python -m shortvideo settings 读写配置(与 sv_settings 一致)。
适用场景与注意¶
适合:需要在 DSH 工作流或 Agent 对话中批量处理抖音 / 小红书链接,并统一产出字幕与 Markdown 归档的开发者;希望本地 SenseVoice 或 faster-whisper 与云端 ASR 按任务切换、且导出格式齐全的场景。
注意:
- 云引擎需自备密钥与合规使用;
volc等对音频 URL 或 TOS 有额外要求。 - 小红书
official引擎仅适用于小红书任务,勿与抖音混批。 - 作者主页深分页受平台登录策略影响(如抖音匿名仅约 18 条可见),属平台限制而非插件上限。
- DSH 生态奉行「一切皆插件」;SkillHub 目录为社区站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-shortvideo-export 把短视频抓取、无水印下载、多引擎转写、可选术语校对和多格式导出封装为 DSH 原生能力,适合作为个人或团队的内容入库前置步骤。进一步细节以仓库 README(含中文版 README.zh-CN.md)为准。