Skip to content

westng/Dr.Tools

Repository files navigation

Dr.Tools

Desktop Vue Rust Python SQLite 语音

Dr.Tools 是一个基于 Tauri、Vue、Rust、SQLite 和 Python 的桌面应用。 当前主要聚焦于创作者媒体工作流,包括视频下载、任务记录和运行设置管理。

说明:项目仍处于开发阶段,功能与实现会持续调整。

项目中的视频下载与直播录制能力基于开源项目 F2 进行集成与扩展。这里明确声明依赖来源,是为了遵循开源精神,尊重原项目工作,并尽量避免不必要的版权与归属争议。

功能特性

  • 视频下载提交与批次队列处理
  • 单任务处理日志展示
  • 任务记录、批次明细、任务明细窗口
  • 主题、语言、Token、下载设置管理
  • Python sidecar 任务执行桥接
  • 批次完成后的系统通知

技术栈

  • Vue 3
  • TypeScript
  • Pinia
  • Vue Router
  • Vite
  • Tauri 2
  • Rust
  • SQLite
  • Python
  • f2

开发使用

环境要求

  • Node.js 20+
  • pnpm
  • Rust 工具链
  • Python 3.12

安装依赖

pnpm install

启动开发环境

pnpm tauri dev

校验命令

pnpm typecheck
pnpm build
pnpm check:desktop
pnpm check

设计系统预览

  • 设计系统文档:DESIGN_SYSTEM.md
  • 静态预览页:design-system-preview.html
  • 使用方式:直接在浏览器中打开根目录 design-system-preview.html
  • 维护要求:设计规则变更时,必须同步更新 DESIGN_SYSTEM.mddesign-system-preview.html

项目结构

src/                         前端应用入口与界面层
  App.vue                    应用壳与通用标题栏
  main.ts                    前端启动入口
  bootstrap.ts               应用初始化与全局错误接管
  router/                    路由注册与页面入口
  layouts/                   通用布局组件
  navigation/                导航配置
  modules/                   按业务拆分的前端模块
    download/                视频下载
    recording/               直播录制
    tasks/                   任务记录与明细
    settings/                设置与运行配置
  api/                       通用 Tauri API 封装
  stores/                    全局状态
  i18n/                      多语言文案
  theme/                     外观与主题逻辑
  lib/                       通用工具函数
  assets/                    静态资源

src-tauri/                   桌面端宿主与后端能力
  src/
    main.rs                  Tauri 应用入口
    application/             应用状态装配与启动逻辑
    commands/                对前端暴露的 Tauri commands
    domain/                  领域模型与类型
    repositories/            SQLite 数据访问
    services/                调度、Python 桥接与系统服务
  python/                    Python sidecar 入口与任务实现
    core/                    Python 任务分发与基础设施
    tasks/                   Python 具体任务
  migrations/                SQLite 迁移脚本

说明

  • 前端优先按业务模块组织,页面、类型、接口尽量收敛在 src/modules/<业务> 内。
  • 跨模块复用能力统一下沉到 src/apisrc/i18nsrc/libsrc/storessrc/themesrc/assets
  • Rust 侧按 commands -> services -> repositories -> domain 的职责链拆分,避免 command 直接堆业务细节。
  • Python main.py 只负责协议入口,具体任务分发与实现分别放在 src-tauri/python/coresrc-tauri/python/tasks

界面预览

Dr.Tools Screenshot 1 Dr.Tools Screenshot 2 Dr.Tools Screenshot 3

参与贡献

提交代码前请先阅读 CONTRIBUTING.md

鸣谢

  • 感谢 F2 为项目提供支持。

开源协议

项目整体采用 MIT 开源协议,详见 LICENSE

About

Dr.Tools 是一个基于 Tauri、Vue、Rust、SQLite 和 Python 的桌面应用。 当前主要聚焦于创作者媒体工作流,包括视频下载、任务记录和运行设置管理。

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors