|
|
065ebd99bb
|
fix(auto-config): i2i模板合成content图像数组+审计防闭眼i2i——白皮书配图QA实锤模板层丢输入图致模型无图编造; 审计接受三数组直传(request=None时b64media2url兜底坏)
|
2026-09-16 11:46:13 +08:00 |
|
|
|
706ccdba90
|
refactor(auto-config): 端点/路径职责反转对齐端点可互换约定——提取提示词base_url改主机根(禁路径段)+chat_path改完整相对路径(含版本段);apply端点归一主机根+同(主机根,region)去重+timeout取max+删裸域拦截与协议补绑自检;_gen_templates/_ensure_step_profile path经_norm_relative_path归一(全URL剥scheme+host,保留版本段,不再剥base_url前缀)。配套pipeline-llm 3ea03be
|
2026-09-12 12:35:27 +08:00 |
|
|
|
a719d73ff8
|
refactor: _h_platform_modules模块清单删pipeline-dist条目(模块已删除,功能并入supplychain)
|
2026-09-10 11:59:59 +08:00 |
|
|
|
e5902a4fd4
|
feat(platform): apply_llm_config自动产品映射(2026-09-08用户需求:添加模型时如有产品模块自动映射)
根治记账failed"模型未映射到产品"不靠人工事后补:
- _sync_model_products:apply落库后调env.import_categories_and_products
(resource_module=pipeline_llm)增量导入所有active模型为产品(幂等:已映射按
resource_ref_id+org_id跳过,顺带自愈其他漏映射模型)
- 父类别复用已有pipeline_llm根类别"大模型消费"(防类别树分裂)
- 产品模块未装→跳过不阻断(模型注册已成功,映射是下游增值步骤);失败如实记
product_mapping.note
- check_model_accounting hint与工作流prompt同步:未映射→重跑apply触发自动映射
|
2026-09-08 13:58:50 +08:00 |
|
|
|
a9cac99c52
|
fix(platform): DashScope同步生成模板生成器(2026-09-08 qwen-image-plus真图验证后根治)
数据手工修通后回填生成器,让后续DashScope同步模型自动配对不用手改:
- _dashscope_envelope:SDK kwargs形态({model,messages,size...})→原生HTTP信封
({model,input:{messages},parameters:{...}}),平铺体提交必400 InvalidParameter
(实测"messages parameter invalid");代码级确定性归一不靠提取LLM自觉
- _gen_templates对dashscope_sync/async协议先过信封归一
- _resp_tpl_for协议感知:dashscope_sync产物路径output.choices[0].message.content[0]
.{image|video|audio}(实测形态),文档response示例给output.*路径则优先;同步命名
空间无task_id/status只引用output/usage/request(StrictUndefined防崩)
- 信封归一纯函数单测4例PASS
|
2026-09-08 13:44:14 +08:00 |
|
|
|
1bc7413c1f
|
feat(platform): 协议判定规则教提取LLM区分dashscope_sync/async(2026-09-08)
- RUNTIME_PROTOCOLS加dashscope_sync;头规则:sync绝不带X-DashScope-Async(带了
上游按异步受理,不支持异步的密钥403,qwen-image-plus实测)
- 提取prompt协议判定规则:调用示例交互形态>供应商惯例,同供应商可同时有同步
生成(图像/语音)与异步任务(长视频)模型,按各模型文档判不一刀切
|
2026-09-08 13:33:26 +08:00 |
|
|
|
02650d4c2d
|
feat(platform): apply_llm_config自动生成模型配套技能(2026-09-08用户定夺:每个模型加入需配套skill)
- _write_model_skill: skills/models/{model}/SKILL.md,数据源=落库param_schema
(required必备/非required可选带默认值)+能力字典模态+媒体三数组契约+doc出处
- 幂等:重apply覆盖更新;生成失败只记skill_notes不阻断(门禁降级LLM能力语义→代码兜底)
- 目录约定:skills/models/不在SkillLoader扫描范围,不污染agent技能目录层
|
2026-09-08 12:31:22 +08:00 |
|
|
|
7a041cbb18
|
fix(platform): 能力语义判断改LLM裁决(2026-09-08用户定夺:词匹配不当裁决者)
qwen-image-plus实测根因:词匹配守卫把描述"图像生成"的输出词当输入证据,
反复把t2i纠正成i2i,人工override也被改回,死循环。
- 新增_llm_capability_judge:utility模型按能力字典语义裁决(输入→输出模态),
失败不裁决不纠正(宁可保守不让词匹配越权)
- extract/apply两处:词匹配只当廉价触发器报可疑,裁决交LLM
- 人工override权威:__human_cap_overrides__登记的模型apply守卫一律跳过
- LLM裁决改能力后重新_spec_save锚定(否则apply取回旧值裁决白做)
|
2026-09-08 11:58:55 +08:00 |
|
|
|
48735b98ba
|
fix(platform): _capability_guard输出侧媒体词对称排除——t2i描述含'图像/图片'(输出)被误判图像输入→反复纠正成i2i且overrides.model_capability压不住(2026-09-07 qwen-image-plus实测:文档明写输入文本输出图像,助手override t2i被守卫每次改回i2i死循环);此前只排video未排image,补_OUTPUT_KIND对称表
|
2026-09-07 18:18:42 +08:00 |
|
|
|
31834c812e
|
feat(platform): 补 db_query 只读数据库查询工具——根治内部助手拿 run_command 手搓连库脚本(2026-09-07 记账失败排查实录: 沙箱/tmp tmpfs不持久+平台目录只读+输出双截断+框架API试错,十余轮查一条数据)。SELECT白名单+强制参数化(禁裸%)/tables列定义捷径(sqlor列名转小写用AS别名)/行数200字符8000显式截断/SELECT后COMMIT防MDL锁/剔除ns的page键防sqlor分页变形;PLATFORM_PROMPT 记账failed处置改为db_query核实+禁手搓
|
2026-09-07 16:22:40 +08:00 |
|
|
|
2e5ba512d2
|
feat(prompt): 自动配置支持正文直入extract(跳过fetch,禁改写正文)+上线检查标准工作流(test_model_call→check_model_accounting created复查→platform_llm_status→明确通过/不通过结论)(2026-09-07用户定夺)
|
2026-09-07 13:24:31 +08:00 |
|
|
|
549d671e99
|
fix(platform): 定价多因子校验+openai_compat模板生成器双缺陷(2026-09-06豆包pro配置实抓)
① apply_model_pricing「同一模型仅单因子」铁律与生产事实矛盾——token模型天然
多因子(输入/输出/缓存同方案,生产实证qwen3.8-max正常出账),豆包pro定价三次
被拒。改为因子族校验:token族(prompt/completion/uncache/cached_tokens)合并
一个方案;token族与按量族(duration/flat)禁混;prompt_tokens与uncache/cached
互斥(重复计价);同因子同维度多价拒绝。提取提示词factor枚举补uncache_tokens/
cached_tokens+缓存拆分规则(此前枚举缺缓存因子,助手只能硬塞导致混用误判)。
_build_pricing_yaml支持多因子:derived因子(uncache/cached)自动带derived表达式
定义,真实定价引擎验证:豆包pro三因子6/1.2/30计算精确匹配(0.000738/缓存场景0.01908)。
② _gen_templates openai_compat分支模板恒干跑失败:json.dumps包占位符生成
"{{temperature}}"——运行时ns(model/messages/extra/params/api_key/org_id)无
temperature,StrictUndefined干跑必崩→profiles恒空,运行时侥幸走内置模板。
且"messages":"{{messages}}"带引号渲染成repr字符串。改为对齐pipeline-llm
内置模板形态:model/messages|tojson无引号+extra白名单透传循环(传了才发)。
_dry_render_check补extra入ns(运行时注入,干跑缺它误报)。验证:干跑通过,
无extra/带extra/中文引号注入/指纹稳定四场景渲染全合法JSON。
|
2026-09-07 07:27:37 +08:00 |
|
|
|
7a8a798e71
|
fix(platform): 文档示例为int/float的参数模板加|int/|float强转——表单/agent传字符串数字(如duration='5')tojson出带引号字符串被DashScope拒InvalidParameter(2026-09-06真实调用实抓);bool是int子类须先排除避免UI真值语义被改写
|
2026-09-06 21:23:50 +08:00 |
|
|
|
03d1e13ebd
|
fix(platform): media键条件渲染下沉到真实示例路径(_tpl_from_example)——四种键位+干跑覆盖
上一提交只修了合成兜底路径;用权威文档示例重新apply会走真实示例路径,
该路径零媒体同样发出"media": []空数组。本次统一下沉:
- 新增 _media_any_expr(mps):「任一媒体有值」Jinja布尔(字符串/数组归一),
合成/真实两路径共用
- _tpl_from_example: media数组token记录(键名,mps),替换阶段按json.dumps
逗号位置分三模式(首/中键带尾逗号,末键吃前逗号,独键直包)整键条件化
- 单测22项全绿:四种键位×(零媒体省略/三模态/字符串形态/干跑)+合成路径
+schema(媒体非必填/prompt必填/multiple/ratio六值枚举)
|
2026-09-06 20:56:49 +08:00 |
|
|
|
89acb08ea9
|
fix(platform): r2v媒体字段非必填+合成模板media键条件渲染(2026-09-06用户纠正)
用户纠正:wan3.0全能参考三种媒体一个不传=纯文生视频(t2v),完全合法(文档明示
「prompt和media必填其一」「文生视频不传入任何媒体文件」)。此前required=True把
合法t2v/部分组合模式堵死,且无条件渲染发出"media": []空数组(文档t2v形态不带
media键,API未承诺接受空数组,不能赌)。
- _build_param_schema: 媒体字段一律required=False(prompt保持必填作锚);
纯参考模型空媒体提交由API拒绝+test_model_call当场暴露,非静默失败
- r2v合成模板media键包Jinja条件:有媒体渲染media键,零媒体整个省略,
两形态逐字对齐官方API参考(wan3-video-generation-api-reference已核实)
- 拼接空格防"{{%"词法错(单测实抓)
- _dry_render_check增零媒体形态干跑(StrictUndefined下测空数组[],不测缺键)
- 单测9项:零媒体省略/部分组合/三模态顺序/干跑/schema非必填
|
2026-09-06 20:45:44 +08:00 |
|
|
|
7af34c1251
|
feat(platform): 提交模板复用键改形态指纹(协议×能力×指纹)——根治r2v媒体模态混用(2026-09-06用户确认方案)
- _tpl_fingerprint: 归一化(path,req,resp,schema) sha256[:12],JSON往返消键序/空白差,Jinja原文退化去空白
- 命名 {protocol}-{cap}-自动配置-{指纹}: 同形态复用(旧命名收编改名),异形态各建各的(旧模板保留不断存量)
- 坏模板(hard违规/骨架)一律弃用重建;指纹命名但内容漂移的也弃用重建
- 精确命名查找取代LIKE排除查询/下载模板(命名形态不同天然不误选)
- 效果: happyhorse r2v纯图与wan3.0 r2v四模态各挂各的;wan3.1同API零新增
- 本地单测8项全过(键序归一/媒体差异敏感/path敏感/schema混传等价/Jinja退化)
|
2026-09-06 19:51:57 +08:00 |
|
|
|
3c0de3bad4
|
feat(platform): 提取提示词能力枚举加m2t+判定表补文本输出侧三规则(2026-09-06用户定夺)
- capability 枚举加 m2t(多媒体生文)——会话agent可选模型范围 t2t/i2t/m2t 的字典侧
- 判定表补「仅图像(+文本)→文本 ⇒ i2t」「多种媒体输入→文本 ⇒ m2t」「仅文本→文本 ⇒ t2t」,
堵住此前只有视频/图像输出侧判定、文本输出侧全靠 LLM 猜的缺口(wan3.0 误判同类根因)
- r2v 判定加「且输出为视频」限定:原文「多种媒体输入⇒r2v」会把多媒体理解模型
(如 qwen-vl 类 i2t/m2t)误吸进 r2v——输出模态必须同时满足
- _MEDIA_INPUT_CAPS 加 m2t:模板生成把 m2t 按输入媒体能力处理(URL 叶子判上传媒体)
|
2026-09-06 19:33:12 +08:00 |
|
|
|
9c5378df17
|
fix(platform): response模板usage值去包裹引号——json.dumps(usage)非空时内层双引号破坏外层JSON字符串值,渲染断在char161生成物不落地(2026-09-06 E2E实测)
- _media_response_template 手工拼接: "usage": {{ json.dumps(usage) }} 嵌套对象形态
- 存量3个模板(r2v/t2v/i2v)已在测试机直接UPDATE修复
|
2026-09-06 17:36:11 +08:00 |
|
|
|
9a4e3e87b8
|
feat(platform): 记账verdict对齐NULL语义+模板method独立列写入(2026-09-06用户定夺)
- check_model_accounting: created必为SUCCEEDED真待记账;NULL行报充值对账/调用未成功(不计费),消灭21条失败行冒充待记账的误报
- 提交模板创建写method=POST独立列;查询/下载模板method入列,GET时request_template不再塞{method}
- 技能model-auto-config同步status统一枚举+NULL语义+method列(随core仓c27b6af)
|
2026-09-06 17:15:53 +08:00 |
|
|
|
62bc591f80
|
fix(platform): r2v示例无参考媒体时按DashScope家族契约合成input.media三数组(reference_image/video/audio自由组合,官方API参考确证)——纯文本示例不再只报警,用户填参考媒体即可发出
|
2026-09-06 15:22:01 +08:00 |
|
|
|
5086609e49
|
fix(platform): 能力守卫前置到模板生成之前+UPDATE写回capability——守卫在模型循环里跑时模板已按误判能力生成,IF空值保护把旧t2v模板原样保留,纠正空转(wan3.0实测notes有纠正记录但库里仍t2v)
|
2026-09-06 15:14:03 +08:00 |
|
|
|
6b306566b2
|
fix(platform): 能力守卫歧义处理——'视频'字在t2v描述必现不算输入声明;音频单输入不自动纠正只警告
|
2026-09-06 14:58:38 +08:00 |
|
|
|
b2ecf54f43
|
fix(platform): 能力误判根治三层——提取提示词能力判定铁律(按正文模态声明禁照示例);apply能力一致性守卫(描述模态vs capability矛盾代码级纠正t2v→r2v);overrides.model_capability白名单(用户口头纠正能落进规格,禁重提取死循环);check_model_accounting区分failed调用行/充值行非待记账
|
2026-09-06 14:56:34 +08:00 |
|
|
|
a24a2320de
|
fix(platform): 提交模板排除条件补legacy命名(-query/-download结尾)——i2v实测旧命名查询模板happyhorse-1.1-i2v-query漏网被误选为提交模板(空schema无hard违规静默误挂)
|
2026-09-06 13:48:26 +08:00 |
|
|
|
b635a3cdb4
|
fix(platform): query_profile_ids更新加IF空保护——规格没带async_steps时空串覆盖会清空模型已挂查询模板→异步测试报未登记(2026-09-06 r2v实测)
|
2026-09-06 13:34:43 +08:00 |
|
|
|
9cc92dc84a
|
fix(platform): 模板复用门禁加param_schema体检自愈——存量脏schema(未注册uitype/default/重复字段/结构常量)判死弃用重建,soft级(缺multiple)仅提示;防代码修好前端仍坏表单
|
2026-09-06 13:25:37 +08:00 |
|
|
|
d6cfaf6014
|
fix(platform): param_schema 按 bricks 规范生成——uitype 白名单硬校验(禁未注册的textarea/number,前端会静默丢字段);媒体用专用控件image/audio/video+multiple:true(数组契约需多选);默认值字段名defaultvalue(default无人消费);枚举参数用code+data;剔除结构常量type并同名去重(旧版曾产出3个重复type);提取层新增field_enums
|
2026-09-06 10:48:02 +08:00 |
|
|
|
4573aeba3f
|
feat(platform): 媒体契约升级为三数组image_files/audio_files/video_files(对齐sage/llmage)——变长媒体数组按Jinja for动态组装,禁按示例个数展开固定槽位(r2v渲染崩根因);干跑双形态校验;提示词+工具schema同步;新增硬规则禁让用户手改模板
|
2026-09-06 10:23:01 +08:00 |
|
|
|
523f3307d7
|
feat(platform): r2v/i2i能力支持——提取提示词枚举+媒体三表(_MEDIA_CAPS/_MEDIA_OUT_KEY/_MEDIA_INPUT_CAPS)同步,r2v产物video、输入媒体按文档示例识别
|
2026-09-06 09:30:13 +08:00 |
|
|
|
c868b8854e
|
fix(platform): 提交模板复用查询排除query/download步骤模板(误选致提交打到查询path→404);base_url提取规则禁裸域
|
2026-09-05 23:28:14 +08:00 |
|
|
|
1dc55caf7f
|
fix(platform): 裸域拦截提到回填打标之前——防裸域被打成协议匹配端点(自查发现)
|
2026-09-05 23:11:55 +08:00 |
|
|
|
d6228c59c6
|
fix(platform): 端点协议感知治理(404根因)——端点落库带protocol标签;裸域退化拦截(同host已有带路径端点则跳过);账号端点绑定自检:活跃账号未绑本协议端点自动补绑并报account_notes
|
2026-09-05 23:08:15 +08:00 |
|
|
|
ac52a61e0b
|
chore: 移除误提交的__pycache__,补.gitignore
|
2026-09-05 22:44:09 +08:00 |
|
|
|
69884fd2ec
|
fix(platform): 端到端实测揪出3个bug——①模型更新分支不刷新profile_id(旧模板被弃用重建后模型仍指deprecated→运行时崩)②legacy查询模板复用未做骨架自愈③查询path归一化(单花括号{task_id}对齐运行时str.replace契约+剥base_url重复前缀+缺占位符补/tasks/{task_id})
|
2026-09-05 22:43:54 +08:00 |
|
|
|
e9d0bfc62d
|
fix(platform): 适配模板按文档示例动态生成(替代硬编码骨架)——t2v曾因模板硬塞params.xxx_file运行时崩;request_example逐字驱动(model/prompt/媒体/业务参数带文档默认值);响应产物字段递归取response_example(output.video_url);headers按文档带X-DashScope-Async;落库前干跑渲染自检(StrictUndefined)当场拦截;旧骨架模板(含xxx_file/__from_doc__)弃用自愈重建;查询步骤模板供应商级复用(protocol-query-path)
|
2026-09-05 22:33:30 +08:00 |
|
|
|
d69ca24085
|
feat(platform): 配置链交互原则(用户定)——去掉apply/test三工具requires_confirmation确认门,提示词改为缺信息才问否则一口气做完给测试结果,用户发现问题按说明修改重跑(全链幂等)
|
2026-09-05 21:51:38 +08:00 |
|
|
|
e8a5511535
|
fix(platform): apply_llm_config幂等键改为name全局唯一键(实测:模型迁供应商后按vendor_id+vmid查不到→INSERT撞uk_llm_model_name崩);供应商归属不一致不静默迁移,报vendor_conflicts由用户决策
|
2026-09-05 21:41:42 +08:00 |
|
|
|
fb3447e56e
|
feat(platform): extract规格会话级锚定(Redis db4,键=pipeline:user:session隔离)+apply双工具use_last_extract/overrides白名单——根治LLM转述大JSON必编造结构(实测三轮编造);报错升级列期望键给出路;提示词加自救规则
|
2026-09-05 21:25:48 +08:00 |
|
|
|
885a52c7d8
|
fix(platform): apply_model_pricing幂等修正(用户纠正:时序应只一条有效行)——内容无变化跳过/同日启用原地更新(防零宽死行)/仅历史行拉链;此前重复执行堆垃圾时序行
|
2026-09-05 20:33:02 +08:00 |
|
|
|
4543e035dd
|
feat(platform): 内部助手全链工具——apply_model_pricing(定价新模式:一模型一方案/无model维度/无filters平铺/doc_quote强制/出处URL入描述/幂等拉链)+test_model_call(真实治理链调用)+check_model_accounting(三态检查+独立复算金额);提取规格升级pricing结构化+doc_url;工作流提示词九步闭环
|
2026-09-05 20:17:06 +08:00 |
|
|
|
c74bf38506
|
feat(platform): 媒体转换铁律落地——apply落库强制审计生成类模板(上行b64media2url/下行downloadfile2url,每个llm配置都检查);非标骨架模板自带转换约定占位
|
2026-09-05 15:26:07 +08:00 |
|
|
|
812f3fc6de
|
feat(platform): 自动配置去供应商protocol写入(模式归模型适配模板);dashscope_async纳入运行时协议(异步执行器已就位)
|
2026-09-05 13:07:09 +08:00 |
|
|
|
8de76e4a7b
|
feat(platform_ability): apply_llm_config加能力分类硬校验——未登记能力拒绝落库(用户规则:先加分类再配模型,防LLM静默塞近似分类)
|
2026-09-05 11:06:42 +08:00 |
|
|
|
55ac0dbb40
|
fix(platform_ability): 提取提示词能力枚举补i2v图生视频
|
2026-09-05 10:55:14 +08:00 |
|
|
|
b51d276ea0
|
fix(platform_ability): 修9月3日潜伏bug——_default_templates返回单dict被按二元组解包,新建适配模板分支必崩(此前模板全复用未触发)
|
2026-09-05 10:29:26 +08:00 |
|
|
|
7629da8b8b
|
fix(platform_ability): 文档提取调用接辅助模型链(purpose=utility)+超时300秒——根治9月4日提取超时失败(端点默认60秒跑不完4.8万字符文档)
|
2026-09-05 10:24:55 +08:00 |
|
|
|
495592dee5
|
refactor(platform_ability): 模型自动配置不再写价格四字段(模型表已删,定价走ppid)
|
2026-09-04 21:02:59 +08:00 |
|
|
|
8bb9a0c682
|
feat(platform): 提取prompt补async_steps/sync_mode;apply_llm_config写profile的path/headers列+异步模型建后续步骤模板链登记query_profile_ids
|
2026-09-04 14:00:16 +08:00 |
|
|
|
92e7642bb3
|
feat(platform): apply_llm_config新建供应商改用ctx.org_id——不再硬编码0,跟随操作者机构
|
2026-09-03 16:22:01 +08:00 |
|
|
|
ce9f4b5bdf
|
fix: 删除单位换算硬规则——定价按文档原文记录不换算
用户纠正: 没有单位换算的硬规则。单位照文档标注,
吻合与否由人工确认+测试记账核对验证,禁止自行换算
|
2026-09-02 17:50:09 +08:00 |
|