弹幕客户端开发日志:Tauri、Rust 与 Python 签名模块的分工

Python 实践来自真实的桌面项目

我当前的开发工作包含直播弹幕与业务管理桌面客户端,因此把 Python 相关记录转向这个实际项目。danmu 目录里的主体已经是 Tauri 2.x,业务核心使用 Rust,界面运行在 WebView2 中。

Python 仍然是这套工程的一部分,但主要承担签名脚本执行等辅助职责。记录项目时需要把这种分工讲清楚,不能因为目录位于 Python 工作区,就把整个客户端描述成传统 Python Web 应用。

Rust 核心按业务模块组织

当前业务核心包括 live、anchor、buyin、biz、sign 等模块。直播消息、主播操作、商品业务和后端连接分别处理,各模块围绕自己的上游和状态运行,再把结果提供给前端。

这种划分让我能够先定位问题属于哪条业务链路,再看模块之间的调用。弹幕连接异常与商品讲解失败并不是同一类问题,日志和页面提示也应该保留这个区别。

保留前端调用习惯

界面仍使用兼容的 pywebview.api 调用方式,由桥接脚本映射到 Tauri invoke。修改一个业务入口时,需要同时核对页面调用、桥接方法表和 Rust command 的参数,保证这三处约定一致。

桥接层是界面与业务核心之间的重要边界。调试时我会先确认方法名称、参数与返回值,再判断业务本身是否执行成功,避免把接口没有接通误判成页面问题。

Python 与 JavaScript 承担签名协作

项目把部分签名逻辑放在 Rust 中处理,已有的 JavaScript 签名脚本则通过精简 Python 运行模块协作执行。不同语言分别保留适合自己的部分,整个客户端仍通过统一业务接口对外提供能力。

这篇日志作为当前客户端架构的入口,也对应本站 Python 栏目的实际方向。后续会继续记录连接管理、业务前置条件和模块更新,项目入口统一指向云云AI 官网。

项目链接

云云AI · 弹幕客户端

同项目开发日志