yumoqing 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

pipeline-platform

产线平台内部 agent 模块(宿主不装则零接触)。

内容

  • 能力包 pipeline_platform/platform_ability.pypipeline_id=platform_general
    • platform_llm_status — 模型治理状态(供应商/账号余额/模型定价)
    • fetch_model_doc — 抓取模型 API 文档SSRF 防护:仅公网域名)
    • extract_llm_api_spec — LLM 通读文档提取配置规格(端点/协议/定价)
    • apply_llm_config — 写入配置(幂等:供应商按名复用、模型按 (vendor, vendor_model_id) 只更新定价)
    • platform_modules — 平台模块清单
  • 前端入口 wwwroot/agent_platform/index.ui:主菜单「平台内部助手」(仅管理员可见)
  • 技能随 pipeline-core skills_library/pipelines/platform_general/ 分发(平台架构地图 + 模型自动配置工作流)

权限

所有工具仅 owner.superuser / owner.admin 可用,代码层硬门禁(每个 handler 入口校验 RBAC 角色),不依赖 prompt。菜单入口同样 Jinja {% if is_admin %} 门控。

定价真实性规则

  • 定价只允许来自文档原文,文档没写一律 null禁止编造
  • 单位统一「元/千tokens」元/百万 ÷1000
  • 非 openai_compat 协议的模板存档但运行时不可调,如实告知

宿主集成(已接入)

  • pipeline-app/build.shclone/pip install/wwwroot 软链列表已含本模块
  • pipeline-app/app/pipeline_app.pyload_pipeline_platform()(在 load_pipeline_service 之后)
Description
No description provided
Readme 25 KiB