dsh-plugin-media-naming

DSH PLUGIN工具与能力

仓库 customlzh/dsh-plugin-media-naming

工具与能力 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件

DSH 插件 media-naming 帮你把指定目录名与视频文件名规范成 Emby、Jellyfin 等媒体服务器可识别的形式,支持 115 网盘与本机/NAS 路径,先出审核清单再执行。

一句话选型结论

按资料字段整理

dsh-plugin-media-naming 是工具与能力类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,列出 5 项功能,没有现成安装命令,需要按仓库 README 接入。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类工具与能力 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-05 创建于 2026-10-05
README 10.7 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-plugin-media-naming:DeepSeek Harness 里的媒体库统一命名插件

  • 按指定路径规范目录与文件名
  • 自动识别 115 网盘或本机/NAS
  • 先出审核清单,确认后执行
  • 支持回滚与断点续跑
  • 规则包可替换可扩展

上游标签

115dshdsh-pluginembyjellyfinmedia-renamernas

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有现成安装命令,要按仓库 README 手动接入。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在工具与能力场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-plugin-media-naming当前 未做沙盒验证 未标注 0 未标注 无
huashu-design 未做沙盒验证 未标注 3.0 万 未标注 有
loopx 未做沙盒验证 未标注 6,233 未标注 无
agy-staff 未做沙盒验证 未标注 870 未标注 有
dsh-startup-screen 未做沙盒验证 未标注 633 未标注 有
minara-skills L4 · 沙盒安装通过 中风险 360 未标注 有

仓库档案

工具与能力
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方customlzh仓库 dsh-plugin-media-naming · 默认分支 main
分类工具与能力tools
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-05 · 2026-10-05最后推送 2026-10-05
本站收录2026-10-05首次进入本站目录的时间

README 全文

10.7 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-plugin-media-naming(媒体库统一命名)




DSH 插件 · Bundle 行 ID media-naming · 包名 dsh-plugin-media-naming

一句话说明

你说「整理这个路径」,它把这个目录名和目录下的视频文件名规范成媒体服务器能正确识别的形式——
只处理你指定的那个路径,不碰别的地方。

支持两种数据位置,按路径自动判断,不用你选:

位置 例子
115 网盘 影视资源/电视剧/某剧 (2026)
本机 / NAS 挂载 / Linux G:\Media\电视剧\某剧 (2026)、\\NAS\media\电视剧\某剧 (2026)、/mnt/media/电视剧/某剧 (2026)

安装

前置条件

依赖 是否必需 说明
DSH 必需 插件宿主
Node.js ≥ 18 必需 插件本体与本地后端都是 JS
Python ≥ 3.10 + p115client 仅 115 网盘需要 只处理本机 / NAS 文件时完全不需要 Python

安装步骤

  1. 把仓库放到任意目录:git clone https://github.com/<你的用户名>/dsh-plugin-media-naming.git
  2. 在 DSH 的插件管理里把它作为 bundle 安装并启用(plugin_manager 的 install_bundle → set_bundle → set_plugin)
  3. 重启 DSH 让插件加载(插件代码有模块缓存,之后改动代码同样需要重启)

装完自检(不需要网盘、不会碰你的真实文件)

npm test                           # 一键跑全部 9 套测试
node test/local-storage-test.mjs   # 只跑本地/NAS 后端(在系统临时目录里跑)

怎么用(两句话)

① 一次性:扫码登录                py -u python/login_115.py    ← 只用 115 时才需要
② "整理 影视资源/电视剧/某剧 (2026)"   →   media_naming_quick   →  审核清单
"整理 \\NAS\media\电视剧\某剧 (2026)"  →   同上(自动识别为本地/NAS)
③ "可以"                          →   media_naming_apply   →  执行 + 自动复验

②③ 各一次调用,零前置条件:凭据、Python 解释器、根目录、规则包、计划落盘路径
全部由插件自动处理;调用方只需要说出那一个节目目录。

②里那句话就是"选择",插件绝不会自己挑目录。 例如:

> 整理 电视剧/某剧 (2026)

> 整理 电影/某影片 (2025)

> 看看 动漫/某番剧 (2018) 命名有没有问题

处理范围:由你指定,插件不预设

  • 目录名与层级都随你:整库、一个节目目录、甚至只有一个视频的目录都可以;
  • 路径写法也随你:带根名(影视资源/电视剧/某剧 (2026))或不带(电视剧/某剧 (2026))都行;
    rootPrefix 只是可改的默认根名,不是必须的前缀——网盘根目录叫别的名字也能直接用;
  • 处理两样东西:该路径自身的目录名 + 其下的视频文件名;
  • Season XX 这类结构目录不动,但其中的文件会一起处理;
  • 绝不擅自扩大到你没指定的目录;你没说清时先问。

