使用手册

HyperMS 使用手册

从部署到 Emby 联动,按实际使用顺序写。遇到问题时,先从左侧目录跳到对应章节。

快速开始

先把服务启动、账号登录、网盘连上。其他设置可以等流程跑通后再补。

部署前准备

  • Docker + Docker Compose —— 推荐部署方式。下面这一份 Compose 会同时启动 Redis、PostgreSQL 和 HyperMS
  • 一个媒体目录 —— STRM 文件会写到宿主机目录,再映射给 Emby 扫描。建议一开始就定好路径
  • 网络能出去 —— 如果需要刮削 TMDB、连接 Telegram 频道,确保容器能访问外网
  • 不用克隆项目,也不用本地构建 —— 主服务直接使用 Docker Hub 上的 gravityle/hyperms:latest 镜像
如果你打算对接 Emby:一开始就把宿主机目录和容器内的 /media 映射关系确定好。很多人遇到"STRM 生成了但 Emby 扫不到",其实就是两边看到的路径不一样。

复制 Compose 配置

新建一个目录,把下面内容保存为 docker-compose.yml。这就是完整部署文件,不需要再额外准备数据库 Compose。

# 根据实际情况调整挂载目录路径
services:
  # Redis 服务
  redis:
    image: redis:latest
    container_name: redis
    restart: unless-stopped
    networks:
      - hms_network
    volumes:
      - ./data/docker/redis/data:/data
    environment:
      TZ: Asia/Shanghai

  # PostgreSQL 主数据库
  pgsql:
    image: postgres:17-alpine
    container_name: postgresql
    restart: unless-stopped
    networks:
      - hms_network
    volumes:
      - ./docker/postgresql/data:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: hyperms
      POSTGRES_USER: hyperms
      POSTGRES_PASSWORD: hyperms
      TZ: Asia/Shanghai

  # HyperMS 主服务
  hms:
    image: gravityle/hyperms:latest
    container_name: HyperMS
    restart: unless-stopped
    networks:
      - hms_network
    depends_on:
      - redis
      - pgsql
    environment:
      TZ: Asia/Shanghai
      HMS_DB_URL: postgresql+asyncpg://hyperms:hyperms@pgsql:5432/hyperms
      HMS_REDIS_URL: redis://redis:6379/0
      HMS_REDIS_KEY_PREFIX: hyperms
      # HMS_DISABLE_AUTH: "true" # 关闭登录认证,不建议公网使用
      # HMS_ADMIN_KEY: xxxxxxxx # 自定义字符串,用于重置管理员密码
    ports:
      - "8115:8115"
      - "8196:8196"
    volumes:
      - ./data/docker/hyperms/media:/media

networks:
  hms_network:
    name: hms_network

启动服务

docker compose up -d
默认入口:浏览器打开 http://127.0.0.1:8115。如果不需要 Emby 代理端口,可以把 8196:8196 删掉。

首次登录

  1. 找初始密码 —— 首次启动时,系统会在容器日志里输出临时管理员账号和密码。执行 docker logs HyperMS 查看
  2. 修改密码 —— 登录成功后,进设置页把管理员用户名和密码改成你自己的。临时密码留在日志里不安全
  3. 忘了密码怎么办 —— 修改容器部署环境变量,添加 HMS_ADMIN_KEY,启动容器后在登录页走重置流程。

先填这些设置

不必一次配完,但下面几项会影响搜索、转存、整理和播放。

设置项干嘛用的不填会怎样
管理员账号 把临时密码换掉 别人看了日志就能登你的系统
115 / 夸克登录 让系统能访问你的网盘 搜索、转存、STRM 都无法正常使用
默认保存目录 转存文件和 STRM 的落点 系统不知道文件往哪放
TMDB API Key 匹配片名、拉海报和简介 整理出来的内容没有元数据
Emby 地址 让系统能通知 Emby 刷新 STRM 生成了但播放器不知道

检查是否可用

  1. 改完管理员密码,确认能正常登出再登入
  2. 去设置页看 115 或夸克的登录状态是不是"正常"
  3. 回首页搜一部片,看看能不能搜到结果
  4. 贴一个 115 分享链接,看能不能解析出文件列表
  5. 去任务页看一眼,确认后台任务能创建、能执行、能看到进度
