💡 「美美」是《与你相恋到生命尽头》中一名粉色可爱小女孩。
|
🎀
粉色治愈系 UI
温暖柔和的粉色主题 |
🖥️
跨平台桌面应用
基于 Tauri 2 |
⚡
轻量高性能
Rust 后端驱动 |
🧩
模块化设计
基于文件路由 |
🔐
多平台多账号
Bilibili 扫码/短信登录 |
| 功能 | 说明 |
|---|---|
| 🎁 抽奖 | 自定义奖品(含图片上传、文件名导入)、幸运转盘、抽奖历史 |
| 🏆 夯到拉 | 图片拖拽排名表(Tier List),支持导出成图分享 |
| 🏅 赛事预测 | 电竞赛程晋级节点图,选项拖拽编排、比分编辑与多方案保存 |
| ⭐ 评分 | 批量打 1-10 分,支持按时间排序 |
| 💬 B站评论区 | 查询视频评论与垃圾灌水识别,最热/最新排序、点赞筛选;支持标记、本地备注、楼中楼回复、B 站表情与图片评论 |
| ⬆️ B站投稿 | 上传视频一键投稿(自制/转载) |
| 📡 弹幕直播姬 | 连接直播间实时弹幕 |
| 🖍️ 白板 | 上传背景图,在背景上自由拖动、缩放摆放贴图 |
| 🎲 博饼 | 中秋传统掷骰游戏,骰子动画与掷骰历史 |
| 📺 番剧 | Bangumi 每日放送时间表,按星期浏览、评分速览与条目页跳转 |
| 📚 资料库 | 番剧时间表已上线,更多内容规划中 |
| 🔄 应用内更新 | 设置页一键检查更新,新版本通过 GitHub Releases 自动分发 |
| 层级 | 技术 |
|---|---|
| 前端框架 | React 19 + TypeScript |
| 构建工具 | Vite |
| UI 组件库 | HeroUI React v3 |
| 样式方案 | Tailwind CSS v4 |
| 路由 | TanStack React Router |
| 桌面框架 | Tauri 2 |
| 后端语言 | Rust |
| 包管理器 | pnpm |
MimiBox/
├── src/ # 前端源代码
│ ├── assets/ # 静态资源(图标、背景图)
│ ├── components/ # React 组件
│ │ ├── bobing/ # 博饼骰子、规则与历史
│ │ ├── bilibili-comments/ # 评论卡片、楼中楼、标记与本地备注
│ │ ├── bilibili-upload/ # B 站投稿表单
│ │ ├── danmaku/ # 弹幕直播姬连接与弹幕展示
│ │ ├── home/ # 主页功能卡片
│ │ ├── lottery/ # 抽奖奖品编辑与历史
│ │ ├── prediction/ # 赛事预测节点图、拖拽与方案存储
│ │ ├── bangumi/ # Bangumi 每日放送类型
│ │ ├── rating/ # 评分排序与条目
│ │ ├── settings/ # 设置页应用更新
│ │ ├── tierlist/ # 夯到拉拖拽排名与导出
│ │ ├── whiteboard/ # 白板画布与贴图
│ │ ├── screen/ # 欢迎页、闲置屏保与空状态
│ │ ├── CornerDock.tsx # 左下角悬浮操作坞
│ │ ├── ErrorFallback.tsx # 错误降级界面
│ │ ├── FileDropZone.tsx # 通用文件拖入区域
│ │ ├── TitleBar.tsx # 无边框窗口标题栏
│ │ └── image.ts # 图片处理工具
│ ├── routes/ # 页面路由(文件路由)
│ │ ├── __root.tsx # 根布局
│ │ ├── index.tsx # 欢迎入口
│ │ ├── home.tsx # 功能分类与入口主页
│ │ ├── account.tsx # 多平台账号登录与管理
│ │ ├── feature/ # 功能内容面板及子路由
│ │ │ ├── lottery.tsx # 抽奖转盘
│ │ │ ├── tier-list.tsx # 夯到拉图片排名
│ │ │ ├── prediction.tsx # 赛事晋级预测图
│ │ │ ├── rating.tsx # 批量评分
│ │ │ ├── bilibili-comments.tsx # B 站评论查询与筛选
│ │ │ ├── bilibili-upload.tsx # B 站视频投稿
│ │ │ ├── danmaku.tsx # 弹幕直播姬
│ │ │ ├── whiteboard.tsx # 白板贴图
│ │ │ ├── anime.tsx # 番剧每日放送时间表
│ │ │ └── bobing.tsx # 博饼掷骰
│ │ ├── library.tsx # 资料库(规划中)
│ │ ├── settings.tsx # 设置页
│ │ └── about.tsx # 关于页
│ ├── icons.ts # Iconify 图标离线子集
│ ├── main.tsx # 应用入口
│ ├── router.tsx # 路由配置
│ ├── types/ # 前端类型声明
│ └── style/ # 页面与组件样式
├── src-tauri/ # Tauri Rust 后端
│ ├── src/
│ │ ├── account/ # 多账号:Bilibili/抖音登录、凭据存储与头像代理
│ │ ├── bilibili_comments/ # 评论抓取、垃圾识别、标记与备注存储
│ │ ├── bilibili_danmaku/ # 直播弹幕连接(WebSocket)
│ │ ├── bilibili_upload/ # B 站投稿
│ │ ├── douyin_web/ # 抖音 web 扫码登录(协议参数 + 短信 MFA)
│ │ ├── douyin_signer/ # 抖音 a_bogus 签名 + DTrait 指纹(QuickJS)
│ │ ├── lottery/ # 抽奖奖品存储
│ │ ├── tierlist/ # 夯到拉数据存储
│ │ ├── bobing/ # 博饼数据存储
│ │ ├── prediction/ # 赛事预测方案存储
│ │ ├── bangumi/ # Bangumi 每日放送抓取(缓存 30 分钟)
│ │ ├── lib.rs # Tauri 应用初始化与命令注册
│ │ └── main.rs # 桌面应用入口
│ ├── resources/ # 内嵌资源(抖音 JS SDK、协议参数)
│ ├── capabilities/ # Tauri 权限声明
│ ├── icons/ # 应用图标(多平台)
│ ├── Cargo.toml # Rust 依赖配置
│ └── tauri.conf.json # Tauri 配置
├── .agents/skills/ # 项目本地 Agent 技能(设计规范、最佳实践等)
├── scripts/ # 构建辅助脚本(图标离线子集生成)
├── package.json # 前端依赖
├── tsconfig.json # TypeScript 配置
└── vite.config.ts # Vite 配置
- Node.js >= 20.19(推荐使用 22.x LTS,Vite 8 要求)
- pnpm >= 9(项目锁定版本为 12,见
package.json的packageManager) - Rust(Tauri 编译依赖)
- 对应平台的编译工具链(Windows 需要 Visual Studio Build Tools)
pnpm installpnpm tauri dev首次运行会下载 Rust 依赖并编译,需要耐心等待。后续启动会快很多。
pnpm tauri build构建产物会输出到 src-tauri/target/release/ 目录。
如果只需要调试前端界面,可以运行:
pnpm dev然后在浏览器中访问 http://localhost:1420。
账号页支持 Bilibili 与抖音两个平台。登录成功后,应用会将多账号所需的 Cookie 凭据保存在 Tauri 应用数据目录的 accounts.json,并在下次启动时恢复当前账号。每次进入账号页,Rust 后端都会重新检查各账号的登录状态;头像状态点分别表示凭证有效、已过期或网络异常。头像由后端代理为内嵌图片,避免图片 CDN 的防盗链影响显示。
右键点击当前账号头像可以退出登录,或在独立的网页窗口中打开当前账号。网页登录凭证由 Rust 直接写入隔离的 WebView Cookie Store,不会拼接到 URL,也不会返回给前端脚本。不同账号使用独立的 WebView 配置目录,避免登录状态互相覆盖。
Bilibili:支持扫码登录、短信登录和账号密码登录。短信与密码登录会在应用页面内加载 Bilibili Geetest 人机验证,完成验证后才能发送短信或提交登录。
抖音:支持扫码登录。后端通过 QuickJS 承载官方 bdms 1.0.1.20 与 dtrait 1.0.29 JavaScript SDK 生成 a_bogus 签名与设备指纹安全头,完成 web 协议握手与轮询。若账号触发 2046 短信二次验证,后端自动发送验证码并暂停轮询,前端弹出验证卡片供用户输入 6 位验证码;验证通过后自动续跑轮询完成登录。对于未开启手机短信验证的账号(如仅人脸验证),前端会显示引导提示,指引用户前往抖音 App 完成验证后重新扫码。
登录功能依赖网络连接,并受各平台的风控、验证码和服务条款约束。应用不会绕过人机验证。
应用在长时间无操作后会进入日期与时间屏保。点击任意位置或按下任意按键即可返回,不影响当前页面状态。
| 命令 | 说明 |
|---|---|
pnpm dev |
启动 Vite 开发服务器 |
pnpm build |
构建前端生产版本 |
pnpm preview |
预览前端构建结果 |
pnpm tauri dev |
启动 Tauri 开发模式(含热更新) |
pnpm tauri build |
构建桌面应用安装包(含更新器签名产物,需要签名私钥) |
pnpm tauri:local |
本地构建完整安装包(关闭更新器产物,无需签名私钥) |
pnpm icons |
重新生成 Iconify 图标离线子集(新增图标后必须执行,否则线上图标加载失败) |
主色调
| 颜色 | 色值 | 用途 |
|---|---|---|
| 主粉色 | #f5b3c9 |
按钮、强调色 |
| 浅粉色 | #f6e3e1 |
背景、次要元素 |
| 渐变粉 | #ffdde9 |
渐变、装饰 |
文字颜色
| 层级 | 色值 |
|---|---|
| 标题 | #66535a |
| 正文 | #7b686f |
| 辅助 | #9b8a91 |
视觉风格
- 圆角:大圆角设计,按钮使用胶囊形状 (
999px) - 阴影:柔和的粉色投影
- 毛玻璃:
backdrop-filter: blur(12px) saturate(1.4)
欢迎提交 Issue 和 Pull Request!
本项目在开发过程中参考了以下开源项目:
本项目仅供学习、研究与技术交流,严禁用于任何商业、违法或滥用场景。
请勿用于窥探、骚扰、爬取或侵犯任何第三方。
一经下载 / 编译 / 运行本项目,即视为你已完全知悉并同意:由此产生的一切后果统统由你自己承担,与作者、贡献者、GitHub 及一切相关方无关。
本项目与任何平台 / 公司没有任何关联,非官方、未获授权、不代表其立场,所有商标归各自所有者。
请自行遵守你所在地的法律法规以及相关平台的服务条款;因违反而产生的任何责任由使用者独自承担。
依据 GPLv3,本软件按「原样」提供,不附带任何明示或暗示的担保(包括适销性、特定用途适用性、不侵权等)。
作者可能随时删库跑路,本声明拥有横跨三次元的最终解释权。不接受即刻删除,接受请继续。
—— 声明参考:思思姐姐

