53 Commits
Author SHA1 Message Date
19904408334 e5bba51b50 fix(model-gateway): 处理模型名称重复时返回已有模型
移除 replace 本地依赖,改用 common v0.0.33;重名时直接返回已存在的模型。
2026-09-03 15:43:36 +08:00
19904408334 8598b63aa8 chore: 更新 .gitignore 并删除旧计划文档 2026-09-03 13:20:59 +08:00
19904408334andClaude Code 0dde11dbdf fix: 错误记忆DAO全局化(NoTenantId)+GetByKey miss契约修复; 分析prompt补可重试白名单
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-01 11:21:34 +08:00
19904408334 31bb973bc0 feat: 错误记忆管理端点 2026-09-01 10:54:49 +08:00
19904408334 94d408074a refactor: 三路接入LLM+记忆重试判定 2026-09-01 10:49:44 +08:00
19904408334 21447b67db feat: 重试判定入口shouldRetryWithMemory + singleflight 2026-09-01 10:42:56 +08:00
19904408334 bd649cb527 feat: 对话模型错误分析调用 2026-09-01 10:35:25 +08:00
19904408334 a454826433 feat: 分析响应JSON解析 2026-09-01 10:27:11 +08:00
19904408334 a356803809 feat: 错误消息归一化与记忆键构造 2026-09-01 10:23:03 +08:00
19904408334 1ca25abca0 refactor: 模型解析/价格工具拆分至 service/utils,调用方适配(WIP)
- price.go -> service/utils/media_type.go(媒体类型检测)
- model_resolve.go -> service/utils/model_resolve.go(模型解析)
- 删除 service/parse_error_test.go(逻辑迁往 utils 后无对应测试)
- session_sync/session_stream/model_*_service/pricing_client 等调用方适配
- schema_mapping/model_call_dto 补字段路径
2026-09-01 10:18:23 +08:00
19904408334 db91d098bf chore: 删除过时的 model_resolve_test.go
引用功能单测(5 个)由用户确认不再需要, 单独提交删除
2026-08-29 17:53:35 +08:00
19904408334 923644db2b refactor: 模型错误解析改为 ErrorMessageMapping 配置驱动
- parseModelError 按模型配置的 ErrorMessageMapping(schema 树)解析错误响应
- 成功判定: code 提取为空 / code 节点配置 defaultValue 且提取值等于它 → 成功
- 未配置 mapping 不识别错误(纯配置驱动), 删硬编码 ModelErrorResp/ModelError1Resp
- DTO 加 errorMessageMapping 字段, update.sql 建 error_message_mapping JSONB 列
- 单测: parse_error_test.go 覆盖扁平/嵌套/数组/纯字符串路径/未配置/坏 JSON
2026-08-29 17:52:23 +08:00
19904408334 7dcfb6744d fix: 引用行查询 Get 合入系统模型配置返回
引用行(ref_system_model_id>0)在 DB 只存个人字段(apiKey/enabled/chatModel),
Get 之前返回空配置,前端编辑表单无法补全。新增 mergeReferenceConfigForQuery:
以引用行身份字段为基底,把系统行配置列合入返回(不替换 {apiKey} 占位、
不做 enabled AND 门禁,区别于调用时 mergeReferenceConfig)。
保留引用行自身 id,Update/Delete 仍命中引用行。
2026-08-29 16:59:05 +08:00
19904408334andClaude b165ef4f3e refactor: 引用系统模型并入 Update,删除 /referenceSystemModel 端点
非超管 updateModelManage 编辑系统模型时直接插引用行(apiKey 必填、同名唯一、
不拷贝配置),前端继续走 updateModelManage 即可引用,无需换接口。