建议节奏:先手动跑完一遍"搜片 → 转存 → 整理 → 生成 STRM",确认每一步正常,再开启自动扫描和自动整理。

日常使用

日常操作集中在首页:搜内容、处理链接、加订阅。任务、索引和规则维护放在工具页。

搜索框支持哪些输入

你输入的系统会怎么做接下来你可以
片名 / 剧名 显示搜索结果,带出海报、年份、简介 点进去看详情、补元数据、加订阅
115 分享链接 校验链接还有效吗,能打开吗 转存到自己网盘,或者直接生成 STRM
夸克分享链接 解析文件列表,显示目录结构 转存、查看文件、后续整理
磁力 / ED2K 进入离线流程(如果网盘支持) 添加离线任务,完成后继续整理
使用方式:首页搜索框是主要入口。片名、分享链接、磁力或 ED2K 都可以直接粘贴进去。

常用场景

场景一:拿到了一个分享链接

把链接贴进首页搜索框,系统会校验它还有没有效。有效的话,你可以选择"转存到我网盘"或者"直接生成 STRM"(如果你只想播、不想占网盘空间)。

场景二:想把资源整理进家庭库

先转存或导入,然后让系统扫描、补全元数据、按电影/剧集分类,最后统一生成 STRM。Emby 扫一下新目录,海报和播放就都有了。

场景三:只有磁力或 ED2K 链接

直接贴到首页。如果网盘支持离线,系统会先把资源离线到网盘,然后再走整理流程。不支持离线的话,暂时只能先存着链接。

场景四:长期追一部剧

搜到这部剧后,点"添加订阅"。系统会定期检查有没有新集数。发现更新后自动转存、整理、通知你。稳定后再开自动生成 STRM。

场景五:维护一个索引库

在网盘浏览器里给常用目录建索引,后续去"索引管理"里同步、发布。适合你有大量存量资源,想批量生成 STRM 的情况。

场景六:旧的 STRM 链接失效了

进 STRM 转换工具,批量选中旧的 STRM 文件,预览新链接,确认没问题后一键改写。不用手动一个个改文本文件。

排查顺序

先看任务,再看操作记录,最后看日志。这样最容易定位问题发生在哪一步。

  1. 任务页 —— 你点了一个操作,先看任务页里有没有出现对应任务。如果没出现,说明请求根本没发出去
  2. 操作记录 —— 任务出现了但结果不对,看操作记录。这里记录了系统具体做了哪些动作,比如"尝试转存到 /电影/2024/"
  3. 日志页 —— 操作记录里没有异常,但结果还是不对,去看日志。这里有原始报错、外部服务返回的异常信息
建议:先确认任务有没有生成,再确认操作是否符合预期,最后再看日志原文。

整理输出

资源导入后,整理、刮削和 STRM 会决定 Emby 里的显示和播放效果。这里按流程说明每一步。

资源怎么进你的网盘

从分享链接转存

在首页粘贴 115 或夸克分享链接,系统校验后会显示文件列表。选择"转存",文件就会复制到你设定的默认目录里。转存是复制,不是移动,原分享不受影响。

从离线任务获取

粘贴磁力或 ED2K 链接,系统会调用网盘的离线下载功能。离线完成后,文件已经在你的网盘里,可以直接进入整理流程。

注意:115 对重复转存有限制,短期内重复转存同一个分享可能会失败。

元数据补全

系统会根据文件名和目录结构匹配 TMDB,并补上海报、简介、年份、演员等信息。

  1. 系统先猜 —— 根据文件名和目录结构,系统会调用 TMDB 搜索匹配的影片。如果文件名规范(比如"沙丘.2021.1080p"),命中率很高
  2. 猜错了你纠正 —— 如果匹配错了(比如把电视剧匹配成了电影),去"手动整理"页里重新指定正确的 TMDB ID
  3. 写规则让它以后自动猜对 —— 在"TMDB 规则"里可以写正则或关键词映射,比如凡是文件名带"S01E"的,一律按剧集处理
没有 TMDB Key 会怎样?系统无法自动整理媒体进入库,无法使用 Emby 插件。强烈建议尽早申请 TMDB API Key,免费且简单。

STRM 文件