分工

角色 负责
插件 给规则、给样例、算计划、判对错、执行
Agent 按流程编排,把审核清单交给你,确认后执行,执行后复验
你 指定目录 + 审核点头

首次准备:扫码登录

py -u python/login_115.py                 # 终端显示二维码,115 手机 App 扫码确认
py -u python/login_115.py --png qr.png    # 生成二维码图片(Agent 展示给你扫时用)
py -u python/login_115.py --self-check    # 只检查环境,不联网

扫码拿到的是完整账号 cookie,与手工复制的权限相同;成功后自动写入
$DSH_HOME/media-naming/config.json 与凭据文件。

审核清单长什么样

## 审核清单:影视资源/电影/某影片 (2025)
文件:共 1 条 | 变更 0 | 跳过 1 | 冲突 0 | 未知 0 | 超范围 0
目录:1 个(待改 0 个)

### 影视资源/电影/某影片 (2025)(1 条)

| # | 现在 | 改为 | 依据 |
| --- | --- | --- | --- |
| 1 | 某影片 (2025).mkv | 某影片 (2025).mkv | 已符合规范 |

### 结论:✅ 可以进入执行

有目录名要改时会多一张表:

### 目录名也要改

| 现在 | 改为 | 影响文件 |
| --- | --- | --- |
| 某影片 2025 2160p | 某影片 (2025) | 1 |

十二个工具

主路径只有两个,其余用于精细控制:

工具 关键参数 用途 性质
media_naming_quick target(唯一必填) 首选入口:扫 + 算 + 落盘 + 审核清单,一次返回 只读
media_naming_apply confirm(路径可省) 执行计划 / 回滚;执行后自动复验 写
media_naming_config — 配置位置、取值来源、缺什么 只读
media_naming_flow step 作业流程与每步通过条件 只读
media_naming_check step / planPath 判定某一步是否通过 只读
media_naming_review planPath / paths 给你看的审核清单 只读
media_naming_rules pack 当前规则包全文 只读
media_naming_examples id / kind 规范样例,照着模仿 只读
media_naming_parse path 解析单条路径 只读
media_naming_plan target(必填) 出这个路径的 dry-run 计划 只读
media_naming_verify candidatePath 校验一条路径 只读
media_naming_scan path(必填) 扫描指定路径 只读

执行的两道闸门

  1. 用户确认:confirm: true(Agent 必须先把审核清单给你看过);
  2. 计划干净:conflict = 0、unknown = 0、无重复目标。

执行顺序:先改作品目录名,再处理文件(补 Season 子目录时源路径按映射更新)。
每条写 apply-state.json(可断点续跑)与 rollback.json(传 rollback: true 可整批改回)。

规则包(可换、可扩展)

rules/
├── registry.json        # 有哪些规则包、默认用哪个
└── cn-media/
├── rules.json       # rootPrefix / libraries / excluded / videoExtensions / cleanup / templates / policies
└── examples.json    # 配套样例集(12 条,含实测踩坑的回归用例)

libraries 是映射而不是白名单:{ "match": "我的剧集", "mediaType": "tv" }——路径中任一段命中即生效。
换规则:新建 rules// 并登记,或调用时传 rulePackPath。

验证

npm test                           # 一键跑下面全部 9 套(缺 Python 时自动跳过 2 套)
node test/local-storage-test.mjs   # 33 项:本地/NAS 后端(扫描、计划、零移动、补 Season、占用保护、后端路由)
node test/quick-flow-test.mjs      #  9 项:计划自动落盘 + 最近计划 + 免路径调用(离线)
node test/engine-test.mjs          # 17 项:样例 + 通用性 + 目录名规范化
node test/plugin-smoke.mjs         # 42 项:12 个工具、流程、校验、审核视图、执行闸门
node test/schema-check.mjs         # 50 项:用 DSH 自己的断言校验工具 schema
node test/apply-explain-test.mjs   # 10 项:操作推导与安全闸门(离线)
node test/login-selfcheck-test.mjs #  6 项:扫码登录脚本环境自检(不联网)
py -u test/entry-id-test.py        #  6 项:115 条目 id 字段判定(锁死实测字段语义)
py -u test/operation-plan-test.py  # 11 项:目录改名 vs 换目录的动作判定

维护与诊断脚本(python/)

