程序聚合 软件案例 新一代NoneBot Web管理界面-NoneBot WebUI

新一代NoneBot Web管理界面-NoneBot WebUI

2026-07-25 23:42:06
行业:工业互联网
载体:云服务/云平台
技术:Dart、Flutter

业务和功能介绍

背景介绍
NoneBot2 是一款基于 Python 的异步机器人框架,可用于对接各类即时通讯软件、办公协同工具以及物联网设备,为开发者提供统一的业务逻辑编写范式。但其本体只提供了命令行(CLI)工具进行管理和配置,无形之中给框架提高了一些使用门槛,导致许多想上手体验的小白望而却步。

作品介绍
为了解决 NoneBot 框架上手门槛高,无直观界面管理,配置繁杂等痛点,作品采用 Dart/Flutter 开发了 NoneBot WebUI(https://webui.nbgui.top),利用了Dart/Flutter的高性能跨平台特性,为用户提供了一套完整的图形化解决方案,并且利用 Web 应用程序的跨平台特点,使得用户能够随时随地管理自己的 Bot 实例。从而大大提升用户的使用体验与管理的便利。

亮点
实例可视化管理: 从实例创建到管理, 从配置文件快捷编辑到插件开关,均实现了可视化,极大降低了操作难度。

全平台通用: 得益于 Dart/Flutter 强大的跨平台特性, NoneBot WebUI 原生支持 ARM/x86 等异构计算环境,并且能够通过网页端/移动端进行管理,而不再需要远程连接到服务器进行配置。

自启动: 对于 Linux 设备, NoneBot WebUI 提供了系统 systemd 级别的自启动服务,实现了无人值守的高可用运行环境。

简洁的交互设计: 遵循 Material Design 核心设计规范,针对移动端与桌面端进行了深度适配。通过响应式布局与直观的模块化 UI,将复杂的异步框架参数具象化,实现了“低认知成本、高操作反馈”的用户体验。

高扩展性: 前后端分离,后端对外可开放 HTTP/WebSocket API, 并提供相关文档,以便开发者进行适配。


项目实现

前后端通信
利用 WebSocket "握一次手即可持续通信" 的特征, 规范前后端之间的 WebSocket 消息流定义和接口, 使前后端能够正确处理对方发送的数据并交互。

后端与 NoneBot 的交互
主要原理: 通过 dart:io 的 Process.start() 方法调用系统命令,达到间接操作 NoneBot CLI 的效果, 同时用 await 来防止线程阻塞。在输出方面则通过 process.stdout.listen 来监听命令输出,并进行传输。

创建 Bot 实例: 参考 NoneBot 官方文档的 “手动创建实例” 和使用 CLI 生成出来的文件结构, 利用 dart:io 写入文件和目录达到与 CLI 初始化同样的效果,确保实例结构的标准化与规范化。同时为每个实例分配一个 uuid 来确保唯一性。

安装/卸载插件: 对外部提供一个 Plugin.install(name, id) 方法,调用 CLI 进行插件的安装/卸载。

配置文件管理: 配置文件内部总是以 "KEY=VALUE" 的形式储存配置项, 于是对外提供一个 Env.load() 方法,以供前端解析并使用。

插件管理: 实例目录下会存在一个名为 "pyproject.toml" 的文件, 其中包含了已加载的插件模块名, 于是对外提供 Plugin.list(id) 方法,解析这个TOML文件并从中分离出插件的列表,如需禁用插件则在实例目录下将禁用的目标插件模块名写入到 ".disable_plugins" 并从 pyproject 中移除掉这个模块名。

前端
通过 self-host 程序托管前端页面,并提供鉴权 API.

登录页: 如果会话过期或首次登录,则输入密码后请求 self-host 的 /auth 接口,密码正确则会返回一个有效期为3天的 JWT Token,并储存到浏览器的会话中,下次登录时无需输入密码,实现持久化登录。

前端页面: 通过 WebSocket 与后端建立连接,并处理发送过来的数据,存入全局变量中以供使用。

示例图片视频


Tan.H
30天前活跃
方向: 后端-Dart、前端-跨端开发、
交付率:100.00%
相似推荐
个人记账与资产管理平台
本项目是一套从零搭建的全栈个人财务管理平台,目标是替代功能单一的记账工具,把日常记账、资金账户、借贷往来、预算控制、资产盘点收敛到一个数据自主的系统中。系统由 12 个业务模块、23 个控制器、170 个 REST 接口、36 张数据表构成:记账核心支持三级分类树、商家联想、多平台支付与 CSV 批量导入导出,每笔账单自动联动账户余额并留存流水日志;借贷模块实现未结清 / 已结清 / 已放弃三态模型,支持分期还款与坏账核销;预算模块提供月度 + 年度双层体系与阶梯式执行规则;资产模块通过快照与趋势图呈现净资产变化;报表模块支持从月度 / 年度报表下钻到分类明细。系统还包含完整 RBAC 权限体系、软删除回收站、8 套主题实时切换与中英双语国际化。核心业务流程为:记一笔 → 余额幂等联动 → 报表与预算同步更新;借据从创建、关联账单凭证、分期还款到三态判定的完整生命周期;以及登录后由后端菜单树动态生成侧边菜单、路由与区块双重门控的权限链路。
慧算盘财务软件
慧算盘 · 智能财务管理系统 录入单据 → 自动生成记账凭证 → 自动出具财务报表与进销存报表 覆盖 **业务单据 / 进销项发票 / 出纳账 / 记账凭证 / 账簿 / 报表 / 进销存 / 固定资产 / 员工档案**,凭证与报表可直接调用本机打印机输出 提供 **Windows 桌面版 EXE**(带机器码激活与数据加密)与 **浏览器 Web 版** 两种形态
基于Tushare的股票行情批量数据分析工具
人工查阅单只股票历史行情、指标数据效率低,需要轻量化本地数据分析工具,批量拉取公开市场数据。批量获取股票日线行情、基础财务指标,自动计算涨跌幅、均线等统计指标对特定指标做回归量化分析,寻找行业热点,仅用于数据研究
保险代理人CRM管理系统
保险代理人的客户管理系统是一套面向保险代理人的客户经营工具,把「获客 → 跟进 → 成交 → 复盘」的完整业务链条管理起来。 它主要能帮解决: 客户资料集中管理:客户档案、家庭成员、保单、标签一目了然,不再靠本子和脑子记。 跟进不遗漏:沟通记录、待办、日程、提醒中心互相联动,该跟进的客户一个都不漏。 成交有抓手:产品库、保险方案、销售漏斗,从方案生成到阶段推进都有处可查。 复盘有数据:展业分析、业绩看板、活动 ROI,用数据告诉你哪个渠道有效、哪个客户该重点跟。
面向 AI Agent 的商户 API 聚合与按量支付平台-AIPay
AIPay 面向 AI Agent 调用外部商业服务的场景,将商户 API 接入、服务匹配、按次支付、服务调用和履约结算整合为完整流程,旨在降低 AI 应用接入付费服务的开发成本。 商户可以注册 API 的能力类别、参数规范、价格及超时配置;Agent 提交服务需求后,平台根据能力匹配程度、服务质量、价格和时延筛选接口,完成支付验证后调用商户服务,并返回执行结果。 核心业务流程为“商户注册服务—Agent 提交需求—平台匹配接口—按次支付—凭证校验—服务调用—履约确认与结算”。平台记录服务选择、调用结果和资金账本,支持异常重试及履约状态追踪。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服