STRM 是一个很小的文本文件,里面写着播放地址。Emby 扫描到它以后,会按这个地址拉流播放。

  • 不占本地空间 —— 一部电影几十 GB,STRM 文件只有几百字节。本地磁盘只需要存这些索引文件,视频本身还在网盘里
  • Emby 能直接识别 —— STRM 文件放在 Emby 的媒体库目录里,Emby 扫描时会把它当成普通视频文件显示。点播放时读取里面的直链地址,自动走网盘播放
  • 链接失效可以批量换 —— 如果网盘直链格式变了,不用重新生成所有 STRM。用"STRM 转换"工具,批量改写文件里的链接地址即可
路径映射是关键:HyperMS 生成 STRM 时写的路径,必须是 Emby 实际能访问到的路径。如果两边对不上,Emby 就扫不到。具体怎么配,看 播放器联动 章节。

什么时候开启自动整理

阶段策略适合谁
阶段一 全部手动确认 刚上手,熟悉系统的判断逻辑
阶段二 自动整理 + 手动生成 STRM 信任系统的分类能力,但 STRM 还想自己把关
阶段三 全自动 流程跑稳定了,订阅检查 + 自动转存 + 自动整理 + 自动生成 STRM + 通知推送

播放器联动

Emby 插件用于将 HyperMS 的虚拟媒体库映射进 Emby。找资源、整理和生成 STRM 仍由 HyperMS 处理,Emby 负责扫描和播放。无需生成 STRM 文件。

两步装好插件

第 1 步:复制插件文件

下载项目提供的 HyperMSPlugin.dll,复制到 Emby 的插件目录,然后重启 Emby。

Emby 插件 HyperMSPlugin.dll · 约 750 KB
下载 DLL
# Docker 部署的 Emby 示例
docker cp HyperMSPlugin.dll emby-server:/config/plugins/
docker restart emby-server
不是 Docker 部署?HyperMSPlugin.dll 放进 Emby 配置目录下的 plugins 文件夹,然后重启 Emby 即可。

第 2 步:在 Emby 后台配置

  1. 打开 Emby Dashboard
  2. 进入 Plugins → HyperMS
  3. 填写 Server URL —— 这是最关键的一项。注意:这里要填 Emby 容器内部能访问到的 HyperMS 地址,不是你在浏览器里访问的地址。举例:如果你用上面的 Compose,并让 Emby 加入同一个网络,可以填 http://hms:8115
  4. 保存并重启 Emby

路径映射最容易出错

HyperMS 生成 STRM 文件时写的是容器内部路径,Emby 读取时也必须是同一个物理路径。两边对不上,Emby 就扫不到。

✓ 正确的例子

宿主机 /mnt/media 同时映射给 HyperMS 和 Emby 的 /media

HyperMS 生成:/media/电影/沙丘 (2021)/沙丘.strm
Emby 扫描:/media/电影

两边路径完全一致,能扫到。

✗ 错误的例子

HyperMS 映射 /media,Emby 映射 /data/media

HyperMS 生成:/media/电影/...
Emby 扫描:/data/media/电影

Emby 看到的路径和 STRM 里写的不一样,扫不到。

简单判断方法:在 Emby 容器里执行 cat /media/电影/某文件.strm,如果能读到内容,说明路径映射是对的。如果提示"No such file",就是路径没对上。

确认插件生效

  • 插件列表能看到 —— 进 Emby 的插件列表,确认 HyperMS 插件出现在已安装列表里
  • 配置能保存 —— 填完 Server URL 保存后,退出重进插件页,确认内容还在
  • 搜索有结果 —— 在 Emby 客户端里搜索一部本地没有的片,看结果里有没有来自 HyperMS 的条目

插件常见问题

  • 插件不显示:先重启 Emby,再确认 DLL 是否真的在 /config/plugins/ 目录下
  • 搜索没结果:检查 Server URL 填的是不是 Emby 能访问的地址。在 Emby 容器里 curl 一下这个地址,看能不能通
  • 配置不保存:检查 Emby 配置目录的权限,确保容器有写入权限
  • 有结果但播不了:通常不是插件的问题,是 STRM 或网盘直链的问题,检查 STRM 地址和分享链接是否有效

后台管理

