From 58b37588f48ce09417f0e0a03e04ca3db9de3d98 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Wed, 9 Sep 2026 13:46:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(deploy):=20=E7=94=9F=E4=BA=A7=E5=A2=9E?= =?UTF-8?q?=E9=87=8F=E4=B8=8A=E7=BA=BF=E6=89=B9=E6=AC=A1(2026-09-09)?= =?UTF-8?q?=E2=80=94=E2=80=94dmig=E8=A1=A5DROP=20COLUMN=E5=B9=82=E7=AD=89?= =?UTF-8?q?=E5=AE=88=E5=8D=AB(=E7=94=9F=E4=BA=A7llm=E8=A1=A8=E7=94=B1creat?= =?UTF-8?q?e=5Ftables=E6=8C=89=E6=9C=80=E6=96=B0models=E5=BB=BA=E5=87=BA?= =?UTF-8?q?=E6=97=A0=E6=97=A7=E5=88=97,m0009/m0010=E7=B1=BB=E5=88=A0?= =?UTF-8?q?=E5=88=97=E8=BF=81=E7=A7=BB=E7=9B=B4=E8=B7=911091=E4=B8=AD?= =?UTF-8?q?=E6=AD=A2);m0009=5Fllm=5Fmodel=5Fdrop=5Fprice=5Ffields=E6=94=B9?= =?UTF-8?q?=E5=8F=B7m0015(=E4=B8=8Em0009=5Frag=5Fpipeline=5Faccess?= =?UTF-8?q?=E6=92=9E=E5=8F=B7=E8=A2=ABdict=E9=9D=99=E9=BB=98=E8=A6=86?= =?UTF-8?q?=E7=9B=96=E4=BB=8E=E6=9C=AA=E6=89=A7=E8=A1=8C,=E5=AE=9E?= =?UTF-8?q?=E6=B5=8B=E4=B8=A4=E6=96=87=E4=BB=B6id=E5=90=8C=E4=B8=BAm0009);?= =?UTF-8?q?m0016=E7=A7=8D=E5=AD=90=E8=BF=81=E7=A7=BB14=E8=A1=A8(pricing=5F?= =?UTF-8?q?program/timing+product/category+discount+acctres/storres?= =?UTF-8?q?=E8=A7=84=E6=A0=BC=E6=98=A0=E5=B0=84+pipeline=5Fpricing=5Fmap+l?= =?UTF-8?q?lm=5Fvendor/model/api=5Fprofile/org=5Fpolicy=E4=BB=85org0,mysql?= =?UTF-8?q?dump=E5=AF=BC=E5=87=BAINSERT=20IGNORE=E5=B9=82=E7=AD=89,api=5Fk?= =?UTF-8?q?ey=E5=AF=86=E6=96=87=E4=B8=8D=E8=BF=9Bgit=E8=B5=B0=E9=9A=94?= =?UTF-8?q?=E7=A6=BB=E9=80=9A=E9=81=93);m0017(env=3Dprod)business=5Fdate?= =?UTF-8?q?=E6=92=AD=E7=A7=8DCURDATE+=E5=88=87=E6=97=A5=E4=BA=A4accounting?= =?UTF-8?q?=E6=96=B0=E7=AB=AF=E7=82=B9dayend.dspy;rp.json=E6=B3=A8?= =?UTF-8?q?=E5=86=8Cdayend(any=E6=AE=B5,cron=E6=9C=AC=E6=9C=BA=E8=B0=83?= =?UTF-8?q?=E7=94=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/rp.json | 3 +- deploy/dmig.py | 8 ++ .../m0009_llm_model_drop_price_fields.json | 17 ---- .../m0015_llm_model_drop_price_fields.json | 43 ++++++++++ .../migrations/m0016_llm_platform_seed.json | 79 +++++++++++++++++++ .../migrations/m0017_business_date_prod.json | 12 +++ 6 files changed, 144 insertions(+), 18 deletions(-) delete mode 100644 deploy/migrations/m0009_llm_model_drop_price_fields.json create mode 100644 deploy/migrations/m0015_llm_model_drop_price_fields.json create mode 100644 deploy/migrations/m0016_llm_platform_seed.json create mode 100644 deploy/migrations/m0017_business_date_prod.json diff --git a/conf/rp.json b/conf/rp.json index f5c79f6..ba59f30 100644 --- a/conf/rp.json +++ b/conf/rp.json @@ -19,7 +19,8 @@ "/unipay/usermenu.ui", "/univer-office", "/univer-office/**", - "/accounting/api/fetch_forex_rates.dspy" + "/accounting/api/fetch_forex_rates.dspy", + "/accounting/api/dayend.dspy" ], "logined": [ "/idfile", diff --git a/deploy/dmig.py b/deploy/dmig.py index ee1c0d6..2b25582 100755 --- a/deploy/dmig.py +++ b/deploy/dmig.py @@ -167,6 +167,14 @@ def render_step(conf, step, direction): if m: if column_exists(conf, m.group(1), m.group(3)): return [], "列已存在: %s.%s" % (m.group(1), m.group(3)) + # DROP COLUMN 幂等守卫:列已不存在则跳过(生产表由 create_tables.py 按最新 + # models 建出、天然没有旧列,m0009/m0010 类删列迁移直跑会 1091 中止) + m = re.match(r"ALTER\s+TABLE\s+`?(\w+)`?\s+DROP\s+(COLUMN\s+)?`?(\w+)`?", sql, re.I) + if m: + if not table_exists(conf, m.group(1)): + return [], "表不存在: %s" % m.group(1) + if not column_exists(conf, m.group(1), m.group(3)): + return [], "列已不存在: %s.%s" % (m.group(1), m.group(3)) m = re.match(r"CREATE\s+(UNIQUE\s+)?INDEX\s+`?(\w+)`?\s+ON\s+`?(\w+)`?", sql, re.I) if m: if index_exists(conf, m.group(3), m.group(2)): diff --git a/deploy/migrations/m0009_llm_model_drop_price_fields.json b/deploy/migrations/m0009_llm_model_drop_price_fields.json deleted file mode 100644 index 24bc966..0000000 --- a/deploy/migrations/m0009_llm_model_drop_price_fields.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "id": "m0009", - "title": "llm_model 删除价格/成本四字段(price_input/price_output/cost_input/cost_output)——定价统一走 ppid 定价平台,模型表不再存单价(2026-09-04 用户定夺)", - "backup_tables": ["llm_model"], - "up": [ - {"op": "sql", "sql": "ALTER TABLE llm_model DROP COLUMN price_input"}, - {"op": "sql", "sql": "ALTER TABLE llm_model DROP COLUMN price_output"}, - {"op": "sql", "sql": "ALTER TABLE llm_model DROP COLUMN cost_input"}, - {"op": "sql", "sql": "ALTER TABLE llm_model DROP COLUMN cost_output"} - ], - "down": [ - {"op": "sql", "sql": "ALTER TABLE llm_model ADD COLUMN price_input DECIMAL(12,6) NOT NULL DEFAULT 0 COMMENT '输入单价(元/千token)'"}, - {"op": "sql", "sql": "ALTER TABLE llm_model ADD COLUMN price_output DECIMAL(12,6) NOT NULL DEFAULT 0 COMMENT '输出单价(元/千token)'"}, - {"op": "sql", "sql": "ALTER TABLE llm_model ADD COLUMN cost_input DECIMAL(12,6) NOT NULL DEFAULT 0 COMMENT '输入成本(元/千token)'"}, - {"op": "sql", "sql": "ALTER TABLE llm_model ADD COLUMN cost_output DECIMAL(12,6) NOT NULL DEFAULT 0 COMMENT '输出成本(元/千token)'"} - ] -} diff --git a/deploy/migrations/m0015_llm_model_drop_price_fields.json b/deploy/migrations/m0015_llm_model_drop_price_fields.json new file mode 100644 index 0000000..ea2f50e --- /dev/null +++ b/deploy/migrations/m0015_llm_model_drop_price_fields.json @@ -0,0 +1,43 @@ +{ + "id": "m0015", + "title": "llm_model 删除价格/成本四字段(price_input/price_output/cost_input/cost_output)——定价统一走 ppid 定价平台,模型表不再存单价(2026-09-04 用户定夺)(原编号m0009与rag迁移撞号被静默覆盖从未执行,2026-09-09改号;测试库列已不存在,守卫将全skip)", + "backup_tables": [ + "llm_model" + ], + "up": [ + { + "op": "sql", + "sql": "ALTER TABLE llm_model DROP COLUMN price_input" + }, + { + "op": "sql", + "sql": "ALTER TABLE llm_model DROP COLUMN price_output" + }, + { + "op": "sql", + "sql": "ALTER TABLE llm_model DROP COLUMN cost_input" + }, + { + "op": "sql", + "sql": "ALTER TABLE llm_model DROP COLUMN cost_output" + } + ], + "down": [ + { + "op": "sql", + "sql": "ALTER TABLE llm_model ADD COLUMN price_input DECIMAL(12,6) NOT NULL DEFAULT 0 COMMENT '输入单价(元/千token)'" + }, + { + "op": "sql", + "sql": "ALTER TABLE llm_model ADD COLUMN price_output DECIMAL(12,6) NOT NULL DEFAULT 0 COMMENT '输出单价(元/千token)'" + }, + { + "op": "sql", + "sql": "ALTER TABLE llm_model ADD COLUMN cost_input DECIMAL(12,6) NOT NULL DEFAULT 0 COMMENT '输入成本(元/千token)'" + }, + { + "op": "sql", + "sql": "ALTER TABLE llm_model ADD COLUMN cost_output DECIMAL(12,6) NOT NULL DEFAULT 0 COMMENT '输出成本(元/千token)'" + } + ] +} \ No newline at end of file diff --git a/deploy/migrations/m0016_llm_platform_seed.json b/deploy/migrations/m0016_llm_platform_seed.json new file mode 100644 index 0000000..128720d --- /dev/null +++ b/deploy/migrations/m0016_llm_platform_seed.json @@ -0,0 +1,79 @@ +{ + "id": "m0016", + "title": "llm平台+商品化种子迁移(2026-09-09 生产增量上线批次):定价方案/产线产品/账号存储规格/llm供应商模型模板全量幂等落生产——llm_org_policy 仅迁 org 0 平台缺省策略;敏感 api_key 密文走隔离通道不进本文件;不可逆(回退走备份恢复)", + "backup_tables": [ + "pricing_program", + "pricing_program_timing", + "product_category", + "product", + "discount", + "acctres_spec", + "acctres_pricing_map", + "storres_spec", + "storres_pricing_map", + "pipeline_pricing_map", + "llm_vendor", + "llm_model", + "llm_api_profile", + "llm_org_policy" + ], + "up": [ + { + "op": "sql", + "sql": "INSERT IGNORE INTO `pricing_program` (`id`, `name`, `ownerid`, `providerid`, `pricing_belong`, `description`, `currency`) VALUES ('8DWArI5gQMp9mDC7hM_tZ','happyhorse-1.1 视频系列定价(共享)','0','','','定价出处:用户提供的阿里云百炼价目表(2026-09-07粘贴正文) | 文档原文:happyhorse-1.1-i2v/t2v/r2v 480P¥0.45/秒 720P¥0.9/秒 1080P¥1.2/秒','CNY'),('cmBhXf7Zxc0XCCT8jr6wf','qwen3.7-text-embedding-flash 定价','0','','','定价出处:用户提供的阿里云百炼价目表(2026-09-07粘贴正文) | 文档原文:qwen3.7-text-embedding-flash 文本输入¥0.125/百万tokens','CNY'),('fvpTfXl8DCtQmzWAgFgv8','qwen3.7-flash 定价','0','','','定价出处:用户提供的阿里云百炼价目表(2026-09-07粘贴正文) | 文档原文:qwen3.7-flash 输入<=32k:0.2/0.8/0.04; 32k<输入<=256k:0.6/2.4/0.12; 256k<输入<=1m:1.2/4.8/0.24 元/百万tokens','CNY'),('h5xVTJeE-M0_-X5z71HBX','MiniMax-M3 定价','0','','','定价出处:用户提供的MiniMax按量计费价目表(2026-09-07粘贴正文) | 文档原文:MiniMax-M3 ≤512k输入tokens永久五折 输入2.10/输出8.40/缓存读取0.42; >512k永久五折 4.20/16.80/0.84 元/百万tokens','CNY'),('k4JGwtZP87nMw4G_pr5rV','qwen-image-plus 定价','0','','','定价出处:(未提供) | 文档原文:图片生成 ¥0.2 每张。','CNY'),('KgVLm71VVZMMcnCsaL7qI','qwen-image-3.0-pro 定价','0','','','定价出处:https://www.qianwenai.com/models/qwen-image-3.0-pro | 文档原文:1K图片输入 ¥ 0.02 每张;2K图片输入 ¥ 0.02 每张;1K图片生成 ¥ 0.25 每张;2K图片生成 ¥ 0.5 每张','CNY'),('otHGYFUChqsSNInbeggM3','wan3.0-video-prime 定价','0','','','定价出处:用户提供的阿里云百炼价目表(2026-09-07粘贴正文) | 文档原文:wan3.0-video-prime 480P¥0.45/秒 720P¥0.9/秒 1080P¥1.8/秒','CNY'),('PP_PIPE_BID','投标产线使用费','0','','','定价出处:用户商业定价规范(2026-09):投标产线 150元/月,年付=月×10','CNY'),('PP_PIPE_DEV','开发产线使用费','0','','','定价出处:用户商业定价规范(2026-09):开发产线 200元/月,年付=月×10','CNY'),('PP_PIPE_OPP','商机产线使用费','0','','','定价出处:用户商业定价规范(2026-09):商机产线 100元/月,年付=月×10','CNY'),('PP_STOR_STD','工作空间标准存储','0','','','定价出处:用户商业定价规范(2026-09):存储 1元/GB/月','CNY'),('PvbWeuPWVuQa6FoCWpfeG','MiniMax-M2.7 定价','0','','','定价出处:用户提供的MiniMax按量计费价目表(2026-09-07粘贴正文) | 文档原文:MiniMax-M2.7 输入2.1/输出8.4/缓存读取0.42 元/百万tokens','CNY'),('q0_KH6wv874VdCnm_4Ugi','ali-deepseek-v4-pro 定价(忙闲时)','0','','','定价出处:用户提供的阿里云百炼价目表(2026-09-07粘贴正文) | 文档原文:deepseek-v4-pro-0813 忙时(8点-22点)输入¥9/输出¥27/缓存¥0.9; 闲时(22点-次日8点)¥4.5/¥13.5/¥0.45 元/百万tokens','CNY'),('QDZV7qdk8Cr67DTWt5cPd','qwen3.8-max 定价','0','','','定价出处:用户提供的阿里云百炼价目表(2026-09-07粘贴正文) | 文档原文:qwen3.8-max 输入¥12/百万tokens 输出¥36 缓存命中¥1.5','CNY'),('woSIllVJdKfrvxwLiJ5NS','MiniMax-M2.7-highspeed 定价','0','','','定价出处:用户提供的MiniMax按量计费价目表(2026-09-07粘贴正文) | 文档原文:MiniMax-M2.7-highspeed 输入4.2/输出16.8/缓存读取0.42 元/百万tokens','CNY'),('Xaf8UTDeQpGxzWa-_Gt7X','qwen3.8-flash 定价','0','','','定价出处:用户提供的阿里云百炼价目表(2026-09-07粘贴正文) | 文档原文:qwen3.8-flash 输入¥0.8/百万tokens 输出¥2.7 缓存命中¥0.1','CNY')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `pricing_program_timing` (`id`, `ppid`, `name`, `pricing_data`, `enabled_date`, `expired_date`) VALUES ('5-CYT1KFUvU6OMyAnu7rr','woSIllVJdKfrvxwLiJ5NS','MiniMax-M2.7-highspeed 定价','unit_values:\\n 百万: 1000000\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n uncache_tokens:\\n type: int\\n role: factor\\n label: 非缓存输入Token\\n derived: prompt_tokens - prompt_tokens_details.cached_tokens\\n cached_tokens:\\n type: int\\n role: factor\\n label: 缓存Token\\n derived: prompt_tokens_details.cached_tokens\\n completion_tokens:\\n type: float\\n role: factor\\n label: 输出tokens\\npricings:\\n- price_factors: uncache_tokens\\n unit_prices: 4.2\\n unit: 百万\\n- price_factors: completion_tokens\\n unit_prices: 16.8\\n unit: 百万\\n- price_factors: cached_tokens\\n unit_prices: 0.42\\n unit: 百万\\n','2026-09-07','9999-12-31'),('6UyjjcxBIOeraasdW-yS0','KgVLm71VVZMMcnCsaL7qI','qwen-image-3.0-pro flat计价','unit_values:\\n 张: 1\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n flat:\\n type: float\\n role: factor\\n label: 按次\\n resolution:\\n type: string\\n role: filter\\n label: resolution\\n type:\\n type: string\\n role: filter\\n label: type\\npricings:\\n- price_factors: flat\\n unit_prices: 0.02\\n unit: 张\\n resolution: 1K\\n type: 图片输入\\n- price_factors: flat\\n unit_prices: 0.02\\n unit: 张\\n resolution: 2K\\n type: 图片输入\\n- price_factors: flat\\n unit_prices: 0.25\\n unit: 张\\n resolution: 1K\\n type: 图片生成\\n- price_factors: flat\\n unit_prices: 0.5\\n unit: 张\\n resolution: 2K\\n type: 图片生成\\n','2026-09-08','9999-12-31'),('a3QVPAKh4mkcRxJIGgmN7','PvbWeuPWVuQa6FoCWpfeG','MiniMax-M2.7 定价','unit_values:\\n 百万: 1000000\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n uncache_tokens:\\n type: int\\n role: factor\\n label: 非缓存输入Token\\n derived: prompt_tokens - prompt_tokens_details.cached_tokens\\n cached_tokens:\\n type: int\\n role: factor\\n label: 缓存Token\\n derived: prompt_tokens_details.cached_tokens\\n completion_tokens:\\n type: float\\n role: factor\\n label: 输出tokens\\npricings:\\n- price_factors: uncache_tokens\\n unit_prices: 2.1\\n unit: 百万\\n- price_factors: completion_tokens\\n unit_prices: 8.4\\n unit: 百万\\n- price_factors: cached_tokens\\n unit_prices: 0.42\\n unit: 百万\\n','2026-09-07','9999-12-31'),('e70zXlu198hVNUy9qgErR','k4JGwtZP87nMw4G_pr5rV','qwen-image-plus flat计价','unit_values:\\n 张: 1\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n flat:\\n type: float\\n role: factor\\n label: 按次\\npricings:\\n- price_factors: flat\\n unit_prices: 0.2\\n unit: 张\\n','2026-09-07','9999-12-31'),('Hy7fu_ZWUyUR1G2ZgksjL','q0_KH6wv874VdCnm_4Ugi','ali-deepseek-v4-pro 定价(忙闲时)','unit_values:\\n 百万: 1000000\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n uncache_tokens:\\n type: int\\n role: factor\\n label: 非缓存输入Token\\n derived: prompt_tokens - prompt_tokens_details.cached_tokens\\n cached_tokens:\\n type: int\\n role: factor\\n label: 缓存Token\\n derived: prompt_tokens_details.cached_tokens\\n completion_tokens:\\n type: float\\n role: factor\\n label: 输出tokens\\n hour:\\n type: int\\n role: filter\\n label: 调用小时\\n value_mode: between\\npricings:\\n- price_factors: uncache_tokens\\n unit_prices: 9\\n unit: 百万\\n filters:\\n - hour: 8 =~ 22\\n value_mode: between\\n unit_prices: 9\\n - hour: 22 =~ 24\\n value_mode: between\\n unit_prices: 4.5\\n - hour: 0 =~ 8\\n value_mode: between\\n unit_prices: 4.5\\n- price_factors: completion_tokens\\n unit_prices: 27\\n unit: 百万\\n filters:\\n - hour: 8 =~ 22\\n value_mode: between\\n unit_prices: 27\\n - hour: 22 =~ 24\\n value_mode: between\\n unit_prices: 13.5\\n - hour: 0 =~ 8\\n value_mode: between\\n unit_prices: 13.5\\n- price_factors: cached_tokens\\n unit_prices: 0.9\\n unit: 百万\\n filters:\\n - hour: 8 =~ 22\\n value_mode: between\\n unit_prices: 0.9\\n - hour: 22 =~ 24\\n value_mode: between\\n unit_prices: 0.45\\n - hour: 0 =~ 8\\n value_mode: between\\n unit_prices: 0.45\\n','2026-09-07','9999-12-31'),('IBHDUzm8Z19Jumk-gkpJ4','QDZV7qdk8Cr67DTWt5cPd','qwen3.8-max 定价','unit_values:\\n 百万: 1000000\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n uncache_tokens:\\n type: int\\n role: factor\\n label: 非缓存输入Token\\n derived: prompt_tokens - prompt_tokens_details.cached_tokens\\n cached_tokens:\\n type: int\\n role: factor\\n label: 缓存Token\\n derived: prompt_tokens_details.cached_tokens\\n completion_tokens:\\n type: float\\n role: factor\\n label: 输出tokens\\npricings:\\n- price_factors: uncache_tokens\\n unit_prices: 12\\n unit: 百万\\n- price_factors: completion_tokens\\n unit_prices: 36\\n unit: 百万\\n- price_factors: cached_tokens\\n unit_prices: 1.5\\n unit: 百万\\n','2026-09-07','9999-12-31'),('ihWZrvs3mqpkZzdKhsLSO','Xaf8UTDeQpGxzWa-_Gt7X','qwen3.8-flash 定价','unit_values:\\n 百万: 1000000\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n uncache_tokens:\\n type: int\\n role: factor\\n label: 非缓存输入Token\\n derived: prompt_tokens - prompt_tokens_details.cached_tokens\\n cached_tokens:\\n type: int\\n role: factor\\n label: 缓存Token\\n derived: prompt_tokens_details.cached_tokens\\n completion_tokens:\\n type: float\\n role: factor\\n label: 输出tokens\\npricings:\\n- price_factors: uncache_tokens\\n unit_prices: 0.8\\n unit: 百万\\n- price_factors: completion_tokens\\n unit_prices: 2.7\\n unit: 百万\\n- price_factors: cached_tokens\\n unit_prices: 0.1\\n unit: 百万\\n','2026-09-07','9999-12-31'),('J7vmjH41C792RAdERECRs','otHGYFUChqsSNInbeggM3','wan3.0-video-prime 定价','unit_values:\\n 秒: 1\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n duration:\\n type: float\\n role: factor\\n label: 时长\\n SR:\\n type: int\\n role: filter\\n label: 分辨率\\npricings:\\n- price_factors: duration\\n unit_prices: 0.45\\n unit: 秒\\n SR: 480\\n- price_factors: duration\\n unit_prices: 0.9\\n unit: 秒\\n SR: 720\\n- price_factors: duration\\n unit_prices: 1.8\\n unit: 秒\\n SR: 1080\\n','2026-09-07','9999-12-31'),('Koh8yUqjsAqW814SwwX0J','PP_PIPE_BID','投标产线使用费','unit_values:\\n 月: 1\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n months:\\n type: int\\n role: factor\\n label: 月数\\npricings:\\n- price_factors: months\\n unit_prices: 150\\n unit: 月\\n','2026-09-07','9999-12-31'),('pr4BgbURUWgJeVKOyjAVz','h5xVTJeE-M0_-X5z71HBX','MiniMax-M3 定价','unit_values:\\n 百万: 1000000\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n uncache_tokens:\\n type: int\\n role: factor\\n label: 非缓存输入Token\\n derived: prompt_tokens - prompt_tokens_details.cached_tokens\\n cached_tokens:\\n type: int\\n role: factor\\n label: 缓存Token\\n derived: prompt_tokens_details.cached_tokens\\n completion_tokens:\\n type: float\\n role: factor\\n label: 输出tokens\\n prompt_tokens:\\n type: int\\n role: filter\\n label: prompt_tokens\\n value_mode: between\\npricings:\\n- price_factors: uncache_tokens\\n unit_prices: 4.2\\n unit: 百万\\n filters:\\n - prompt_tokens: 0 =~= 512000\\n value_mode: between\\n unit_prices: 2.1\\n - prompt_tokens: 512000 ~= 1000000\\n value_mode: between\\n unit_prices: 4.2\\n- price_factors: completion_tokens\\n unit_prices: 16.8\\n unit: 百万\\n filters:\\n - prompt_tokens: 0 =~= 512000\\n value_mode: between\\n unit_prices: 8.4\\n - prompt_tokens: 512000 ~= 1000000\\n value_mode: between\\n unit_prices: 16.8\\n- price_factors: cached_tokens\\n unit_prices: 0.84\\n unit: 百万\\n filters:\\n - prompt_tokens: 0 =~= 512000\\n value_mode: between\\n unit_prices: 0.42\\n - prompt_tokens: 512000 ~= 1000000\\n value_mode: between\\n unit_prices: 0.84\\n','2026-09-07','9999-12-31'),('rIeUCuZpkKHST4GdYNVJN','fvpTfXl8DCtQmzWAgFgv8','qwen3.7-flash 定价','unit_values:\\n 百万: 1000000\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n uncache_tokens:\\n type: int\\n role: factor\\n label: 非缓存输入Token\\n derived: prompt_tokens - prompt_tokens_details.cached_tokens\\n cached_tokens:\\n type: int\\n role: factor\\n label: 缓存Token\\n derived: prompt_tokens_details.cached_tokens\\n completion_tokens:\\n type: float\\n role: factor\\n label: 输出tokens\\n prompt_tokens:\\n type: int\\n role: filter\\n label: prompt_tokens\\n value_mode: between\\npricings:\\n- price_factors: uncache_tokens\\n unit_prices: 1.2\\n unit: 百万\\n filters:\\n - prompt_tokens: 0 =~= 32000\\n value_mode: between\\n unit_prices: 0.2\\n - prompt_tokens: 32000 ~= 256000\\n value_mode: between\\n unit_prices: 0.6\\n - prompt_tokens: 256000 ~= 1000000\\n value_mode: between\\n unit_prices: 1.2\\n- price_factors: completion_tokens\\n unit_prices: 4.8\\n unit: 百万\\n filters:\\n - prompt_tokens: 0 =~= 32000\\n value_mode: between\\n unit_prices: 0.8\\n - prompt_tokens: 32000 ~= 256000\\n value_mode: between\\n unit_prices: 2.4\\n - prompt_tokens: 256000 ~= 1000000\\n value_mode: between\\n unit_prices: 4.8\\n- price_factors: cached_tokens\\n unit_prices: 0.24\\n unit: 百万\\n filters:\\n - prompt_tokens: 0 =~= 32000\\n value_mode: between\\n unit_prices: 0.04\\n - prompt_tokens: 32000 ~= 256000\\n value_mode: between\\n unit_prices: 0.12\\n - prompt_tokens: 256000 ~= 1000000\\n value_mode: between\\n unit_prices: 0.24\\n','2026-09-07','9999-12-31'),('SWDPzSrYYELAP0emrcnwy','cmBhXf7Zxc0XCCT8jr6wf','qwen3.7-text-embedding-flash 定价','unit_values:\\n 百万: 1000000\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n prompt_tokens:\\n type: float\\n role: factor\\n label: 输入tokens\\npricings:\\n- price_factors: prompt_tokens\\n unit_prices: 0.125\\n unit: 百万\\n','2026-09-07','9999-12-31'),('vb2q96YqxscIe9FCq2QzZ','8DWArI5gQMp9mDC7hM_tZ','happyhorse-1.1 视频系列定价(共享)','unit_values:\\n 秒: 1\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n duration:\\n type: float\\n role: factor\\n label: 时长\\n SR:\\n type: int\\n role: filter\\n label: 分辨率\\npricings:\\n- price_factors: duration\\n unit_prices: 0.45\\n unit: 秒\\n SR: 480\\n- price_factors: duration\\n unit_prices: 0.9\\n unit: 秒\\n SR: 720\\n- price_factors: duration\\n unit_prices: 1.2\\n unit: 秒\\n SR: 1080\\n','2026-09-07','9999-12-31'),('vRV_0ENg2KKF3fy0GkLBQ','PP_STOR_STD','工作空间标准存储','unit_values:\\n GB月: 1\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n storage_gb:\\n type: float\\n role: factor\\n label: 存储容量GB\\npricings:\\n- price_factors: storage_gb\\n unit_prices: 1\\n unit: GB月\\n','2026-09-07','9999-12-31'),('xjV8dXlXeWfr8wuOBfFDV','PP_PIPE_OPP','商机产线使用费','unit_values:\\n 月: 1\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n months:\\n type: int\\n role: factor\\n label: 月数\\npricings:\\n- price_factors: months\\n unit_prices: 100\\n unit: 月\\n','2026-09-07','9999-12-31'),('ypgeA3mXiYO5uZAcl84DH','PP_PIPE_DEV','开发产线使用费','unit_values:\\n 月: 1\\nfields:\\n price_factors:\\n type: string\\n role: factor\\n label: 计价因子\\n unit_prices:\\n type: float\\n role: factor\\n label: 单位定价\\n unit:\\n type: string\\n role: factor\\n label: 计价单位\\n months:\\n type: int\\n role: factor\\n label: 月数\\npricings:\\n- price_factors: months\\n unit_prices: 200\\n unit: 月\\n','2026-09-07','9999-12-31')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `product_category` (`id`, `parent_id`, `name`, `description`, `has_product`, `product_type`, `product_type_title`, `resource_module`, `sort_order`, `icon`, `status`, `org_id`, `created_by`, `created_at`, `updated_at`) VALUES ('3ySYbkyNtidOwXAIt3z-u','7S4za5hOEJqBGXb2f-NmK','文生视频','产线平台模型(文生视频)','1','pipeline_llm_model','产线模型按量','pipeline_llm',0,'','1','0','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('7S4za5hOEJqBGXb2f-NmK',NULL,'大模型消费','','0',NULL,'tokens','pipeline_llm',1,'','1','0','user-01','2026-09-07 08:34:58','2026-09-07 09:14:05'),('cCrUBlkK84weqhKJBq8zm','7S4za5hOEJqBGXb2f-NmK','多模态重排序','产线平台模型(多模态重排序)','1','pipeline_llm_model','产线模型按量','pipeline_llm',0,'','1','0','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('ctiaCa2wr5TDCkJxwCurz',NULL,'pipeline','','0',NULL,'产线','pipeline_core',NULL,'','1','0','user-01','2026-09-07 08:35:45','2026-09-07 09:14:05'),('g_M8w84LdCUhYvtXnwjqj','7S4za5hOEJqBGXb2f-NmK','文本对话/生成','产线平台模型(文本对话/生成)','1','pipeline_llm_model','产线模型按量','pipeline_llm',0,'','1','0','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('HhskeYvASfCovGiRaJ8kJ','7S4za5hOEJqBGXb2f-NmK','图生视频','产线平台模型(图生视频)','1','pipeline_llm_model','产线模型按量','pipeline_llm',0,'','1','0','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('kAWyBs4BQyizhkWZVQYkG','vuGex3hO7PHbGMqF_PUAq','存储服务','工作空间容量(按 GB月 计费)','1','workspace_storage','存储容量','storage_resource',0,'','1','0','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('owE90j-XjYzUow5xIsP63','7S4za5hOEJqBGXb2f-NmK','图生图','产线平台模型(图生图)','1','pipeline_llm_model','产线模型按量','pipeline_llm',0,'','1','0','system','2026-09-08 06:49:53','2026-09-08 06:49:53'),('qgBNL9da29E9eQ6stnGjg','7S4za5hOEJqBGXb2f-NmK','文本向量化','产线平台模型(文本向量化)','1','pipeline_llm_model','产线模型按量','pipeline_llm',0,'','1','0','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('s5XCc_M5sOCO4NHExczj5','7S4za5hOEJqBGXb2f-NmK','文生图','产线平台模型(文生图)','1','pipeline_llm_model','产线模型按量','pipeline_llm',0,'','1','0','system','2026-09-08 06:02:23','2026-09-08 06:02:23'),('sNrhEzE3BWriU_n0PuRm1','7S4za5hOEJqBGXb2f-NmK','参考生视频','产线平台模型(参考生视频)','1','pipeline_llm_model','产线模型按量','pipeline_llm',0,'','1','0','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('U4JVaqnZY-XKtAYzM12pt','ctiaCa2wr5TDCkJxwCurz','产线服务','产线使用费(订阅制,按月/按年)','1','pipeline','产线','pipeline_core',0,'','1','0','system','2026-09-07 09:14:06','2026-09-07 09:14:06'),('vbL-DcwGxl-LRk2JEaUPc','7S4za5hOEJqBGXb2f-NmK','多模态向量化','产线平台模型(多模态向量化)','1','pipeline_llm_model','产线模型按量','pipeline_llm',0,'','1','0','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('vuGex3hO7PHbGMqF_PUAq',NULL,'storage','','0',NULL,'存储','storage_resource',NULL,'','1','0','user-01','2026-09-07 08:35:19','2026-09-07 09:14:05'),('WjCzmDOM8KMGrg-41RjFU','7S4za5hOEJqBGXb2f-NmK','多媒体生文','产线平台模型(多媒体生文)','1','pipeline_llm_model','产线模型按量','pipeline_llm',0,'','1','0','system','2026-09-07 09:14:05','2026-09-07 09:14:05')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `product` (`id`, `category_id`, `product_code`, `product_name`, `product_type`, `resource_ref_id`, `brief_intro`, `detail_intro`, `extra_json`, `enabled_date`, `expired_date`, `status`, `price_type`, `price`, `currency`, `sort_order`, `org_id`, `providerid`, `created_by`, `created_at`, `updated_at`) VALUES ('2IA6--L_duZzOauUa6jkq','WjCzmDOM8KMGrg-41RjFU','qwen3.8-flash','qwen3.8-flash','pipeline_llm_model','U-0h23GafPiQRqAO0CfHF','千问最新推出的多模态大模型,输入 图像 文本 视频,输出 文本,原生支持百万级上下文窗口 [出处:https://www.qianwenai.com/models/qwen3.8-flash]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('3MKSUlaIs3d22Zlhjc4sH','HhskeYvASfCovGiRaJ8kJ','happyhorse-1.1-i2v','happyhorse-1.1-i2v','pipeline_llm_model','xgILJxYkO9OvP0n2CGnJF','happyhorse-1.1-i2v 图生视频 [出处:https://www.qianwenai.com/models/happyhorse-1.1-i2v]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('3o3NOpM5CXSCLZic5Wy_X','U4JVaqnZY-XKtAYzM12pt','opportunity_general','商机产线','pipeline','opportunity_general','招标市场情报(数据爬取平台)→热点软件推荐→每日AI/Agent招标→研发报告编写→人工确认→研发审批流程',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',10,'0','','system','2026-09-07 09:14:06','2026-09-07 09:14:06'),('8Km3s_7Mq86kezx_q6pGE','g_M8w84LdCUhYvtXnwjqj','MiniMax-M2.7','MiniMax-M2.7','pipeline_llm_model','sST_KtMUXTqAQqquDMF5p','开启模型的自我迭代(输出速度约 60 TPS) [出处:https://platform.minimax.cn/docs/api-reference/text-openai-api]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('agpNPcn3CAZJPfGdpu5Y3','cCrUBlkK84weqhKJBq8zm','qwen3-vl-rerank','qwen3-vl-rerank','pipeline_llm_model','aJ5rNwesP85HUXWYAlwnX','由旧 llm 表迁移生成',NULL,NULL,NULL,NULL,'0','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:40:17'),('b_xIBFeHEqYzz2E77ICrP','g_M8w84LdCUhYvtXnwjqj','MiniMax-M2.7-highspeed','MiniMax-M2.7-highspeed','pipeline_llm_model','fdpiOM4iCqqLmV9yvT4jU','M2.7 极速版:效果不变,更快,更敏捷(输出速度约 100 TPS) [出处:https://platform.minimax.cn/docs/api-reference/text-openai-api]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('e21i46zBAUD1nuGQaOXkD','sNrhEzE3BWriU_n0PuRm1','wan3.0-video-prime','wan3.0-video-prime','pipeline_llm_model','PW5DxYZgIJx205rtQxXYt','万相3.0高速版全能参考视频生成(All-in-One):文生视频/首尾帧图生视频/参考生视频统一入口;参考生视频支持图片/视频/音频自由组合(可全不传=纯文生视频);最长30秒,30fps。 [出处:https://help.aliyun.com/zh/model-studio/wan3-video-generation-api-reference]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('FHSS6iWsxMyz-c59zjuVK','WjCzmDOM8KMGrg-41RjFU','doubao-seed-2-1-turbo-260628','doubao-seed-2-1-turbo-260628','pipeline_llm_model','DP_kjIFyhC-XAHim5OcL_','多模态模型,输入类型为文本、图片、视频,输出类型为文本;效果与成本均衡,全面升级 Coding、Agent 与多模态能力,支持深度思考、视觉理解、GUI Agent [出处:https://ark.volcengine.com/region:cn-beijing/model/detail?name=doubao-seed-2-1-turbo]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('G_QT0iuJtN-TFUMEcc21S','WjCzmDOM8KMGrg-41RjFU','doubao-seed-2-1-pro-260628','doubao-seed-2-1-pro-260628','pipeline_llm_model','fVIiMAbdhFXQ9ioHPd57f','面向生产级任务,全面升级编程、智能体与多模态能力。多模态模型、深度思考、视觉理解。输入类型:文本、图片、视频;输出类型:文本。 [出处:https://ark.volcengine.com/region:cn-beijing/model/detail?name=doubao-seed-2-1-pro]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('h0-nIEpW2sMO2k69MKJgt','g_M8w84LdCUhYvtXnwjqj','deepseek-v4-pro','ali-deepseek-v4-pro','pipeline_llm_model','hJdzH4Mogp_BdkLzr_1kH','由旧 llm 表迁移生成',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('MN9G9qQ3z8m3Fmcne0KAs','vbL-DcwGxl-LRk2JEaUPc','tongyi-embedding-vision-flash','tongyi-embedding-vision-flash','pipeline_llm_model','9NPnviBHY539npY6ncdw2','由旧 llm 表迁移生成',NULL,NULL,NULL,NULL,'0','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:40:17'),('MVunuBEYJ3iBvAZtEPTl6','owE90j-XjYzUow5xIsP63','qwen-image-3.0-pro','qwen-image-3.0-pro','pipeline_llm_model','T-JwYIsVyI8MbIHR4rZfV','输入 图像 文本,输出 图像;支持最大 4.5k token 输入、图中图密集信息排版、10px 小字精准渲染、12 国语言多种字体原生渲染 [出处:https://www.qianwenai.com/models/qwen-image-3.0-pro]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-08 06:49:53','2026-09-08 06:49:53'),('OU9tfS8GINm5r-YXTosoj','kAWyBs4BQyizhkWZVQYkG','WS-STORAGE-STD','工作空间标准存储','workspace_storage','eTvma2nN2CCRBCbtvAKic','工作空间容量,按 GB月 计费',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',10,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('pkECKCXb4nGrnnNmMy6y3','WjCzmDOM8KMGrg-41RjFU','qwen3.7-flash','qwen3.7-flash','pipeline_llm_model','2K8Xvs_KKOsJqhquDO3T0','Qwen3.7原生视觉语言系列Flash模型,输入图像、文本、视频,输出文本,重点强化多模态基础能力、万物识别能力、真实世界感知与空间智能,支持多模态Agent与多模态Coding。 [出处:https://www.qianwenai.com/models/qwen3.7-flash]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('psBPnsieFpHp6xLLmwPjF','s5XCc_M5sOCO4NHExczj5','qwen-image-plus','qwen-image-plus','pipeline_llm_model','5WLw8NlwtGAh_bLsQ6M7n','文生图。千问系列图像生成模型,参数规模200亿。具备卓越的文本渲染能力,在复杂文本渲染、各类生成与编辑任务中表现出色。输入:文本。输出:图像。',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-08 06:02:23','2026-09-08 06:02:23'),('r_sEyoFk6G77mixFzVUcU','qgBNL9da29E9eQ6stnGjg','qwen3.7-text-embedding-flash','qwen3.7-text-embedding-flash','pipeline_llm_model','KEh2rErvz8uEufR0AYUWv','由旧 llm 表迁移生成',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('rcBM8EkWmXR4oUrVKZVsp','sNrhEzE3BWriU_n0PuRm1','happyhorse-1.1-r2v','happyhorse-1.1-r2v','pipeline_llm_model','WaHCt7A4i-OSFMOZgUfSq','happyhorse-1.1-r2v 参考生视频 [出处:https://www.qianwenai.com/models/happyhorse-1.1-r2v]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('sGvPP3uchNqyMQYoZX4ht','g_M8w84LdCUhYvtXnwjqj','deepseek-v4-flash','ali-deepseek-v4-flash','pipeline_llm_model','Esumay0iEvxBET6XEdUd-','由旧 llm 表迁移生成',NULL,NULL,NULL,NULL,'0','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:40:17'),('T4rTZtbq-rqMX8AoropsD','g_M8w84LdCUhYvtXnwjqj','qwen3.8-max','qwen3.8-max','pipeline_llm_model','-zwwnba6DQoPnUV8kdKev','2.4万亿参数MoE旗舰;输入图像、文本、视频,输出文本;原生视觉理解贯穿规划、执行与验证全流程,支持超长文档与长视频的深度语义解析。 [出处:https://www.qianwenai.com/models/qwen3.8-max]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('VC3rFHPiH2ycq1cwl_CG2','vbL-DcwGxl-LRk2JEaUPc','qwen3-vl-embedding','qwen3-vl-embedding','pipeline_llm_model','SmUklWK2McT0zxHwyWVnf','由旧 llm 表迁移生成',NULL,NULL,NULL,NULL,'0','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:40:17'),('VWDgxBTe7-DMS9JE3nOat','U4JVaqnZY-XKtAYzM12pt','sdlc_general','通用软件开发产线','pipeline','sdlc_general','SDLC 开发产线(能力包注册)',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',20,'0','','system','2026-09-07 09:14:06','2026-09-07 09:14:06'),('wOI0WUoRUrf41lCIYNCpa','U4JVaqnZY-XKtAYzM12pt','bidding_general','通用投标产线','pipeline','bidding_general','上传招标文件→解析(评分项/得分规则/资质/投标文件要求/章节骨架)→QC契合度审核→资质准备→分章节编写→章节评审→合成标书→整书评分→交付。招标信息的采集/摘要/审批归商机产线。',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:06','2026-09-07 09:14:06'),('YkNXbCDHsSaSI3VVhml3k','3ySYbkyNtidOwXAIt3z-u','happyhorse-1.1-t2v','happyhorse-1.1-t2v','pipeline_llm_model','QIvDmuvVgszDVHNj2MPrB','文生视频 [出处:https://help.aliyun.com/zh/model-studio/wan]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05'),('Z-0qcFqLvjhoaUoQRGU-9','WjCzmDOM8KMGrg-41RjFU','MiniMax-M3','MiniMax-M3','pipeline_llm_model','km42v4FkTEFKFweoUTUme','最新 M 系列语言模型,适用于 Agent 推理、工具调用、代码和长上下文任务;支持输入文本、图片和视频 [出处:https://platform.minimax.cn/docs/api-reference/text-openai-api]',NULL,NULL,NULL,NULL,'1','1',0.00,'CNY',0,'0','','system','2026-09-07 09:14:05','2026-09-07 09:14:05')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `discount` (`id`, `name`, `resellerid`, `customerid`, `enabled_date`, `expired_date`) VALUES ('X5MdnWJlkT1LMoIiZ68Vy','平台缺省折扣(基准)','0','*','2020-01-01','9999-12-31')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `acctres_spec` (`id`, `spec_code`, `spec_name`, `spec_type`, `description`, `workspace_max`, `workspace_gb`, `concurrent_task`, `gpu_allowed`, `member_max`, `privilege_json`, `sort_order`, `status`, `org_id`, `created_by`, `created_at`, `updated_at`) VALUES ('7-RxlKTQ8BtCNtKs0I1uY','ACC-TRIAL-7D','试用账号(7天)','trial','新用户试用,每机构限领一次',1,5.00,1,'0',1,NULL,10,'active','0',NULL,'2026-08-26 06:56:12','2026-08-26 06:56:12'),('f_e-JXVR_v_qzfwIELtNi','ACC-MONTHLY','月租账号','standard',NULL,5,50.00,3,'1',5,NULL,20,'active','0',NULL,'2026-08-26 06:56:12','2026-08-26 06:56:12'),('GXlqh5C0H9FSrEChv6yxn','ACC-YEARLY','年租账号','standard',NULL,20,200.00,10,'1',20,NULL,30,'active','0',NULL,'2026-08-26 06:56:12','2026-08-26 06:56:12')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `acctres_pricing_map` (`id`, `spec_id`, `charge_mode`, `charge_unit`, `valid_days`, `ppid`, `is_default`, `status`, `org_id`, `created_by`, `created_at`, `updated_at`) VALUES ('oWj1RUsCg9ElVBydhGqOX','7-RxlKTQ8BtCNtKs0I1uY','trial','次',7,NULL,'1','active','0',NULL,'2026-08-26 06:56:12','2026-08-26 06:56:12'),('pSIKknIsVfnrWDd4H4il6','GXlqh5C0H9FSrEChv6yxn','year','年',365,NULL,'1','active','0',NULL,'2026-08-26 06:56:12','2026-08-26 06:56:12'),('rMo_pwijdkEwWqITdpHuo','f_e-JXVR_v_qzfwIELtNi','month','月',30,NULL,'1','active','0',NULL,'2026-08-26 06:56:12','2026-08-26 06:56:12')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `storres_spec` (`id`, `spec_code`, `spec_name`, `storage_class`, `description`, `min_gb`, `max_gb`, `step_gb`, `capacity_total`, `capacity_used`, `backup_enabled`, `attr_json`, `sort_order`, `status`, `org_id`, `created_by`, `created_at`, `updated_at`) VALUES ('eTvma2nN2CCRBCbtvAKic','WS-STORAGE-STD','工作空间标准存储','standard','工作空间容量,按 GB月 计费',1.00,NULL,1.00,-1.00,0.00,'0',NULL,10,'active','0',NULL,'2026-08-26 06:56:12','2026-08-26 06:56:12')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `storres_pricing_map` (`id`, `spec_id`, `meter_mode`, `meter_unit`, `settle_period`, `ppid`, `is_default`, `status`, `org_id`, `created_by`, `created_at`, `updated_at`) VALUES ('-o6IzDSHXw8lvEMlaqITp','eTvma2nN2CCRBCbtvAKic','package','GB月','month','PP_STOR_STD','0','active','0',NULL,'2026-08-26 06:56:12','2026-08-26 06:56:12'),('MAJp4LaqRkuibKop4lzvt','eTvma2nN2CCRBCbtvAKic','ondemand','GB月','month','PP_STOR_STD','1','active','0',NULL,'2026-08-26 06:56:12','2026-08-26 06:56:12')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `pipeline_pricing_map` (`id`, `pipeline_id`, `charge_mode`, `months`, `valid_days`, `ppid`, `is_default`, `status`, `org_id`, `created_by`, `created_at`, `updated_at`) VALUES ('PPM_BID_M','bidding_general','month',1,30,'PP_PIPE_BID','1','active','0',NULL,'2026-09-06 09:01:58','2026-09-06 09:01:58'),('PPM_BID_Y','bidding_general','year',10,365,'PP_PIPE_BID','0','active','0',NULL,'2026-09-06 09:01:58','2026-09-06 09:01:58'),('PPM_DEV_M','sdlc_general','month',1,30,'PP_PIPE_DEV','1','active','0',NULL,'2026-09-06 09:01:58','2026-09-06 09:01:58'),('PPM_DEV_Y','sdlc_general','year',10,365,'PP_PIPE_DEV','0','active','0',NULL,'2026-09-06 09:01:58','2026-09-06 09:01:58'),('PPM_OPP_M','opportunity_general','month',1,30,'PP_PIPE_OPP','1','active','0',NULL,'2026-09-06 09:01:58','2026-09-06 09:01:58'),('PPM_OPP_Y','opportunity_general','year',10,365,'PP_PIPE_OPP','0','active','0',NULL,'2026-09-06 09:01:58','2026-09-06 09:01:58')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `llm_vendor` (`id`, `name`, `endpoints`, `description`, `status`, `org_id`, `created_at`, `updated_at`) VALUES ('-0z5NV4GwVYEZhYN0lEL0','阿里云百炼','[{\\\"base_url\\\": \\\"https://dashscope.aliyuncs.com/compatible-mode/v1\\\", \\\"region\\\": \\\"domestic\\\", \\\"timeout\\\": 60, \\\"protocol\\\": \\\"openai_compat\\\"}, {\\\"base_url\\\": \\\"https://dashscope.aliyuncs.com/api/v1\\\", \\\"region\\\": \\\"domestic\\\", \\\"timeout\\\": 60, \\\"protocol\\\": \\\"dashscope_async\\\"}, {\\\"base_url\\\": \\\"https://dashscope.aliyuncs.com/api/v1\\\", \\\"region\\\": \\\"domestic\\\", \\\"timeout\\\": 120, \\\"protocol\\\": \\\"dashscope_sync\\\"}]','由旧 llm 表迁移生成','active','0','2026-09-04 17:08:32','2026-09-08 14:49:53'),('ARDv7OH-JBg6NjMYXcGlL','深度求索','[{\\\"base_url\\\": \\\"https://api.deepseek.com\\\", \\\"region\\\": \\\"domestic\\\", \\\"timeout\\\": 60}]','','active','0','2026-09-07 10:22:39','2026-09-07 10:22:39'),('KHyM9RKulqG4KBAhDZLKM','minimax','[{\\\"base_url\\\": \\\"https://api.minimax.cn/v1\\\", \\\"region\\\": \\\"domestic\\\", \\\"timeout\\\": 60, \\\"protocol\\\": \\\"openai_compat\\\"}]','','active','0','2026-09-07 10:28:06','2026-09-07 10:53:29'),('mQak8lMxYe7oIr28O0ZkP','豆包','[{\\\"base_url\\\": \\\"https://ark.cn-beijing.volces.com/api/v3\\\", \\\"region\\\": \\\"domestic\\\", \\\"timeout\\\": 60, \\\"protocol\\\": \\\"openai_compat\\\"}]','','active','0','2026-09-06 20:23:52','2026-09-06 20:59:25'),('Sne8OZqsIVdGTKZljtNqw','智谱','[{\\\"base_url\\\": \\\"https://open.bigmodel.cn/api/paas/v4,\\\", \\\"region\\\": \\\"domestic\\\", \\\"timeout\\\": 60}]','','active','0','2026-09-07 10:26:08','2026-09-07 10:26:08'),('YgciVrNTxHvXOLFOw1KLo','千问AI平台','[{\\\"base_url\\\": \\\"https://dashscope.aliyuncs.com/compatible-mode/v1\\\", \\\"region\\\": \\\"domestic\\\", \\\"timeout\\\": 60, \\\"protocol\\\": \\\"openai_compat\\\"}]','示例使用 OpenAI SDK 调用,base_url 为 https://dashscope.aliyuncs.com/compatible-mode/v1;enable_thinking 在 Python 示例中通过 extra_body 传入,实际 HTTP 请求体中表现为顶层 enable_thinking 字段;流式响应包含 reasoning_content 与 content;文档声明输入图像、文本、视频,输出文本,因此能力判定为多模态输入到文本的 m2t;定价包含普通输入输出、缓存命中、显式缓存创建/命中、Batch File 与 Batch Chat 限时折扣档位。','active','0','2026-09-07 10:38:22','2026-09-07 10:39:39'),('ZsX0hesTtEO7_x4-rTfHG','moonshot','[{\\\"base_url\\\": \\\"https://api.moonshot.cn/v1\\\", \\\"region\\\": \\\"domestic\\\", \\\"timeout\\\": 60}]','','active','0','2026-09-07 10:31:07','2026-09-07 10:31:07')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `llm_model` (`id`, `vendor_id`, `account_id`, `name`, `vendor_model_id`, `capability`, `sync_mode`, `profile_id`, `query_profile_ids`, `ppid`, `default_params`, `status`, `description`, `org_id`, `created_at`, `updated_at`) VALUES ('-zwwnba6DQoPnUV8kdKev','-0z5NV4GwVYEZhYN0lEL0','JuoFgnXYdiOp8f0egx4iY','qwen3.8-max','qwen3.8-max','t2t','sync','','','QDZV7qdk8Cr67DTWt5cPd','','active','2.4万亿参数MoE旗舰;输入图像、文本、视频,输出文本;原生视觉理解贯穿规划、执行与验证全流程,支持超长文档与长视频的深度语义解析。 [出处:https://www.qianwenai.com/models/qwen3.8-max]','0','2026-09-04 17:08:32','2026-09-07 17:13:52'),('2K8Xvs_KKOsJqhquDO3T0','-0z5NV4GwVYEZhYN0lEL0','','qwen3.7-flash','qwen3.7-flash','m2t','sync','cHoLup_2W1xkkfvihtClG','','fvpTfXl8DCtQmzWAgFgv8','{}','active','Qwen3.7原生视觉语言系列Flash模型,输入图像、文本、视频,输出文本,重点强化多模态基础能力、万物识别能力、真实世界感知与空间智能,支持多模态Agent与多模态Coding。 [出处:https://www.qianwenai.com/models/qwen3.7-flash]','0','2026-09-07 11:38:43','2026-09-07 17:13:52'),('5WLw8NlwtGAh_bLsQ6M7n','-0z5NV4GwVYEZhYN0lEL0','JuoFgnXYdiOp8f0egx4iY','qwen-image-plus','qwen-image-plus','t2i','sync','b4U7j5_14oCvRTFHV8sAj','[\\\"rrqkADlKJoDQlfPZXcgm3\\\"]','k4JGwtZP87nMw4G_pr5rV','{}','disabled','文生图。千问系列图像生成模型,参数规模200亿。具备卓越的文本渲染能力,在复杂文本渲染、各类生成与编辑任务中表现出色。输入:文本。输出:图像。','0','2026-09-07 18:10:37','2026-09-08 16:27:21'),('9NPnviBHY539npY6ncdw2','-0z5NV4GwVYEZhYN0lEL0','JuoFgnXYdiOp8f0egx4iY','tongyi-embedding-vision-flash','tongyi-embedding-vision-flash','mm-embedding','sync','','','','','disabled','由旧 llm 表迁移生成 [下线:上游已下架2026-09-07]','0','2026-09-04 17:08:32','2026-09-07 17:40:17'),('aJ5rNwesP85HUXWYAlwnX','-0z5NV4GwVYEZhYN0lEL0','JuoFgnXYdiOp8f0egx4iY','qwen3-vl-rerank','qwen3-vl-rerank','mm-rerank','sync','','','','','disabled','由旧 llm 表迁移生成 [下线:上游已下架2026-09-07]','0','2026-09-04 17:08:32','2026-09-07 17:40:17'),('DP_kjIFyhC-XAHim5OcL_','mQak8lMxYe7oIr28O0ZkP','','doubao-seed-2-1-turbo-260628','doubao-seed-2-1-turbo-260628','m2t','sync','','','','{}','active','多模态模型,输入类型为文本、图片、视频,输出类型为文本;效果与成本均衡,全面升级 Coding、Agent 与多模态能力,支持深度思考、视觉理解、GUI Agent [出处:https://ark.volcengine.com/region:cn-beijing/model/detail?name=doubao-seed-2-1-turbo]','0','2026-09-06 20:49:10','2026-09-06 20:49:10'),('Esumay0iEvxBET6XEdUd-','-0z5NV4GwVYEZhYN0lEL0','JuoFgnXYdiOp8f0egx4iY','ali-deepseek-v4-flash','deepseek-v4-flash','t2t','sync','','','','','disabled','由旧 llm 表迁移生成 [下线:上游已下架2026-09-07]','0','2026-09-04 17:08:32','2026-09-07 17:40:17'),('fdpiOM4iCqqLmV9yvT4jU','KHyM9RKulqG4KBAhDZLKM','','MiniMax-M2.7-highspeed','MiniMax-M2.7-highspeed','t2t','sync','jXdSjfg81Fy1oJQsljA-Q','','woSIllVJdKfrvxwLiJ5NS','{}','active','M2.7 极速版:效果不变,更快,更敏捷(输出速度约 100 TPS) [出处:https://platform.minimax.cn/docs/api-reference/text-openai-api]','0','2026-09-07 10:43:09','2026-09-07 17:56:33'),('fVIiMAbdhFXQ9ioHPd57f','mQak8lMxYe7oIr28O0ZkP','','doubao-seed-2-1-pro-260628','doubao-seed-2-1-pro-260628','m2t','sync','','','','{}','active','面向生产级任务,全面升级编程、智能体与多模态能力。多模态模型、深度思考、视觉理解。输入类型:文本、图片、视频;输出类型:文本。 [出处:https://ark.volcengine.com/region:cn-beijing/model/detail?name=doubao-seed-2-1-pro]','0','2026-09-06 20:48:54','2026-09-06 20:56:38'),('hJdzH4Mogp_BdkLzr_1kH','-0z5NV4GwVYEZhYN0lEL0','JuoFgnXYdiOp8f0egx4iY','ali-deepseek-v4-pro','deepseek-v4-pro','t2t','sync','','','q0_KH6wv874VdCnm_4Ugi','','active','由旧 llm 表迁移生成','0','2026-09-04 17:08:32','2026-09-07 17:13:52'),('KEh2rErvz8uEufR0AYUWv','-0z5NV4GwVYEZhYN0lEL0','JuoFgnXYdiOp8f0egx4iY','qwen3.7-text-embedding-flash','qwen3.7-text-embedding-flash','embedding','sync','','','cmBhXf7Zxc0XCCT8jr6wf','','active','由旧 llm 表迁移生成','0','2026-09-04 17:08:32','2026-09-07 17:13:52'),('km42v4FkTEFKFweoUTUme','KHyM9RKulqG4KBAhDZLKM','','MiniMax-M3','MiniMax-M3','m2t','sync','cHoLup_2W1xkkfvihtClG','','h5xVTJeE-M0_-X5z71HBX','{}','active','最新 M 系列语言模型,适用于 Agent 推理、工具调用、代码和长上下文任务;支持输入文本、图片和视频 [出处:https://platform.minimax.cn/docs/api-reference/text-openai-api]','0','2026-09-07 10:43:09','2026-09-07 17:56:33'),('PW5DxYZgIJx205rtQxXYt','-0z5NV4GwVYEZhYN0lEL0','','wan3.0-video-prime','wan3.0-video-prime','r2v','async','IcEjgtTQwckPpn9enU1Od','[\\\"rrqkADlKJoDQlfPZXcgm3\\\"]','otHGYFUChqsSNInbeggM3','{}','active','万相3.0高速版全能参考视频生成(All-in-One):文生视频/首尾帧图生视频/参考生视频统一入口;参考生视频支持图片/视频/音频自由组合(可全不传=纯文生视频);最长30秒,30fps。 [出处:https://help.aliyun.com/zh/model-studio/wan3-video-generation-api-reference]','0','2026-09-06 09:42:15','2026-09-07 17:13:52'),('QIvDmuvVgszDVHNj2MPrB','-0z5NV4GwVYEZhYN0lEL0','','happyhorse-1.1-t2v','happyhorse-1.1-t2v','t2v','async','tDb4NPcNOqYHNrLfoFUwO','[\\\"rrqkADlKJoDQlfPZXcgm3\\\"]','8DWArI5gQMp9mDC7hM_tZ','{}','active','文生视频 [出处:https://help.aliyun.com/zh/model-studio/wan]','0','2026-09-05 21:57:34','2026-09-07 17:13:52'),('SmUklWK2McT0zxHwyWVnf','-0z5NV4GwVYEZhYN0lEL0','JuoFgnXYdiOp8f0egx4iY','qwen3-vl-embedding','qwen3-vl-embedding','mm-embedding','sync','','','','','disabled','由旧 llm 表迁移生成 [下线:上游已下架2026-09-07]','0','2026-09-04 17:08:32','2026-09-07 17:40:17'),('sST_KtMUXTqAQqquDMF5p','KHyM9RKulqG4KBAhDZLKM','','MiniMax-M2.7','MiniMax-M2.7','t2t','sync','jXdSjfg81Fy1oJQsljA-Q','','PvbWeuPWVuQa6FoCWpfeG','{}','active','开启模型的自我迭代(输出速度约 60 TPS) [出处:https://platform.minimax.cn/docs/api-reference/text-openai-api]','0','2026-09-07 10:43:09','2026-09-07 17:56:33'),('T-JwYIsVyI8MbIHR4rZfV','-0z5NV4GwVYEZhYN0lEL0','','qwen-image-3.0-pro','qwen-image-3.0-pro','i2i','sync','b5Lzjv78SqsGUeEatHIIE','','KgVLm71VVZMMcnCsaL7qI','{}','active','输入 图像 文本,输出 图像;支持最大 4.5k token 输入、图中图密集信息排版、10px 小字精准渲染、12 国语言多种字体原生渲染 [出处:https://www.qianwenai.com/models/qwen-image-3.0-pro]','0','2026-09-08 14:49:53','2026-09-08 14:49:58'),('U-0h23GafPiQRqAO0CfHF','-0z5NV4GwVYEZhYN0lEL0','JuoFgnXYdiOp8f0egx4iY','qwen3.8-flash','qwen3.8-flash','m2t','sync','cHoLup_2W1xkkfvihtClG','','Xaf8UTDeQpGxzWa-_Gt7X','','active','千问最新推出的多模态大模型,输入 图像 文本 视频,输出 文本,原生支持百万级上下文窗口 [出处:https://www.qianwenai.com/models/qwen3.8-flash]','0','2026-09-04 17:08:32','2026-09-07 17:13:52'),('WaHCt7A4i-OSFMOZgUfSq','-0z5NV4GwVYEZhYN0lEL0','','happyhorse-1.1-r2v','happyhorse-1.1-r2v','r2v','async','KdWRxyjA0IznqiEq1A44q','[\\\"rrqkADlKJoDQlfPZXcgm3\\\"]','8DWArI5gQMp9mDC7hM_tZ','{}','active','happyhorse-1.1-r2v 参考生视频 [出处:https://www.qianwenai.com/models/happyhorse-1.1-r2v]','0','2026-09-06 09:37:43','2026-09-07 17:13:52'),('xgILJxYkO9OvP0n2CGnJF','-0z5NV4GwVYEZhYN0lEL0','JuoFgnXYdiOp8f0egx4iY','happyhorse-1.1-i2v','happyhorse-1.1-i2v','i2v','async','XVE5qyMHc_pug2mNgAvGr','[\\\"rrqkADlKJoDQlfPZXcgm3\\\"]','8DWArI5gQMp9mDC7hM_tZ','{}','active','happyhorse-1.1-i2v 图生视频 [出处:https://www.qianwenai.com/models/happyhorse-1.1-i2v]','0','2026-09-05 10:32:40','2026-09-07 17:13:52')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `llm_api_profile` (`id`, `name`, `protocol`, `capability`, `path`, `method`, `headers`, `request_template`, `response_template`, `param_schema`, `status`, `created_at`, `updated_at`) VALUES ('9UgG3Ev1vrxU_EFPyEAGW','dashscope_async-query-/api/v1/tasks/{task_id}','dashscope_async','t2v','/api/v1/tasks/{task_id}','GET','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"method\\\": \\\"GET\\\"}','{\\\"note\\\": \\\"查询步骤模板:运行时响应解析走模型提交模板的 response_template\\\", \\\"response_format\\\": \\\"文档未提供响应示例;用于查询任务状态/结果。\\\"}','','active','2026-09-05 22:53:43','2026-09-06 17:16:56'),('b4U7j5_14oCvRTFHV8sAj','dashscope_sync-t2i-qwen-image-plus','dashscope_sync','t2i','/services/aigc/multimodal-generation/generation','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"messages\\\": [{\\\"role\\\": \\\"user\\\", \\\"content\\\": [{\\\"text\\\": {{ prompt|tojson }}}]}]}, \\\"parameters\\\": {\\\"result_format\\\": {{ (params.result_format|default(\\\"message\\\"))|tojson }}, \\\"watermark\\\": {{ (params.watermark|default(false))|tojson }}, \\\"prompt_extend\\\": {{ (params.prompt_extend|default(true))|tojson }}, \\\"size\\\": {{ (params.size|default(\\\"1328*1328\\\"))|tojson }}}}','{\\\"image\\\": \\\"{{ downloadfile2url(request, output.choices[0].message.content[0].image) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"result_format\\\", \\\"label\\\": \\\"result_format\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"defaultvalue\\\": \\\"message\\\"}, {\\\"name\\\": \\\"watermark\\\", \\\"label\\\": \\\"watermark\\\", \\\"uitype\\\": \\\"check\\\", \\\"required\\\": false, \\\"defaultvalue\\\": false}, {\\\"name\\\": \\\"prompt_extend\\\", \\\"label\\\": \\\"prompt_extend\\\", \\\"uitype\\\": \\\"check\\\", \\\"required\\\": false, \\\"defaultvalue\\\": true}, {\\\"name\\\": \\\"size\\\", \\\"label\\\": \\\"size\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"defaultvalue\\\": \\\"1328*1328\\\"}]','active','2026-09-07 18:23:04','2026-09-08 13:39:54'),('b5Lzjv78SqsGUeEatHIIE','dashscope_sync-i2i-自动配置-cf668aaade25','dashscope_sync','i2i','/services/aigc/multimodal-generation/generation','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"messages\\\": [{\\\"role\\\": {{ (params.role|default(\\\"user\\\"))|tojson }}, \\\"content\\\": [{\\\"text\\\": {{ prompt|tojson }}}]}]}, \\\"parameters\\\": {\\\"prompt_extend\\\": {{ (params.prompt_extend|default(true))|tojson }}}}','{\\\"image\\\": \\\"{{ downloadfile2url(request, output.choices[0].message.content[0].image) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"prompt_extend\\\", \\\"label\\\": \\\"prompt_extend\\\", \\\"uitype\\\": \\\"check\\\", \\\"required\\\": false, \\\"defaultvalue\\\": true}]','active','2026-09-08 14:49:53','2026-09-08 14:49:53'),('cHoLup_2W1xkkfvihtClG','openai_compat-m2t-自动配置-c67b4c7c293e','openai_compat','m2t','/chat/completions','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"messages\\\": {{ messages|tojson }}{% for k, v in extra.items() %}, \\\"{{ k }}\\\": {{ v|tojson }}{% endfor %}, \\\"stream\\\": false}','{\\\"content\\\": \\\"choices[0].message.content\\\", \\\"usage\\\": {\\\"prompt_tokens\\\": \\\"usage.prompt_tokens\\\", \\\"completion_tokens\\\": \\\"usage.completion_tokens\\\"}}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}]','active','2026-09-07 10:37:13','2026-09-07 10:37:13'),('Ek9WG3yMAoKvQUDsC6qR7','dashscope_async-r2v-自动配置-112f739286b4','dashscope_async','r2v','/services/aigc/video-generation/video-synthesis','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"prompt\\\": {{ prompt|tojson }}{% if (params.image_files if params.image_files is not string and params.image_files else ([params.image_files] if params.image_files is string else [])) or (params.video_files if params.video_files is not string and params.video_files else ([params.video_files] if params.video_files is string else [])) %}, \\\"media\\\": [{% set _c = namespace(n=0) %}{% for _f in (params.image_files if params.image_files is not string and params.image_files else ([params.image_files] if params.image_files is string else [])) %}{% if _c.n %},{% endif %}{% set _c.n = _c.n + 1 %}{\\\"type\\\": \\\"reference_image\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% endfor %}{% for _f in (params.video_files if params.video_files is not string and params.video_files else ([params.video_files] if params.video_files is string else [])) %}{% if _c.n %},{% endif %}{% set _c.n = _c.n + 1 %}{\\\"type\\\": \\\"reference_video\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% endfor %}]{% endif %}}, \\\"parameters\\\": {\\\"resolution\\\": {{ params.resolution|default(\\\"480P\\\")|tojson }}, \\\"ratio\\\": {{ params.ratio|default(\\\"adaptive\\\")|tojson }}, \\\"duration\\\": {{ params.duration|default(5)|tojson }}, \\\"prompt_extend\\\": {{ params.prompt_extend|default(true)|tojson }}}}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, output.video_url) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}, \\\"task_id\\\": \\\"{{ task_id }}\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"image_files\\\", \\\"label\\\": \\\"参考图片\\\", \\\"uitype\\\": \\\"image\\\", \\\"required\\\": false, \\\"multiple\\\": true}, {\\\"name\\\": \\\"video_files\\\", \\\"label\\\": \\\"参考视频\\\", \\\"uitype\\\": \\\"video\\\", \\\"required\\\": false, \\\"multiple\\\": true}, {\\\"name\\\": \\\"resolution\\\", \\\"label\\\": \\\"resolution\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": \\\"480P\\\", \\\"text\\\": \\\"480P\\\"}, {\\\"value\\\": \\\"720P\\\", \\\"text\\\": \\\"720P\\\"}, {\\\"value\\\": \\\"1080P\\\", \\\"text\\\": \\\"1080P\\\"}], \\\"defaultvalue\\\": \\\"480P\\\"}, {\\\"name\\\": \\\"ratio\\\", \\\"label\\\": \\\"ratio\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": \\\"adaptive\\\", \\\"text\\\": \\\"adaptive\\\"}, {\\\"value\\\": \\\"16:9\\\", \\\"text\\\": \\\"16:9\\\"}, {\\\"value\\\": \\\"4:3\\\", \\\"text\\\": \\\"4:3\\\"}, {\\\"value\\\": \\\"1:1\\\", \\\"text\\\": \\\"1:1\\\"}, {\\\"value\\\": \\\"3:4\\\", \\\"text\\\": \\\"3:4\\\"}, {\\\"value\\\": \\\"9:16\\\", \\\"text\\\": \\\"9:16\\\"}], \\\"defaultvalue\\\": \\\"adaptive\\\"}, {\\\"name\\\": \\\"duration\\\", \\\"label\\\": \\\"duration\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": 5, \\\"text\\\": \\\"5\\\"}, {\\\"value\\\": 10, \\\"text\\\": \\\"10\\\"}, {\\\"value\\\": 30, \\\"text\\\": \\\"30\\\"}], \\\"defaultvalue\\\": 5}, {\\\"name\\\": \\\"prompt_extend\\\", \\\"label\\\": \\\"prompt_extend\\\", \\\"uitype\\\": \\\"check\\\", \\\"required\\\": false, \\\"defaultvalue\\\": true}]','deprecated','2026-09-06 20:57:45','2026-09-06 21:01:16'),('HSoi7qE9AQS6MiQyE0z-6','dashscope_async-r2v-自动配置','dashscope_async','r2v','/services/aigc/video-generation/video-synthesis','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"prompt\\\": {{ prompt|tojson }}, \\\"media\\\": [{\\\"type\\\": {{ params.type|default(\\\"reference_image\\\")|tojson }}, \\\"url\\\": {{ b64media2url(request, params.image_file)|tojson }}}, {\\\"type\\\": {{ params.type|default(\\\"reference_image\\\")|tojson }}, \\\"url\\\": {{ b64media2url(request, params.image_file)|tojson }}}, {\\\"type\\\": {{ params.type|default(\\\"reference_image\\\")|tojson }}, \\\"url\\\": {{ b64media2url(request, params.image_file)|tojson }}}]}, \\\"parameters\\\": {\\\"resolution\\\": {{ params.resolution|default(\\\"720P\\\")|tojson }}, \\\"ratio\\\": {{ params.ratio|default(\\\"16:9\\\")|tojson }}, \\\"duration\\\": {{ params.duration|default(5)|tojson }}}}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, video_url) }}\\\", \\\"usage\\\": \\\"{{ json.dumps(usage) }}\\\", \\\"task_id\\\": \\\"{{ task_id }}\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"textarea\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"image_file\\\", \\\"label\\\": \\\"上传媒体(image_file)\\\", \\\"uitype\\\": \\\"file\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"type\\\", \\\"label\\\": \\\"type\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"default\\\": \\\"reference_image\\\"}, {\\\"name\\\": \\\"type\\\", \\\"label\\\": \\\"type\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"default\\\": \\\"reference_image\\\"}, {\\\"name\\\": \\\"type\\\", \\\"label\\\": \\\"type\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"default\\\": \\\"reference_image\\\"}, {\\\"name\\\": \\\"resolution\\\", \\\"label\\\": \\\"resolution\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"default\\\": \\\"720P\\\"}, {\\\"name\\\": \\\"ratio\\\", \\\"label\\\": \\\"ratio\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"default\\\": \\\"16:9\\\"}, {\\\"name\\\": \\\"duration\\\", \\\"label\\\": \\\"duration\\\", \\\"uitype\\\": \\\"number\\\", \\\"required\\\": false, \\\"default\\\": 5}]','deprecated','2026-09-06 09:37:43','2026-09-06 13:30:20'),('HXPwByySBCzXbSwW5JStF','happyhorse-1.1-i2v-query','dashscope_async','i2v','https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}','GET','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\"}','{\\\"method\\\": \\\"GET\\\"}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, video_url) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}}','','active','2026-09-05 10:32:40','2026-09-06 17:16:56'),('IcEjgtTQwckPpn9enU1Od','dashscope_async-r2v-自动配置-e2fd46920948','dashscope_async','r2v','/services/aigc/video-generation/video-synthesis','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"prompt\\\": {{ prompt|tojson }}{% if (params.image_files if params.image_files is not string and params.image_files else ([params.image_files] if params.image_files is string else [])) or (params.video_files if params.video_files is not string and params.video_files else ([params.video_files] if params.video_files is string else [])) or (params.audio_files if params.audio_files is not string and params.audio_files else ([params.audio_files] if params.audio_files is string else [])) %}, \\\"media\\\": [{% set _c = namespace(n=0) %}{% for _f in (params.image_files if params.image_files is not string and params.image_files else ([params.image_files] if params.image_files is string else [])) %}{% if _c.n %},{% endif %}{% set _c.n = _c.n + 1 %}{\\\"type\\\": \\\"reference_image\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% endfor %}{% for _f in (params.video_files if params.video_files is not string and params.video_files else ([params.video_files] if params.video_files is string else [])) %}{% if _c.n %},{% endif %}{% set _c.n = _c.n + 1 %}{\\\"type\\\": \\\"reference_video\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% endfor %}{% for _f in (params.audio_files if params.audio_files is not string and params.audio_files else ([params.audio_files] if params.audio_files is string else [])) %}{% if _c.n %},{% endif %}{% set _c.n = _c.n + 1 %}{\\\"type\\\": \\\"reference_audio\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% endfor %}]{% endif %}}, \\\"parameters\\\": {\\\"resolution\\\": {{ (params.resolution|default(\\\"480P\\\"))|tojson }}, \\\"ratio\\\": {{ (params.ratio|default(\\\"adaptive\\\"))|tojson }}, \\\"duration\\\": {{ (params.duration|default(5))|int|tojson }}, \\\"prompt_extend\\\": {{ (params.prompt_extend|default(true))|tojson }}}}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, output.video_url) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}, \\\"task_id\\\": \\\"{{ task_id }}\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"image_files\\\", \\\"label\\\": \\\"参考图片\\\", \\\"uitype\\\": \\\"image\\\", \\\"required\\\": false, \\\"multiple\\\": true}, {\\\"name\\\": \\\"video_files\\\", \\\"label\\\": \\\"参考视频\\\", \\\"uitype\\\": \\\"video\\\", \\\"required\\\": false, \\\"multiple\\\": true}, {\\\"name\\\": \\\"audio_files\\\", \\\"label\\\": \\\"参考音频\\\", \\\"uitype\\\": \\\"audio\\\", \\\"required\\\": false, \\\"multiple\\\": true}, {\\\"name\\\": \\\"resolution\\\", \\\"label\\\": \\\"resolution\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": \\\"480P\\\", \\\"text\\\": \\\"480P\\\"}, {\\\"value\\\": \\\"720P\\\", \\\"text\\\": \\\"720P\\\"}, {\\\"value\\\": \\\"1080P\\\", \\\"text\\\": \\\"1080P\\\"}], \\\"defaultvalue\\\": \\\"480P\\\"}, {\\\"name\\\": \\\"ratio\\\", \\\"label\\\": \\\"ratio\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": \\\"adaptive\\\", \\\"text\\\": \\\"adaptive\\\"}, {\\\"value\\\": \\\"16:9\\\", \\\"text\\\": \\\"16:9\\\"}, {\\\"value\\\": \\\"4:3\\\", \\\"text\\\": \\\"4:3\\\"}, {\\\"value\\\": \\\"1:1\\\", \\\"text\\\": \\\"1:1\\\"}, {\\\"value\\\": \\\"3:4\\\", \\\"text\\\": \\\"3:4\\\"}, {\\\"value\\\": \\\"9:16\\\", \\\"text\\\": \\\"9:16\\\"}], \\\"defaultvalue\\\": \\\"adaptive\\\"}, {\\\"name\\\": \\\"duration\\\", \\\"label\\\": \\\"duration\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": 5, \\\"text\\\": \\\"5\\\"}, {\\\"value\\\": 10, \\\"text\\\": \\\"10\\\"}, {\\\"value\\\": 30, \\\"text\\\": \\\"30\\\"}], \\\"defaultvalue\\\": 5}, {\\\"name\\\": \\\"prompt_extend\\\", \\\"label\\\": \\\"prompt_extend\\\", \\\"uitype\\\": \\\"check\\\", \\\"required\\\": false, \\\"defaultvalue\\\": true}]','active','2026-09-06 21:25:54','2026-09-06 21:25:54'),('IhJu9g88G35PZYmOpwQci','dashscope_async-t2v-自动配置','dashscope_async','t2v','/services/aigc/video-generation/video-synthesis','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\"}','{\\\"data\\\": {\\\"__from_doc__\\\": [\\\"model\\\", \\\"input.prompt\\\", \\\"parameters.resolution\\\", \\\"parameters.ratio\\\", \\\"parameters.duration\\\"], \\\"__upload__\\\": \\\"{{ b64media2url(request, params.xxx_file) }}\\\"}, \\\"__note__\\\": \\\"上传媒体一律 xxx_file 命名 + b64media2url 转公网 URL\\\"}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, output.video_url) }}\\\", \\\"__note__\\\": \\\"生成类能力:产物 URL 必须用 downloadfile2url 落地为本地持久 URL(上游仅 24 小时有效);上传媒体在 request 模板用 b64media2url(request, xxx_file);产物字段名按文档核对\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"textarea\\\", \\\"required\\\": true}]','deprecated','2026-09-05 21:57:34','2026-09-05 22:39:36'),('jCEbNODxnCiA-4D_Bb2Yo','dashscope_async-r2v-自动配置-fcdccb7fe19f','dashscope_async','r2v','/services/aigc/video-generation/video-synthesis','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"media\\\": [{% set _c = namespace(n=0) %}{% for _f in (params.image_files if params.image_files is not string and params.image_files else ([params.image_files] if params.image_files is string else [])) %}{% if _c.n %},{% endif %}{% set _c.n = _c.n + 1 %}{\\\"type\\\": \\\"reference_image\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% endfor %}{% for _f in (params.video_files if params.video_files is not string and params.video_files else ([params.video_files] if params.video_files is string else [])) %}{% if _c.n %},{% endif %}{% set _c.n = _c.n + 1 %}{\\\"type\\\": \\\"reference_video\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% endfor %}{% for _f in (params.audio_files if params.audio_files is not string and params.audio_files else ([params.audio_files] if params.audio_files is string else [])) %}{% if _c.n %},{% endif %}{% set _c.n = _c.n + 1 %}{\\\"type\\\": \\\"reference_audio\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% endfor %}], \\\"prompt\\\": {{ prompt|tojson }}}, \\\"parameters\\\": {\\\"resolution\\\": {{ params.resolution|default(\\\"480P\\\")|tojson }}, \\\"ratio\\\": {{ params.ratio|default(\\\"adaptive\\\")|tojson }}, \\\"duration\\\": {{ params.duration|default(5)|tojson }}}}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, output.video_url) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}, \\\"task_id\\\": \\\"{{ task_id }}\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"image_files\\\", \\\"label\\\": \\\"参考图片\\\", \\\"uitype\\\": \\\"image\\\", \\\"required\\\": true, \\\"multiple\\\": true}, {\\\"name\\\": \\\"video_files\\\", \\\"label\\\": \\\"参考视频\\\", \\\"uitype\\\": \\\"video\\\", \\\"required\\\": true, \\\"multiple\\\": true}, {\\\"name\\\": \\\"audio_files\\\", \\\"label\\\": \\\"参考音频\\\", \\\"uitype\\\": \\\"audio\\\", \\\"required\\\": true, \\\"multiple\\\": true}, {\\\"name\\\": \\\"resolution\\\", \\\"label\\\": \\\"resolution\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": \\\"480P\\\", \\\"text\\\": \\\"480P\\\"}, {\\\"value\\\": \\\"720P\\\", \\\"text\\\": \\\"720P\\\"}, {\\\"value\\\": \\\"1080P\\\", \\\"text\\\": \\\"1080P\\\"}], \\\"defaultvalue\\\": \\\"480P\\\"}, {\\\"name\\\": \\\"ratio\\\", \\\"label\\\": \\\"ratio\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"defaultvalue\\\": \\\"adaptive\\\"}, {\\\"name\\\": \\\"duration\\\", \\\"label\\\": \\\"duration\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": 5, \\\"text\\\": \\\"5\\\"}, {\\\"value\\\": 10, \\\"text\\\": \\\"10\\\"}, {\\\"value\\\": 30, \\\"text\\\": \\\"30\\\"}], \\\"defaultvalue\\\": 5}]','deprecated','2026-09-06 20:05:22','2026-09-06 21:01:16'),('jXdSjfg81Fy1oJQsljA-Q','openai_compat-t2t-自动配置-c67b4c7c293e','openai_compat','t2t','/chat/completions','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"messages\\\": {{ messages|tojson }}{% for k, v in extra.items() %}, \\\"{{ k }}\\\": {{ v|tojson }}{% endfor %}, \\\"stream\\\": false}','{\\\"content\\\": \\\"choices[0].message.content\\\", \\\"usage\\\": {\\\"prompt_tokens\\\": \\\"usage.prompt_tokens\\\", \\\"completion_tokens\\\": \\\"usage.completion_tokens\\\"}}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}]','active','2026-09-07 10:43:09','2026-09-07 10:43:09'),('KdWRxyjA0IznqiEq1A44q','dashscope_async-r2v-自动配置','dashscope_async','r2v','/services/aigc/video-generation/video-synthesis','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"prompt\\\": {{ prompt|tojson }}, \\\"media\\\": [{% for _f in (params.image_files if params.image_files is not string and params.image_files else ([params.image_files] if params.image_files is string else [])) %}{\\\"type\\\": \\\"reference_image\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% if not loop.last %},{% endif %}{% endfor %}]}, \\\"parameters\\\": {\\\"resolution\\\": {{ params.resolution|default(\\\"720P\\\")|tojson }}, \\\"ratio\\\": {{ params.ratio|default(\\\"16:9\\\")|tojson }}, \\\"duration\\\": {{ params.duration|default(5)|tojson }}}}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, video_url) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}, \\\"task_id\\\": \\\"{{ task_id }}\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"image_files\\\", \\\"label\\\": \\\"参考图片\\\", \\\"uitype\\\": \\\"image\\\", \\\"required\\\": true, \\\"multiple\\\": true}, {\\\"name\\\": \\\"resolution\\\", \\\"label\\\": \\\"resolution\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": \\\"480P\\\", \\\"text\\\": \\\"480P\\\"}, {\\\"value\\\": \\\"720P\\\", \\\"text\\\": \\\"720P\\\"}, {\\\"value\\\": \\\"1080P\\\", \\\"text\\\": \\\"1080P\\\"}], \\\"defaultvalue\\\": \\\"720P\\\"}, {\\\"name\\\": \\\"ratio\\\", \\\"label\\\": \\\"ratio\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": \\\"16:9\\\", \\\"text\\\": \\\"16:9\\\"}, {\\\"value\\\": \\\"9:16\\\", \\\"text\\\": \\\"9:16\\\"}, {\\\"value\\\": \\\"1:1\\\", \\\"text\\\": \\\"1:1\\\"}], \\\"defaultvalue\\\": \\\"16:9\\\"}, {\\\"name\\\": \\\"duration\\\", \\\"label\\\": \\\"duration\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": 3, \\\"text\\\": \\\"3\\\"}, {\\\"value\\\": 5, \\\"text\\\": \\\"5\\\"}, {\\\"value\\\": 10, \\\"text\\\": \\\"10\\\"}], \\\"defaultvalue\\\": 5}]','active','2026-09-06 13:30:20','2026-09-06 17:36:03'),('kplNeDgo7l-u7LfNJDvDA','dashscope_async-r2v-自动配置-2e204fe06e95','dashscope_async','r2v','/services/aigc/video-generation/video-synthesis','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"prompt\\\": {{ prompt|tojson }}{% if (params.image_files if params.image_files is not string and params.image_files else ([params.image_files] if params.image_files is string else [])) or (params.video_files if params.video_files is not string and params.video_files else ([params.video_files] if params.video_files is string else [])) or (params.audio_files if params.audio_files is not string and params.audio_files else ([params.audio_files] if params.audio_files is string else [])) %}, \\\"media\\\": [{% set _c = namespace(n=0) %}{% for _f in (params.image_files if params.image_files is not string and params.image_files else ([params.image_files] if params.image_files is string else [])) %}{% if _c.n %},{% endif %}{% set _c.n = _c.n + 1 %}{\\\"type\\\": \\\"reference_image\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% endfor %}{% for _f in (params.video_files if params.video_files is not string and params.video_files else ([params.video_files] if params.video_files is string else [])) %}{% if _c.n %},{% endif %}{% set _c.n = _c.n + 1 %}{\\\"type\\\": \\\"reference_video\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% endfor %}{% for _f in (params.audio_files if params.audio_files is not string and params.audio_files else ([params.audio_files] if params.audio_files is string else [])) %}{% if _c.n %},{% endif %}{% set _c.n = _c.n + 1 %}{\\\"type\\\": \\\"reference_audio\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% endfor %}]{% endif %}}, \\\"parameters\\\": {\\\"resolution\\\": {{ params.resolution|default(\\\"480P\\\")|tojson }}, \\\"ratio\\\": {{ params.ratio|default(\\\"adaptive\\\")|tojson }}, \\\"duration\\\": {{ params.duration|default(5)|tojson }}, \\\"prompt_extend\\\": {{ params.prompt_extend|default(true)|tojson }}}}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, output.video_url) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}, \\\"task_id\\\": \\\"{{ task_id }}\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"image_files\\\", \\\"label\\\": \\\"参考图片\\\", \\\"uitype\\\": \\\"image\\\", \\\"required\\\": false, \\\"multiple\\\": true}, {\\\"name\\\": \\\"video_files\\\", \\\"label\\\": \\\"参考视频\\\", \\\"uitype\\\": \\\"video\\\", \\\"required\\\": false, \\\"multiple\\\": true}, {\\\"name\\\": \\\"audio_files\\\", \\\"label\\\": \\\"参考音频\\\", \\\"uitype\\\": \\\"audio\\\", \\\"required\\\": false, \\\"multiple\\\": true}, {\\\"name\\\": \\\"resolution\\\", \\\"label\\\": \\\"resolution\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": \\\"480P\\\", \\\"text\\\": \\\"480P\\\"}, {\\\"value\\\": \\\"720P\\\", \\\"text\\\": \\\"720P\\\"}, {\\\"value\\\": \\\"1080P\\\", \\\"text\\\": \\\"1080P\\\"}], \\\"defaultvalue\\\": \\\"480P\\\"}, {\\\"name\\\": \\\"ratio\\\", \\\"label\\\": \\\"ratio\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": \\\"adaptive\\\", \\\"text\\\": \\\"adaptive\\\"}, {\\\"value\\\": \\\"16:9\\\", \\\"text\\\": \\\"16:9\\\"}, {\\\"value\\\": \\\"4:3\\\", \\\"text\\\": \\\"4:3\\\"}, {\\\"value\\\": \\\"1:1\\\", \\\"text\\\": \\\"1:1\\\"}, {\\\"value\\\": \\\"3:4\\\", \\\"text\\\": \\\"3:4\\\"}, {\\\"value\\\": \\\"9:16\\\", \\\"text\\\": \\\"9:16\\\"}], \\\"defaultvalue\\\": \\\"adaptive\\\"}, {\\\"name\\\": \\\"duration\\\", \\\"label\\\": \\\"duration\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": 5, \\\"text\\\": \\\"5\\\"}, {\\\"value\\\": 10, \\\"text\\\": \\\"10\\\"}, {\\\"value\\\": 30, \\\"text\\\": \\\"30\\\"}], \\\"defaultvalue\\\": 5}, {\\\"name\\\": \\\"prompt_extend\\\", \\\"label\\\": \\\"prompt_extend\\\", \\\"uitype\\\": \\\"check\\\", \\\"required\\\": false, \\\"defaultvalue\\\": true}]','deprecated','2026-09-06 20:59:18','2026-09-06 21:28:24'),('MAxO1LHCmKpXWVPiPWelM','dashscope_async-t2v-自动配置-d233959b9e5f','dashscope_async','t2v','/services/aigc/video-generation/video-synthesis','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"prompt\\\": {{ prompt|tojson }}}, \\\"parameters\\\": {\\\"resolution\\\": {{ params.resolution|default(\\\"720P\\\")|tojson }}, \\\"ratio\\\": {{ params.ratio|default(\\\"16:9\\\")|tojson }}, \\\"duration\\\": {{ params.duration|default(5)|tojson }}}}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, video_url) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}, \\\"task_id\\\": \\\"{{ task_id }}\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"resolution\\\", \\\"label\\\": \\\"resolution\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"defaultvalue\\\": \\\"720P\\\"}, {\\\"name\\\": \\\"ratio\\\", \\\"label\\\": \\\"ratio\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"defaultvalue\\\": \\\"16:9\\\"}, {\\\"name\\\": \\\"duration\\\", \\\"label\\\": \\\"duration\\\", \\\"uitype\\\": \\\"int\\\", \\\"required\\\": false, \\\"defaultvalue\\\": 5}]','deprecated','2026-09-06 19:57:18','2026-09-06 19:58:25'),('qzHxuOtiuKEd7VJ-Za1EC','dashscope_async-t2v-自动配置','dashscope_async','t2v','/services/aigc/video-generation/video-synthesis','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"prompt\\\": {{ prompt|tojson }}}, \\\"parameters\\\": {\\\"resolution\\\": {{ params.resolution|default(\\\"720P\\\")|tojson }}, \\\"ratio\\\": {{ params.ratio|default(\\\"16:9\\\")|tojson }}, \\\"duration\\\": {{ params.duration|default(5)|tojson }}}}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, video_url) }}\\\", \\\"usage\\\": \\\"{{ json.dumps(usage) }}\\\", \\\"task_id\\\": \\\"{{ task_id }}\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"textarea\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"resolution\\\", \\\"label\\\": \\\"resolution\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"default\\\": \\\"720P\\\"}, {\\\"name\\\": \\\"ratio\\\", \\\"label\\\": \\\"ratio\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"default\\\": \\\"16:9\\\"}, {\\\"name\\\": \\\"duration\\\", \\\"label\\\": \\\"duration\\\", \\\"uitype\\\": \\\"number\\\", \\\"required\\\": false, \\\"default\\\": 5}]','deprecated','2026-09-05 22:39:36','2026-09-06 13:45:37'),('rrqkADlKJoDQlfPZXcgm3','dashscope_async-query-/tasks/{task_id}','dashscope_async','t2v','/tasks/{task_id}','GET','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"method\\\": \\\"GET\\\"}','{\\\"note\\\": \\\"查询步骤模板:运行时响应解析走模型提交模板的 response_template\\\", \\\"response_format\\\": \\\"文档未提供任务查询响应格式;用于查询任务状态/结果。\\\"}','','active','2026-09-05 23:31:09','2026-09-06 17:16:56'),('tDb4NPcNOqYHNrLfoFUwO','dashscope_async-t2v-自动配置','dashscope_async','t2v','/services/aigc/video-generation/video-synthesis','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"prompt\\\": {{ prompt|tojson }}}, \\\"parameters\\\": {\\\"resolution\\\": {{ params.resolution|default(\\\"720P\\\")|tojson }}, \\\"ratio\\\": {{ params.ratio|default(\\\"16:9\\\")|tojson }}, \\\"duration\\\": {{ params.duration|default(5)|tojson }}}}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, video_url) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}, \\\"task_id\\\": \\\"{{ task_id }}\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"resolution\\\", \\\"label\\\": \\\"resolution\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": \\\"480P\\\", \\\"text\\\": \\\"480P\\\"}, {\\\"value\\\": \\\"720P\\\", \\\"text\\\": \\\"720P\\\"}, {\\\"value\\\": \\\"1080P\\\", \\\"text\\\": \\\"1080P\\\"}], \\\"defaultvalue\\\": \\\"720P\\\"}, {\\\"name\\\": \\\"ratio\\\", \\\"label\\\": \\\"ratio\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": \\\"16:9\\\", \\\"text\\\": \\\"16:9\\\"}, {\\\"value\\\": \\\"9:16\\\", \\\"text\\\": \\\"9:16\\\"}, {\\\"value\\\": \\\"1:1\\\", \\\"text\\\": \\\"1:1\\\"}], \\\"defaultvalue\\\": \\\"16:9\\\"}, {\\\"name\\\": \\\"duration\\\", \\\"label\\\": \\\"duration\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": 3, \\\"text\\\": \\\"3\\\"}, {\\\"value\\\": 5, \\\"text\\\": \\\"5\\\"}, {\\\"value\\\": 10, \\\"text\\\": \\\"10\\\"}], \\\"defaultvalue\\\": 5}]','active','2026-09-06 13:45:37','2026-09-06 17:36:03'),('unikyPee0HUQmg8dO864L','dashscope_async-i2v-自动配置','dashscope_async','i2v','https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis','POST','{\\\"Authorization\\\": \\\"Bearer {{ api_key }}\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\", \\\"Content-Type\\\": \\\"application/json\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"prompt\\\": {{ prompt|tojson }}, \\\"media\\\": [{\\\"type\\\": \\\"first_frame\\\", \\\"url\\\": {{ b64media2url(request, params.image_file)|tojson }} }]}, \\\"parameters\\\": {\\\"resolution\\\": {{ params.resolution|default(\\\"720P\\\")|tojson }}, \\\"duration\\\": {{ params.duration|default(5)|tojson }}} }','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, video_url) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}, \\\"task_id\\\": \\\"{{ task_id }}\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"textarea\\\", \\\"required\\\": true}]','deprecated','2026-09-05 10:32:40','2026-09-06 13:49:04'),('WOoFcnFQoVinTo-yMgVTu','dashscope_async-i2i-自动配置-58e30925b613','dashscope_async','i2i','/services/aigc/multimodal-generation/generation','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"messages\\\": [{\\\"role\\\": {{ (params.role|default(\\\"user\\\"))|tojson }}, \\\"content\\\": [{\\\"text\\\": {{ prompt|tojson }}}]}], \\\"result_format\\\": {{ (params.result_format|default(\\\"message\\\"))|tojson }}, \\\"stream\\\": {{ (params.stream|default(false))|tojson }}, \\\"watermark\\\": {{ (params.watermark|default(false))|tojson }}, \\\"prompt_extend\\\": {{ (params.prompt_extend|default(true))|tojson }}, \\\"negative_prompt\\\": {{ params.negative_prompt|tojson }}, \\\"size\\\": {{ (params.size|default(\\\"1328*1328\\\"))|tojson }}}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"image\\\": \\\"{{ downloadfile2url(request, image_url) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}, \\\"task_id\\\": \\\"{{ task_id }}\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"result_format\\\", \\\"label\\\": \\\"result_format\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"defaultvalue\\\": \\\"message\\\"}, {\\\"name\\\": \\\"stream\\\", \\\"label\\\": \\\"stream\\\", \\\"uitype\\\": \\\"check\\\", \\\"required\\\": false, \\\"defaultvalue\\\": false}, {\\\"name\\\": \\\"watermark\\\", \\\"label\\\": \\\"watermark\\\", \\\"uitype\\\": \\\"check\\\", \\\"required\\\": false, \\\"defaultvalue\\\": false}, {\\\"name\\\": \\\"prompt_extend\\\", \\\"label\\\": \\\"prompt_extend\\\", \\\"uitype\\\": \\\"check\\\", \\\"required\\\": false, \\\"defaultvalue\\\": true}, {\\\"name\\\": \\\"negative_prompt\\\", \\\"label\\\": \\\"negative_prompt\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false}, {\\\"name\\\": \\\"size\\\", \\\"label\\\": \\\"size\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": false, \\\"defaultvalue\\\": \\\"1328*1328\\\"}]','active','2026-09-07 18:10:37','2026-09-07 18:10:37'),('XVE5qyMHc_pug2mNgAvGr','dashscope_async-i2v-自动配置','dashscope_async','i2v','/services/aigc/video-generation/video-synthesis','POST','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\", \\\"X-DashScope-Async\\\": \\\"enable\\\"}','{\\\"model\\\": {{ model|tojson }}, \\\"input\\\": {\\\"prompt\\\": {{ prompt|tojson }}, \\\"media\\\": [{% for _f in (params.image_files if params.image_files is not string and params.image_files else ([params.image_files] if params.image_files is string else [])) %}{\\\"type\\\": \\\"first_frame\\\", \\\"url\\\": {{ b64media2url(request, _f)|tojson }}}{% if not loop.last %},{% endif %}{% endfor %}]}, \\\"parameters\\\": {\\\"resolution\\\": {{ params.resolution|default(\\\"720P\\\")|tojson }}, \\\"duration\\\": {{ params.duration|default(5)|tojson }}}}','{\\\"status\\\": \\\"SUCCEEDED\\\", \\\"video\\\": \\\"{{ downloadfile2url(request, video_url) }}\\\", \\\"usage\\\": {{ json.dumps(usage) }}, \\\"task_id\\\": \\\"{{ task_id }}\\\"}','[{\\\"name\\\": \\\"prompt\\\", \\\"label\\\": \\\"提示词\\\", \\\"uitype\\\": \\\"text\\\", \\\"required\\\": true}, {\\\"name\\\": \\\"image_files\\\", \\\"label\\\": \\\"参考图片\\\", \\\"uitype\\\": \\\"image\\\", \\\"required\\\": true, \\\"multiple\\\": true}, {\\\"name\\\": \\\"resolution\\\", \\\"label\\\": \\\"resolution\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": \\\"480P\\\", \\\"text\\\": \\\"480P\\\"}, {\\\"value\\\": \\\"720P\\\", \\\"text\\\": \\\"720P\\\"}, {\\\"value\\\": \\\"1080P\\\", \\\"text\\\": \\\"1080P\\\"}], \\\"defaultvalue\\\": \\\"720P\\\"}, {\\\"name\\\": \\\"duration\\\", \\\"label\\\": \\\"duration\\\", \\\"uitype\\\": \\\"code\\\", \\\"required\\\": false, \\\"data\\\": [{\\\"value\\\": 3, \\\"text\\\": \\\"3\\\"}, {\\\"value\\\": 5, \\\"text\\\": \\\"5\\\"}, {\\\"value\\\": 10, \\\"text\\\": \\\"10\\\"}], \\\"defaultvalue\\\": 5}]','active','2026-09-06 13:49:04','2026-09-06 17:36:03'),('ZSIgxYNitLJQjZ3WIR3FL','happyhorse-1.1-t2v-query','dashscope_async','t2v','/tasks/{task_id}','GET','{\\\"Authorization\\\": \\\"Bearer {{api_key}}\\\", \\\"Content-Type\\\": \\\"application/json\\\"}','{\\\"method\\\": \\\"GET\\\", \\\"data\\\": {\\\"__from_doc__\\\": [\\\"task_id\\\"], \\\"__task_id__\\\": \\\"{{task_id}}\\\"}, \\\"__note__\\\": \\\"异步query步骤骨架,需按文档人工核对\\\"}','{\\\"content\\\": \\\"文档未提供查询响应格式;按 DashScope 异步任务查询接口配置,应包含任务状态与视频结果字段。\\\", \\\"__note__\\\": \\\"需人工核对\\\"}','','deprecated','2026-09-05 21:57:34','2026-09-06 17:16:56')" + }, + { + "op": "sql", + "sql": "INSERT IGNORE INTO `llm_org_policy` (`id`, `org_id`, `primary_model_id`, `backup_model_ids`, `endpoint_pref`, `status`, `created_at`, `updated_at`, `utility_model_id`) VALUES ('sRytbZUxf4WUqpjmccoFj','0','-zwwnba6DQoPnUV8kdKev','[\\\"Esumay0iEvxBET6XEdUd-\\\", \\\"hJdzH4Mogp_BdkLzr_1kH\\\", \\\"U-0h23GafPiQRqAO0CfHF\\\"]','any','active','2026-09-04 17:08:32','2026-09-04 17:08:32',NULL)" + } + ], + "down": [] +} \ No newline at end of file diff --git a/deploy/migrations/m0017_business_date_prod.json b/deploy/migrations/m0017_business_date_prod.json new file mode 100644 index 0000000..a5bdb3d --- /dev/null +++ b/deploy/migrations/m0017_business_date_prod.json @@ -0,0 +1,12 @@ +{ + "id": "m0017", + "env": "prod", + "title": "business_date 生产播种(=部署当日CURDATE)+切日交 cron(/accounting/api/dayend.dspy 每日00:05)——生产 params 从未有此参数,get_business_date 直接抛 BusinessDateParamsError,记账链路(consume/bill)全断;值环境专属不从测试迁(测试停在2026-08-26);不可逆(回退走备份恢复)", + "backup_tables": ["params"], + "up": [ + {"op": "sql", "sql": "INSERT INTO params (id, params_name, params_value) SELECT 'business_date', 'business_date', CURDATE() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM params WHERE params_name='business_date')"} + ], + "down": [ + {"op": "sql", "sql": "DELETE FROM params WHERE params_name='business_date'"} + ] +}