Richasy / Bili.Copilot

B站第三方 Windows 桌面客户端,使用 Windows App SDK 构建的原生应用
GNU General Public License v3.0
3.36k stars 84 forks source link
bilibili windows-app-sdk winui3

# 哔哩助理 [![GitHub release (latest by date)](https://img.shields.io/github/v/release/Richasy/Bili.Copilot)](https://github.com/Richasy/Bili.Copilot/releases) ![GitHub Release Date](https://img.shields.io/github/release-date/Richasy/Bili.Copilot) ![GitHub All Releases](https://img.shields.io/github/downloads/Richasy/Bili.Copilot/total) ![GitHub stars](https://img.shields.io/github/stars/Richasy/Bili.Copilot?style=flat) ![GitHub forks](https://img.shields.io/github/forks/Richasy/Bili.Copilot) `哔哩助理` 是 [哔哩哔哩](https://www.bilibili.com) 的第三方桌面应用,适用于 Windows 11.

概述  •  开发  •  安装  •  使用  •  模块  •  交流  •  鸣谢

概述

哔哩助理在 哔哩 的基础上通过 Windows App SDK 进行了重构.

哔哩助理将以更开放的态度进行开发,借助社区力量,共同构建一个有意思的 UGC 客户端。

文档地址:哔哩助理

安装

商店下载(推荐)