后台用于处理维护工作:任务、订阅、索引、权限、STRM 批量改写和日志排查。

设置页速览

设置页顶部按标签分组。右上角的 保存 会写入当前修改,取消 只关闭面板,退出图标用于结束当前登录会话。

通用

  • 账号管理:修改管理员用户名和密码;子账号账号密码只在启用子账号后生效。
  • 子账号功能:总开关控制子账号能否登录,下方权限勾选决定它能用哪些网盘、资源源、转存和 STRM 功能。
  • 代理设置:给 TMDB、Telegram 等外部服务使用;检测 按钮会测试代理连通性。
  • 通用配置:主要控制首页推荐源等基础显示行为。

网盘

  • 115 / 夸克配置:Cookie 决定网盘登录状态;扫码 会打开登录二维码弹窗,浏览 会打开网盘目录弹窗,可在目录弹窗中创建索引和分享。
  • 电影 / 电视剧转存目录:选择 按钮会打开目录选择弹窗,保存后作为默认转存落点。
  • STRM 相关设置:网关地址决定 STRM 播放入口;自动清理会在取到播放直链后清理临时文件。
  • 目录、格式和同步下载:手动选目录开关会在转存或生成 STRM 前弹出目录选择;小文件过滤、格式白名单和同步下载范围会影响最终生成哪些文件。

数据源

  • 推送设置:控制是否接收其他实例推来的转存、生成 STRM、创建分享消息;自动扫描、自动整理、自动生成 STRM 会让入站分享进入自动化流程。
  • 盘搜服务:启用开关决定是否调用盘搜;资源过滤开启后,只保留当前已配置网盘可处理的结果。
  • 影巢 / 聚影:启用开关决定是否作为搜索来源;影巢的 签到 按钮用于领取积分(仅影巢会员可见),积分阈值控制订阅时是否自动解锁资源。
  • Telegram 授权:扫码授权 会打开 Telegram 授权弹窗,授权后才能使用 Telegram 账号搜索;取消授权会移除当前会话。

媒体库

  • 本地媒体库概览:显示媒体主记录、待整理、已补全、待补全和失败数量,用来判断整理状态。
  • Emby / 极影视 / 飞牛影视:填写地址和凭据后,系统会显示媒体库概览;展开按钮只用于查看子媒体库分类。
  • TMDB API:用于搜索影片信息、补全海报、简介、年份和剧集数据。
  • 扣子智能体:授权 会打开设备授权弹窗,用于更智能地识别标题、年份、编码等信息;取消授权会清掉当前绑定。

通知

  • 通知开关:先选择哪些场景要通知,比如分享整理完成、订阅更新、订阅完结。
  • 企微通知:填写企业微信参数后才能启用;发送通知 按钮用于测试当前配置是否能发出去。
  • Telegram 通知:填写 Bot Token 和用户 ID 后才能启用;发送通知 按钮用于发送测试消息。

关于

  • 版本信息:查看当前程序版本和是否有可升级状态。
  • 定时设置:订阅检查、增量同步、链接有效期检查都有独立开关和间隔;关闭后对应后台任务不会自动跑。
  • 管理工具:这里的按钮会打开对应工具面板,比如媒体库、订阅、任务、索引、互联、链接、手动整理、整理规则、操作日志和 STRM 转换。

工具说明

工具什么时候用
媒体库管理 查看整理好的内容,确认分类对不对、元数据齐不齐,手动修正错误信息
订阅管理 手动触发检查、暂停/删除订阅,定期查看有没有长期没更新的订阅
任务管理 查看进度、失败原因、卡住的任务和重试入口。系统异常时,先看这里
索引管理 给网盘目录建索引,批量生成 STRM,同步文件变动
互联管理 保存其他 HyperMS 实例地址,实现跨实例搜索和资源推送
链接管理 查看导入的分享链接状态:哪些已转存、哪些已失效、哪些还没处理
手动整理 / TMDB 规则 自动整理没认出的片名、TMDB 匹配错了,在这里纠正。也可以写规则让系统以后自动按你的习惯命名
STRM 转换 / 日志 批量改写旧 STRM 链接地址。日志页用来查系统级错误,比操作记录更底层

子账号权限