脚本 用途 写盘
login_115.py 扫码登录;写入凭据与配置 是(本地)
scan_115.py 只读扫描使用者指定的那个路径 否
apply_115.py 执行 / --explain 演练 / --rollback 回滚 是(网盘)
probe_list_dir.py 诊断:列某一层目录 否
probe_raw.py 诊断:原始响应 / search:关键字 全盘搜索 / 纯数字按 id 查 否
probe_domains.py 诊断:逐个测 115 接口域名的可用性 否
restore_dir.py 修复:把被误移动/改名的目录移回原位并改回原名 是(网盘)
move_children.py 运维:把某目录下的文件移到另一个目录 是(网盘)
delete_entry.py 运维:删除条目(默认只允许删空目录,进回收站可恢复) 是(网盘)

踩坑记录(都来自实测)

  1. 115 的条目字段与直觉相反——文件条目的 cid 是父目录 id,文件自己的 id 在 fid;
    目录条目反过来(cid 是自己)。两者都用 fc 区分:1 = 文件,0 = 目录。
    把 cid 当文件 id 用会把整个目录移动并改名(test/entry-id-test.py 锁死了这个判据)。
  2. p115client 每请求轮换域名(cycle(...).__next__),第 2 个就是被阿里云 WAF 拦的
    http://web.api.115.com(Tengine + acw_tc / HTTP 405)。必须固定域名并加请求间隔。
  3. 中文片名可能在目录名里(文件名是 Show.Name.S01E01…,中文名却在目录名上):
    文件名无中文而作品目录名有中文时,以目录名为准。
  4. 改名撞名时 115 不合并,而是自动加 (1) 后缀,于是同一层会出现两个同名目录;
    目录改名务必确认目标名不存在。
  5. PowerShell 捕获子进程输出会带 BOM;写 JSON 中间文件要显式用无 BOM 的 UTF-8。
  6. 「目录改名」不等于「文件换目录」:作品目录改名时,文件应原地改名,最后改目录名即可
    (零移动、零新建);只有补 Season 子目录或跨库才需要移动。把两者混为一谈会白白搬运整个
    目录,还会让「改目录名」撞上刚建的同名目录——115 撞名时不合并,而是加 (1),或把空源目录吞掉。
  7. 「补 Season」必须排在「作品目录改名」之后:先改作品目录名,再在新目录里建 Season XX、
    搬文件(源路径按映射更新);反过来会先创建目标作品目录,随后改目录名必然撞名。

边界

  • 只读工具无副作用;唯一写操作经 media_naming_apply,必须过两道闸门;
  • 凭据只判存在/非空/字段名,不回显、不落任何产物;
  • 只处理规则包里声明的视频文件,字幕 / NFO / 海报不动;
  • 仓库内不含任何真实站点域名或作品名,样例均为中性示例数据。

常见问题

7 问
答案由本站依据条目字段整理,不引用上游原文
dsh-plugin-media-naming 怎么安装?

本站没有抓到该条目的安装命令,请到仓库主页确认安装方式;这类条目多数是生态应用或尚未发布安装包的项目。

dsh-plugin-media-naming 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-plugin-media-naming 安全吗?

未标注。

dsh-plugin-media-naming 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-plugin-media-naming 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-plugin-media-naming 有哪些功能?

按指定路径规范目录与文件名、自动识别 115 网盘或本机/NAS、先出审核清单,确认后执行、支持回滚与断点续跑、规则包可替换可扩展。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

工具与能力
按星标排序,可作替代方案

huashu-design

huashu-design

在 DeepSeek Harness 里说一句话,就能拿回可交付的设计:网页、App 原型、可编辑 PPTX、动画与信息图,自带 84 种风

未标注验证等级 3.0 万 星

loopx

loopx

LoopX 是面向长周期 Agent 的本地优先控制平面,作为 DSH plugin 为 DeepSeek Harness 提供持久目标、证

未标注验证等级 6,233 星

agy-staff

agy-staff

把 Google Antigravity CLI 作为快速 Gemini 员工接入 DSH,提供子代理侧边栏、编排模式与多种角色技能。

未标注验证等级 870 星

dsh-startup-screen

dsh-startup-screen

DeepSeek Harness 的启动界面与启动动画插件。

未标注验证等级 633 星

dsh-blender-plugin

dsh-blender-plugin

让 AI 模型通过直连 TCP 通道实时驱动 Blender 的 DSH plugin:15 个工具覆盖视口取帧、任意角度渲染、内循环搜索、

未标注验证等级 211 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。