简体中文 | 繁體中文 | English | Français | Русский | 日本語 | Español | ไทย
Technical specifications card management and Emby media library integration tool.
面向 Emby Server 的只读 NFO 索引与 Technical Specifications 卡片管理工具。
v5.0.0 仅迁移技术栈与系统适配,目标是保留 v4.1.0 的功能、界面和操作。TCM 仍只读 NFO、管理 Emby 卡片并手动更新,没有 AI。真实 Emby、完整原生界面/操作和 Windows/Linux 运行验收尚未完成;源码检查与制包不代表这些验收通过。现有截图作为原界面参照。
Tech Card Manager(TCM) 用于把已经存在于媒体 NFO 中的 Technical Specifications(影视技术规格) 带到 Emby 的实际浏览界面中。
现在的大多数媒体库已经可以很好地展示:
- 片名
- 演员
- 年份
- 分辨率
- 视频编码
- 音频编码
- HDR / Dolby Vision 等媒体流信息
但一部影视作品在制作阶段使用了:
- 什么摄影机
- 什么镜头
- 什么胶片或数字采集格式
- 怎样的摄影工艺
- 什么声音格式
- 什么画幅比例
- 怎样的母版与放映格式
这些信息通常并没有得到完整、结构化的展示。
TCM 会以只读方式扫描用户配置的电影和电视剧 NFO,建立自己的派生索引,并通过 Emby Web Card 将这些技术规格展示在媒体详情页中。
TCM 的核心目标包括:
- 让已有 Technical Specifications 真正进入媒体库浏览体验
- 保持媒体 NFO 原文件只读
- 不接管用户现有的元数据工作流
- 将电影与电视剧作为独立空间管理和刷新
- 安全地维护 Emby Technical Specifications Web Card
- 提供长期运行所需的 Windows GUI、系统托盘和本地服务能力
- 让重要状态、错误和维护操作尽可能可观察、可验证
- 内置简体中文、繁體中文和 English (United States),并通过版本绑定的语言包支持法语、俄语、日语、西班牙语和泰语
TCM 可以读取用户配置的电影与电视剧媒体库目录,从 NFO 中提取并索引 Technical Specifications 以及其他用于展示和识别的只读信息。
媒体 NFO 是 TCM 的只读数据源。
TCM 不会:
- 修改 NFO
- 自动整理 NFO
- 自动“修复” NFO
- 写入 Technical Specifications
- 生成或删除标签
- 修改标签 ownership
- 改变 NFO 原有内容
索引结果由 TCM 自己维护。
媒体原始数据仍然由用户以及原本使用的元数据管理工具掌控。
TCM 会将索引后的技术规格转换为适合媒体库展示的数据,并通过 Web Card 集成到 Emby 页面。
当前主要能力包括:
- Technical Specifications 卡片生成
- Technical Specifications 卡片展示
- 卡片资源服务
- Emby Web UI 集成
- Web Card 安装
- Web Card 更新
- Web Card 移除
- Web Card 状态检测
- 历史组件兼容检测
- 必要的备份与恢复
Web Card 的维护与媒体 NFO 是两个完全独立的操作域。
TCM 可以维护 Emby Web 集成文件,但不会因此修改媒体 NFO。
Manager 可在设置中即时切换简体中文、繁體中文与 English (United States),不会重载页面或清空当前界面状态。法语、俄语、日语、西班牙语和泰语以 v5.0.0 GitHub Release 的独立语言包提供,下载并验证后才能加载。Emby Web Card 使用独立的语言注册表;未安装或不支持的 Emby 语言回退简体中文。Camera、Sound mix 等 Technical Specs 字段键和数据结构不会随显示语言改变。
电影和电视剧在 TCM 中属于独立媒体空间。
包括:
- 独立媒体库根目录
- 独立索引
- 独立搜索
- 独立过滤
- 独立浏览
- 独立刷新范围
- 独立状态展示
例如:
电影
↓
刷新当前媒体库
↓
仅扫描电影目录
不会因为刷新电影而自动扫描电视剧目录。
同样,刷新电视剧也不会默认重新扫描电影。
TCM 的 Manager 界面不仅负责启动服务,也可以直接浏览已经建立的媒体索引。
目前可以用于查看:
- 已索引影片数量
- NFO 总数
- 缓存 / 索引状态
- XML 解析异常
- 媒体库可访问状态
- 电影与电视剧目录
- Technical Specifications
- 技术标签等只读信息
- NFO 路径
- 当前任务
- 错误状态
当发生错误时,TCM 会尽可能保留能够帮助定位问题的信息,例如影片、媒体类型、NFO 路径和相关任务。
当前正式实现面向:
macOS ARM64 / Windows x64, ARM64 / Linux x64, ARM64
启动 Tech Card Manager 后,Manager 和本地服务一起运行。
窗口最小化后,TCM 可以继续驻留在系统托盘。
目前支持:
- 单实例运行
- 最小化到系统托盘
- 从托盘恢复 Manager
- 登录后启动
- 登录启动时静默最小化
- 服务状态管理
- 明确的程序退出
- 退出时的资源清理
完全退出 TCM 后,本地服务也会停止。
Manager 主界面用于查看:
- 服务状态
- 索引统计
- 电影 / 电视剧空间
- 媒体目录
- Technical Specifications
- 当前任务状态
- 错误信息
设置区域用于管理:
- 电影媒体库根目录
- 电视剧媒体库根目录
- 启动行为
- 登录启动
- 静默启动
- 刷新周期
- Web Card 维护
- 更新检查
- 其他应用设置
Technical Specifications 可以作为独立卡片出现在 Emby 电影详情页中。
用于展示:
- Cameras
- Lenses
- Film / Digital Capture
- Cinematographic Process
- Laboratory
- Aspect Ratio
- Sound Mix
- Printed Film Format
- Master / Presentation Format
- 其他 Technical Specifications
电视剧使用独立的索引与展示逻辑。
节目级 Technical Specifications 可以进一步进入相应的 Emby 媒体页面。
📷 成果截图预留位置
建议文件:
./docs/images/emby-series-card.png
这里可以展示 Technical Specifications Card 的完整视觉效果,例如:
- 摄影机
- 镜头
- 胶片规格
- 数字采集格式
- 摄影工艺
- 声音格式
- 画幅比例
- 母版格式
- 放映格式
📷 成果截图预留位置
建议文件:
./docs/images/technical-specs-card-detail.png
Media NFO
↓
只读扫描与解析
↓
TCM 派生索引
↓
本地服务 / Card Assets
↓
Emby Web Card
↓
媒体库 Technical Specifications 展示
TCM 不把索引结果写回媒体 NFO。
可以把 TCM 理解成位于:
NFO 数据层
↓
TCM
↓
Emby 展示层
之间的一个只读适配器。
它负责读取已有技术规格、建立自己的展示索引,再把这些信息送到媒体库界面。
TCM 与 IMDb Tech Manager(ITM) 是两个独立工具。
两者围绕同一套 Technical Specifications 工作流协同工作。
ITM 主要负责上游数据生产和维护,包括:
- IMDb Technical Specifications 获取
- Technical Specifications 结构化
- Technical Specifications 标准化
- NFO 管理
- Technical Specifications 写入
- 技术标签生成
- AI 辅助语义处理
- 手动修正
- 批量处理
- 元数据维护
TCM 主要负责下游的读取、索引、展示与媒体库集成:
- 只读读取已有 NFO
- 建立 Technical Specifications 派生索引
- 管理 Emby Web Card
- 将技术规格展示到媒体库页面
两者组合后,可以形成完整工作流:
IMDb
↓
IMDb Tech Manager(ITM)
↓
NFO / Technical Specifications
↓
Tech Card Manager(TCM)
↓
Emby Technical Specifications Card
TCM 不强制依赖 ITM。
只要 NFO 中存在 TCM 可以识别的兼容 Technical Specifications 数据,也可以由其他数据源提供。
Tech Card Manager 的职责边界非常明确。
TCM 不会:
- 抓取 IMDb
- 修改媒体 NFO
- 写入 Technical Specifications
- 生成 Technical Tags
- 删除标签
- 修改用户标签
- 运行 AI
- 管理 Prompt
- 统计 AI Token
- 维护 AI API 调用费用
- 接管 NFO ownership
- 迁移 NFO ownership
这些属于其他数据管理工具,例如 IMDb Tech Manager 的职责。
TCM 专注于:
安全地读取已有数据,并把它可靠地展示出来。
TCM 在:
- 扫描
- 索引
- 刷新
- 搜索
- 展示
过程中,应保持媒体 NFO 内容不被修改。
无法解析的 NFO 会作为错误记录,而不会尝试自动修复文件。
TCM 对 Emby Web 文件的安装、更新或移除,与 NFO 数据完全分开。
这类维护操作需要尽可能做到:
- 确认准确目标
- 建立备份
- 验证备份可恢复
- 构造完整修改结果
- 保持必要的 BOM / 换行规则
- 完成后验证结果
- 失败时回滚
需要管理员权限的操作通过 Windows UAC 明确执行。
TCM 保留对部分旧组件、旧 Web Patch 和历史安装痕迹的兼容识别能力。
涉及:
- 旧组件移除
- 进程终止
- Web Patch 替换
- 历史文件清理
等具有副作用的操作时,应:
识别目标
↓
展示维护计划
↓
用户确认
↓
重新验证目标
↓
执行
↓
验证结果
如果无法可靠确认某个历史组件的 ownership,TCM 默认停止处理,而不是冒险删除。
v5 使用 Rust + Tauri 2 与 TypeScript + Vue 3/Vite。原 v4 Windows 源码和发行输入保留在 windows/ 与 packaging/;v5 源码位于 rewrite/。仓库仍按产品组织。
Tauri 2 / Native Integration
+
Rust Core
+
TypeScript / Vue 3 / Vite
↓
Emby Web Card
v5 制包覆盖 macOS ARM64、Windows x64/ARM64、Linux x64/ARM64,共五个目标、九个包,不提供 macOS Intel。macOS 最低版本为 12.0;Windows 使用 WebView2,NSIS 包含离线安装器;Linux 使用 WebKitGTK 4.1、GTK 3、托盘库及需要提权时的 pkexec。没有新增 PowerShell 运行依赖。完整真实平台与 Emby 验收仍待执行,包括权限、托盘、登录启动、客户端加载、卡片安装/移除/恢复和退出清理。macOS 包仅临时签名,未做 Apple 公证;Windows 包未做发行证书签名。
从 GitHub Releases 下载与系统、应用架构匹配的安装包。v5.0.0 包文件名如下;Setup.exe 是安装器,AppImage 是可运行文件。
| 系统 | 架构 | 安装包 |
|---|---|---|
| macOS | ARM64 | TCM-v5.0.0-MacOS-AArch64.dmg |
| Windows | x64 | TCM-v5.0.0-Windows-x64-Setup.exe |
| Windows | ARM64 | TCM-v5.0.0-Windows-AArch64-Setup.exe |
| Linux | x64 | TCM-v5.0.0-Linux-x64.AppImage |
| Linux | x64 | TCM-v5.0.0-Linux-x64.deb |
| Linux | x64 | TCM-v5.0.0-Linux-x64.rpm |
| Linux | ARM64 | TCM-v5.0.0-Linux-AArch64.AppImage |
| Linux | ARM64 | TCM-v5.0.0-Linux-AArch64.deb |
| Linux | ARM64 | TCM-v5.0.0-Linux-AArch64.rpm |
macOS:打开 DMG,将 Tech Card Manager.app 放入 Applications。Windows:运行对应架构的 NSIS Setup.exe。Linux:使用发行版包管理器安装 DEB/RPM,或给 AppImage 执行权限后运行。升级前从菜单栏或托盘完全退出应用。应用数据保存于系统用户数据目录;保留旧 Portable 的 data、logs、backup、runtime、updates 及其他原文件,不删除原目录。旧数据迁移按应用内清单确认,不改写 NFO。
从 v4.1.0 升级时,旧程序只匹配旧 Portable ZIP,不能直接识别 v5 的新安装渠道;请直接前往官方 Releases 下载匹配的 v5 包。不要把 NSIS 安装器当成旧 Portable 的主程序替换,保留原目录并按新版内的迁移清单确认数据。
首次运行后,在 Manager 中配置对应的媒体库根目录。
电影与电视剧可以分别配置。
例如:
Movies
└── D:\Movies
TV
└── D:\TV
TCM 会从这些目录读取对应的 NFO。 TCM 也支持从Emby Server中自动发现目录。
根据当前所在的电影或电视剧空间刷新媒体库。
NFO
↓
解析
↓
派生索引
整个过程不会把数据写回 NFO。
根据 Manager 中的状态与提示完成 Emby Web Card 的安装或维护。
修改 Emby Web 文件时,Windows 使用 UAC,macOS 使用系统管理员授权,Linux 使用 pkexec。先核对维护清单,再确认操作;拒绝授权不会改写媒体 NFO。
TCM 提供本地服务用于向 Web Card 提供索引和相关资源。
因此使用 Technical Specifications Card 时,需要保持 TCM 运行。
Manager 可以最小化到托盘,不需要一直显示在桌面。
设置页保留原检查更新、内嵌下载确认与打开系统浏览器的手动流程。它按当前安装渠道选择 DMG、NSIS、AppImage、DEB 或 RPM,不自动安装或替换应用。下载匹配包 → 完全退出 → 安装或替换 → 保留用户数据与备份 → 重启 → 核对运行状态。DEB/RPM 使用系统包管理器升级。发行附件提供 TCM-v5.0.0-SHA256SUMS.txt;先核对下载文件摘要。
Repository 已经提供:
它是 Codex 等 Coding Agent 理解 Tech Card Manager 的主要上下文入口之一。
其中包含:
- 产品身份
- Repository 边界
- TCM 与 ITM 的职责区分
- NFO 只读规则
- Technical Specifications 索引边界
- Web Card 安全规则
- 历史兼容标识规则
- Windows 生命周期规则
- UAC 与管理员维护约束
- 测试要求
- Release 边界
- 不应该进行的修改
推荐开发流程:
Fork / Clone
↓
Coding Agent 读取 AGENTS.md
↓
读取相关源码与测试
↓
确认 TCM 产品边界
↓
分析受到影响的功能链路
↓
制定修改方案
↓
修改代码
↓
运行测试
↓
真实 Windows / Emby 验证
↓
提交 Pull Request
Repository 希望同时提供:
源代码
+
架构知识
+
设计约束
+
测试方法
+
Agent Context
减少开发者和 Coding Agent 修改项目时破坏既有产品边界的风险。
Tech Card Manager 目前处于:
公开源码 · 持续开发阶段
本 Repository 从:
v4.0.0
开始作为独立产品正式维护。
默认开发主线:
main
当前已经提供:
- 完整公开源码
- Tauri 2 GUI (macOS ARM64 / Windows x64, ARM64 / Linux x64, ARM64)
- v5.0.0 Release
- SHA-256 校验文件
- 只读 NFO 索引
- Emby Technical Specifications Web Card
- 电影 / 电视剧独立空间
- Windows 系统托盘
- 登录启动
- 静默启动
- 更新检查
- 基础测试体系
- Release 构建脚本
AGENTS.md- Apache License 2.0
- 建立独立 Tech Card Manager Repository
- 从
v4.0.0开始公开维护源码 - Windows x64 Portable GUI
- 电影 / 电视剧独立媒体空间
- 只读 NFO 索引
- Technical Specifications 派生索引
- Emby Web Card 集成
- 系统托盘
- 单实例生命周期
- 登录启动
- 静默托盘启动
- GitHub Release 更新检查
- 建立基础回归测试
- 建立 Release 构建流程
- 发布首个公开版本
v4.0.0 - 发布
v4.1.0多语言注册表与版本绑定语言包 - 完成简体中文、繁體中文和 English (United States) 内置界面
- 发布法语、俄语、日语、西班牙语和泰语语言包
- 固定新任务的日志语言并保留旧日志、索引和 NFO 原文
- 区分代理/网络、GitHub 限流、资产缺失和下载失败
- 完成内容测量驱动的标题区、控制台与 NFO 工具栏响应式布局
当前 v5 范围仅为原功能迁移与平台适配。
- 完成真实 Emby 卡片安装、显示、撤除与失败恢复验收
- 完成原生界面、弹窗、操作与像素对照
- 完成五目标真实系统运行与安装/升级/卸载验收
上述未验收项不会因构建成功而勾选;不以 v5 为由新增功能。
如果遇到可以稳定复现的问题,或者已经比较明确的功能需求,欢迎提交:
建议尽可能提供:
- Tech Card Manager 版本
- Emby Server 版本
- Windows 版本
- 媒体类型
- 操作步骤
- Manager 中的错误信息
- NFO 路径(注意隐私信息)
- 是否涉及 UAC
- 是否涉及 Web Card
- 是否涉及旧组件迁移
这些信息可以帮助判断问题发生在:
NFO
↓
Index
↓
Service
↓
Browser
↓
Emby DOM
↓
Card Render
哪一个环节。
Tech Card Manager 已开放源码。
欢迎:
- Fork
- 阅读和研究源码
- Bug 修复
- 功能改进
- 测试完善
- UI / UX 改进
- Emby 兼容性改进
- 文档完善
- Pull Request
开始修改代码前,请优先阅读:
尤其是在修改以下部分时:
- NFO 扫描
- NFO 解析
- Technical Specifications 索引
- Emby Web Card
- Web 文件修改
- Web 文件恢复
- 历史组件兼容
- Windows UAC
- 系统托盘
- 应用生命周期
- 更新与 Release
需要保持当前产品边界。
TCM 的媒体 NFO 只读原则属于核心设计约束。
Tech Card Manager 采用:
Apache License 2.0
完整许可证:
其他项目文档:
作者:侯雁泽
Tech Card Manager 是一个独立开发的开源项目。
本项目与 Emby、IMDb 以及其他第三方平台不存在官方隶属、授权或背书关系。
相关第三方名称、商标、数据和服务归各自权利方所有。
TCM 不负责第三方 Technical Specifications 数据的来源与授权。
用户应自行确认其媒体元数据、第三方数据以及相关服务的使用方式符合适用的服务条款、授权条件和法律要求。
Tech Card Manager 会继续围绕:
- Technical Specifications 只读索引
- Emby Technical Specifications Card
- 媒体库展示
- Web UI 集成
- Windows 使用体验
- Emby 兼容性
- 稳定性
- Coding Agent 开发工作流
持续开发。
如果你对卡片布局、媒体类型兼容、Emby 页面集成、索引浏览、Windows 使用体验或开发流程有想法,欢迎通过 Issues 参与项目。
