DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

vlln /

vlln/dsh-video2text

Verified

视频链接转文案的 dsh 侧栏工作台:播放器 + 逐字稿 + 发布导出,自带 video2text skill

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@184bd52d

dsh-video2text

粘贴视频链接,得到「发布文案 + 口播逐字稿」。插件自带 skill,界面上是一个侧栏工作台。

release license dsh discussions English · 中文

https://github.com/user-attachments/assets/b2129376-e838-494e-9b89-7041f4acf57c

17 秒 · 贴微信视频号链接 → 入列 → 转写 → 逐字稿

抖音、小红书、微信视频号、B站、YouTube 的分享链接,变成发布文案、逐字稿、字幕和章节稿。媒体先落盘,转写没跑完就能先看片子。

以前取一条视频的文案要开网页、复制简介、手动听写、自己排版;批量十条就是十次重复。插件把解析、下载、转写、对齐、排版收进侧栏,产物落在一个目录里,可以直接打开、导出,或交给 agent 继续加工。

面板

能做什么

能力 说明
平台 抖音 / 小红书 / 微信视频号 / B站 / YouTube / 本地音视频
转写 云端 Qwen3-Omni(中文标点与专名更准)或本地 mlx-whisper / whisper.cpp
播放器 自绘控件、逐句同步高亮、字幕、倍速、画中画、全屏
时间轴 默认按标点切句 + 分片内插值;需要时一键做词级对齐
导出 发布稿(自动章节)/ 字幕 SRT / 全部打包 ZIP
账号 抖音、小红书扫码;视频号扫码 + 会话验证,缺登录时直接引导
任务 搜索、按天分组、重试复用原卡、删除、从其它目录导入
交给 agent 「问 AI」新建会话、切到任务工作区、预填上下文

安装

从 GUI:侧栏 Plugins → 添加插件 → 填 github:vlln/dsh-video2text。

从命令行:

dsh plugin --profile web add "github:vlln/dsh-video2text"

两条路径都在干净环境里验证过(dsh 0.2.1-rc.1)。装完重启 dsh web —— Node half 在启动时注册,刷新页面不会出现面板。确认方法:侧栏出现「视频转文案」,贴一条 B 站链接回车,几秒内出现任务卡与封面;转写完成后「导出 → 发布稿」应下载一个 .publish.md。

运行环境:

  • macOS(视频号解密与本地转写依赖 macOS 工具链;其他平台未验证)
  • Python 3.9+、ffmpeg、node
  • 视频号需要 playwright 与本机 Chrome:pip install playwright
  • 本地转写需要 mlx-whisper(Apple Silicon)或 whisper.cpp;只用云端转写可以不装

用起来

入列即转写

粘贴链接按回车(或点「开始」)直接建任务,没有「预览 → 确认 → 开始」的往返。任务名就是抓到的视频标题,封面、作者、时长随元数据补上并写进任务记录,刷新和搜索都在。本地文件用文件名兜底。

边转边看

媒体下载完立刻落盘,播放器马上可用,转写在旁边继续跑,逐字稿完成后原地出现。多个任务并行,互不阻塞。

边转边看

播放器 + 逐字稿

自绘控件:播放/暂停、拖拽、倍速、字幕、跟随高亮、画中画、全屏。逐字稿按句同步高亮,点一句跳到对应时间。

键盘:空格 播放/暂停、←→ 快退快进、↑↓ 切任务、/ 搜索。

时间轴有两种状态,标题下的胶囊会标出来:估算(插值)和 精确(做过对齐)。

对齐(一次性动作)

默认不做词级对齐:云端转写后按标点切句、在分片内按字数插值时间,对连续口播通常只差零点几秒,而且不需要本地模型。

需要更准的边界时点「对齐」:用本地 whisper 的词级时间重算每句起止,只更新 json/srt,不重转、不改文案。对齐中会显示进度条和实时日志。

对齐中

导出

三个出口,够用且不重复:

选项 产物
发布稿(带章节) 标题 / 发布文案 / 自动章节 / 正文 / 字数语速
字幕 SRT 逐句字幕
全部(ZIP) 上面两份 + sidecar JSON

问 AI

选中一条任务点「问 AI」:新建会话、自动切到任务目录所在的工作区,并把上下文(标题、来源、时长、输出目录、文字稿/字幕/sidecar/媒体的绝对路径)填进输入框。回车就把活交给 agent —— 压稿、重写标题、切片段、跑批量。

问 AI

工作区是「所有任务的上一级目录」,agent 能一并管理其它任务的产物。插件只读选择、不创建:侧栏里没有这个工作区时,会提示你用 Add workspace… 指一次。

