DeepSeek Harness Plugin: dsh-plugin-media-naming

前言

DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。当媒体服务器(如 Jellyfin、Emby)无法正确识别你的资源目录结构时,手动重命名既耗时又容易出错。dsh-plugin-media-naming 插件旨在解决这一问题,它通过预设的规则包,将指定的目录名和视频文件名规范化为媒体服务器能识别的形式,并支持 115 网盘与本机/NAS 环境。

插件概览

  • 名称:dsh-plugin-media-naming
  • 核心价值:媒体库统一命名,规范化目录名与视频文件名
  • 环境支持:自动识别 115 网盘或本机/NAS/Linux 路径
  • 维护者:CustomLZH
  • 许可证:MIT

核心功能

  1. 媒体库统一命名:规范化目录名与视频文件名。
  2. 双环境支持:自动识别 115 网盘或本机/NAS/Linux 路径,无需手动切换。
  3. 先出计划再执行:生成审核清单,确认后执行,避免误操作。
  4. 支持断点续跑与回滚:通过 apply-state.json 和 rollback.json 管理执行状态。

安装与依赖

前置条件

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

安装步骤

  1. 克隆仓库到任意目录:
    git clone https://github.com/CustomLZH/dsh-plugin-media-naming.git
  1. 在 DSH 的插件管理中将其作为 bundle 安装并启用(通过 plugin_manager 的 install_bundle → set_bundle → set_plugin)。
  2. 重启 DSH。插件代码有模块缓存,修改代码后同样需要重启才能加载。

环境自检

安装完成后,可以通过以下命令验证环境:

npm test                           # 一键运行全部测试
node test/local-storage-test.mjs   # 只跑本地/NAS 后端

典型用法

插件提供了一套工具来处理从扫描到执行的全流程。

1. 首次准备(仅 115 网盘)

如果需要操作 115 网盘资源,需先进行扫码登录:

py -u python/login_115.py                 # 终端显示二维码,扫码确认
py -u python/login_115.py --png qr.png    # 生成二维码图片(用于展示)
py -u python/login_115.py --self-check    # 仅检查环境,不联网

凭据成功后会自动写入本地 config.json。

2. 生成审核清单

使用 media_naming_quick 工具指定目标路径,生成审核清单:

// 整理 影视资源/电视剧/某剧 (2026)
dsh media_naming_quick target="影视资源/电视剧/某剧 (2026)"

该命令会返回一个审核清单,列出需要修改的文件和目录,以及变更依据。

3. 执行修改

在确认审核清单无误后,使用 media_naming_apply 完成修改并自动复验:

// 可以
dsh media_naming_apply confirm=true

工作流与安全机制

分工协作

  • 插件:负责提供规则、计算计划、判定对错。
  • Agent:负责按流程编排,展示审核清单,确认后执行。
  • 你:负责指定目录并审核点头。

执行闸门

执行写操作前必须满足两个条件:
1. 用户确认:Agent 必须先将审核清单展示给你看过。
2. 计划干净:conflict = 0、unknown = 0、无重复目标。

处理范围

  • 只处理规则包里声明的视频文件,字幕/NFO/海报保持不动。
  • 凭据只写入本地配置文件,不回显、不落任何产物。
  • 修改代码后必须重启 DSH 才能生效。

规则包与配置

插件内置了 rules/ 目录,包含规则配置和样例数据。libraries 是映射而非白名单,只要路径中任一段命中即生效。如需更换规则包,可新建 rules/<id>/ 并登记,或在调用时传入 rulePackPath。

参考资料

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

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

Xiaoye