← Back to home@Moosphan

dsh-media-tab

Inline and tabbed video/audio playback for DeepSeek Harness. Zero dependencies, no ffmpeg.

Stars
0
Language
JavaScript
Created
Oct 25, 2026
Updated
Oct 25, 2026

Introduction

dsh-media-tab

在 DeepSeek Harness 里直接播放本地视频和音频:回复下方内联播放器、右侧栏播放页、最近播放列表。零运行时依赖,不需要 ffmpeg。

English

内联播放器

安装

需要 DSH 0.2.x。

dsh plugin add github:Moosphan/dsh-media-tab

重启 DSH。装好后插件页出现「媒体播放」。

用法

  • 模型用 present 交付音视频 → 播放器自动出现在回复下方
  • 说「播一下 /path/a.mp4」→ 模型调用 play_media
  • 点交付卡片或播放器上的「在侧栏打开」→ 右侧栏播放页
  • 播放页底部「最近播放」:最近 20 条,可清空

play_media 参数:

参数必填说明
path是本地路径,支持 ~ 与会话相对路径
title否标题,默认文件名
autoplay否自动播放
loop否循环

支持的格式

类别格式
视频.mp4 .m4v .mov .webm .ogv .mkv .3gp
音频.mp3 .wav .ogg .oga .m4a .aac .flac .opus .weba
不支持.avi .flv .wmv .wma .ts .mpg .rmvb 等,会给出 ffmpeg 转码命令

说明

  • 桌面端可拖动进度条:宿主把媒体签名为绝对 URL,播放器直连本地端口,Range 与 Content-Length 完整保留。
  • 安全:只服务白名单媒体文件,realpath 防符号链接;界面请求验登录 cookie,媒体请求验 HMAC 签名;不联网。
  • 数据:最近播放与签名密钥都在 ~/.dsh/cache/dsh-media-tab/。
  • 实现细节见 docs/architecture.md。

排错

现象处理
拖不动进度条完全退出 DSH 重开;Network 里媒体请求应是 http://127.0.0.1...
连不上播放服务重启 DSH,确认 /dsh-media-tab/api/health 返回 ok
解码失败编码不在 Chromium 支持范围,按提示转码
视频有黑边保持原始比例,正常

License

MIT