42 Commits

Author SHA1 Message Date
d86facda22 feat(deploy): Nuitka二进制化构建脚本+入口main()——逐模块编译保包结构(__init__改名trick),数据文件随overlay,runner透传argv;2026-09-17立项实验定型 2026-09-17 16:22:00 +08:00
f0a21a51c6 feat(voucher): 代金券模块宿主接入——build.sh四清单(clone/pip/xls2ui/软链)+pipeline_app.py load_voucher(ticket后,注册送券事件挂钩)+import_init字典种子+index.ui客户'我的代金券'/管理'代金券管理'(is_ticket_staff门禁)菜单;配套voucher仓库6cf7098 2026-09-12 19:07:17 +08:00
9674a2ee4b feat(ticket): 工单管理模块应用集成——load链/build.sh三清单/种子/i18n/菜单/冒烟
- app/pipeline_app.py: try-import load_ticket()+load链(pipeline_task之后,依赖pipeline_service的provider注册/llm_bridge/rag_client)
- build.sh: clone/pip install/wwwroot软链三清单加ticket(无json/CRUD故不进xls2ui清单)
- conf/config.json module_dbname: ticket→pipeline; scripts/import_init.py INIT_MODULES加ticket(码表+owner.maintainer角色种子)
- scripts/merge_i18n.py MODULES加ticket; i18n四语言+3词条(我的工单/工单管理/提交新工单)
- wwwroot/index.ui: 客户分支「我的工单」;管理分支「工单管理」(is_ticket_staff=owner.maintainer/admin/superuser Jinja门禁)
- deploy/smoke: s15/s16工单两页面用例
- rp.json不改: 权限由模块load_path.py逐个精确配(管理页壳owner三角色,业务权限服务端按current_role动态校验)
2026-09-10 16:14:39 +08:00
d6278364da refactor: 删除pipeline_dist分销管理模块——功能与supplychain重复(分销商/分销协议/分销折扣统一由supplychain承载)
- build.sh四处清单(mv/pip install/xls2ui/软链)删pipeline_dist
- app/pipeline_app.py删import+load_pipeline_dist()
- conf/config.json删module_dbname条目; conf/rp.json删/pipeline_dist两条
- bin/init_perms.py删分销管理访问权限; scripts/load_path.py删3条RBAC路径
- scripts/merge_i18n.py删MODULES条目; wwwroot/index.ui删分销管理菜单项
- deploy/smoke/cases.json删s09营销产线壳用例
- i18n源+产物删5词条(分销商产线配置/分销商管理/分销管理/2条描述语)
- wwwroot/pipeline_dist软链删除(git跟踪)
- deploy/migrations/m0020登记DROP两表+清码表+清权限(破坏性,dmig拒绝自动执行,人工复核手工跑;测试机两表0行)
- supplychain的sub_distributor*权限/表不受影响(path前缀与表名均不同)
2026-09-10 11:59:45 +08:00
8ede565596 fix(host): load_xxx 规范化调用点(load_rag/load_pipeline_llm/load_pipeline_sdlc)+pipeline-task 接入修复(init加载/build.sh四清单补名/wwwroot软链下划线)+opportunity 建表走json2ddl幂等+import_init登记 2026-09-07 13:57:54 +08:00
0e3504af91 fix(accounting-worker): 补load_appbase——get_business_date未注册致product_accounting_generic崩'NoneType'not callable(i2v出账实测暴露,449条历史流水同因失败被掩盖) 2026-09-05 18:31:03 +08:00
e0dbac6f9d feat(accounting): 独立异步记账进程——模型用量出账(客户付/商户营收/供应商成本),同步记账留web,进程由start/stop.sh管理 2026-09-04 19:32:43 +08:00
ec4aebd9a3 feat(app): load_dapi() 接线——注册 Bearer key 认证供 rag 对外 API 鉴权(对齐 sage) 2026-09-03 16:12:30 +08:00
67e77a11c3 feat: 宿主集成pipeline-platform模块
- build.sh: clone/pip/wwwroot软链三处列表加入
- pipeline_app: load_pipeline_platform()(service之后)
- 菜单入口URL改 /pipeline-platform/agent_platform
2026-09-02 15:26:55 +08:00
252f119f35 feat(llm-govern): 集成pipeline-llm模型治理模块
- pipeline_app.py: load_llm() try/except兜底加载
- build.sh: clone/pip install/CRUD生成/wwwroot软链 四处枚举加pipeline-llm
- create_tables.py: 执行模块手写幂等DDL(8张llm_表,不走json2ddl避DEFAULT引号bug)
- import_init.py: 注册appcodes字典; rp.json: /pipeline-llm/** → logined
- index.ui主菜单: 加「模型治理」项(/pipeline-llm, TabPanel)
2026-09-01 17:28:03 +08:00
c04bcf0c9f feat: 挂载商机产线能力包 load_pipeline_opportunity(数据来自数据爬取平台内网HTTP) 2026-08-28 17:37:04 +08:00
38010ccdfd fix: load_pipeline_bidding() 漏调用——只 import 未执行,投标能力包从未装载(poller/能力包/角色工具全部未生效) 2026-08-27 00:27:03 +08:00
def469ddbc feat(bidding): 接入投标产线模块
- app/pipeline_app.py:load_pipeline_bidding(未装时优雅降级)
- build.sh:模块清单四处加 pipeline-bidding(clone/install/CRUD/wwwroot软链)
- wwwroot/index.ui:侧栏+主页卡片加「投标产线」入口(→/pipeline-bidding/index.ui)
2026-08-26 22:54:44 +08:00
ymq
6f5d4a6136 feat(supplychain): 集成供应链模块 + filemgr
- build.sh 四处列表 + 8b DDL 循环加 filemgr supplychain
- app/pipeline_app.py: load_filemgr() + load_supplychain()(filemgr 先于 supplychain)
2026-08-26 16:40:20 +08:00
4f00b931f5 feat(product_management): 接入产品层
- app/pipeline_app.py: load_product_management(),置于资源模块之后
  (产品层通过 env.product_interface 调 account_resource/storage_resource)
- 打通资源→产品→定价→折扣→出账链路
2026-08-26 15:39:08 +08:00
a08bac91b6 feat(商品化): 补 5 个模块集成 + 接入两个资源模块 + accounting 菜单(参考 sage)
关键修复:accounting/pricing/discount/unipay 的表和前端早已就位,
但 app/pipeline_app.py 从未 load 它们 —— 相关页面一点即 NameError 500。

- 入口补 load_pricing/accounting/discount/unipay + load_account_resource/storage_resource
  顺序:pricing 先于 accounting 与资源模块(资源计费依赖 pricing_program_charging)
- build.sh 四处列表 + 8b DDL 循环加 account_resource/storage_resource
- wwwroot/index.ui 加「账务管理」菜单 11 子项(参考 sage menu.ui 的配置账务结构)
  按 pipeline-app 实际存在的页面取项:sage 菜单里的 open_account.ui 本模块不存在,已剔除,
  另补上 sage 未列但存在的 我的账户/余额/明细/账单/信用额度/币种/汇率/记账日志
- i18n 四语言补「账务管理」
2026-08-26 14:54:24 +08:00
947b6d3abf feat(dingdingflow): 接入钉钉审批模块
- app/pipeline_app.py: load_dingdingflow(),置于 load_pipeline_service() 之前
  (后者的 dingtalk_approval 适配器依赖前者注册的 register_biz_handler)
- build.sh: 四处模块列表 + 8b DDL 循环加 dingdingflow(dda_* 表建到 pipeline 库)
- wwwroot/index.ui: 侧边栏加「钉钉审批」菜单(open_tab)
- i18n zh/en/jp/ko 补文案
2026-08-25 18:23:32 +08:00
8e09c5389a feat(rag): 接入 rag 知识库模块 + uapi 外部 API 网关
- app/pipeline_app.py: load_uapi() + init_rag_module()(uapi 必须先于 rag)
- build.sh: 四处模块列表加 uapi/rag(clone/pip/xls2ui/wwwroot symlink)
  新增 8b 步骤:json2ddl 建 rag_* 表 + 导入 uapi_seed.sql 配置种子
- wwwroot/index.ui: 侧边栏加「知识库」菜单项(open_tab 符合 UI 导航契约)
- i18n zh/en/jp/ko: 补知识库相关四语言文案

rag 表统一 rag_ 前缀,与产线业务表隔离;数据独立于 ragserver
2026-08-25 15:24:05 +08:00
8a3eb50300 feat(assets): 注册 assets_ver() 全局函数(js/css 最大 mtime, 30s 缓存),根治改了前端 js 浏览器仍跑旧代码 2026-08-25 14:36:18 +08:00
b849eb3e92 feat(office): 补提交 univer-office 办公代理(已部署上线)
/office/* 反向代理到本机 univer-office Node 服务(9091),承接 markdown<->IDocumentData 转换 + docx/xlsx/ppt 导出。含 office_proxy.py + config.json 路由 + pipeline_app 注册 + restart-pipeline.sh
2026-08-21 17:28:47 +08:00
72a362c96e fix: app 入口补 load_smssend(),修复发送验证码 sms_engine 未定义 NameError 2026-08-17 14:08:39 +08:00
324a4b7aab feat: 集成 app_audit 审计模块
- pipeline_app.py: load_app_audit(try/except 容错)
- build.sh: clone + pip install + wwwroot 链接加 app_audit
2026-08-14 12:21:51 +08:00
4b29ed0f87 bgfix 2026-07-19 11:53:13 +08:00
ffd36a3c51 fix: get_module_dbname returns pipeline for all modules 2026-07-18 23:48:23 +08:00
668bc55ed8 feat: get_module_dbname in pipeline_app.py + ServerEnv registration 2026-07-18 23:44:59 +08:00
3c9fdcf444 feat: UI pages, build.sh, deployment scripts, model uitype fixes
- Add SDLC dashboard, pipeline editor, ops center UI
- build.sh: clone business modules to pkgs/, xls2ui CRUD, fix created_by
- global_func.py: password_encode None-safe wrapper
- pipeline_app.py: permission cache warmup removed
- load_path.py: RBAC permission registration for all modules
- scripts/merge_i18n.py: i18n merge tool
- bin/init_perms.py, bin/init_data.py: init scripts
- set_role_perm.py: single permission registration
- Model uitype fields set for form editing
- pipeline_core/pipeline_ops load_path.py scripts
2026-07-18 22:44:34 +08:00
3623d5725e feat: add tenant module — menu entry + init loading
- Add tenant wwwroot symlink to pipeline-app
- Add '租户管理' to sidebar menu
- Load tenant.init in app init
2026-07-09 11:17:20 +08:00
a243f1d9cf fix: ktv_adapter model names — remove ky- prefix to match actual Sage llm records
- All 8 GPU service models now match tokentest llm names
- Add supporting app modules (quality_gate, model_selector, global_func, eval_music, eval_video)
2026-07-08 18:05:13 +08:00
212a0c1f85 fix: ktv_adapter pipeline_service导入改为可选 2026-07-07 22:14:10 +08:00
246a68dd26 fix: pipeline_service和pipeline_sdlc导入改为可选,缺失时优雅降级 2026-07-07 22:05:18 +08:00
216f2f9f59 fix: demucs固定separate_full模式 2026-07-06 17:26:40 +08:00
0fbc0d11cc chore: 清理最后一个wan2.6引用 2026-07-06 17:24:47 +08:00
bee01f6c3e fix: wan2.6→wan2.7 作为推荐默认模型 2026-07-06 17:23:57 +08:00
0d73abfb20 fix: 可灵替换为Seedance 2.0 + 清理旧GPU计算逻辑 2026-07-06 17:22:41 +08:00
225c654811 fix: 模型选择读取客户选项+定价改为llmage模型(wan2.6/happyhorse/kling) 2026-07-06 17:20:30 +08:00
3493444307 refactor: KTV产线全部改为通过llmage API调用,环境变量配置供应商/端点/APIKey 2026-07-06 17:11:51 +08:00
ffdba55fd7 feat: add full 4-stem demucs mode with MIDI instrument replacement
- Support mode='full' in handle_demucs_separating config
- Full mode: 4-stem separation → basic-pitch MIDI → fluidsynth render → mix
- Each instrument gets correct GM instrument (drums=channel10, bass=34, other=1)
- 2-stem mode preserved as default for backward compatibility
- Uses run_full.py standalone script on GPU server via SSH
2026-07-06 11:30:43 +08:00
eb10d97aa2 feat: eval_video/eval_music 接入 LLM 评估
- eval_video.py: semantic_consistency + character_consistency 调用 llm_bridge
- eval_music.py: emotion_lyrics_match + prompt_adherence 调用 llm_bridge
- 异常时回退默认分数,保证产线不中断
2026-06-25 21:10:35 +08:00
8408570ed7 feat: add multi-model cost estimation and selection after storyboard
- Add cost_estimator.py: supports Wan 2.2, Wan 2.7, Vidu 2.0 pricing
- Add model_selector.py: creates human_task for customer model selection
- Update ktv_adapter.py: add model_selecting step, modify scene_video_generating to use selected model
- Add integration guide: docs/model-selection-integration.md
2026-06-25 18:51:29 +08:00
9d3f0ff38c feat: 多维度质量评估体系 - 视频5维度/音乐7维度
新增模块:
- app/eval_video.py: 场景视频多维度评估 (视觉质量25%, 运动流畅度20%, 语义一致性30%, 角色一致性15%, 时间连贯性10%)
- app/eval_music.py: 音乐多维度评估 (节奏15%, 和弦10%, 听感20%, 情绪-歌词匹配20%, 指令匹配15%, 伴奏10%, 人声10%)

更新模块:
- app/quality_gate.py: 集成多维度评估函数,支持降级
- app/ktv_adapter.py: 注册6个质量门控 handlers (步骤9-10, 11, 12, 13, 14-15, 17)

质量门控流程:
1. 执行 handler
2. 多维度评估
3. 不达标自动重试(最多3次)
4. 仍不达标创建 human_task 暂停任务等待人工决策
2026-06-25 18:34:26 +08:00
f767f22717 feat: add KTV adapter with 17 step handlers
- Restore handlers_ktv.py as ktv_adapter.py (adapter pattern)
- Wire load_ktv_adapter() into pipeline_app.py init
- GPU ports: Wan2.2:8080, RealESRGAN:9082, fastwhisper:9925
- Handlers: audio/video preparing, demucs, lyrics, subtitles,
  music gen, character design, storyboard, scene video, KTV synthesis
2026-06-25 14:26:19 +08:00
9eccd08ffd feat: pipeline-app独立产线后端服务
3个业务模块:
- pipeline_core: 产线定义(pipelines/steps/versions)
- pipeline_ops: 运营(定价/供应量/使用记录)
- pipeline_dist: 分销(分销商/独立定价/API密钥)

- ahserver独立部署(端口9090)
- 独立数据库pipeline
- 80个文件, 符合module/db-table/crud三规范
2026-06-11 14:49:02 +08:00