11 Commits

Author SHA1 Message Date
xiangning
54dc3fc26e refactor(rag): 重构AI对话和工作流集成实现
- 移除IWorkflowTriggerService接口及其实现,改用Mediator模式直接发送命令
- 更新AiBotHandler移除workflowTrigger依赖,使用新命令模式触发工作流
- 修改ApproveTaskEndpoint和RejectTaskEndpoint返回bool类型并使用Send.OkAsync
- 更新appsettings.json中AI助手的默认指令配置
- 在BuildFlowHostModule.cs中移除旧的工作流触发服务注册
- 添加SSE流式响应路径前缀配置以支持RAG聊天流
- 重构ChatAgentService使用HTTP客户端工厂和运行时配置解析
- 实现AiChatOutputSanitizer用于清洗AI输出中的模板内容
- 更新EmbeddingService使用运行时配置解析器动态创建客户端
- 调整RAG查询处理器中的系统提示指令内容
- 添加构建流按钮操作的单元测试验证发布和禁用功能
- 扩展即时消息集成测试覆盖文件消息元数据处理场景
- 更新平台权限种子数据添加按钮发布和禁用权限
- 实现AI模型运行时配置解析器支持动态模型切换
2026-07-04 21:29:37 +08:00
xiangning
d1d9eb4680 fix(config): 修正 MongoDB 连接账号/密码/authSource
原配置 mongodb://rag:CHANGE_ME@.../im_system?authSource=admin 三处错误:
- 账号 rag 不存在(实为 appuser)
- 密码 CHANGE_ME 是占位符(实为 Wk7mHd3xNp6fQr2tYc8vBs4j)
- authSource=admin(appuser 定义在 app 库,应为 authSource=app)

修正后连接串:
  mongodb://appuser:Wk7mHd3xNp6fQr2tYc8vBs4j@43.134.235.58:17017/im_system?authSource=app

配套权限调整(已远程执行):
  给 appuser 授予 im_system 库 readWrite 角色(原仅有 app 库权限)
  db.grantRolesToUser('appuser', [{role:'readWrite', db:'im_system'}])

验证:appuser 读写 im_system 库正常,IM 两个复合索引
  ({ConversationId,CreatedAt}) / ({ConversationId,_id}) 可正常创建。

注:端口 17017 在前序提交已从 27017 修正。
2026-07-03 10:57:49 +08:00
xiangning
204c4698ff fix(config): 修正 MongoDB 连接端口 27017→17017
原 appsettings.json 中 MongoDb 端口配为 27017,实际服务监听在 17017,
导致启动期 IM MongoDB 建索引始终失败(30s 超时)。
- 27017 不可达(Connection refused)
- 17017 可达

修正后 IM MongoDB 建索引可正常执行。
2026-07-03 10:46:55 +08:00
xiangning
ff895628e5 refactor: 拆分 platform 模块(Auth/Users/Roles/Permissions/Menus/Notifications 从 rag 独立)
- 新建 modules/platform 三层模块(Domain/Application/Infrastructure)
- 搬入 8 个实体(User/Role/Permission/UserRole/RolePermission/RefreshToken/Menu/Notification)
- 新建 PlatformDbContext(连 platform 库)+ 8 个 EF 配置 + SeedData
- 搬入 92 个 Application CQRS 文件 + 57 个 Host Endpoints
- RagDbContext 瘦身:只留 RAG 专属表(KnowledgeBase/Document/ChatMessage/Conversation)
- Handler 注入改为 PlatformDbContext
- appsettings 新增 DatabaseNames:Platform
- BuildFlowHostModule 注册 PlatformDbContext + DependsOn PlatformApplicationModule
- Conversation 实体去掉 User 导航(跨模块不直接引用实体)
- rag SeedData 清空(平台种子归 platform)
- 暂移除测 platform 功能的 Rag.Tests(后续建 platform 测试项目)
- build 0/0
2026-07-02 18:22:17 +08:00
xiangning
52383d83f3 style: 目录统一 PascalCase 驼峰
- build-flow.host → BuildFlow.Host(子目录也驼峰:Configuration/Endpoints/Hubs/Services)
- build-flow.shared → BuildFlow.Shared
- build-flow.slnx → BuildFlow.slnx
- 同步所有 slnx/ProjectReference/run-dev.sh/架构测试 路径
- 删 macOS 大小写残留重复目录(旧 BuildFlow.Host/BuildFlow.Shared 空壳)
- build 0/0
2026-07-02 17:52:39 +08:00
xiangning
6f8ff793c5 refactor: 目录名统一小写(BuildFlow.Host→build-flow.host,BuildFlow.Shared→build-flow.shared)
- src/BuildFlow.Host → src/build-flow.host
- src/shared/BuildFlow.Shared → src/shared/build-flow.shared
- 同步改 slnx/ProjectReference/run-dev.sh 路径
- csproj 文件名 + AssemblyName/RootNamespace 保持 PascalCase(.NET 规范)
- build 0/0
2026-07-02 17:41:57 +08:00
xiangning
0bb76f2a96 refactor: 删除 SSO 模块(认证改为 Host 本地签名)
- 删 src/modules/sso/(106 文件)+ tests/BuildFlow.SSO.Tests/
- 删 src/modules/order/(空目录)
- slnx 去掉 sso/order 项目
- 架构测试去掉 SSO 相关(IsSsoPath 排除 + SsoApi 测试)
- appsettings Jwt 去掉 Authority(不再依赖 SSO JWKS,用本地 SigningKey)
- Host 认证用 AddSharedJwtAuthentication(本地 HS256 签名,自洽)
- build 0/0
2026-07-02 17:32:27 +08:00
xiangning
5ee446603c refactor: PG 连接串从 4 条压成 1 条 Default
- appsettings: ConnectionStrings 只保留 1 条 Default(无 Database)
- 新增 DatabaseNames 配置段:Rag/File/Im/Workflow 各自库名
- 各模块从 Default + DatabaseNames 组合连接串
- 改 Host/Port/User/Password 只改 Default 一处
- build 0/0
2026-07-02 14:43:25 +08:00
xiangning
6649272772 refactor: 连接串全部回归 Host appsettings 管理,模块零拼接
- Host appsettings 配各模块完整连接串(Default/File/Im/Workflow)
- 模块 Infrastructure 只 GetConnectionString 读自己的 key,不做任何拼接
- 删除 baseConn/Database=xxx 拼接逻辑
- build 0/0
2026-07-02 14:25:03 +08:00
xiangning
44927e651e refactor: 统一 PG 连接串为一个 Default
- appsettings 的 ConnectionStrings 从 4 条 PG 连接串(Rag/File/Im/Workflow)
  合并为 1 条 Default(不含 Database)
- 各模块 Infrastructure 从 Default 派生连接串(拼接各自 Database 名)
  改一处连接信息,所有模块生效
- build 0/0
2026-07-02 14:10:41 +08:00
xiangning
d738166261 feat: BuildFlow 后端初始化(.NET 10 模块化单体) 2026-07-02 10:54:23 +08:00