xiangning
|
6c110b579a
|
refactor(dependencies): 移除未使用的域实体引用
- 从文件模块的多部分上传处理器中移除未使用的实体引用
- 从即时通讯模块的群组成员处理器中移除未使用的实体引用
- 从RAG模块的AI模型配置中移除未使用的实体引用
- 从监控模块的告警规则配置中移除未使用的实体引用
- 从平台模块的角色权限处理器中移除未使用的实体引用
- 从脚本模块的执行日志实体引用中进行清理
- 从多个基础设施配置类中移除未使用的依赖项
- 优化测试文件中的导入声明,移除不必要的引用
|
2026-07-19 14:09:47 +08:00 |
|
xiangning
|
3b13099378
|
refactor(domain): 重构领域实体结构并更新枚举命名
- 将通用 Entities 命名空间拆分为具体业务实体子目录
- 更新所有实体类型引用为具体的 Entity 后缀类型
- 将 ModelType、ModelProvider、GroupMemberRole 等枚举重命名为 Enum 后缀
- 重构 AiModel 相关配置和映射逻辑适配新的实体结构
- 更新测试代码中的实体类型引用和枚举使用
- 调整应用层处理器中的实体创建和查询逻辑
- 修改 appsettings.json 中的基础设施主机配置为动态占位符模式
|
2026-07-19 14:02:32 +08:00 |
|
xiangning
|
f43e35a4b1
|
feat(config): 接入 Consul KV 配置中心 + IOptionsMonitor 热重载
配置中心:
- BuildFlow.Host.csproj 加 Winton.Extensions.Configuration.Consul 3.0.1
- Program.cs 注册 AddConsul(Optional=true 容错,ReloadOnChange=true 热重载)
- 配置优先级:appsettings.json → Secrets → Consul KV(最高,生产真相源)
热重载(IOptions<T> → IOptionsMonitor<T>):
- KkFileView/AiOptions/NotificationService:.Value → .CurrentValue,完全热重载
- 4 个 HostedService:业务参数热重载,timer 间隔启动时定一次(方案 A)
- S3StorageService:IOptionsMonitor + OnChange 回调重建 AmazonS3Client(volatile + lock)
- 测试全过(Rag 40 + Workflow Notification 21)
compose 加 Consul__Host 环境变量(api 容器注入 Consul 地址)
后续:Consul 部署在 middleware,KV 全量灌入 buildflow/* 前缀
|
2026-07-17 17:17:24 +08:00 |
|
xiangning
|
368dc0abf0
|
security: 敏感配置迁移至 appsettings.Secrets.json
- appsettings.json 敏感项(连接串/密钥/API Key)改为占位符
- 新增 appsettings.Secrets.json(本地,gitignore)+ .example.json(模板)
- Program.cs 与 3 个 design-time factory 加载 Secrets.json 覆盖
- 历史中的明文凭据已用 git filter-repo 清理(REDACTED)
|
2026-07-09 12:52:01 +08:00 |
|
xiangning
|
b0cf3949d0
|
feat(workflow): 扩展按钮定义功能并优化错误处理
- 实现三阶段动作链:前置钩子(BeforeActionsJson)、主链(ActionsJson)、后置钩子(AfterActionsJson)
- 扩展自定义函数支持HTTP请求类型,添加相关字段配置
- 重构异常处理机制,引入语义错误码字符串替代数字码
- 优化数据库表名前缀,统一使用b_前缀提升命名规范性
- 实现菜单路由名称自动派生,支持Code到Name的转换
- 重构错误响应信封,code字段改为语义错误码字符串格式
- 添加ImportJobProcessorService后台服务支持
- 优化Swagger文档默认URL重定向逻辑
- 修复IM模块列缺失的数据库补丁机制
|
2026-07-06 17:27:32 +08:00 |
|
ljw559
|
4ec64c773a
|
feat: 文件大小回填与文件夹递归总大小计算
- IS3StorageService 新增 GetObjectSizeAsync(HeadObject 取 ContentLength)
- 新增 FileSizeBackfillHelper:读路径惰性回填历史 Size=0 的文件
- 新增 FolderSizeCalculator:后序 DFS 计算文件夹递归总大小
- GetRootFiles/GetFolder 加载时回填;GetFolderTree 计算并返回 FolderDto.Size
- FolderDto 增加 Size 字段,FolderMapper.ToDto 适配
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-07-06 00:45:46 +08:00 |
|
xiangning
|
f932781040
|
feat(rag): 集成 Microsoft Extensions AI 框架并重构对话代理服务
- 引入 Microsoft.Extensions.AI.Abstractions 依赖包
- 重构 ChatAgentService 实现,支持多轮对话历史
- 更新 IAIChatAgent 接口,统一使用 ChatMessage 消息格式
- 优化流式输出处理逻辑,提升性能表现
feat(im): 增强即时通讯会话功能支持置顶备注免打扰
- 扩展会话 DTO,新增 IsPinned、IsMuted、OtherUserRemark 属性
- 扩展 ConversationParticipant 实体,新增置顶和备注相关字段
- 实现会话置顶功能,支持按置顶时间和最后消息时间排序
- 添加会话备注功能,私聊场景支持自定义备注名称
- 完善免打扰功能,支持用户级别静音设置
feat(file): 实现文件预览服务支持多种鉴权方式
- 新增文件预览端点,支持流式返回文件内容
- 实现三种鉴权方式:授权头、JWT令牌、内部签名
- 集成 KKFileView 预览服务,支持 Office 文档在线预览
- 优化文件访问安全控制,避免直接暴露 S3 链接
feat(rag): 增强 RAG 会话管理支持知识库关联
- 扩展会话创建功能,支持关联知识库
- 新增会话更新功能,支持重命名和切换知识库
- 优化会话 DTO 结构,支持知识库 ID 关联
- 实现知识库检索增强对话功能
feat(workflow): 废弃旧工作流定义接口迁移到图形化存储
- 标记旧的节点边操作端点为废弃状态
- 实现工作流定义图形化存储迁移
- 统一使用 JSON 格式作为单一事实源
- 优化工作流定义查询性能表现
chore(deps): 更新项目依赖包版本解决版本冲突问题
- 添加 Microsoft.Extensions.AI.Abstractions 依赖
- 显式声明 OpenAI 2.11.0 版本解决 CS1705 冲突
- 更新相关依赖包至兼容版本
fix(host): 修复文件预览响应包装中间件配置问题
- 添加文件预览接口到响应绕过前缀列表
- 避免文件流被 JSON 包装和内存缓冲影响性能
- 优化文件下载和预览的中间件处理逻辑
chore(im): 修复 IM 设计时数据库上下文工厂路径问题
- 优化 ImDbContextDesignTimeFactory 路径查找逻辑
- 修复数据库迁移时连接字符串获取问题
- 更新实体映射命名空间引用
|
2026-07-03 15:58:58 +08:00 |
|
xiangning
|
67dce6b1f4
|
feat(security): 为端点添加权限控制并优化AI模型配置管理
- 为多个端点添加权限控制,包括文件操作、工作流任务、群组管理和表单相关功能
- 重构ChatAgentService以支持从数据库读取AI模型配置,并提供回退到应用设置的功能
- 在DatabaseInitializer中添加ai_models表的建表脚本,确保表结构存在
- 更新Directory.Build.props以抑制EF1002和NU1605警告
- 为FileDbContext添加Settings实体集合和文件设置实体
- 优化FileDbContextDesignTimeFactory的配置文件查找逻辑,支持多种目录结构
- 修复EF迁移快照中的命名空间引用错误
- 为多个工作流和IM相关端点添加相应的权限验证
|
2026-07-03 12:49:39 +08:00 |
|
xiangning
|
105c7e3348
|
fix: rag-coding-api 规范合规修复
- 48 个 Handler 的 CancellationToken cancellationToken → ct
- 拆分 4 个一文件多类型:
- BaseEntity.cs 拆出 BaseEntityT.cs
- IWorkflowTriggerService.cs 拆出 WorkflowTriggerResult.cs + WorkflowDefinitionSummary.cs
- SeedData.cs 拆出 SeedPermission.cs + SeedUser.cs
- 补全 36 处缺 /// summary 注释(file Endpoints + 各模块 Module 类)
- build 0/0
|
2026-07-03 09:21:08 +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
|
95b6f17a3d
|
style(file): 移除代码文件中的多余空行
- 移除 AbortMultipartCommand.cs 中的空行
- 移除 AbortMultipartCommandValidator.cs 中的空行
- 移除 AbortMultipartEndpoint.cs 中的空行
- 移除 AbortMultipartRequest.cs 中的空行
- 移除 CheckFileQueryValidator.cs 中的空行
- 移除 CompletedPart.cs 中的空行
- 移除 CompleteMultipartCommand.cs 中的空行
- 移除 CompleteMultipartCommandValidator.cs 中的空行
- 移除 CompleteMultipartEndpoint.cs 中的空行
- 移除 CompleteMultipartRequest.cs 中的空行
- 移除 CompleteMultipartResult.cs 中的空行
- 移除 CreateBucketCommand.cs 中的空行
- 移除 CreateBucketCommandHandler.cs 中的空行
- 移除 CreateBucketCommandValidator.cs 中的空行
- 移除 CreateBucketEndpoint.cs 中的空行
- 移除 CreateBucketRequest.cs 中的空行
- 移除 CreateFolderCommand.cs 中的空行
- 移除 CreateFolderCommandHandler.cs 中的空行
- 移除 CreateFolderCommandValidator.cs 中的空行
- 移除 CreateFolderEndpoint.cs 中的空行
- 移除 CreateFolderRequest.cs 中的空行
- 移除 CreateShareCommand.cs 中的空行
- 移除 CreateShareCommandHandler.cs 中的空行
- 移除 CreateShareCommandValidator.cs 中的空行
- 移除 CreateShareEndpoint.cs 中的空行
- 移除 CreateShareRequest.cs 中的空行
- 移除 DeleteBucketCommand.cs 中的空行
- 移除 DeleteBucketCommandHandler.cs 中的空行
- 移除 DeleteBucketCommandValidator.cs 中的空行
- 移除 DeleteBucketEndpoint.cs 中的空行
- 移除 DeleteBucketRequest.cs 中的空行
- 移除 DeleteFileCommand.cs 中的空行
- 移除 DeleteFileCommandHandler.cs 中的空行
- 移除 DeleteFileCommandValidator.cs 中的空行
- 移除 DeleteFileEndpoint.cs 中的空行
- 移除 DeleteFileRequest.cs 中的空行
- 移除 DeleteFolderCommand.cs 中的空行
- 移除 DeleteFolderCommandHandler.cs 中的空行
- 移除 DeleteFolderEndpoint.cs 中的空行
- 移除 DeleteFolderRequest.cs 中的空行
- 移除 DeleteShareCommand.cs 中的空行
- 移除 DeleteShareCommandHandler.cs 中的空行
- 移除 DeleteShareCommandValidator.cs 中的空行
- 移除 DeleteShareEndpoint.cs 中的空行
- 移除 DeleteShareRequest.cs 中的空行
- 移除 DownloadFileEndpoint.cs 中的空行
- 移除 DownloadFileQuery.cs 中的空行
- 移除 DownloadFileQueryHandler.cs 中的空行
- 移除 DownloadFileQueryValidator.cs 中的空行
- 移除 DownloadFileRequest.cs 中的空行
|
2026-07-02 15:36:06 +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 |
|