AnacondaKC/dsh-douyin
DSH WebUI 侧栏短视频插件:原生播放器、系列导航、直链解析与精确历史回放
Project Overview项目介绍
This is a native plugin built exclusively for DeepSeek Harness (DSH) that adds a short video player to the DSH WebUI sidebar. It works by resolving 302 redirected direct MP4 links from a third-party API and playing them in the browser's native video player. To install the plugin, you run the dsh plugin --profile web add command with your local plugin path, then restart the DSH web process for the plugin to take effect. It comes with 21 pre-configured video categories for users to browse, and supports two different UI modes depending on whether you have dsh-better-sidebar installed.
When the plugin is active, you can open it from the sidebar tab or the floating dock button on the right edge of the page. It supports a wide range of playback controls, including click to pause/play, drag the progress bar to seek, adjust volume via an on-screen slider, scroll or swipe to switch between videos, and keyboard shortcuts for common actions. The UI is designed to be responsive, automatically adjusting its width to match the 9:16 aspect ratio of vertical short videos, and compresses the DSH conversation area when open to avoid blocking any existing content. It also unloads the player when closed to save system resources.
This plugin is released under the permissive BSD-3-Clause open source license, so it is free to use, modify, and distribute per the license terms. It has a few known limitations: all feed content comes from a third-party API, so availability depends on that API staying online, and content is randomly selected. If a video fails to load, the plugin will automatically skip it after three retries, and it only allows requests to pre-approved HTTPS endpoints to prevent unauthorized requests to internal network services or arbitrary URLs. Format errors only occur in headless automation environments and do not affect regular browser use.
这是一款为DeepSeek Harness(DSH)打造的原生侧边栏短视频插件,可直接解析视频直链并调用原生播放器播放。插件内置学姐、甜妹、COS、舞蹈等共21个视频分类,支持自动连播、滚轮切换视频和精确历史回放功能。它支持两种展示模式,安装dsh-better-sidebar后会自动注册侧边栏「刷视频」标签,未安装则自带浮动dock面板,零额外插件依赖。安装只需通过DSH命令行添加插件路径后重启DSH Web即可生效。
打开插件面板后,用户可从顶部导航栏切换想要浏览的视频分类,点击视频即可开始播放。它支持丰富的播放操作,包括点击画面暂停/播放、拖动进度条跳转、拖动滑块调节音量、手势滑动切换视频、滚轮切换视频、多组键盘快捷键控制等。面板采用沉浸式设计,宽度自适应屏幕,打开时会自动压缩会话区避免遮挡,适合想在DSH侧边便捷刷短视频放松的用户使用。
这款插件采用BSD-3-Clause许可证开源,可免费使用和修改。它的视频feed源依赖第三方公开接口api.yujn.cn,接口可用性由第三方保障,单段视频加载失败会自动重试跳过,连续三次失败则停止请求并提示。插件仅允许请求内置的合法HTTPS端点,不会请求任意URL或内网服务,已知横屏视频会裁切左右部分,headless环境软解码可能报错,真实浏览器不受影响。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-douyin(AnacondaKC/dsh-douyin)
仓库:https://github.com/AnacondaKC/dsh-douyin
本站详情页:https://www.yhbd.top/plugins/anacondakc-dsh-douyin/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 BSD-3-Clause · ⭐ 5 · 最近提交 2026-08-13 · 主语言 TypeScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- Only 5 stars - very few users, little community feedback星标只有 5,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add github:AnacondaKC/dsh-douyin
把 AnacondaKC/dsh-douyin 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-douyin
DSH WebUI 侧栏短视频插件:原生播放器直接解析视频直链播放。顶部可选择学姐、甜妹、COS、舞蹈等 21 个系列,支持自动连播、滚轮切换与精确历史回放。

