v0.1.0 · Vibe Coding

为 Emby 与 Jellyfin
打造的优雅媒体前端

AI Player 是一款 Windows 桌面媒体播放器,以 Fluent 2 设计语言呈现您的媒体库。整个项目采用 Vibe Coding 方式开发,还有很多需要完善和修复的地方,后续会陆续上线更多功能。

Features

核心功能

从浏览到播放,全方位覆盖您的媒体需求。

多服务器登录

同时连接多个 Emby 和 Jellyfin 服务器,自动登录、令牌认证,密码通过 Windows 凭据管理器加密保存,安全快捷。

首页媒体库

焦点轮播大图、继续观看列表、分类媒体展示。双层缓存策略让页面秒开,后台静默刷新保持最新。

跨服务器搜索

同时搜索所有服务器,结果按媒体类型分组。280ms 智能防抖,单个服务器出错不影响其余结果。

收藏与播放记录

收藏项目多维度排序,标记已播/未播。播放进度与服务器实时同步,UI 采用乐观更新,操作即响应。

丰富的详情页

全宽英雄背景、海报、元数据一览无余。内建剧集季度浏览器、演职人员展示、编解码规格卡片,还支持跨服务器搜索更优画质。

双引擎播放

默认使用基于 libmpv 的原生播放器,也可切换到外部 mpv。支持字幕下载、音轨选择、版本选择,播放体验自由掌控。

快捷键全定制

播放/暂停、快进快退、音量、全屏、速度……所有快捷键均可自由定义,通过直观的按键选择器完成设置。

服务器快速切换

侧栏一键切换服务器,支持跨服务器详情页导航,自动记录来源,返回时无缝衔接。

设置面板

播放行为、后端切换、缓存管理(实时大小统计)、媒体库排序偏好——所有偏好集中管理,所见即所得。

Architecture

双进程架构

UI 界面与播放器分离为两个独立进程,浏览与播放互不干扰。

Flutter 界面进程
启动 MpvHost 播放器
libmpv 解码渲染
HTTP 回传进度事件

Flutter(主窗口)+ WinUI 3 / C#(播放器),通过 HTTP 通信

Changelog

更新日志

从第一行代码到现在的每一次迭代。

v0.1.0近期
  • 全新 WinUI 3 播放器主机,基于 libmpv 构建
  • 重写 OSD 交互层,播放控制更直观
  • 播放器独立窗口化,与主界面分离运行
  • 全局搜索增强,支持跨服务器同时搜索
  • 剧集搜索功能上线
v0.0.2
  • 使用 Fluent 2 主题全面重构首页、详情页、媒体库
  • 重构登录流程和服务器线路切换对话框
  • 整体性能和稳定性提升
v0.0.1
  • 项目初始化,Flutter 重写启动
  • 实现 Emby/Jellyfin API 基础对接
  • 搭建 Riverpod + go_router 架构
Technology

技术栈

Flutter 前端 + C# 播放器,现代工具链打造。

Flutter 3.5+
Dart 3.5+
C# / .NET 8
WinUI 3
libmpv
Riverpod
go_router
Dio
fluent_ui