dsh-media-tab:在 DSH 里内联与侧栏播放本地音视频

前言

在 DeepSeek Harness 里做本地素材分析、听录、看样片时,常见做法是复制路径到系统播放器,或在对话里只拿到文件路径而没有可操作的播放器。对话与媒体被拆成两个窗口,交付卡片也难以直接试听试看。

dsh-media-tab 是 Moosphan 维护的 DSH 客户端插件:在回复下方内联播放,在右侧栏提供完整播放页与最近播放列表;零运行时依赖,不需要 ffmpeg。项目托管于 GitHub,社区目录见 skillhub.cn。DSH 生态强调「一切皆插件」;社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

这是什么

一句话定位:在 Harness 内直接播放本地视频和音频——回复下方内联播放器、右侧栏播放页、最近播放列表。

维护者:Moosphan。分类:客户端。当前 package.json 版本为 0.1.0,许可证 MIT。

核心功能

下面介绍 README 中已说明的能力。

内联与侧栏

  • 模型用 present 交付音视频时,播放器自动出现在回复下方。
  • 点交付卡片或播放器上的「在侧栏打开」,可在右侧栏打开完整播放页。
  • 播放页底部「最近播放」保留最近 20 条,可清空。

模型工具 play_media

用户可说「播一下 /path/a.mp4」等,由模型调用 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 0.2.x(package.json 中 engines.dsh 为 >=0.2.0-rc.1 <0.4.0-0)。

先做安装,再重启 DSH:

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

重启后,插件页应出现「媒体播放」。

典型用法

  1. 让模型通过 present 交付本地音视频文件,回复下方会出现内联播放器。
  2. 用自然语言指定路径,例如「播一下 /path/a.mp4」,由模型调用 play_media。
  3. 需要更大控件或连续浏览时,点「在侧栏打开」,在右侧栏播放;底部可查看或清空最近 20 条记录。

适用场景与注意

适合谁

  • 在 DSH 对话里需要就地预览本地样片、音频片段,又不想切到外部播放器的人。
  • 希望模型交付媒体后界面里直接有可点可拖播放器的工作流。

安装前建议

插件以当前 DSH 进程权限运行,能访问的路径受宿主与用户会话约束。安装前应自行查看 源码与 LICENSE,确认符合你的安全与合规要求。

排错(来自 README)

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

结尾

dsh-media-tab 把本地音视频播放收进 Harness:内联预览、侧栏完整播放、最近列表,且不依赖 ffmpeg 运行时。若要在环境里启用,按官方命令安装并重启即可。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye