aps-agent/aps/docs/endpoint-split.md

4.7 KiB
Raw Blame History

端点分流清单(B1 第一步)

数据来自 main 分支的 FastAPI 路由装饰器,2026-09-30 实测 245 个端点。归属按 docs/spec/platform-vs-business.md 的判据判定:业务事实 → APS;平台基础能力 → 平台;与第三方系统的对接 → 独立 Provider。

0 提取方式(可复现)

# 在 main 分支上扫描所有 @app/@router 装饰器
git grep -n -E '^\s*@(app|router)\.(get|post|put|patch|delete)\(' main -- server | wc -l

1 总量

归属 端点数 占比 去向
APS 143 58.4% 迁进 aps/src/aps/api(B1)
平台 64 26.1% 由平台 TS 侧重写(不搬代码)
第三方 Provider 13 5.3% 拆成独立 Provider(A8 / B 线)
丢弃 25 10.2% 不迁移
合计 245 100% —

任务表 B1 里写的「210 个端点」指的是 server/gateway/app.py 这一个文件里的数量;全仓(含 masterdata_api / governance_api / mps_api / plan_api / agent_api 等子路由)是 245 个。

2 APS 侧清单(迁入 aps/)

共 143 个端点,分 42 组:

资源组 端点数 方法
flex 16 GET / POST
gov 12 GET / POST
drawings 8 DELETE / GET / POST
rules 8 DELETE / GET / POST / PUT
plan 7 GET
params 7 GET / POST
mesh 7 GET / POST
*(/plans/{plan_id}/... 挂载路由) 6 GET / POST
dxf 5 GET / POST
saga 5 GET / POST
world 4 GET
schedule 4 POST
rebuild 4 GET / POST
orders 3 GET / POST
master 3 GET / POST
mrp 3 GET / POST
analytics 3 GET
sop 3 GET / POST
calendar 3 GET / POST
forecast 2 GET / POST
rush 2 POST
multimodal 2 POST
times 2 GET / POST
constraints 2 GET / POST
checkpoints 2 GET
reports 2 GET
resources 2 GET
trace 2 GET / POST
readiness 1 GET
attribution 1 GET
guidance 1 GET
scenario 1 GET
timeline 1 GET
versions 1 GET
stage 1 POST
confirm 1 POST
pending 1 GET
draft 1 POST
persist 1 POST
traces 1 GET
schedule-versions 1 GET
gap 1 POST

3 平台侧清单(平台重写,不搬代码)

共 64 个端点,分 17 组:

资源组 端点数 方法
projects 12 DELETE / GET / PATCH / POST
sessions 12 DELETE / GET / PATCH / POST / PUT
auth 9 GET / POST
knowledge 6 GET / POST
jobs 4 GET / POST
templates 3 GET / POST
settings 3 GET / POST
intents 2 GET
health 2 GET
import 2 POST
workspace 2 GET / PUT
project-files 2 DELETE / POST
features 1 GET
chat 1 POST
packs 1 GET
rag 1 POST
system 1 GET

4 第三方 Provider(从 APS 里剥出来)

这一组按判据第 3 条单列:它们是与 SAP / MES / WMS 的对接,不是 APS 自己的业务。B 线拆分时搬成各自的 Provider(A8)。

共 13 个端点,分 3 组:

资源组 端点数 方法
sap 5 GET / POST
mes 5 GET / POST
wms 3 GET / POST

5 丢弃

共 25 个端点,分 6 组:

资源组 端点数 方法
skills 8 GET / POST
mcp 8 GET / POST
actions 4 POST
integrations 2 GET / POST
automation 2 GET / POST
invoke 1 POST

6 迁移顺序建议

批次 内容 理由
1 APS 侧的只读端点:master / orders / calendar / params / analytics / reports / views / plan(GET) 对应契约草案里的 7 个只读能力,B5 与 A5 都要用
2 APS 侧的求解与闭环:schedule / flex / mrp / mps / saga / world / checkpoints / rebuild 需要 engines 与 state 一起搬
3 APS 侧的图纸与导入:drawings / dxf / multimodal / times 依赖解析类依赖,独立可搬
4 APS 侧治理:gov / rules 由 B4 重写,不搬旧实现
5 第三方 Provider:sap / mes / wms 与 APS 解耦后再做(A8)

7 交叉引用检查(B1 验收的另一半)

分流完成后要能证明「无交叉引用」:

检查 方式
APS 不 import 平台 pytest 里的 AST 守卫(B0 已加)
平台不 import APS 平台 pnpm check:deps + 跨库访问检查(A1.6 已实现)
路由清单与代码一致 迁移后重新跑本文的提取脚本,比对数量与分组