设置

右上角「设置」,两段:

  • 登录态:抖音 / 小红书 / 视频号的状态与扫码入口,「验证会话」会给绿/红反馈
  • 服务与密钥:云端转写的 provider / model / base URL / 密钥(默认隐藏)、小红书服务地址、DouK 路径、本地模型、分片长度、浏览器 Cookie、YouTube PO token

每个字段旁有 ?,悬停即显用途说明。

设置

任务列表

按今天/昨天分组、可搜索;每条右侧 ⋯ 里有「复制链接」「删除任务(含文件)」。缺登录时任务进入「需要登录」状态,卡片上直接扫码,扫完自动重跑。

需要登录

agent 直接跑脚本的结果也会出现

面板会扫描以下目录,把含 sidecar JSON 的子目录收编成任务(标 imported):

  1. $DSH_HOME/data/dsh-video2text/out
  2. 环境变量 VIDEO2TEXT_IMPORT_DIRS(: 分隔)
  3. 插件配置 importDirs(逗号分隔)

导入的任务是只读收编:删除只从列表移除、不删磁盘,媒体保留策略也不会碰它们。

数据与权限

内容 位置
任务与产物 $DSH_HOME/data/dsh-video2text/out/<任务ID>/
任务索引 $DSH_HOME/data/dsh-video2text/jobs.json
模型缓存 ~/.cache/video2text/hf(跨实例共享)
引擎配置(含密钥) ~/.config/video2text/config.json(600)
扫码会话 ~/.cache/video2text/chrome-profile 等 Chrome profile
  • 密钥只在本机配置文件里,界面默认隐藏;不向任何第三方上报使用数据。
  • 转写选「云端」时音频分片上传到配置的 ASR 服务,选「本地」不出本机。媒体默认按 14 天 / 5 GB 清理,只删媒体,文案和字幕保留。

常见问题

症状 原因 / 处理
侧栏没有「视频转文案」 没重启 dsh web;或 boot 日志里有 plugin tree failed to load
任务一直「需要登录」 对应平台登录态失效:点卡片上的「扫码登录」,完成后会自动重跑
发布文案是空的 本地文件没有平台描述;或旧任务当时没存该字段,重跑一次即可
时间轴标着「估算」 没做过词级对齐。点「对齐」精修,只更新 json/srt,不重转
导出按钮不见了 没有逐字稿(转写失败 / 无口播)时不显示导出菜单
云端转写很慢 受服务端排队影响,与分片大小关系不大;可切「本地」后端
小红书批量失败 本地 XHS-Downloader 没起(设置里有地址),会回退 yt-dlp
模型下载卡住 缓存在 ~/.cache/video2text/hf;换 -q4 量化模型更快

YouTube 的 bot 校验

YouTube 对无登录态请求返回 Sign in to confirm you're not a bot。社区解法是 PO token(provider 造 token + yt-dlp 插件交付)。按网络环境选:

网络 该用什么
家宽 / 普通出口 PO token:起 provider + 装 bgutil-ytdlp-pot-provider 插件(详细步骤)
机房 IP / 代理出口 必须 Cookie(设置 → 浏览器 Cookie 填 chrome),PO token 不绕过 IP 级限制
临时看一条 直接 --cookies-from-browser chrome 最快

已知限制

  • 平台登录态会过期:视频号(元宝)、抖音(DouK + Cookie)、小红书(本地 XHS-Downloader)。失效时任务进入「需要登录」,卡片上扫码即可。
  • 长视频的云端转写受服务端排队影响(16 分钟视频约 4 分钟),分片大小不是瓶颈。
  • 一个平台一份登录态,暂不支持多账号并存。
  • 只在 dsh 0.2.1-rc.1 上验证通过,其它版本未验证。

卸载:dsh plugin --profile web remove dsh-video2text,再重启 dsh web。

与 skill 的关系

插件自带 skills/video2text,首次加载软链到 $DSH_HOME/skills/video2text,agent 通过常规发现路径读到它 —— 不给 agent 新增工具。skill 也能脱离 dsh 单独用:python3 scripts/video2text <url> --out ./out。

参与开发

有问题、想法或使用场景,去 Discussions 说;本地调试与发版见 docs/development.md。

许可

MIT。运行时通过 HTTP/CLI 调用上游工具,不链接其代码:yt-dlp(Unlicense)、DouK-Downloader 与 XHS-Downloader(GPL-3.0)、bgutil-ytdlp-pot-provider(MIT)。

—/ 5

No ratings yet

Verified DSH bundle

Commit 184bd52d6f65

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout