aps-agent/docs/architecture/modules.md

13 KiB
Raw Permalink Blame History

可重生模块登记(REGEN)

与 server/agent_core/registry.py 的 scan_modules() 对齐(文件头 moduleId: xxx, 可重生)。
增删改名带 moduleId 的模块 → 同轮更新本表 + ../CHANGELOG.md。
UI 实时扫描来自 /api/gov/modules;本表补充「黄金测试 + 重生提示词要点」。

登记表(按层)

agent-core

moduleId 文件 黄金测试 重生提示词要点
core-audit server/agent_core/audit.py test_m2_state 链式哈希 prev+body → sha256;GENESIS
core-harness server/agent_core/harness.py test_gov_api 封闭 _POWER_MAP;未登记默认 P3;一次性令牌
core-fallback-lane server/agent_core/fallback_lane.py test_pi_primary_chat / test_fallback_lane Pi 是唯一自然语言入口(无规则/关键词快路);封闭 IntentName 工具目录 + _PRIMARY_TOOL_PARAM_SCHEMAS 参数校验;P0 只读 / P2 确认卡 / P3 白名单 fail-closed;失败显式返回,不回落本地话术
core-agent-mesh server/agent_core/mesh.py test_mesh_approval_resume Goal/任务分发;P2/P3 卡挂起为 AWAITING_APPROVAL;审批后 resume_goal_after_confirmation() 恢复分发,confirmationResolutions 幂等
core-providers server/agent_core/providers.py — OpenAI 兼容;超时/非法降级
core-registry server/agent_core/registry.py test_gov_api 扫描 moduleId;剪枝 node_modules/dist 等
core-plan-runtime server/agent_core/plan_runtime.py test_plan_runtime L0-L3 不可变版本日志;同输入哈希追加重生;默认 3 次熔断
server-agent-core server/agent_core/init.py — 包声明

domain

moduleId 文件 黄金测试 重生提示词要点
domain-orders server/aps_domain/orders.py test_order_management 订单投影与 P2 写入纯领域逻辑;页面/对话共用
domain-masterdata server/aps_domain/masterdata.py test_master_data 资源树/物料BOM/日历维保投影 + 五个 master.* P2 写动作(产线/物料/维保/BOM明细/工艺步骤);停用资源只标 INACTIVE 不物理删除
domain-mrp server/aps_domain/mrp.py test_mrp 订单分解:BOM 净需求→采购建议(前置期倒排);外协步骤→委外建议;DRAFT 幂等替换
domain-flex server/aps_domain/flex.py test_pool_engine 柔性排产领域服务:能力池投影 + PoolEngine 触发(P1)+ 交期承诺模拟(沙盒);只读/沙盒不碰主干
domain-reports server/aps_domain/reports.py test_m3_knowledge 冻结快照→模板;数字只取快照
domain-scenario server/aps_domain/scenario.py test_m2_state 深拷贝沙盒;永不碰主干
domain-views server/aps_domain/views.py test_rule_engine 甘特/负荷/交期/KPI 投影
domain-workflow server/aps_domain/workflow.py test_m2_state 意图→动作;P2 出卡;写前建档;_stage_pending_adoption() 把只读分析冻结为 import.commit 采用卡
domain-project-analyze server/aps_domain/project_analyze.py test_project_analyze_readonly apply=False 使用只读项目上下文和 deepcopy 预览,不 seed/不写世界;返回 readOnly + pendingAdoption
domain-folder-pack server/aps_domain/folder_pack.py test_project_analyze_readonly apply_sql=False 仅解析 SQL 预览,不把 SQL 写进项目世界
domain-readiness server/aps_domain/readiness.py test_readiness 工时来源优先级(实测>推断>模板>设备>待维护);TIME_UNMAINTAINED 不再默默兜底
domain-sop-rules server/aps_domain/sop_rules.py test_sop_rules compile_sop_by_asset(kb_assets, asset_id) 按明确资产精确编译;缺 assetId fail-closed,不用原始问句猜 SOP
server-aps-domain server/aps_domain/init.py — 包声明

knowledge

moduleId 文件 黄金测试 重生提示词要点
server-knowledge server/knowledge/init.py — 包导出
knowledge-assets server/knowledge/assets.py test_m3_knowledge JSON 资产库;同名版本递增;chunks
knowledge-retrieval server/knowledge/retrieval.py test_m3_knowledge / test_embedding_fallback hybrid:向量+bigram;命中必带出处
knowledge-ingest server/knowledge/ingest.py test_knowledge_ingest PDF/docx/md 切块入库
knowledge-embedding server/knowledge/embedding.py test_embedding_fallback local→api→none
knowledge-preferences server/knowledge/preferences.py test_m3_knowledge 采用2分/试排1分;窗口200
knowledge-routing-templates server/knowledge/routing_templates.py test_routing_templates 内置模板幂等种子;应用时补 T-TPL 班组能力;工时标「模板」

engine

moduleId 文件 黄金测试 重生提示词要点
engines-base server/engines/base.py test_rule_engine ISchedulingEngine + EngineParams
engines-queries server/engines/queries.py test_rule_engine 主数据只读查询
engines-rule server/engines/rule_engine.py test_rule_engine 策略排序→占槽;跨天;冲突只扫本版
engines-ga server/engines/ga_engine.py test_ga_engine 固定种子 GA;订单序+完整产线联合搜索;复用班次占槽
engines-pool server/engines/pool_engine.py test_pool_engine 柔性:能力池选设备+虚拟产线组装+瓶颈锚;设备级占槽;模具换型/移动耗时
engines-external server/engines/external_engine.py test_external_engine 中性 DTO→HTTP/local skill→写 flex*
core-skills server/agent_core/skills.py test_external_engine SkillManifest 注册/健康检查
integrations-algo-stub server/integrations/algo_skill_stub.py test_external_engine local://stub 确定性解
domain-scheduling-dto server/aps_domain/scheduling_dto.py test_external_engine Problem/Solution 双向映射
server-engines server/engines/init.py test_rule_engine CP/GA/HYBRID/EXTERNAL;导出 PoolEngine

state

moduleId 文件 黄金测试 重生提示词要点
server-state server/state/init.py — 导出
state-checkpoints server/state/checkpoints.py test_m2_state 成对快照;容量淘汰;原子写
state-seed server/state/seed.py test_rule_engine 演示工厂;固定 Random(42);APS_SEED_PACK 重放数据包
state-store server/state/store.py test_m2_state / test_db_projection 单文件 JSON 原子写 + SQLite 主数据双向同步(指纹脏检查)
state-packs server/state/packs.py test_db_projection 数据包导出/重放;日期按 baseDate→今天平移

db / importers

moduleId 文件 黄金测试 重生提示词要点
db-models server/db/models.py test_db_projection 通用宽表 master_records(payload JSON)+ project_settings + 模板表
db-database server/db/database.py test_db_projection 懒加载 engine;APS_DB_PATH 覆盖;reset_engine 供测试
db-sync server/db/sync.py test_db_projection world↔DB 投影;多项目隔离;master_fingerprint
importers-excel server/importers/excel_importer.py test_excel_importer profile 驱动;导入后入库+投影
importers-profiles server/importers/profiles/*.json test_excel_importer 客户口径全在配置;代码零硬编码

gateway / contract

moduleId 文件 黄金测试 重生提示词要点
gateway-app server/gateway/app.py test_gov_api HTTP/SSE;P2 确认通道;Mesh 审批恢复 best-effort 钩子;SOP 编译/暂存端点
gateway-golden server/gateway/golden.py test_gov_api pytest 子进程;run 须 to_thread
gateway-plan-api server/gateway/plan_api.py test_plan_runtime Plan 创建/读取/历史/重生;P1 只追加治理草稿,不写世界状态
server-gateway server/gateway/init.py — 包声明
server-main server/main.py — uvicorn 入口
server-contracts server/contracts.py test_gov_api 意图/UIBlock 封闭枚举
server-root server/init.py — 包声明
server-timeutil server/timeutil.py test_rule_engine 与 legacy 时间语义对齐

ui(React)

moduleId 文件 黄金测试 重生提示词要点
web-app apps/web/src/App.tsx 构建 Shell;executeCommand 汇聚
web-api-client apps/web/src/api/client.ts 构建 REST + SSE;postSopStage(sessionId, assetId) → /api/sop/stage
web-types apps/web/src/api/types.ts 构建 与 contracts 镜像
web-chat apps/web/src/chat/ChatPanel.tsx 构建 确认卡/方案卡
web-project-panel apps/web/src/projects/ProjectPanel.tsx 构建 项目树
web-project-store apps/web/src/projects/store.ts 构建 localStorage
web-project-types apps/web/src/projects/types.ts 构建 类型
web-timeline apps/web/src/timeline/TimelineRail.tsx 构建 回滚口令合成
web-viewport apps/web/src/viewport/ViewportPanel.tsx 构建 模式+KPI
web-gantt apps/web/src/viewport/GanttView.tsx 构建 甘特
web-load apps/web/src/viewport/LoadView.tsx 构建 负荷
web-due apps/web/src/viewport/DueView.tsx 构建 交期
web-splitter apps/web/src/shell/VSplitter.tsx 构建 分隔条
web-kebab apps/web/src/shell/KebabMenu.tsx 构建 ⋯ 菜单
web-dialog apps/web/src/shell/AppDialog.tsx 构建 应用内对话框
web-gov-console apps/web/src/gov/GovConsole.tsx 构建 治理覆盖层;SOP 候选 /api/sop/compilable + 编译暂存
web-mesh-panel apps/web/src/mesh/MeshPanel.tsx 构建 Goal/任务/消息面板;AWAITING_APPROVAL 显示「待人工审批」并列出 confirmationIds
web-orders apps/web/src/orders/OrderPanel.tsx 构建 + test_order_management 订单列表/编辑器;写入动作只暂存确认卡
web-master apps/web/src/master/MasterPanel.tsx 构建 + test_master_data 主数据三页签(资源/物料BOM/日历维保);复用订单面板骨架;写入只暂存确认卡
web-cmd-palette apps/web/src/shell/CommandPalette.tsx 构建 Ctrl+K
web-main apps/web/src/main.tsx 构建 入口 + antd ConfigProvider 暗色主题(#F97316)
web-styles apps/web/src/styles.css 构建 设计令牌
web-skill-console apps/web/src/skills/SkillConsole.tsx 构建 Codex 式双面板;启停/登记走 P2
web-knowledge apps/web/src/knowledge/KnowledgePanel.tsx 构建 资产/检索调试/模板库/索引状态

shared/schemas/*.json 无 moduleId,由 contracts / web-types 双侧约束。

变更记录

日期 变更
2026-07-31 Plan 治理:登记 core-plan-runtime / gateway-plan-api,黄金测试新增 test_plan_runtime
2026-07-16 初版;M3 扩至 knowledge/reports
2026-07-16 迁入 architecture/modules.md
2026-07-16 OR-01:登记 domain-orders / web-orders,黄金测试扩至订单管理
2026-07-16 MD-01/02/03:登记 domain-masterdata / web-master,黄金测试扩至主数据
2026-07-16 MRP:登记 domain-mrp;web-orders 扩分解建议视图;web-master 扩 BOM/路线编辑
2026-07-22 柔性排产:登记 engines-pool / domain-flex,黄金测试新增 test_pool_engine(9 项)
2026-07-23 通用平台:登记 db-* / importers-* / state-packs / domain-readiness / core-dialog(已于 2026-09-11 删除) / knowledge-routing-templates / web-skill-console / web-knowledge
2026-09-13 Pi 参数 schema 闭包;只读分析 → P2 采用;Mesh 审批恢复;SOP 控制台接线

Round 65 新增排产内核

  • server/aps_domain/closed_loop_problem.py:纯函数商务需求/BOM/供应图与阻断建模。

  • server/aps_domain/supply_netting.py:跨订单全局供应净算与 pegging 守恒。

  • server/aps_domain/closed_loop_runtime.py:W1 -> SchedulingProblemV2 -> 候选求解 -> Validator -> 原子物化。

  • server/aps_domain/scheduling_problem_v2.py / scheduling_validator.py:本地/外部算法共享的版本化契约和独立校验器。

  • server/aps_domain/mes.py:完整 V2 与当前多资源 evidence 重算,见 test_mes_evidence_v2.py。

  • server/aps_domain/orders.py / server/gateway/app.py:FLEX -> sales 投影语义幂等,订单 GET 的 MRP 预览运行在深拷贝上。

  • tests/e2e/round65_closed_loop_server.py / apps/web/e2e/closed-loop-scheduling.spec.ts:生产 app + 内存 world 的真实浏览器闭环验收。