给家人或朋友使用时,建议只开放必要权限。

  • 只给搜索 —— 适合只想让别人查查看有什么资源,不开放任何修改操作。最安全
  • 搜索 + 转存 —— 适合让家人或朋友帮忙把资源转存到统一目录。但要注意会消耗你的网盘空间
  • 链接处理助手 —— 额外开放 STRM 生成权限,但仍然不给设置页和管理工具
权限建议:设置页和管理工具页尽量只保留给管理员。子账号的网盘权限也建议分开给(比如只给 115 不给夸克),万一账号泄露损失可控。

浏览器插件

如果你经常在网页上收集 115/夸克分享链接,希望边浏览边入库,不用来回复制粘贴,那浏览器插件很适合你。

浏览器扩展 hyperms-browser-import-extension.zip · 约 43 KB
下载扩展

下载后先解压,再到 Chrome / Edge 的扩展管理页开启开发者模式,选择“加载已解压的扩展程序”。

最关键的四个设置:

  1. HyperMS 地址 —— 按实际填写,比如 http://127.0.0.1:8115
  2. 连接测试 —— 先确认插件能访问到你的 HyperMS
  3. 自动入库 —— 熟悉效果后再开启,别一上来就全自动
  4. 指定网站 —— 控制在哪些站点触发,避免误识别

常见问题

多数问题可以从任务页、操作记录和日志定位。下面按常见症状整理。

我登录不了怎么办

先确认你用的是当前有效的管理员账号。首次启动时系统会在容器日志里输出临时账号密码,执行 docker logs HyperMS 查看。

如果部署时填了 HMS_ADMIN_KEY,可以在登录页走管理员密码重置流程。没填的话只能进数据库改或者重装。

页面能打开,但转存总是失败

按这个顺序检查:

  • 网盘登录状态是不是"正常"?过期了就重新扫码或更新 Cookie
  • 默认目标目录设了吗?没设的话系统不知道往哪转
  • 当前账号有没有转存权限?如果是子账号,可能被管理员限制了
STRM 生成了,但 Emby 扫不到

最常见的原因是路径映射不一致。检查三点:

  • HyperMS 生成的 STRM 文件,是不是放在 Emby 实际扫描的目录里?
  • 容器里的 /media 和宿主机的目录映射关系,两边是否一致?
  • Emby 里对应的媒体库路径,是否包含了 STRM 所在的子目录?
Emby 扫到了,但播放报错

这说明 STRM 文件本身没问题,问题出在直链解析上。去 HyperMS 的任务页看有没有"解析播放地址"相关的失败任务。

也可能是网盘登录失效了,直链拿不到。重新登录网盘后再试。

TMDB、Telegram、影巢连不上

先回设置页的"通用"里检查代理配置。如果容器走不了外网,这些服务全部会超时。

确认网络没问题后,再用测试按钮或测试消息验证单个服务是否可用。不要同时排查多个,容易搞混。

订阅一直没更新

三步排查:

  • 订阅检查的定时开关开了吗?去设置页的"关于"里看调度任务是否启用
  • 任务页里有没有出现"订阅检查"任务?如果没出现,说明定时器没触发
  • 有任务但失败了?看日志里的具体报错,可能是网盘空间满了、链接失效、或者 TMDB 匹配不到
索引同步不到最新文件

检查 115 生活事件功能是否打开。

检查索引定时同步是否启用,以及目标目录在网盘里是否还存在(有时候文件被移动或删除了)。

也可以手动在索引管理页点"立即同步",强制刷新一次。如果手动同步成功但自动不同步,说明定时器有问题,看日志。

完全不知道从哪里开始排查

按这个顺序看:

  • 任务页:你点的操作有没有生成任务?任务状态是"成功"、"失败"还是"卡住"?
  • 操作记录:系统实际执行了哪些动作?和你预期的一样吗?
  • 日志页:看报错原文。如果是外部服务报错(比如 TMDB 429、网盘 401),日志里会有原始返回。

如果这三页都看不出问题,再考虑是不是设置填错了(比如路径、API Key、地址)。

还解决不了?

回到对应章节,对照配置要求和验证步骤再查一遍。

去社群提问

带上任务页截图、相关时间点的日志片段、设置页关键配置(敏感信息打码)。信息越全,别人越能精准定位。