跳到主要内容

JuanNiang

基于 OneBot11 协议的 LLM QQ 聊天 Agent

项目介绍

卷娘(JuanNiang)是红岩网校的吉祥物,也是本项目的名字来源。 本仓库为卷娘的文档站,由重庆邮电大学红岩网校工作室开发。 卷娘基于 Go 编写,通过 OneBot11 协议接入 QQ, 驱动主流大模型(LLM)实现智能对话,支持 Lua 插件扩展、Web 管理后台与自部署。

卷娘表情包

技术栈

核心特性

Agent 系统

  • 基于 Eino SDK 的 ChatModelAgent
  • OpenAI 兼容,Provider / MCP / Tool / Skill / Prompt / Plugin 多模块组合
  • 工具调用在 ReAct 循环内同步完成

异步并发处理

  • ConcurrencyManager 控制每 ChatArea 最多 8 个 Agent goroutine 并发
  • 事件经三阶段管线高效分流

四层记忆体系

  • 短期记忆(Redis 滑动窗口 + 自动 Compact)
  • 长期记忆(Postgres + LRU)
  • 技能记忆 / 会话记录,全部持久化可审计

Lua 插件系统

  • gopher-lua 驱动,多级命令 + LuaCATS SDK 代码提示
  • 插件商店从 GitHub 一键安装
  • 动态配置由 Web 面板渲染

Web 管理后台

  • Vue 3 + Vuetify 3
  • JWT 鉴权(可选 OIDC SSO)
  • 管理全部配置与运行时状态,支持热切换

开箱即用模块

  • SQL 知识库 / 图床 / 表情包库
  • 摸鱼人日历 / 定时消息(积木式编排)
  • Postgres + Redis + Sandbox + T2I 可插拔基础设施

效果图