### 侧加载 1. 打开系统设置,依次选择 `系统` -> `开发者选项`,打开 `开发人员模式`。滚动到页面底部,展开 `PowerShell` 区块,开启 `更改执行策略...` 选项 2. 打开 [Release](https://github.com/Richasy/Bili.Copilot/releases) 页面 3. 在最新版本的 **Assets** 中找到应用包下载。命名格式为:`BiliCopilot_{version}_{platform}.zip` 4. 下载应用包后解压,右键单击文件夹中的 `install.ps1` 脚本,选择 `使用 PowerShell 运行` ## 开发 哔哩助理拆分了多个模块的代码至独立仓库中,以便于其他开发者参考和使用。 - [bili-kernel](https://github.com/Richasy/bili-kernel) 哔哩助理与 BiliBili API 交互的核心代码,是一层 .NET 包装器,基于 .NET Standard 2.0,便于移植和二次开发。 - [semantic-kernel](https://github.com/Richasy/semantic-kernel) 基于 [microsoft/semantic-kernel](https://github.com/microsoft/semantic-kernel) 进行二次开发,支持更多国内大模型。 - [mpv-winui](https://github.com/Richasy/bili-kernel) 哔哩助理的核心播放器之一,将 MPV 集成进 WinUI3 以实现良好的播放体验。 - [WinUI.Share](https://github.com/Richasy/WinUI.Share) 我在多个 WinAppSDK 项目之间共用的一些基础样式及实现。 这四个仓库以子模块的形式集成在哔哩助理开发项目中,所以在克隆本仓库时,需要同时克隆子仓库。 第一次克隆时可以运行下面的命令: ```shell git clone --recurse-submodules https://github.com/Richasy/Bili.Copilot.git ``` 如果你已经克隆了仓库,但是忘记克隆子仓库了,那么可以运行下面的命令: ```shell git submodule update --init --recursive ``` 在克隆之后,你需要在命令行中进入克隆的三个子模块的目录,切换它们的 HEAD,这是对应的列表: |模块|路径|HEAD (分支)| |-|-|-| |bili-kernel|src\Libs\bili-kernel|main| |semantic-kernel|src\Libs\semantic-kernel|dev| |mpv-winui|src\Libs\mpv-winui|main| |WinUI.Share|src\Libs\WinUI.Share|main| 切换分支完成后,还需要下载 mpv / ffmpeg 到对应的目录: |文件名|目录|说明| |-|-|-| |libmpv-2.dll|src\Desktop\BiliCopilot.UI\Assets\libmpv\x64(或者 arm64)|可以在 [mpv-winbuild](https://github.com/zhongfly/mpv-winbuild) 下载最新的 dev 构建(x64 对应 x86_x64,arm64 对应 aarch64),把 libmpv-2.dll 放入对应文件夹中,用以 mpv 播放| |ffmpeg.exe|src\Desktop\BiliCopilot.UI\Assets\ffmpeg|可以在 [mpv-winbuild](https://github.com/zhongfly/mpv-winbuild) 下载最新 ffmpeg x64 构建,将 ffmpeg.exe 放入对应文件夹中,用于视频下载后的混流| ## 使用 ### 登录 哔哩助理优先使用扫码登录,如果你偏好其它的登录方式(比如手机/用户名密码),你可以选择网页登录。 ### 视频播放 新版本的哔哩助理(V2)支持多种播放方案: 1. MPV 2. 原生(MediaFoundation) 3. 外部播放器(支持 MPV 和 MPV.NET) 4. 网页播放器 哔哩助理已经将 MPV 嵌入到了 WinUI XAML 界面之中,可以借助 MPV 强大的播放能力实现稳定高效的在线流媒体播放,这也是默认的选项。 > [!TIP] > 目前正在进行播放方案的过渡测试,MPV 的播放方案目前在应用内存在两个,推荐的播放器选择是 `岛`,后期会替换掉现在的 mpv 播放方案。 下面是几种播放方案的具体比较,请根据自己的情况选择合适的播放方案: |方案|优点|缺点| |-|-|-| |MPV|解码速度快,播放稳定|内存占用相对较高| |原生|内存占用低,兼容性好|对2K以上的清晰度支持较差,部分直播无法播放| |外部播放器|自定义程度高,可以获得最佳播放体验|需要额外安装配置,门槛较高| |网页|只要不是断网就能播放|和打开浏览器看网页没有太大差别| > [!TIP] > **关于网页播放器** > > Windows 硬件平台太多,开发者无法保证在各个平台都有着稳定的体验,如果你的设备在播放视频时出现各种奇奇怪怪的bug,网页播放器将是你最稳妥的选择。 > > 为了提高网页播放器的体验,哔哩助理引入了 [BewlyBewly](https://github.com/BewlyBewly/BewlyBewly) 作为默认插件,以便和应用主题同步,并提供美观的用户界面。 > > _特在此向 BewlyBewly 的开发者表示感谢。_ ### 人工智能 哔哩助理与 [小幻助理](https://github.com/Richasy/Rodel.Agent) 共享代码,接入 20 余种国内外主流 AI 模型服务,给用户足够多的选择。 你可以通过大语言模型对视频/文章内容进行总结(视频需要有字幕),或者结合内容与评论对视频/文章进行 AI 评价。 或许更进一步,你可以基于当前视频/文章的内容与模型对话,针对性地回答你的疑问。 开发者会持续探索大语言模型和B站内容结合的边界,更进一步挖掘 AI 潜力,也欢迎你提出你的想法,真正让 AI 有用起来。 ## 视频下载 新版本的哔哩助理(V2)内置了 [BBDown](https://github.com/nilaoda/BBDown) 作为下载工具,也内置了 ffmpeg 作为混流工具,用户无需额外下载依赖,在视频播放下面点击下载按钮即可按需下载。 > [!WARNING] > 目前 ffmpeg 仅内置了 x64 版本,如果你的设备是 Windows 10 ARM64,那么将无法使用内置的下载器。如果设备是 Windows 11,那么可以正常使用 X64 的 ffmpeg。 ### 调用外部下载器 部分同学可能有自己配置好的 BBDown,那么可以在设置页面的下载设置中打开 `下载时调用外部BBDown`。你还可以选择在下载时仅复制下载命令,以便进行二次编辑。 ## 交流讨论 有兴趣一起交流的话,可以加 QQ 群,进群请注明正在使用哪款软件。 ## 应用截图 ![截图](assets/screenshot.png) ![截图](assets/player.png) ![截图](assets/ai.png) ## 鸣谢 - [Windows App SDK](https://github.com/microsoft/windowsappsdk) - [WinUI](https://github.com/microsoft/microsoft-ui-xaml) - [BiliBili](https://www.bilibili.com/) - [哔哩哔哩-API收集整理](https://github.com/SocialSisterYi/bilibili-API-collect) - [BBDown](https://github.com/nilaoda/BBDown) - [BewlyBewly](https://github.com/BewlyBewly/BewlyBewly) - [寒霜弹幕使](https://github.com/cotaku/DanmakuFrostMaster) - [cnbluefire/WinUI3.Win2D](https://github.com/cnbluefire/WinUI3.Win2D) - [Windows Community Toolkit](https://github.com/CommunityToolkit/Windows) - [FluentIcons](https://github.com/davidxuang/FluentIcons) - [ComputeSharp](https://github.com/Sergio0694/ComputeSharp) - 以及其他在开发过程中提供过助力的小伙伴