- 删 service.ReferenceSystemModel / controller.ReferenceModel / ReferenceSystemModelReq/Res
- Update:恢复引用行(refSystemModelId>0)个人字段分支(只改 apiKey/enabled/chatModel)
- 修复同名唯一性检查丢失自排除(exist.Id != req.Id),允许不改名编辑
- 非超管建引用行补 apiKey 必填校验

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-29 16:46:24 +08:00
19904408334andClaude 6cff7a934b feat: 系统模型被引用拒删,系统 apiKey 对非创建者脱敏
- Delete:系统模型被引用 → 拒绝;引用行/自有行仅创建者可删
- List/Get:系统模型 apiKey 对非创建者返回空

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-29 14:38:49 +08:00
19904408334andClaude c2758b3010 refactor: Update 删拷贝分支,引用行锁定配置,系统改名传播引用
- 引用行只改 apiKey/enabled/chatModel,配置锁定跟随系统模型
- 系统模型改名同步引用行 model_name(保列表去重正确)
- 非创建者操作他人行 → 无权限(引用改走 referenceSystemModel)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-29 14:38:25 +08:00
19904408334andClaude 66f1d1020f feat: 引用系统模型端点 referenceSystemModel
用户引用系统模型只存 apiKey/enabled/chatModel,配置实时跟随系统模型(不拷贝)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-29 14:37:48 +08:00
19904408334andClaude b99f43b31f feat: 调用链接入引用解析,计价按系统模型 id
- ModelCall/ModelCallStream:GetNotTenantId 后 resolveModelConfig,modelBillable 改 modelInfo.Id
- 异步 task_end:轮询/计价用解析后系统模型配置,calcModelCost 改 modelInfo.Id

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-29 14:37:15 +08:00
19904408334andClaude bc78ad2b2f feat: 模型引用解析层 resolveModelConfig + {apiKey} 占位替换
- resolveModelConfig:引用行实时取系统行配置+本人 apiKey,Id 覆盖为系统模型 id
- mergeReferenceConfig 纯函数:配置取系统行,个人字段取引用行,enabled 取 AND
- substituteAPIPlaceholder 非破坏式替换(BaseURL/头/体/业务字段/异步映射)
- 纯函数单测 4 个全过(service 包测试需临时 config.yml 兜底)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-29 14:36:35 +08:00
19904408334andClaude 928682f121 feat: 模型计费收敛到 shop-user-trade(去 admin 租户扣费 + /calc 算费)
- 删 CheckTenantBalance/DeductBalance/GetTenantSurplus(admin-go 租户余额退出 model-gateway)
- 新增 pricing_client.go:门禁 config/get + calcModelCost 调 shop-user-trade /calc 算费
- sync/stream/async 三处 Cost 改为按用量调 /calc(媒体类型映射 text/audio/video/image)
- 删 price.go 本地 PriceConfig 换算体系与 entity/dto 的 price_config 字段

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-29 14:32:51 +08:00
19904408334 4a9ae2d412 refactor: 重构模型 HTTP 客户端并移除冗余代码 2026-08-29 11:53:02 +08:00
19904408334 174eb7cf27 fix: 流式调用失败时写入模型会话错误信息 2026-08-22 09:58:12 +08:00
19904408334 cb9d04648c fix: 确保任务结束释放 Redis 锁
将 Redis 锁的删除从成功路径移动到 defer,保证任务无论成功失败都会释放锁,避免失败时残留锁导致任务在 TTL 内无法被重新获取。
2026-08-22 08:26:43 +08:00
19904408334 9d9bd71468 fix: 优化模型网关请求重试与业务字段前置写入
- 流式调用增加可重试错误码检测与指数退避重试
- 业务字段写入改为前置追加,不覆盖已有值
- 请求体按模板元数据递归合并,补充数组/对象字段处理
- 异步任务查询支持请求体映射与占位符替换
- 升级 common 与 gmq 依赖版本,移除本地 replace
2026-08-21 09:47:21 +08:00
19904408334 76c55fbb73 feat: 新增业务字段路径读写工具
新增 TakeBusinessFields、WriteBusinessFields、SetByPath 与 GetByPath 等工具,支持按映射路径写入请求体与解析响应,并更新相关依赖。
2026-08-18 10:11:09 +08:00
WangLiZhao 445ee02c5a refactor(model): 重构模型网关实体和映射逻辑 2026-06-12 17:50:22 +08:00
WangLiZhao b3b111995e refactor(task): 重构任务服务和数据结构 2026-06-12 15:29:05 +08:00
WangLiZhao 1c6c9bae14 refactor(service): 重构模型网关服务结构 2026-06-11 17:58:49 +08:00
WangLiZhao afd60caf56 fix(task): 修复任务状态更新和超时处理问题 2026-06-11 11:27:14 +08:00
admin 7ec18926e3 ci/cd调整 2026-06-10 16:24:29 +08:00
admin a6b32bfeb3 ci/cd调整 2026-06-10 16:16:05 +08:00
WangLiZhao 2dc88ae587 refactor(prompts-core): 重构代码结构和优化工具函数 2026-06-10 14:51:24 +08:00
WangLiZhao 0cf8948cd2 feat: 重构异步模型字段并更新依赖 2026-06-08 18:01:53 +08:00
WangLiZhao aae46a4f29 refactor(model-gateway): 重构代码结构并优化数据库查询 2026-06-03 18:37:17 +08:00
WangLiZhao bcfcc7ed47 refactor(util): 重构映射工具函数并优化异步任务轮询逻辑 2026-06-03 13:30:39 +08:00
WangLiZhao 52124385a1 refactor(asynch): 重构异步模型配置和队列管理 2026-06-02 20:26:45 +08:00
WangLiZhao c7e9eb889b feat(model): 添加流式配置支持并优化响应处理 2026-05-30 22:08:46 +08:00
WangLiZhao d409b84b58 refactor(service): 重构服务模块结构并优化模型配置 2026-05-29 17:54:19 +08:00
WangLiZhao e487b4bb5e refactor(task): 重构异步任务处理流程 2026-05-27 09:36:25 +08:00
WangLiZhao a28fcbaee9 feat: 新增模型扩展映射与查询配置字段 2026-05-23 18:08:08 +08:00
WangLiZhao 5416e7a983 Merge remote-tracking branch 'origin/dev' into dev 2026-05-22 13:03:29 +08:00
WangLiZhao 0e2ac286e9 feat(model): 添加运营商列表功能 2026-05-22 13:03:10 +08:00
19904408334 a88dc84d99 fix: 获取聊天模型时过滤当前用户 2026-05-22 13:02:13 +08:00
19904408334 7129bd2de7 fix: 会话模型查询增加用户隔离 2026-05-22 11:22:35 +08:00
WangLiZhao 4946220185 feat(prompt): 重构提示词服务并添加模型类型子分类 2026-05-22 09:49:46 +08:00
WangLiZhao b6cdb8ff1d refactor(prompt): 优化任务等待机制并改进数据结构 2026-05-21 14:23:34 +08:00
WangLiZhao 4626d819b5 fix(gateway): 修复文件上传功能中的数据写入和头部设置问题 2026-05-21 11:18:39 +08:00
WangLiZhao 170568e03e refactor(model): 重构模型实体和数据访问层 2026-05-21 10:41:37 +08:00
WangLiZhao 142fea1e91 refactor(service): 重构服务代码结构并更新配置 2026-05-18 19:19:16 +08:00
WangLiZhao bac9d7713f update: 更新配置文件中的服务地址,修改模型管理相关代码,调整数据结构和逻辑,优化模型列表查询和会话模型设置,更新数据库表结构和索引,修改模块名称和依赖版本 2026-05-15 14:56:26 +08:00