原理
聚合视频源来自 api.yujn.cn 的分类接口。每次请求会 302 到随机 mp4 直链;插件通过 host resolver 读取 Location,再交给原生 <video> 播放。历史栈保存真实直链,因此向上滚动能回到同一段视频。
安装
dsh plugin --profile web add /path/to/DSH-douyin
# 重启 dsh web 后生效
使用
模式一:dsh-better-sidebar(装了它时自动生效)
自动注册侧栏 tab「刷视频」(单实例),在侧栏 + 菜单打开。
模式二:自带浮动 dock(未装 better-sidebar 时)
页面右侧边缘播放按钮可展开/收起全黑沉浸式播放面板。零额外插件依赖。
播放操作
- 点击暂停:点击视频画面暂停,再点画面或中央播放按钮继续;暂停时中央按钮常驻显示
- 播放进度:底部显示当前时间 / 总时长,拖动进度条可定位;固定视频播完后可从头重播
- 音量调节:点击右下角音量按钮弹出滑块(0–100%),拖动实时调节并自动取消静音;图标按音量分档(静音 / 低 / 高)
- 短视频手势:手机视频区上滑 → 下一段,下滑 → 上一段;滑动后不会误触暂停
- 视频滚轮:桌面视频区向下滚 → 下一段,向上滚 → 上一段(400ms 防抖;顶部悬浮栏空白处滚轮同样切视频)
- 键盘控制:空格 /
K播放暂停,M静音,左右方向键快退/快进 5 秒,上下方向键切换视频 - 系列导航:在顶部轨道滚轮或触控横滑,也可使用左右箭头、键盘方向键和点击切换系列
- 精确回放:每段先经 host 路由(
/dsh-douyin/resolve)用 Node fetch 解析出 302 后的真实 mp4 直链再播放——历史栈存的是直链,上滚回放的就是刚才那段(同一 URL),而非接口重新随机 - 自动连播:feed 源每段播完自动前进(优先走历史,末尾才请求新段)
- 失败自愈:单段加载/解码失败会递增退避并自动跳过;连续失败 3 次后停止请求并显示错误界面
界面
视频上方是抖音式横向系列导航轨道。当前系列固定居中,采用白字与红/青双侧强调;相邻项随距离逐渐淡化。轨道支持滚动与居中吸附,停止滚动后加载对应分类、清空上一分类的播放历史,并持久化选择。
沉浸式短视频播放器:视频铺满整个面板,顶部系列栏以透明黑色悬浮,底部显示系列名称、播放进度与音量控制。暂停时中央出现播放按钮;播放状态下按钮仅在桌面悬停时显示。竖屏 9:16 内容在默认面板比例下几乎零裁切。
界面以手机短视频播放器为基准:全屏黑底、顶部轻量分类、底部媒体控制,红 #fe2c55 与青 #25f4ee 仅用于选中和焦点状态;控件使用 Lucide 图标。
宽度自适应:面板宽度 = 屏幕高度 × 9/16,并限制不超过视口宽度(min(100vw, clamp(380px, 100vh×9/16, 700px)))。1080p 全屏浏览器约 607px 宽;窄屏自动铺满,关闭按钮移至左上角。视频使用 cover 填充。
按需加载:浮动 dock 关闭时不挂载播放器或 iframe,不会在后台解析、下载或播放媒体;收起时立即卸载面板。
展开时自动压缩会话区:面板打开时 #root 右侧让出面板宽度(margin-right 同公式 + 200ms 平滑动画),会话区实时变窄不被遮挡;收起自动还原。
源接口(三模式,数据驱动)
type SourceKind = 'feed' | 'direct' | 'web'
interface VideoSource {
id: string // 稳定 id(自定义源 custom-<timestamp>)
name: string
kind: SourceKind // 播放方式,见下
url: string
custom?: boolean // 用户添加的源
}
| kind | URL 含义 | 播放方式 |
|---|---|---|
feed |
内置的随机视频接口(302 到 mp4) | host 白名单解析后由原生播放器连播 |
direct |
固定一个视频文件(mp4/webm/…) | 原生播放器播放一次,可暂停和重播;不响应上下切段 |
web |
允许被嵌入的网页 | iframe 渲染 |
内置系列
选择器内置 21 个经 HTTPS 302 验证的 feed 系列,包括:学姐、卡哇伊、嫩嫩、丝滑舞蹈、完美身材、慢摇、清纯、COS、街拍、甜妹、热舞、穿搭、章若楠、鞠婧祎等。
Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →
ZSeven-W/dsh-ios
a903067276-rgb/dsh-file-upload
nexu-io/open-design
EthanYoQ/AI-Novel-Writer
fufankeji/deepseek-harness-studio