资讯动态

BiliTools 项目全景:基于 Tauri TypeScript Rust 的轻量哔哩哔哩工具箱解析

发布时间:2026/10/1 17:02:19 来源:尧图企业网站定制
桌面应用音视频【免费下载链接】BiliTools本项目已停止维护。项目地址https://gitcode.com/GitHub_Trending/bilit/BiliTools点击查看免费下载导读本文以 BiliTools 文档站首页 docs/index.md 为核心骨架系统拆解这个“简约 轻量”哔哩哔哩工具箱的定位与技术底座——从 Tauri TypeScript Rust 的混合架构到约 30 MB 应用本体的轻量化原理再到明暗主题、全量资源解析与四语言国际化四大特性的实现证据。读完本文你将掌握 BiliTools 的整体架构脉络、功能边界与源码级佐证路径可直接作为阅读文档站、定位功能模块与二次开发的地图。暗色主题亮色主题一、项目定位一个基于用户账号解析资源的工具箱BiliTools 的官方定位是一句“简约 轻量的哔哩哔哩工具箱”由docs/index.md首页的 hero 区块定义应用名BiliTools副标题“简约 轻量的哔哩哔哩工具箱”技术底座标注为“基于 Tauri Typescript Rust 构建”。这一定位在仓库中可得到完全印证前端Vue 3 TypeScript Pinia Vue Router vue-i18n见 package.json 中vue: 3.5.25、pinia: ^3.0.4、vue-i18n: ^11.2.2、vue-router: 4.6.4等依赖后端Rust Tauri 2.x见 src-tauri/Cargo.toml 中tauri 2.9.5、sqlxSQLite、tokio、specta等核心依赖桌面壳src-tauri/tauri.conf.json 声明应用标识符com.btjawa.bilitools、版本1.4.7并启用macOSPrivateApi、内建更新器updater配置。需要特别说明的前提是本项目基于用户账号解析资源因此若要解析大会员限定内容或付费内容必须先登录具备相应权限的账号详见 docs/guide/login.md 的登录说明与 docs/guide/about.md 的 IMPORTANT 提示。此外仓库 README 与 docs/guide/about.md 均注明项目在v1.4.0正式版发布后进入稳定状态、暂缓更新当前仓库版本号为1.4.7package.json、src-tauri/Cargo.toml、src-tauri/tauri.conf.json 三处一致。它同时是一个独立的第三方工具与哔哩哔哩官方无关联、合作或授权关系获取内容的版权归原权利人所有仅供学习技术与测试代码使用。二、技术栈与整体架构Tauri 混合式桌面应用的三层结构docs/index.md将技术栈概括为 “Tauri TypeScript Rust”。结合仓库目录可将 BiliTools 划分为三层2.1 前端层TypeScript / Vue 3前端代码位于 src/由 src/main.ts 启动createApp(App).use(store).use(router).use(i18n).mount(#app)并注册了全局错误处理window.onerror、onunhandledrejection与AppError上报机制。路由由 src/router/index.ts 定义共 6 个页面对应应用六大模块路由name页面组件/searchPagesrc/views/SearchPage.vue搜索 / 解析/user-pageuserPagesrc/views/UserPage.vue用户空间/history-pagehistoryPagesrc/views/HistoryPage.vue历史记录/down-pagedownPagesrc/views/DownPage.vue下载队列/settings-pagesettingsPagesrc/views/SettingsPage.vue设置页/info-pageinfoPagesrc/views/InfoPage.vue关于 / 信息状态管理采用 Pinia按域拆分app、components、queue、settings、user见 src/store/。业务逻辑封装在 src/services/ 中包括auth鉴权、login登录、queue队列、clipboard剪贴板监听、media媒体数据解析与backendTauri 命令桥接。2.2 Rust 后端层Tauri 命令与持久化后端位于 src-tauri/核心模块包括服务层src-tauri/src/services/queue/任务队列的 manager、scheduler、runtime、handler 等、aria2c.rs下载引擎封装、ffmpeg.rs媒体处理、login.rs登录与会话存储层src-tauri/src/storage/config.rs、cookies.rs、db.rs、migrate.rs数据库迁移、queue.rs、schedulers.rs、tasks.rs持久化采用 SQLitesqlx运行时命令入口src-tauri/src/commands.rs 通过tauri-specta生成类型安全的 TypeScript 绑定供前端commands直接调用。2.3 内置第三方二进制“开箱即用”背后是 src-tauri/binaries/ 中按平台Windows / macOS / Linux × x86_64 / aarch64分发的三个核心工具aria2c轻量多协议下载器、ffmpeg多媒体处理、DanmakuFactory弹幕 XML→ASS 转换分别对应 docs/guide/download.md 的下载处理流程与 docs/guide/stream.md 的格式说明。三、特性一轻量 —— 约 30 MB 应用本体的原理docs/index.md的“轻量”特性卡原文为“得益于 Tauri 框架及 WebView2 的灵活性应用本体仅有 ~30 MB。”其技术原理可从仓库中得到三点佐证复用系统 WebViewTauri 不打包 Chromium而是调用操作系统原生 WebViewWindows 上为 WebView2因此免去了 Electron 式的大体积运行时Rust 发布优化src-tauri/Cargo.toml 的[profile.release]配置了opt-level s体积优先优化、lto true链接期优化、codegen-units 1从编译期控制二进制体积按需分发二进制aria2c / ffmpeg / DanmakuFactory 均按目标平台单独打包见 scripts/binaries.mjs避免跨平台冗余。需要指出的是“~30 MB”为首页文档给出的应用本体量级描述具体安装包体积会随平台、架构与依赖版本略有差异应以实际构建产物为准。四、特性二简约 —— 明暗主题与开箱即用“简约”特性卡强调“界面轻盈简洁支持明暗主题开箱即用”。这一定位在源码中有明确落点明暗主题根组件 src/App.vue 监听settings.isDark动态切换 Font Awesome 图标字重fa-solid/fa-light并联动全局样式主题偏好保存在设置 storesrc/store/settings.ts中并在 docs/guide/settings.md 有对应说明开箱即用应用启动时src/App.vue 的onMounted依次调用commands.meta()恢复任务/调度器状态、commands.init()初始化环境、fetchUser()拉取用户信息、activateCookies()激活会话剪贴板即搜即解析clipboard.register(...)监听剪贴板内容一旦识别出 B 站链接/ID 便自动跳转搜索页并触发解析这是“简约”交互体验的直接体现。界面效果可对照本文开头两张截图暗色/亮色两套主题均保持一致的轻盈观感。五、特性三功能 —— 从番剧到收藏夹弹幕到 NFO“功能”特性卡原文为“从番剧到收藏夹弹幕到 NFO尽数支持”。以 docs/guide/about.md 的功能矩阵为准可细分为三大类全部标注为“已完成”5.1 资源类资源能力要点视频合集 / 分P / 互动、番剧 / 课程 / 电影DASH、MP4、FLV4K、8K、HDR、杜比视界音频AVC、HEVC、AV1杜比全景声、Hi-Res实时弹幕ASS / XML 格式可解析弹幕池中几乎所有弹幕历史弹幕ASS / XML 格式音乐无损 FLAC、320Kbps 音乐 / 歌单封面番剧 / 电影海报 / 合集封面 / 课程预览等字幕SRT 格式用户投稿视频 / 图文 / 专栏 / 动态 / 音频稍后再看列表与单项收藏夹任意用户收藏夹NFO 刮削合集/剧集刮削、单集刮削元数据ID3v2 / Vorbis CommentsAI 总结Markdown 格式来自哔哩哔哩 AI 小助手这些能力对应 docs/guide/parsing.md解析链接、docs/guide/resource.md选择资源、docs/guide/download.md下载与处理三个文档的完整操作流程。5.2 账号类扫码登录、密码登录、短信登录、刷新登录、参数签名、风控验证、指纹验证全部标注完成。登录与会话管理由 src/services/login.ts 与后端 src-tauri/src/services/login.rs 协同实现其使用细节与风险提示见 docs/guide/login.md 和 docs/guide/risk.md。5.3 其他能力明暗主题、监听剪贴板、HTTP 代理、过滤 PCDN、音频转 MP3、命名格式、历史记录。其中下载队列、任务调度与命名格式等底层实现分别位于 src-tauri/src/services/queue/manager / scheduler / runtime / task与前端 src/components/DownPage/ 系列组件中。六、特性四国际化 —— 四种语言与翻译源策略“国际化”特性卡声明支持“简体中文、繁体中文、英语与日语”仓库证据确凿国际化入口 src/i18n/index.ts 注册了 4 个 locale——zh-CN、zh-HK、en-US、ja-JP对应语言包位于 src/i18n/locales/并将zh-CN设为fallbackLocale回退语言。README 进一步说明维护策略简体中文zh-CN为主要维护语言并作为其他语言的翻译源多数翻译由 AI 生成后再人工润色。这一多语言架构也延续到了文档站本身——docs/config.ts 以lang: zh-CN组织文档导航而仓库同时维护 README_EN.md 与 README_JA.md。七、数据存储与合规边界根据 docs/guide/about.md 与 README 的声明BiliTools 产生的所有数据任务、配置、Cookie 等均以SQLite 格式明文存储于用户本地具体路径按平台区分Windows%APPDATA%\com.btjawa.bilitoolsmacOS$HOME/Library/Application Support/com.btjawa.bilitoolsLinux$HOME/.local/share/com.btjawa.bilitools后端存储实现与数据库迁移逻辑可在 src-tauri/src/storage/db.rs、migrate.rs、tasks.rs等中查阅。合规边界同样值得注意本项目遵守 LICENSE 的GPL-3.0-or-later开源协议任何形式的二次分发必须继续开源、遵守相同协议并保留原作者与版权信息项目明确不会绕过身份验证机制、破解付费资源且不纵容盗版、非法转载与黑产用途——因使用本项目产生的账号风控或其他后果由用户自行承担。这也是“基于用户账号解析资源”设计的前提约束。八、文档导航从快速开始到深入使用文档站首页的两个入口——“快速开始”/guide/about与“博客 / 其他信息”——对应到仓库即为完整的文档体系。若想快速上手推荐按以下顺序阅读安装docs/guide/install.md——下载与安装说明登录docs/guide/login.md——扫码 / 密码 / 短信登录与会话刷新解析与下载docs/guide/parsing.md → docs/guide/resource.md → docs/guide/download.md——从解析链接、选择资源到下载与后处理格式须知docs/guide/stream.md——DASH / MP4 / FLV 的差异与取舍设置docs/guide/settings.md docs/help/index.md——配置项总览与常见问题。结语从docs/index.md首页的四个特性出发可以看到 BiliTools 在“轻量、简约、功能、国际化”四个维度上均有扎实的源码与配置支撑Tauri Rust 保证小体积与高性能Vue 3 TypeScript 提供轻盈可维护的界面内置 aria2c / ffmpeg / DanmakuFactory 让下载与处理开箱即用四语言 i18n 与 SQLite 本地明文存储则定义了清晰的边界与可审计性。对于想研究 Tauri 2.x 混合式桌面应用架构、B 站 API 客户端实现或 Vue 3 国际化方案的开发者而言这份仓库是一份结构清晰、可直接对照源码阅读的参考实现。赞分享桌面应用音视频【免费下载链接】BiliTools本项目已停止维护。项目地址https://gitcode.com/GitHub_Trending/bilit/BiliTools点击查看免费下载相关推荐BiliTools跨平台哔哩哔哩工具箱全面解析BiliTools跨平台哔哩哔哩工具箱全面解析 BiliTools是一个基于Tauri框架构建的跨平台哔哩哔哩工具箱采用Rust后端和Vue.js前端技术栈桌面应用音视频从零到一构建nanomsg安全防护金字塔的演进之路从零到一构建nanomsg安全防护金字塔的演进之路 在分布式系统的星辰大海中nanomsg安全防护如同精密的防御工事守护着消息传递的生命线。作为高性能消息消息队列通信如何在5分钟内使用Python-zeep快速调用SOAP服务如何在5分钟内使用Python zeep快速调用SOAP服务 Python zeep是一个强大的Python SOAP客户端能够帮助开发者轻松地与SOAP服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