在终端里查看并控制 YesPlayMusic 播放
29.6/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Nagi-ovo/dsh-music-tui该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 64 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/5) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@dsh-tui-ecosystem/music(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 03:51:31
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令
查看扫描证据(共 2 处,展示前 2 条)
- 执行外部命令来自配置/变量src/ypm-client.ts:112
execFile(executable, [...argv], { - 执行外部命令来自配置/变量src/ypm-client.ts:157
child = spawn(executable, [...argv], {
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-commands@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 查看正在播放状态
- 控制音乐播放
YesPlayMusic 控制与正在播放状态,用于 dsh-TUI
README
由 DeepSeek 最新模型翻译生成dsh-music-tui
在 dsh-TUI 里查看并控制已经运行的 YesPlayMusic TUI。插件提供 /music 命令和提示框上方的紧凑音乐条,不修改 DeepSeek Harness、dsh-TUI 或 YesPlayMusic 本体,也不会自动启动播放器。
能做什么
- /music 或 /music show:打开音乐条(默认隐藏)
- /music hide:关闭音乐条
- /music status:一次性显示曲名、歌手、专辑与进度详情
- /music toggle:发送播放/暂停切换
- /music next:发送下一首
- /music prev:发送上一首
- /music seek :跳到歌曲的绝对时间,例如 /music seek 90.5
- 音乐条显示小封面、曲名、歌手、进度、实时频谱和上一首/播放暂停/下一首/关闭按钮
fullscreen 模式下,鼠标按钮与 slash 命令等价,进度条支持点击定位和拖动预览;松手时只发送一次 seek。inline 模式请使用 /music seek 。控制正在等待时会暂时禁用重复操作,切歌或暂停不会擅自打开、关闭音乐条。富状态视图可用时最多占三行,并随终端宽度降级:窄屏优先保留三个控制和关闭按钮。旧版宿主没有常驻状态行,/music 会返回一次性详情。
展开完整文档(README 剩余 1 节)
dsh-music-tui 在 dsh-TUI 里查看并控制已经运行的 YesPlayMusic TUI。插件提供 /music 命令和提示框上方的紧凑音乐条,不修改 DeepSeek Harness、dsh-TUI 或 YesPlayMusic 本体,也不会自动启动播放器。 能做什么 - /music 或 /music show:打开音乐条(默认隐藏) - /music hide:关闭音乐条 - /music status:一次性显示曲名、歌手、专辑与进度详情 - /music toggle:发送播放/暂停切换 - /music next:发送下一首 - /music prev:发送上一首 - /music seek :跳到歌曲的绝对时间,例如 /music seek 90.5 - 音乐条显示小封面、曲名、歌手、进度、实时频谱和上一首/播放暂停/下一首/关闭按钮 fullscreen 模式下,鼠标按钮与 slash 命令等价,进度条支持点击定位和拖动预览;松手时只发送一次 seek。inline 模式请使用 /music seek 。控制正在等待时会暂时禁用重复操作,切歌或暂停不会擅自打开、关闭音乐条。富状态视图可用时最多占三行,并随终端宽度降级:窄屏优先保留三个控制和关闭按钮。旧版宿主没有常驻状态行,/music 会返回一次性详情。 按钮图标跟随 YPM 的 icons = "unicode" | "nerd" 设置;旧 YPM 没有上报该字段时安全回退到 Unicode。 宿主支持 Kitty graphics 时封面会显示为平滑真图;其他终端、inline、辅助功能模式或终端多路复用器会自动使用同尺寸的半块字符缩略图,不需要额外配置。 终端达到 80 列时,音乐条右侧才订阅真实音频频谱;80/96/120 列分别使用 12/18/24 格,超过 120 列后每增加 2 列再增加 1 格,最多 48 格。窄屏会释放本插件的频谱订阅;若 YPM 自身没有显示频谱,分析器也随之停用。内置 blocks、led、 braille、shade 四种紧凑样式,也可以跟随 YPM 当前支持的同名样式。 控制结果只会说“已发送”。YesPlayMusic 的 CLI 确认的是命令已接收,而不是播放器已经完成切歌;插件随后会重新读取状态,绝不把确认包冒充最终播放状态。 播放器离线时音乐条会保留并提示重新启动;若 YPM 声称正在播放、但远端进度连续 6 秒没有前进,音乐条会停止可能失真的频谱并提示重启,状态恢复后自动重连。 前置条件 - Node.js ^22.19 || >=24 - dsh-TUI >=0.9.2 <0.11.0 - YesPlayMusic TUI 及其 ypm CLI (当前验证版本:ypm 0.11.0;实时频谱需要此版本) - macOS 或 Linux;ypm 的 TUI 远程控制面使用本机 Unix socket 先确认 ypm 在 PATH 中: ypm --version 安装 当前版本通过 GitHub Release 分发。从对应 tag 安装本地工作树: git clone --branch v0.1.0 --depth 1 https://github.com/Nagi-ovo/dsh-music-tui.git cd dsh-music-tui pnpm install --frozen-lockfile pnpm build dsh plugin --profile dsh-tui add "$PWD" 参与开发时,省略 --branch v0.1.0 --depth 1 即可使用最新分支。 先在另一个终端或后台启动 YesPlayMusic TUI,再启动 DSH: dsh --profile dsh-tui 不需要改 YesPlayMusic 源码,也不需要在 YesPlayMusic 仓库里安装插件。 本插件不会替你启动或关闭 YesPlayMusic。 音乐条的显示状态只属于当前 TUI。你在一个 TUI 里执行 /music,不会打开其他 TUI 的音乐条;多个 TUI 的播放控制仍会操作同一个 YesPlayMusic TUI 实例。 配置 默认配置已经写进 cordis.patch.yml: | 键 | 默认值 | 说明 | | executable | ypm | CLI 名称或绝对路径 | | showStatus | true | 是否启用可由 /music 打开的音乐条;启动时仍保持隐藏 | | pollIntervalMs | 3000 | 在线轮询间隔(1000 至 60000 ms) | | timeoutMs | 3000 | 单次 CLI 硬超时(250 至 30000 ms) | | spectrumStyle | follow | off / follow / blocks / led / braille / shade | showStatus: false 不会注册音乐条;此时 /music 与 /music show 退化为一次性详情,status 与播放控制仍可用。宿主没有富视图能力,或富视图因键冲突/行预算被拒绝时也采用相同降级,不启动后台轮询。 要覆盖配置,在 profile 自己的 cordis.patch.yml 里按同一行 id 写完整配置: - id: dsh-music-tui config: executable: /absolute/path/to/ypm showStatus: true pollIntervalMs: 3000 timeoutMs: 3000 spectrumStyle: follow 设计边界 dsh-TUI /music + status │ ▼ @dsh-tui-ecosystem/music │ execFile / spawn(argv), no shell ▼ ypm --json --tui … │ ▼ running YesPlayMusic TUI - 插件只调用公开 ypm CLI,不直连私有 Unix Socket。 - 目标固定为 TUI;不会在 GUI 与 TUI 之间猜测。 - 播放状态不写入 DSH 会话日志。只有 DSH 命令注册表正常产生的 command/run / command/done 记录。 - 外部 JSON、stderr 和歌曲元数据全部校验、去终端控制字符并限制长度。 - 音乐条注册成功后默认每 3 秒读取一次状态;播放时每秒在本地推进显示进度,暂停时冻结。一次读取失败保留旧状态,连续两次失败才清除;离线后轮询退避。 - 频谱只在音乐条可见、存在歌曲且终端至少 80 列时,通过公开的 ypm --json --tui spectrum --fps 12 NDJSON 流订阅。协议固定为 32 个取值范围为 0 至 255 的 bins;不读取 PCM、不直连 socket,断流会清掉旧画面并有界退避重连,隐藏、变窄或卸载会中止子进程。 - follow 只跟随 YPM 的 blocks、led、braille、shade;遇到其他样式安全回退为 blocks。重复帧不会触发无意义的 TUI 重绘。 - 新版 ypm 通过 seekable 显式宣告 seek 能力,并用 iconStyle 投影用户已选的图标模式。 旧版未上报时,进度仍可读、但不会伪装成可拖动,图标回退到 Unicode。 - 新版 ypm 可选返回 coverUrl。插件只下载 HTTPS music.126.net 及其子域的 JPEG/PNG(按文件魔数识别,兼容 CDN 错标响应头),每次重定向都重新校验,并限制为 2 秒、256 KiB 与 1024×1024 像素;失败只显示占位封面。 - 封面只在 URL 变化时读取,内存最多缓存 16 张。旧版 ypm 没有 coverUrl 时文本与控制照常工作。 - 图片由插件解码成 96×96 RGBA,并同时生成 6×3 字符回退;Kitty 协议探测、上传、定位与清理由宿主统一负责,插件不会直接向终端写转义序列。 - 卸载时清理 timer、命令、音乐条、封面请求并中止子进程。 - 音乐条以能力探测接入富状态视图,不提高 dsh-TUI ^0.9.2 的最低兼容版本;没有富视图 API 时只保留 /music 的一次性详情和播放控制,不创建常驻状态,也不轮询。 - 当前 DSH profile loader 仍用 Cordis bundle 挂载第三方插件;命令在没有 verified Component identity 时走规范记录的 C-070 同进程兼容路径。 dsh-plugin.json 的 host entry 是独立的标准 FacetModule;adapter-dsh 存在时,它会先接管 /music,旧 Cordis 注册随即让位,避免双注册。两条路径共用同一命令实现与已配置的 controller。 当前信任模型是 trusted-in-process:manifest 权限用于兼容性、授权和审计,不是进程隔离或安全沙箱。 本地开发与验证 pnpm install --frozen-lockfile pnpm verify 本地装进 profile: dsh plugin --profile dsh-tui add "$PWD" 然后分别验证:/music 的 show/hide/status/toggle/next/prev/seek、fullscreen 点击与拖动进度、 32/60/80/96/120 列布局和四种频谱样式,以及旧宿主降级、播放器离线、ypm 不在 PATH 和插件卸载。 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Nagi-ovo/dsh-music-tui
在终端里查看并控制 YesPlayMusic 播放
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目