程序聚合 软件案例 新一代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
24小时内活跃
方向: 后端-Dart、前端-跨端开发、
交付率:100.00%
相似推荐
Oracle AWS 迁移-RDS oracle
原业务系统基于本地机房 Oracle 数据库运行,承载企业核心交易、订单、用户、账务及日志数据分析业务。原有传统物理机架构存在硬件老旧、扩容困难、运维成本高、灾备能力弱、资源利用率低等问题,无法支撑业务弹性增长与云端快速迭代需求。公司决定将线下自建 Oracle 数据库整体平滑迁移至 AWS 云平台,实现数据库架构云化升级。迁移后依托 AWS 云端高可用、弹性扩容、自动备份、分布式容灾能力,大幅提升业务系统稳定性、扩展性与数据安全性。同时保障迁移过程业务零中断、数据零丢失、业务逻辑完全兼容,支撑前端业务系统平稳上云运行。
oracle两第三中心规划建设-Exadata,OGG,DG
负责期核心交易系统数据库架构建设与运维保障,搭建两地三中心高可用架构。通过本地与同城Exadata DG实时容灾、异地X86节点远程兜底,配合6台OGG完成全链路交易、清算、监管数据同步。部署TimesTen热点缓存提升交易响应速度,搭建同城、异地冷备机制实现冷热双备份,同时负责SQL优化、故障应急与疑难问题攻坚,保障交易撮合、清算业务稳定运行。
币安自动交易机器人
一、智能预测引擎 - 实现基于多项式回归的拟合算法,采用10阶多项式对历史K线数据进行拟合分析 - 支持每分钟自动执行价格预测,预测结果与实际价格偏差率实时计算展示 - 创新性设计"近期数据加权预测"机制,使用最近1/4周期的数据进行预测优化,提升短期趋势预判准确性 - 预测数据持久化存储至H2数据库,支持历史预测记录回溯分析 二、自动交易机器人 - 完整接入币安Spot交易API,实现自动下单交易功能 - 支持限价单、市价单、OCO止盈止损订单等多种订单类型 - 交易间隔可配置(默认30秒),自动扫描市场交易机会 - 集成账户余额实时查询,智能判断可用资产并执行对应交易操作 - 订单状态异步跟踪机制,每秒检查成交状态,确保交易链路完整 三、多策略预设体系 - 保守策略 :偏差率阈值0.20%,仅在预测价格与实际价格高度吻合时执行交易,控制风险 - 激进策略 :放宽风险判断,允许更大偏差率下执行交易,追求更高收益机会 - 自动/手动模式切换 :支持人工干预,可随时暂停自动交易,切换为手动决策模式 - 全USDT交易对支持 :自动获取交易所交易规则,支持100+种USDT交易对动态切换 四、风险控制机制 - 止盈止损自动设置:买入后自动创建OCO订单(止盈2%、止损1%),锁定收益、控制亏损 - 最小交易金额限制(5 USDT),防止小额频繁交易损耗手续费 - 交易规则动态缓存:每24小时自动刷新交易对精度、最小交易量等规则,避免因规则变更导致交易失败 - 时间同步机制:自动校准本地时间与币安服务器时间,确保API签名认证准确无误 五、数据采集与管理 - 定时任务驱动的K线数据采集,每分钟获取最新1分钟K线数据 - 支持回溯24小时历史数据,构建完整的历史数据集 - 内存缓存加速查询,提升预测算法执行效率 - 交易对切换时自动清理历史数据,确保预测准确性 六、系统集成特性 - 应用启动时自动打开浏览器,直达交易监控页面 - 完善的错误日志收集与定期报告机制,便于问题排查 - Spring Boot集成Actuator,支持应用健康状态监控 - Thymeleaf模板引擎渲染前端页面,实现前后端一体化
证券运营平台
1.立项背景:经过多年的移动互联网发展和建设,移动证券App日益成为重要的客户触点,证券行业已具备了数字化运营基础和多元化服务场景,数字化转型是必然趋势,创新运营模式,导入智慧化运营迫在眉睫。一方面以80、90后为代表的线上用户数量不断增长,另一方面传统的客户经理线下服务已不能满足客户日益多元化需求,只有创新运营模式,融合线上线下打通内部资源,实现从传统运营到数字化、精细化运营的全面升级,才能满足当下客户多层次的需求,实现券商差异化的发展战略与更高的业绩增长。 2.功能描述: 2.1 投放管理 2.1.1 投放任务 功能目的:支持配置定向人群或者全部用户的投放任务 2.1.2 审核管理 功能目的:针对新建投放的记录进行审核。 2.1.3 投放日历 功能目的:解决多人协作运营投放问题 2.2 投放报表 功能目的:统计投放任务的效果数据 2.3 基础配置 2.3.1 运营位管理 功能目的:管理各渠道运营位以及其基础属性。 2.3.2 版本管理 功能目的:用于记录客户端相关版本记录,以便于后续运营位关联使用。 2.3.3 页面管理 功能目的:满足以页面为维度的N人N面运营投放需求,如不同的用户看到不同的理财首页,且理财首页的模块展示顺序支持前后移动。 2.3.4 数据字典 功能目的:满足字典项的管理要求
智能运营平台
主要将一些产品及其营销活动在汇金谷,易办等app进行智能化配置。主要功能有 1.产品路演(主要将一些产品的路演会议生成二维码管理,客户通过扫码的形式,我们可以直观看到参会路演的明细,其中会进行与生产数据进行脱敏处理) 2.财富知道(通过将产品以及产品的素材信息进行发布,在企微端可以进行产品相关信息的查看,比如产品三要素。) 3.营销管理(可以配置一些广告模板,推荐管理等模块,在汇金谷app端进行广告以及活动的展示)
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服