xiangning
|
85a95f05f7
|
perf: repair file sizes in background
|
2026-07-24 10:22:05 +08:00 |
|
xiangning
|
3b918f5c0b
|
perf: bound rag chat context
|
2026-07-24 09:50:16 +08:00 |
|
xiangning
|
65566dc112
|
perf: persist imports in bounded batches
|
2026-07-24 09:10:49 +08:00 |
|
xiangning
|
2684c2d5c4
|
feat: schedule persistent workflow timers
|
2026-07-23 18:48:06 +08:00 |
|
xiangning
|
1e51e6a965
|
feat: bound Obsidian filesystem access
|
2026-07-23 17:59:37 +08:00 |
|
xiangning
|
3f6082a9b1
|
fix: secure bootstrap administrator creation
|
2026-07-23 17:55:24 +08:00 |
|
xiangning
|
3b13099378
|
refactor(domain): 重构领域实体结构并更新枚举命名
- 将通用 Entities 命名空间拆分为具体业务实体子目录
- 更新所有实体类型引用为具体的 Entity 后缀类型
- 将 ModelType、ModelProvider、GroupMemberRole 等枚举重命名为 Enum 后缀
- 重构 AiModel 相关配置和映射逻辑适配新的实体结构
- 更新测试代码中的实体类型引用和枚举使用
- 调整应用层处理器中的实体创建和查询逻辑
- 修改 appsettings.json 中的基础设施主机配置为动态占位符模式
|
2026-07-19 14:02:32 +08:00 |
|
xiangning
|
fb40c47d5b
|
refactor(monitoring): 重构监控模块数据模型为文档模式
- 将 AlertRule 和 ExternalSystem 实体改为使用 JsonData 存储业务字段
- 移除独立的 ExternalSystemCredential 表,凭证信息合并到 ExternalSystem.JsonData
- 添加强类型视图 Data 属性用于访问 JsonData 中的业务数据
- 更新数据库配置将字段存储改为 jsonb 类型并调整索引策略
- 重构告警评估器使用 JsonData 强类型视图读取规则数据
- 更新连接器凭证解析器从 JsonData 中获取凭证信息
- 在 appsettings.json 中添加 monitoring 模块配置
- 将 monitoring 模块集成到主应用程序中并注册服务
- 更新相关处理器使用新的数据模型结构
|
2026-07-17 12:19: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
|
16ba77f69f
|
feat(platform): 实现权限版本控制即时失效旧token机制
- 在JWT中添加permver权限版本号claim,用于实时权限变更检测
- 实现PermissionVersionMiddleware中间件,在认证后授权前校验权限版本
- 修改AssignPermissionsCommandHandler,角色权限变更时自增相关用户权限版本号
- 修改AssignRolesCommandHandler,用户角色变更时自增权限版本号强制重登录
- 集成Redis存储权限版本镜像,支持分布式环境下的版本同步
- 添加PermissionVersion字段到User实体,用于存储权限版本号
- 实现分布式登录失败计数与账号锁定功能,增强安全防护
- 配置文件中新增AccessTokenMinutes和RefreshTokenDays可配置项
- 更新CORS策略配置,添加127.0.0.1本地访问支持
- 完善异常处理,统一使用ErrorCode枚举进行错误码管理
- 添加SOP测试单元设计文档,规范端到端测试流程
|
2026-07-07 17:18:05 +08:00 |
|
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 |
|