YianBot

2026-10-08 17:53:13
行业:社交
载体:框架或代码包
技术:Python

业务和功能介绍

1、立项背景和目标

立项背景:我此前写过多个 Python 后端项目(机器人、接口服务等),每开一个新项目都要重复搭一遍脚手架:路由注册、参数校验、依赖管理、配置读取、数据库连接、鉴权、异常处理……业务代码量还不到脚手架的一半;而当多个业务服务要跑在同一台服务器上时,端口占用和路由冲突又成了新问题。写机器人时还有一类特殊痛点:QQ 协议事件类型多、回调无序,业务逻辑散落成一堆 if/else,新增一个功能要到处找入口。

项目目标:分两层——① 自研一个"多应用微内核"后端框架 YianCloud,用"约定优于配置"把路由、依赖注入、中间件、生命周期、多数据源全部自动化,一次搭建、按应用隔离扩展、单入口按域名分发;② 在框架之上落地一个完整的 AI 社交机器人应用"小逸安"作为框架的能力验证与业务载体,覆盖 LLM 对话、实时 WebSocket、小游戏、自动化审批等典型场景。

2、软件功能、核心功能模块的介绍

① 框架内核(core / bootstrap / infrastructure):
- 全项目扫描与自动装配:启动时递归扫描所有 .py 文件,把类注册进自研 DI 容器,按基类自动区分控制器/中间件/生命周期并完成装配,业务代码零注册、零布线;
- 自动路由:控制器的包路径 + 类名自动转换为 REST 路径(如 ChatController → /api/chat),方法名即 HTTP 动词(get/post/put/delete/patch,支持 ws),每个子应用自带独立 Swagger 文档;
- 依赖注入容器:单例缓存 + 构造函数类型注解递归注入 + 循环依赖检测;
- 洋葱模型中间件(自研纯 ASGI 桥接):App-Key 接口鉴权、文档与 WS 路径白名单、本机免验;
- 统一全局异常处理与统一响应体;
- 就近配置系统:代码就近向上查找 configs/*.json、根目录兜底,密钥配置不进 Git;
- 域名网关:单入口按 Host 把不同子应用分发到各自路由与中间件链,互不冲突、可横向拆分。

② bot 应用——QQ 群机器人"小逸安"(OneBot v11 / NapCat 反向 WebSocket):
- AI 群聊/私聊:被 @ 或私聊时拉取最近 10 条聊天记录,转成大模型上下文,由 DeepSeek 按 LangGPT 人格化提示词生成 1~3 段"拟人化"回复,随机延迟 2~3 秒逐条回发,模拟真人聊天节奏;
- "球球大作战"小游戏:群指令把 QQ 用户投进 800×800 的 agar.io 式世界,AI 自动寻食/猎杀/分裂/碰撞,世界状态经 WebSocket 实时广播到前端;
- 每日运势:群指令触发,按用户当日缓存的随机幸运指数 + 毒舌文案 + 当日最高榜,固定窗口限流防刷;
- 好友/入

项目实现

1、整体架构和设计思路,不同模块使用的技术栈

整体架构:采用"微内核 + 多子应用"结构——内核只做装配与治理,业务全部收敛在 apps/ 下按应用隔离,单入口按域名(Host)分发:

main.py → bootstrap/ApplicationAssembler(装配器)
├─ core/ 框架内核:AppScanner(反射扫描)、Container(DI)、ControllerRegistrar + RouteResolver(自动路由)、
│ Dispatcher + FastApiOnionBridge(洋葱中间件)、GlobalExceptionHandler(全局异常)、
│ LifecycleRegistrar(生命周期)、ApplicationGateway(域名网关)、AppFactory(子应用工厂)
├─ infrastructure/ 基础设施:Container、Config(就近配置)、Logger、DatabaseConnector(多数据源两阶段初始化)
└─ apps/bot QQ 机器人应用:engine(连接管理/事件解析/分发/插件注册)
+ events(Pydantic 事件模型)+ plugins(业务插件)
+ services(业务服务)+ providers(LLM)+ controllers(HTTP/WS 接口)

设计思路:控制器按目录结构自动映射路由、方法名即 HTTP 动词,业务方只写"做什么"不写"怎么挂";中间件、插件、生命周期全部基于基类识别 + 反射发现,新增功能即插即用;长连接(WebSocket)与 HTTP 走同一入口但互不干扰。

各模块技术栈:
- 框架内核/网关/中间件:Python + FastAPI 0.115 + Starlette(纯 ASGI 洋葱模型,不使用 BaseHTTPMiddleware)+ uvicorn;
- 数据层:Tortoise ORM(异步)+ aiomysql/PyMySQL(MySQL)+ aiosqlite(SQLite),多数据源两阶段初始化;
- 接口规范:Pydantic v2 请求/响应校验 + 每子应用独立 Swagger/OpenAPI 文档 + 统一响应体/异常码;
- 机器人层:OneBot v11(NapCat)反向 WebSocket + asyncio.Future 请求-回执配对 + Pydantic 事件模型 + 插件制事件分发引擎;
- LLM 层:OpenAI SDK 接 DeepSee

示例图片视频


SunYian
5天前活跃
方向: 后端-Python、爬虫/脚本-爬虫/脚本、
交付率:100.00%
相似推荐
Flutter我的日常饮食菜单-我的菜单
这是一款专为注重健康与生活品质的人群打造的日常饮食菜单 App。它能根据你的口味偏好、营养目标和饮食禁忌,智能生成每日三餐搭配建议,涵盖低脂、高蛋白、素食等多种方案。你可以记录每日摄入热量与营养素,查看饮食分析报告,还能一键生成购物清单,让买菜备餐更高效。内置海量家常菜谱与做法步骤,支持自定义菜单和定时提醒,帮你养成规律饮食习惯。界面清新简洁,操作直观,既是你的私人营养师,也是厨房里的贴心助手。
美特优智能健康-美特优
硬件采集原始数据(蓝牙从戒指传到手机APP) • 运动:步数、距离、卡路里消耗 • 睡眠:睡眠分期、REM快速眼动、睡眠评分 • 夜间监护:呼吸暂停监测、心率/血氧异常告警 • 24小时体征:心率、血氧、压力值、皮肤温度、体温 • 血压静态检测 APP端业务功能 1. 数据可视化:图表展示历史趋势,AI给出健康建议 2. 会员增值模块 ◦ AI自动生成健康报告,对接医疗资源 ◦ 7×24小时健康顾问(有医疗背景客服) ◦ 专家有限次数线上指导 ◦ 亲友关怀:健康报告同步、异常报警推送亲属
鸿蒙测试-鸿蒙原生态测试
承接甲方分配的软件测试项目,深度理解业务需求与技术方案,制定针对性 测试计划; 设计测试脑图拆解核心功能模块,梳理全量测试点与优先级,明确测试范围 与风险点; 编写测试 demo 完成核心功能预验证,提前识别需求或开发阶段的潜在缺 陷; 主导场景测试执行,覆盖正常业务流程、异常边界场景及兼容性场景,同时 开展测试用例的设计、评审与迭代优化;
飞羽
本项目是一套功能完善的B2C电商平台,核心模块包含用户中心、商品管理、购物车、订单结算、支付网关、物流追踪及售后评价系统。对于使用者而言,实现了从商品浏览、智能搜索、下单支付到物流查询的全流程自助购物服务,同时也为管理员提供了可视化的数据看板以监控销售与库存。项目的主要功能路径设计为:用户注册登录后进入首页浏览推荐或搜索商品,点击商品详情页查看规格与评价,将心仪商品加入购物车,在结算页确认收货地址并选择支付方式完成付款,随后系统自动生成订单并推送物流状态,用户收货后可进行确认与评价,形成完整的交易闭环。
灵西小程序
灵西是合肥市肥西县官方推出的微信小程序,属于**智慧肥西**智慧城市平台的居民端入口,是肥西县集政务办理、民生服务、基层治理、为企服务于一体的综合便民小程序央广网。肥西县官方掌上城市服务平台。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服