AnacondaKC/dsh-douyin ↗★ 5

dsh-douyin

DSH WebUI 侧栏短视频插件:原生播放器、21 个系列选择、直链解析、滚轮历史回放与自动连播 适合想在侧栏刷短视频的用户;可独立浮动或配合侧栏插件。

パッケージ
dsh-douyin
互換性
未検証
Harness ピア範囲
^0.0.1-rc.5
Cordis ピア範囲
^4.0.1-rc.4
バージョン
0.2.0
ライセンス
BSD-3-Clause
最終更新
2026/08/13

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:AnacondaKC/dsh-douyin

ドキュメント

README 全文を読む ↗

使用

模式一: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 平滑动画),会话区实时变窄不被遮挡;收起自动还原。