Files
ai-gateway-go/docs/route-contract-matrix.md
T
superidou 5759c1862e AI Gateway Go 0.10.0 源码快照 + 旗舰版需求规划报告
M0-M7 已完成:核心网关(身份/RBAC/TOTP/OIDC/SAML/Provider/配额/路由/内容策略/审计/定价)+ 资源市场(MCP/Skills/数字员工)。
含 22 个 PostgreSQL 迁移、管理端/门户端前端源码、OpenAPI 契约、部署 compose。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-12 11:45:54 +08:00

24 KiB

旧 Python → Go 路由契约矩阵

scripts/compare_route_contracts.py 通过 AST 与 OpenAPI 自动生成;replaced 表示能力有新契约承接,仍需兼容层或客户端迁移,不能视为原路由原样可用。

  • 旧源码路由装饰器:201
  • 同方法同规范路径:85
  • 新契约替代:112
  • 明确退役:4
  • 尚无契约:0
状态 方法 旧路径 Go 契约/预期目标 来源
新契约替代 GET /admin/api/admins /api/v1/admin/identities/admins admin.py:290
新契约替代 POST /admin/api/admins /api/v1/admin/identities/admins admin.py:306
新契约替代 POST /admin/api/admins/change_password /api/v1/admin/password admin.py:361
新契约替代 DELETE /admin/api/admins/{admin_id} /api/v1/admin/identities/*/{identity_id} active=false admin.py:381
新契约替代 PATCH /admin/api/admins/{admin_id} /api/v1/admin/identities/admins/{identity_id} (PUT with full revision payload) admin.py:329
已覆盖 GET /admin/api/applications /api/v1/admin/applications applications.py:158
已覆盖 POST /admin/api/applications /api/v1/admin/applications applications.py:287
已覆盖 GET /admin/api/applications/asset-dependencies /api/v1/admin/applications/asset-dependencies applications.py:172
已覆盖 GET /admin/api/applications/catalog /api/v1/admin/applications/catalog applications.py:165
已覆盖 DELETE /admin/api/applications/{app_id} /api/v1/admin/applications/{application_id} applications.py:370
新契约替代 PATCH /admin/api/applications/{app_id} /api/v1/admin/applications/{application_id} (PUT with full revision payload) applications.py:312
新契约替代 GET /admin/api/applications/{app_id}/composition /api/v1/admin/applications/{application_id} applications.py:190
新契约替代 PUT /admin/api/applications/{app_id}/composition /api/v1/admin/applications/{application_id} applications.py:202
新契约替代 POST /admin/api/applications/{app_id}/keys /api/v1/admin/api-keys (scoped credentials) applications.py:384
已覆盖 POST /admin/api/applications/{app_id}/publish /api/v1/admin/applications/{application_id}/publish applications.py:214
已覆盖 POST /admin/api/applications/{app_id}/rollback/{version} /api/v1/admin/applications/{application_id}/rollback/{version} applications.py:233
已覆盖 GET /admin/api/applications/{app_id}/runs /api/v1/admin/applications/{application_id}/runs applications.py:254
新契约替代 POST /admin/api/applications/{app_id}/test /v1/applications/{application_code}/chat/completions applications.py:272
新契约替代 GET /admin/api/audit_settings /api/v1/admin/content-policies and /api/v1/admin/notification-channels admin.py:2297
新契约替代 PUT /admin/api/audit_settings /api/v1/admin/content-policies and /api/v1/admin/notification-channels admin.py:2340
新契约替代 POST /admin/api/audit_settings/test_image_model /api/v1/admin/content-policies and /api/v1/admin/notification-channels admin.py:2379
新契约替代 GET /admin/api/content_audit_scopes /api/v1/admin/content-policies admin.py:2413
新契约替代 POST /admin/api/content_audit_scopes /api/v1/admin/content-policies admin.py:2436
新契约替代 DELETE /admin/api/content_audit_scopes/{scope_id} /api/v1/admin/content-policies admin.py:2470
新契约替代 GET /admin/api/cost_report /api/v1/admin/usage/daily and /api/v1/admin/model-prices admin.py:3936
新契约替代 GET /admin/api/cost_report/export /api/v1/admin/usage/daily and /api/v1/admin/model-prices admin.py:3967
已覆盖 GET /admin/api/departments /api/v1/admin/departments admin.py:550
已覆盖 POST /admin/api/departments /api/v1/admin/departments admin.py:565
新契约替代 DELETE /admin/api/departments/{dept_id} /api/v1/admin/departments/{department_id} active=false admin.py:615
新契约替代 PATCH /admin/api/departments/{dept_id} /api/v1/admin/departments/{department_id} (PUT with full revision payload) admin.py:584
新契约替代 GET /admin/api/dept_budgets /api/v1/admin/usage/daily and /api/v1/admin/model-prices admin.py:3781
新契约替代 POST /admin/api/dept_budgets /api/v1/admin/usage/daily and /api/v1/admin/model-prices admin.py:3807
新契约替代 DELETE /admin/api/dept_budgets/{budget_id} /api/v1/admin/usage/daily and /api/v1/admin/model-prices admin.py:3839
新契约替代 GET /admin/api/dept_stats /api/v1/admin/usage/daily and /api/v1/admin/model-prices admin.py:2934
已覆盖 GET /admin/api/fact-check/events /api/v1/admin/fact-check/events hallucination.py:390
已覆盖 GET /admin/api/fact-check/events/{event_id} /api/v1/admin/fact-check/events/{event_id} hallucination.py:405
已覆盖 GET /admin/api/fact-check/policies /api/v1/admin/fact-check/policies hallucination.py:348
已覆盖 POST /admin/api/fact-check/policies /api/v1/admin/fact-check/policies hallucination.py:355
已覆盖 DELETE /admin/api/fact-check/policies/{policy_id} /api/v1/admin/fact-check/policies/{policy_id} hallucination.py:378
已覆盖 GET /admin/api/fact-check/settings /api/v1/admin/fact-check/settings hallucination.py:312
已覆盖 PUT /admin/api/fact-check/settings /api/v1/admin/fact-check/settings hallucination.py:323
新契约替代 GET /admin/api/feishu_auth /api/v1/admin/identity-providers (generic OIDC/SAML) admin.py:3314
新契约替代 POST /admin/api/feishu_auth /api/v1/admin/identity-providers (generic OIDC/SAML) admin.py:3335
新契约替代 POST /admin/api/feishu_auth/test /api/v1/admin/identity-providers (generic OIDC/SAML) admin.py:3364
新契约替代 GET /admin/api/kb /api/v1/admin/knowledge-bases knowledge.py:395
新契约替代 POST /admin/api/kb /api/v1/admin/knowledge-bases knowledge.py:410
新契约替代 DELETE /admin/api/kb/{kb_id} /api/v1/admin/knowledge-bases/{knowledge_base_id} knowledge.py:475
新契约替代 PATCH /admin/api/kb/{kb_id} /api/v1/admin/knowledge-bases/{knowledge_base_id} (PUT with full revision payload) knowledge.py:439
新契约替代 GET /admin/api/kb/{kb_id}/documents /api/v1/admin/knowledge-bases/{knowledge_base_id}/documents knowledge.py:494
新契约替代 POST /admin/api/kb/{kb_id}/documents/paste /api/v1/admin/knowledge-bases/{knowledge_base_id}/documents knowledge.py:550
新契约替代 POST /admin/api/kb/{kb_id}/documents/upload /api/v1/admin/knowledge-bases/{knowledge_base_id}/documents knowledge.py:508
新契约替代 DELETE /admin/api/kb/{kb_id}/documents/{doc_id} /api/v1/admin/knowledge-bases/{knowledge_base_id}/documents/{document_id} knowledge.py:590
新契约替代 POST /admin/api/kb/{kb_id}/documents/{doc_id}/reprocess /api/v1/admin/knowledge-bases/{knowledge_base_id}/documents/{document_id}/reprocess knowledge.py:574
新契约替代 POST /admin/api/kb/{kb_id}/test_search /api/v1/admin/knowledge-bases/{knowledge_base_id}/search knowledge.py:613
新契约替代 GET /admin/api/keys /api/v1/admin/api-keys admin.py:912
新契约替代 POST /admin/api/keys /api/v1/admin/api-keys admin.py:943
新契约替代 DELETE /admin/api/keys/{key_id} /api/v1/admin/api-keys/{api_key_id} admin.py:1017
新契约替代 PATCH /admin/api/keys/{key_id} /api/v1/admin/api-keys/{api_key_id}/limits admin.py:977
新契约替代 GET /admin/api/log_search /api/v1/admin/audit-events admin.py:2817
新契约替代 GET /admin/api/log_views /api/v1/admin/audit-events admin.py:2879
已覆盖 POST /admin/api/login /api/v1/admin/login admin.py:151
已覆盖 POST /admin/api/login/totp /api/v1/admin/login/totp admin.py:193
新契约替代 DELETE /admin/api/logs /api/v1/admin/audit-events (bounded immutable audit query) admin.py:2633
新契约替代 GET /admin/api/logs /api/v1/admin/audit-events admin.py:2540
新契约替代 GET /admin/api/logs/search /api/v1/admin/audit-events (bounded immutable audit query) admin.py:2689
新契约替代 GET /admin/api/logs/{log_id}/view_history /api/v1/admin/audit-events (bounded immutable audit query) admin.py:2862
明确退役 POST /admin/api/logs/{log_id}/view_raw retired: unbounded raw-body access is excluded by storage/compliance ADR admin.py:2653
新契约替代 GET /admin/api/malicious_domains /api/v1/admin/content-policies admin.py:2501
新契约替代 POST /admin/api/malicious_domains /api/v1/admin/content-policies admin.py:2512
新契约替代 DELETE /admin/api/malicious_domains/{domain} /api/v1/admin/content-policies admin.py:2528
已覆盖 GET /admin/api/model-requests /api/v1/admin/model-requests admin.py:3506
已覆盖 POST /admin/api/model-requests/{req_id}/approve /api/v1/admin/model-requests/{request_id}/approve admin.py:3522
已覆盖 POST /admin/api/model-requests/{req_id}/reject /api/v1/admin/model-requests/{request_id}/reject admin.py:3569
新契约替代 GET /admin/api/model_aliases /api/v1/admin/model-routes admin.py:2204
新契约替代 POST /admin/api/model_aliases /api/v1/admin/model-routes admin.py:2224
新契约替代 DELETE /admin/api/model_aliases/{alias_id} /api/v1/admin/model-routes admin.py:2262
新契约替代 PUT /admin/api/model_aliases/{alias_id} /api/v1/admin/model-routes admin.py:2240
新契约替代 GET /admin/api/model_pricing /api/v1/admin/model-prices admin.py:3615
新契约替代 POST /admin/api/model_pricing /api/v1/admin/model-prices admin.py:3646
新契约替代 DELETE /admin/api/model_pricing/{pricing_id} /api/v1/admin/model-prices/{price_id} admin.py:3677
新契约替代 GET /admin/api/model_qps /api/v1/admin/api-keys and /api/v1/admin/model-routes admin.py:2114
新契约替代 POST /admin/api/model_qps /api/v1/admin/api-keys and /api/v1/admin/model-routes admin.py:2125
新契约替代 DELETE /admin/api/model_qps/{config_id} /api/v1/admin/api-keys and /api/v1/admin/model-routes admin.py:2147
已覆盖 GET /admin/api/models /api/v1/admin/models admin.py:1093
已覆盖 GET /admin/api/monitoring/overview /api/v1/admin/monitoring/overview admin.py:3153
新契约替代 GET /admin/api/notify_config /api/v1/admin/notification-channels admin.py:3392
新契约替代 POST /admin/api/notify_config /api/v1/admin/notification-channels admin.py:3415
新契约替代 POST /admin/api/notify_config/test /api/v1/admin/notification-channels admin.py:3447
新契约替代 GET /admin/api/pricing_config /api/v1/admin/usage/daily and /api/v1/admin/model-prices admin.py:3702
新契约替代 PUT /admin/api/pricing_config /api/v1/admin/usage/daily and /api/v1/admin/model-prices admin.py:3717
已覆盖 GET /admin/api/prompts /api/v1/admin/prompts prompts.py:227
已覆盖 POST /admin/api/prompts /api/v1/admin/prompts prompts.py:246
新契约替代 GET /admin/api/prompts/categories /api/v1/admin/prompt-categories prompts.py:135
新契约替代 POST /admin/api/prompts/categories /api/v1/admin/prompt-categories prompts.py:150
新契约替代 DELETE /admin/api/prompts/categories/{cat_id} /api/v1/admin/prompt-categories prompts.py:168
已覆盖 DELETE /admin/api/prompts/{tpl_id} /api/v1/admin/prompts/{prompt_id} prompts.py:323
已覆盖 GET /admin/api/prompts/{tpl_id} /api/v1/admin/prompts/{prompt_id} prompts.py:279
新契约替代 PATCH /admin/api/prompts/{tpl_id} /api/v1/admin/prompts/{prompt_id} (PUT with full revision payload) prompts.py:292
新契约替代 POST /admin/api/prompts/{tpl_id}/preview /api/v1/admin/prompts/{prompt_id}/render prompts.py:392
已覆盖 POST /admin/api/prompts/{tpl_id}/versions /api/v1/admin/prompts/{prompt_id}/versions prompts.py:344
已覆盖 POST /admin/api/prompts/{tpl_id}/versions/{version_id}/activate /api/v1/admin/prompts/{prompt_id}/versions/{version}/activate prompts.py:371
已覆盖 GET /admin/api/providers /api/v1/admin/providers admin.py:1083
已覆盖 POST /admin/api/providers /api/v1/admin/providers admin.py:1106
新契约替代 DELETE /admin/api/providers/{provider_id} /api/v1/admin/providers/{provider_id} enabled=false admin.py:1152
新契约替代 PATCH /admin/api/providers/{provider_id} /api/v1/admin/providers/{provider_id} (PUT with full revision payload) admin.py:1169
已覆盖 PUT /admin/api/providers/{provider_id} /api/v1/admin/providers/{provider_id} admin.py:1128
新契约替代 GET /admin/api/providers/{provider_id}/backends /api/v1/admin/providers/{provider_id}/models and /api/v1/admin/model-routes admin.py:1333
新契约替代 PUT /admin/api/providers/{provider_id}/backends /api/v1/admin/providers/{provider_id}/models and /api/v1/admin/model-routes admin.py:1358
新契约替代 DELETE /admin/api/providers/{provider_id}/backends/{backend_name} /api/v1/admin/providers/{provider_id}/models and /api/v1/admin/model-routes admin.py:1455
新契约替代 PATCH /admin/api/providers/{provider_id}/backends/{backend_name} /api/v1/admin/providers/{provider_id}/models and /api/v1/admin/model-routes admin.py:1414
新契约替代 POST /admin/api/providers/{provider_id}/fetch_models /api/v1/admin/providers/{provider_id}/models/sync admin.py:1255
已覆盖 POST /admin/api/providers/{provider_id}/test /api/v1/admin/providers/{provider_id}/test admin.py:1231
新契约替代 GET /admin/api/rate_limit_rules /api/v1/admin/api-keys and /api/v1/admin/model-routes admin.py:2033
新契约替代 POST /admin/api/rate_limit_rules /api/v1/admin/api-keys and /api/v1/admin/model-routes admin.py:2044
新契约替代 DELETE /admin/api/rate_limit_rules/{rule_id} /api/v1/admin/api-keys and /api/v1/admin/model-routes admin.py:2090
新契约替代 PATCH /admin/api/rate_limit_rules/{rule_id} /api/v1/admin/api-keys and /api/v1/admin/model-routes admin.py:2064
已覆盖 POST /admin/api/reload /api/v1/admin/reload admin.py:3292
新契约替代 GET /admin/api/routing_groups /api/v1/admin/model-routes smart_router.py:309
新契约替代 POST /admin/api/routing_groups /api/v1/admin/model-routes smart_router.py:326
新契约替代 DELETE /admin/api/routing_groups/{group_id} /api/v1/admin/model-routes smart_router.py:372
新契约替代 PATCH /admin/api/routing_groups/{group_id} /api/v1/admin/model-routes smart_router.py:346
新契约替代 POST /admin/api/routing_groups/{group_id}/preview /api/v1/admin/model-routes smart_router.py:468
新契约替代 POST /admin/api/routing_groups/{group_id}/targets /api/v1/admin/model-routes smart_router.py:390
新契约替代 DELETE /admin/api/routing_groups/{group_id}/targets/{target_id} /api/v1/admin/model-routes smart_router.py:448
新契约替代 PATCH /admin/api/routing_groups/{group_id}/targets/{target_id} /api/v1/admin/model-routes smart_router.py:422
新契约替代 GET /admin/api/rule_dimensions /api/v1/admin/content-policies admin.py:1854
新契约替代 GET /admin/api/rules /api/v1/admin/content-policies admin.py:1717
新契约替代 POST /admin/api/rules /api/v1/admin/content-policies admin.py:1753
新契约替代 POST /admin/api/rules/batch /api/v1/admin/content-policies admin.py:1775
新契约替代 DELETE /admin/api/rules/{rule_id} /api/v1/admin/content-policies admin.py:1835
新契约替代 PATCH /admin/api/rules/{rule_id} /api/v1/admin/content-policies admin.py:1808
新契约替代 GET /admin/api/stats /api/v1/admin/usage/daily and /api/v1/admin/model-prices admin.py:3022
新契约替代 GET /admin/api/system_info /api/v1/admin/system-info admin.py:2488
已覆盖 GET /admin/api/tools /api/v1/admin/tools tools.py:218
已覆盖 POST /admin/api/tools /api/v1/admin/tools tools.py:229
已覆盖 DELETE /admin/api/tools/{tool_id} /api/v1/admin/tools/{tool_id} tools.py:305
新契约替代 PATCH /admin/api/tools/{tool_id} /api/v1/admin/tools/{tool_id} (PUT with full revision payload) tools.py:260
明确退役 GET /admin/api/tools/{tool_id}/headers retired: decrypted secret headers are intentionally write-only tools.py:320
新契约替代 POST /admin/api/tools/{tool_id}/test_invoke /api/v1/admin/tools/{tool_id}/test tools.py:338
新契约替代 POST /admin/api/totp/backup_codes/regenerate /api/v1/admin/totp/backup-codes/regenerate admin.py:521
已覆盖 POST /admin/api/totp/confirm /api/v1/admin/totp/confirm admin.py:464
已覆盖 POST /admin/api/totp/disable /api/v1/admin/totp/disable admin.py:487
已覆盖 POST /admin/api/totp/setup /api/v1/admin/totp/setup admin.py:439
已覆盖 GET /admin/api/totp/status /api/v1/admin/totp/status admin.py:422
新契约替代 GET /admin/api/users /api/v1/admin/identities/portal-users admin.py:683
新契约替代 POST /admin/api/users /api/v1/admin/identities/portal-users admin.py:721
新契约替代 DELETE /admin/api/users/{user_id} /api/v1/admin/identities/*/{identity_id} active=false admin.py:826
新契约替代 PATCH /admin/api/users/{user_id} /api/v1/admin/identities/portal-users/{identity_id} (PUT with full revision payload) admin.py:745
新契约替代 POST /admin/api/users/{user_id}/approve /api/v1/admin/identities/portal-users/{identity_id} active=true admin.py:788
新契约替代 DELETE /admin/api/users/{user_id}/feishu /api/v1/admin/identity-providers (generic identity link lifecycle) admin.py:806
新契约替代 POST /admin/api/users/{user_id}/reset_password /api/v1/admin/identities/portal-users/{identity_id} password field admin.py:771
已覆盖 GET /admin/api/whoami /api/v1/admin/whoami admin.py:256
明确退役 GET /admin/ui Art Design Pro SPA deployment main.py:3838
已覆盖 GET /healthz /healthz main.py:3756
已覆盖 GET /metrics /metrics main.py:3793
已覆盖 GET /portal/api/applications /api/v1/portal/applications applications.py:408
已覆盖 POST /portal/api/apps/{app_code}/chat /api/v1/portal/apps/{application_code}/chat orchestration.py:227
已覆盖 POST /portal/api/apps/{app_code}/conversations /api/v1/portal/apps/{application_code}/conversations orchestration.py:245
已覆盖 GET /portal/api/apps/{app_code}/conversations/{conversation_id} /api/v1/portal/apps/{application_code}/conversations/{conversation_id} orchestration.py:260
已覆盖 POST /portal/api/apps/{app_code}/conversations/{conversation_id}/messages /api/v1/portal/apps/{application_code}/conversations/{conversation_id}/messages orchestration.py:275
已覆盖 GET /portal/api/catalog /api/v1/portal/catalog portal.py:938
已覆盖 GET /portal/api/cost /api/v1/portal/cost portal.py:550
已覆盖 GET /portal/api/docs-info /api/v1/portal/docs-info portal.py:690
新契约替代 GET /portal/api/feishu/callback /api/v1/portal/sso (generic OIDC/SAML) portal.py:214
新契约替代 GET /portal/api/feishu/enabled /api/v1/portal/sso (generic OIDC/SAML) portal.py:189
新契约替代 GET /portal/api/feishu/login /api/v1/portal/sso (generic OIDC/SAML) portal.py:195
已覆盖 GET /portal/api/knowledge /api/v1/portal/knowledge portal.py:830
已覆盖 POST /portal/api/login /api/v1/portal/login portal.py:76
已覆盖 POST /portal/api/login/totp /api/v1/portal/login/totp portal.py:123
已覆盖 POST /portal/api/logout /api/v1/portal/logout portal.py:181
已覆盖 GET /portal/api/logs /api/v1/portal/logs portal.py:597
已覆盖 GET /portal/api/logs/{log_id} /api/v1/portal/logs/{audit_event_id} portal.py:657
已覆盖 GET /portal/api/me /api/v1/portal/me portal.py:432
已覆盖 GET /portal/api/model-requests /api/v1/portal/model-requests portal.py:803
已覆盖 POST /portal/api/model-requests /api/v1/portal/model-requests portal.py:754
已覆盖 GET /portal/api/model-requests/available /api/v1/portal/model-requests/available portal.py:716
已覆盖 POST /portal/api/password /api/v1/portal/password portal.py:273
已覆盖 GET /portal/api/prompts /api/v1/portal/prompts portal.py:855
已覆盖 GET /portal/api/prompts/{tpl_id} /api/v1/portal/prompts/{prompt_id} portal.py:887
已覆盖 DELETE /portal/api/prompts/{tpl_id}/favorite /api/v1/portal/prompts/{prompt_id}/favorite portal.py:926
已覆盖 POST /portal/api/prompts/{tpl_id}/favorite /api/v1/portal/prompts/{prompt_id}/favorite portal.py:910
已覆盖 GET /portal/api/stats /api/v1/portal/stats portal.py:457
已覆盖 GET /portal/api/tools /api/v1/portal/tools portal.py:838
新契约替代 POST /portal/api/totp/backup_codes/regenerate /api/v1/portal/totp/backup-codes/regenerate portal.py:409
已覆盖 POST /portal/api/totp/confirm /api/v1/portal/totp/confirm portal.py:354
已覆盖 POST /portal/api/totp/disable /api/v1/portal/totp/disable portal.py:377
已覆盖 POST /portal/api/totp/setup /api/v1/portal/totp/setup portal.py:328
已覆盖 GET /portal/api/totp/status /api/v1/portal/totp/status portal.py:310
明确退役 GET /portal/ui Art Design Pro SPA deployment main.py:3846
已覆盖 GET /readyz /readyz main.py:3762
新契约替代 POST /v1/apps/{app_code}/chat/completions /v1/applications/{application_code}/chat/completions orchestration.py:213
已覆盖 POST /v1/chat/completions /v1/chat/completions main.py:2502
已覆盖 POST /v1/embeddings /v1/embeddings main.py:2541
已覆盖 POST /v1/knowledge/search /v1/knowledge/search main.py:3543
已覆盖 POST /v1/messages /v1/messages main.py:2515
已覆盖 GET /v1/models /v1/models main.py:3512
已覆盖 GET /v1/prompts /v1/prompts main.py:3657
已覆盖 POST /v1/prompts/{prompt_name}/render /v1/prompts/{prompt_name}/render main.py:3680
已覆盖 POST /v1/responses /v1/responses main.py:2530
已覆盖 GET /v1/tools /v1/tools main.py:3601
已覆盖 POST /v1/tools/{tool_name}/invoke /v1/tools/{tool_code}/invoke main.py:3610