Skip to content

Releases: hgtuj5688/tvbox-desktop

TVBox Desktop v0.1.0 — 装完即用的首个完整版本

Choose a tag to compare

@hgtuj5688 hgtuj5688 released this 27 Sep 12:26

TVBox Desktop v0.1.0 —— 第一个完整版本。

纯白极简的 Windows 影视聚合客户端,吃安卓 TVBox 的配置订阅格式,用桌面端更好用的交互方式呈现。


下载

文件 说明
TVBox Desktop-0.1.0-x64.exe 安装版(推荐)。双击一路下一步,会建开始菜单与桌面快捷方式,可在「应用和功能」里卸载
TVBox Desktop-0.1.0-x64.zip 免安装版。解压到任意目录,直接跑里面的 TVBox Desktop.exe

安装位置默认 %LOCALAPPDATA%\Programs\TVBox Desktop,向导里可以改;别装到 C:\Program Files 这类需要管理员权限的目录——那样 data\ 写不进去,配置会退回系统用户目录。

⚠️ 程序没有代码签名证书,首次运行 Windows SmartScreen 会拦一下(「Windows 已保护你的电脑」)。点「更多信息」→「仍要运行」即可。这不是病毒提示,只是没买签名证书。

配置、收藏、观看历史都放在程序同级的 data\ 里(便携形态,不写 C 盘用户目录)。卸载时这个目录会一起删掉,想留着就先复制出来。


这一版有什么

装完就能用,不用自己找订阅。 首次启动会自动装好内置的「公开可用源(苹果CMS 采集站)」(5 个实测存活的公开采集站 + 1 路公开直播源 + 5 条首页内容位)并立刻同步一次,所以打开就是有内容的状态:首页五排海报、搜索框回车就能同时搜这 5 个站、直播页 540 多个频道。不想要了在「设置 → 配置源」里删掉即可,删干净之后重启也不会自己冒出来。也可以自己填订阅地址或选本地 json。

内置订阅只带源。API Key、外部播放器路径、收藏与观看历史都留在你自己的 data\ 里,不会跟着安装包发出去。

基础

  • 配置源管理:A / B 两种 JSON 方言,URL 与本地文件都能加,可单条或全部同步
  • 影视源管理:多源去重、按名称 / 类型 / 来源筛选、逐条或批量测连通性并记响应时间
  • 站点类型归一化:认不出来就老实标「未知」,不偷偷降级去承诺一个假的可用性

播放链路

  • 聚合搜索:并发池 + 流式进度(结果一条条推过来),可取消;同名影片跨站合并成一张卡并标「N 个源」
  • 解说过滤:默认挡掉 [电影解说] / 「一口气看完」这类条目,并在页面上说明挡掉几条
  • 分类浏览:拉各站分类树后沿祖先链归并成大类 / 子分类;滚到底自动加载下一页,且首屏画完后后台预取下一页(一页从冷拉的约 3.8 秒降到 307 毫秒)
  • 详情与选集:CMS 与网页规则两条解析路,列出可切换的片源并标「正在看」
  • 内嵌播放:ArtPlayer + hls.js
  • 一键转外部播放器:自动探测本机装了什么(扫常见安装路径 + 扫 PATH + 问注册表里 .mkv / .mp4 的默认打开方式,绿色版和自定义目录全靠最后这条)

直播、收藏与历史

  • 电视直播:m3u 与 txt 两套语法,跨源同名频道合并成一张卡多线路;平台直播写房间号(huya://10188),点开时才换真地址
  • 线路体检:实测公开源里约 27% 的地址拉不起来、32% 的频道一条能播的都没有,所以做的是「把已有线路用起来」——进分组后台预热 + 点开时懒体检(只读 4KB 就断开),整组都是死链的频道默认藏起来,播放中途失败自动换下一条,画质起播取最高档
  • 收藏与观看历史:落盘 json;历史按归一化片名跨源合并成一条,行上给出可切换的源与播放进度

解析接口

三步走:直链直接放行 → 先自己去读一遍那个播放页(很多分享页就是个 DPlayer 壳,地址明文写在里面)→ 读不出来才按排行依次问解析接口。失败会往下轮询,战绩分开记;不内置任何第三方公开解析接口。

首页内容位

读配置里的 tvboxDesktop.home.sections,没配就每个可用源给一条「最近更新」,横向滚动,卡片可点进详情。

AI 剧情总结

播放页播放地址下方一块,点了才请求,API Key 只在主进程里、只存本机。两个按钮:

  • 「看一遍再总结」:每 20 秒抽一帧(45 分钟一集约 70 帧)作为图像发给 deepseek-flash,模型会照实引用画面上的硬字幕
  • 「只看资料」:纯文本推断,拿不准时会如实说「仅凭现有资料无法确定」

短板:没有声音——带硬字幕的片读得准,不带字幕的只能描述画面;抽帧会把整集缓冲一遍。


质量

  • npm run selftest:端到端 177 项断言全绿。自己起本地桩服务器 + 用 CDP 驱动真实窗口,覆盖十三个功能块;跑之前备份、跑完还原使用者的收藏与观看记录
  • npm run typecheck / npm run build:干净
  • 全部功能都用真实公开订阅源跑通过,不是拿桩数据糊的

已知限制

  • 解析接口只做 HTTP 解析(type=1/2),type=0 的浏览器嗅探还没做
  • 播放进度取决于源:能直接给 m3u8 的源进度是真的,只给分享页地址的源拿不到进度;拿不到时长的行不画进度条
  • 公开采集站随时可能失效,失效后在「影视源」页点「测试」就能看出来
  • 内置的 Gather.m3u 直播源已去掉(123 条地址实测 108 条拉不起来,且与 IPv4 那条源一个重名频道都没有)

完整变更记录见 CHANGELOG.md,设计取舍与实测数字见 功能框架.txt。