这个项目能做什么

这是一个按《AG-UI 群聊扩展协议标准 v1.0》实现的群聊协议枢纽(Hub),使用 C# / .NET 10 的 ASP.NET Core Minimal API 编写。它把“群聊”做成一种可供第三方应用接入的协议层:群组与成员的生命周期、消息扇出、订阅与实时下行都遵循同一套事件与错误码约定,AI 智能体则作为群成员参与其中。 协议能力 - 群组生命周期:创建、更新、解散,对应 GROUP_CREATED / GROUP_UPDATED / GROUP_DISBANDED。 - 成员管理:加入、移除、主动退群、角色与资料变更(GROUP_MEMBER_*)。 - 消息扇出:用户消息以 TEXT_MESSAGE_START/CONTENT/END 三元组广播,提供 all、mentioned、private 三种可见范围,并支持撤回、已读回执、输入中状态。 - 订阅机制:GROUP_SUBSCRIBE / GROUP_UNSUBSCRIBE / GROUP_SUBSCRIBE_ACK / GROUP_STATE_SNAPSHOT。 - 双传输:WebSocket 全双工(/ws)与 SSE 单向下行(/sse),带心跳保活;SSE 可通过 HTTP 接口动态订阅与退订。 - 智能体触发规则(协议 §6):提及触发、全量监听、关键词触发、语境触发(由模型按上下文决定是否发言)。 - HTTP 上行 API 覆盖建群、发现/进入客服知聚、群名自动生成、成员增删、发消息、上传与下载附件、撤回、已读、人机交互决策、快照与成员列表等;错误统一返回 code + message,状态码映射到 403/404/409/400。写接口按令牌身份覆盖请求体中的身份字段,读接口校验调用者是群成员。 智能体与记忆 - AguiGroupChat.Agents 基于 Microsoft Agent Framework 实现 IAgentGateway:mock 提供方开箱可用,也可配置 OpenAI 兼容端点(Ollama / vLLM / Azure OpenAI / DeepSeek)。触发后流式回灌文本事件,函数调用扇出 TOOL_CALL_START。 - 人机交互(HITL):工具可用 ApprovalRequiredAIFunction 标记为需审批,模型调用时运行中断,群聊广播 AGENT_INTERACTION_REQUEST 交互卡片,仅触发者可批准或拒绝,决策后同一会话恢复。 - RAG 语义记忆:MemoryContextProvider 注入检索上下文,向量存于 pgvector,embedding 可走 HTTP 端点或 LLamaSharp 本地模型(如 bge-m3);知识库支持文档切片与检索,并有记忆范围、TopK、相似度阈值等可调项。 - 记忆拟人类型:每个数字员工可配置五档记忆预设与口吻模式,未配置时沿用平台全局,保持向后兼容。 - 内置工具集包括计算器、单位换算、群记忆检索、读附件等,联网的 web_search / read_url 默认关闭。 - 图片理解:带图片附件的那一轮回复会路由到视觉模型,图片以 base64 多模态内容传入。 - 思考模式桥接:外部服务的 REASONING_MESSAGE_CONTENT 走独立通道,前端渲染可折叠的思考过程块。 应用与扩展功能 - 用户管理:注册、登录、登出、改密、资料维护,PBKDF2 密码哈希与会话令牌,WS/SSE 支持令牌鉴权;登录接口有防用户名枚举与失败限速处理。 - 平台级 RBAC:SuperAdmin / Admin / Operator / User 四档,可用配置名单自举,也可由超级管理员在线授予;另有用户分组与按组授权,用于数字员工与技能的可见性白名单。 - 技能库:可分 prompt / shell / http / dotnet 四类,其中带执行能力的技能仅系统管理员可增删改;支持用自然语言生成技能定义与试运行。 - 一键组织编排:输入一句话需求,以 SSE 流式生成岗位方案,预览组织结构、技能与指派关系后整体落库,并可在创建时同步建群。 - 单聊与客服知聚:可为数字员工幂等创建私有双人单聊;客服知聚中普通用户以参与者身份进入,会话彼此隔离。 - 全局搜索跨消息、语义记忆与知识库检索,并按可见性过滤结果。 - 链接代理、数据导出/导入、运行时模型配置、审计日志与账号注销等企业合规相关能力。 部署与项目形态 - 提供 Web 演示、仅协议 Hub、Windows 桌面(WPF + WebView2)、跨平台桌面(Avalonia)四种运行方式;桌面版支持多实例共享同一后端进程。 - 持久化可选 JSON 单文件快照或 postgres / mysql / sqlite 数据库;docker compose 一键启动 postgres(pgvector) + 内置 Ollama + Web,默认即开启语义记忆。 - 附带第三方接入 SDK(AguiClient + AguiRealtimeClient,支持 net8.0/net10.0)、示例客户端、单元与端到端测试,以及 Playwright 浏览器自动化脚本。