这一页怎么读
- 分组按资源(认证 / 入库 / 检索 / …),⛔ 不是按 HTTP 方法。
- 身份那一行写的是这条接口要什么;「豁免」= 它在中间件豁免名单里,⛔ 不等于"公开"。
- ⚠️ 参数表里的「说明」一栏全是「—」:本仓接口没有逐字段写说明,⛔ 我不替它们编。
- 🔴 当下这批的统计:65 条端点里,28 条声明了返回形状(下面每条的「响应」格摊开它的真结构);剩下 37 条还没声明。
- 🔴 响应示例分两种:声明了返回形状的摊开真结构(字段名 + 类型);没声明的那一格如实说「这条还没声明」—— ⛔ 不手写一个像样的样例(那是编的)。
端点 · 一条一节
🔴 索栏里列了几条,这里就展开几节 —— ⛔ 不做"列了但点不到"的假清单。
POST /api/v1/auth/login
身份:—(豁免) · 出处:app/routing/api_v1.py:92
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
| body | body | 可选 | LoginRequest |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
POST /api/v1/auth/refresh
身份:—(豁免) · 出处:app/routing/api_v1.py:112
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
| body | body | 可选 | RefreshRequest |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
DELETE /api/v1/rag/documents/{doc_id}
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:385
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| doc_id | path | 必填 | — |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/rag/documents/{doc_id}
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:484
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| doc_id | path | 必填 | — |
返回形状:DocFullResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| source | string | — |
| category | string | — |
| chunks | integer | — |
| content | string | — |
| requested_by | string | — |
POST /api/v1/rag/insert
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:90
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
| body | body | 可选 | DocumentInsert |
返回形状:DocInsertResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| status | string | — |
| id | integer | — |
| content | string | — |
| source | string | — |
| requested_by | string | — |
POST /api/v1/rag/insert_batch
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:191
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
| body | body | 可选 | BatchDocumentInsert |
返回形状:BatchInsertResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| status | string | — |
| count | integer | — |
| requested_by | string | — |
POST /api/v1/rag/upload_document
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:296
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| domain | query | 可选 | — |
| doc_type | query | 可选 | — |
返回形状:UploadDocResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| filename | string | — |
| format | string | — |
| domain | string | — |
| chunks_inserted | integer | — |
| text_length | integer | — |
| preview | string | — |
| requested_by | string | — |
GET /api/v1/rag/chat_history
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:524
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| thread_id | query | 必填 | — |
返回形状:ChatHistoryResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| thread_id | string | — |
| messages | array[object] | — |
| count | integer | — |
| window | string | — |
| requested_by | string | — |
GET /api/v1/rag/documents
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:438
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| scope | query | 可选 | — |
| limit | query | 可选 | — |
返回形状:DocListResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| scope | string | — |
| total | integer | — |
| groups | array[object] | — |
| truncated | boolean | — |
| has_more | boolean | — |
POST /api/v1/rag/hybrid_search
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:625
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
| body | body | 可选 | QuestionRequest |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
POST /api/v1/rag/pg_search
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:554
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
| body | body | 可选 | QuestionRequest |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
POST /api/v1/rag/rerank_search
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:640
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
| body | body | 可选 | QuestionRequest |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
POST /api/v1/rag/rewrite_search
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:655
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| thread_id | query | 可选 | — |
| body | body | 可选 | QuestionRequest |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
POST /api/v1/rag/search
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:700
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| mode | query | 可选 | — |
| thread_id | query | 可选 | — |
| body | body | 可选 | QuestionRequest |
返回形状:RagSearchResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| query | string | — |
| pipeline | object | — |
| timing | object | — |
| docs | array[object] | — |
| answer | string | null | 可空 |
| sources | array[object] | — |
| requested_by | string | — |
| mode | string | — |
POST /api/v1/rag/stream_search
身份:get_current_user_hybrid · 出处:app/routing/api_v1_rag.py:883
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| thread_id | query | 可选 | — |
| body | body | 可选 | QuestionRequest |
data: 一帧一帧)—— ⛔ 不是 JSON,所以它永远不会有"返回形状"。⚠️ 这不是没做:形式不同而已(帧序 ⇒
app/routing/specs/sse.md)。POST /api/v1/agent/advanced_chat
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:878
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| question | query | 必填 | — |
| thread_id | query | 可选 | — |
| memory_space | query | 可选 | — |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
POST /api/v1/agent/advanced_chat/stream
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:932
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| question | query | 必填 | — |
| thread_id | query | 可选 | — |
| memory_space | query | 可选 | — |
data: 一帧一帧)—— ⛔ 不是 JSON,所以它永远不会有"返回形状"。⚠️ 这不是没做:形式不同而已(帧序 ⇒
app/routing/specs/sse.md)。POST /api/v1/agent/langgraph_chat
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:236
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| question | query | 必填 | — |
| thread_id | query | 可选 | — |
返回形状:AgentChatResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| question | string | — |
| thread_id | string | — |
| requested_by | string | — |
| status | string | null | 可空 |
| answer | string | null | 可空 |
| pending_tool_calls | array | null | 可空 |
POST /api/v1/agent/langgraph_chat/stream
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:325
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| question | query | 必填 | — |
| thread_id | query | 可选 | — |
data: 一帧一帧)—— ⛔ 不是 JSON,所以它永远不会有"返回形状"。⚠️ 这不是没做:形式不同而已(帧序 ⇒
app/routing/specs/sse.md)。POST /api/v1/agent/mcp_chat
身份:check_budget+get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1688
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| question | query | 必填 | — |
| thread_id | query | 可选 | — |
| memory_space | query | 可选 | — |
返回形状:AgentMcpChatResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| question | string | — |
| answer | string | — |
| thread_id | string | — |
| requested_by | string | — |
| budget_warning | string | null | 可空 |
POST /api/v1/agent/mcp_chat/stream
身份:check_budget+get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1772
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| question | query | 必填 | — |
| thread_id | query | 可选 | — |
| memory_space | query | 可选 | — |
data: 一帧一帧)—— ⛔ 不是 JSON,所以它永远不会有"返回形状"。⚠️ 这不是没做:形式不同而已(帧序 ⇒
app/routing/specs/sse.md)。POST /api/v1/agent/memory_chat
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1288
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| question | query | 必填 | — |
| thread_id | query | 可选 | — |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
POST /api/v1/agent/memory_chat/stream
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1354
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| question | query | 必填 | — |
| thread_id | query | 可选 | — |
data: 一帧一帧)—— ⛔ 不是 JSON,所以它永远不会有"返回形状"。⚠️ 这不是没做:形式不同而已(帧序 ⇒
app/routing/specs/sse.md)。POST /api/v1/agent/plan_execute
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1117
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| goal | query | 必填 | — |
| thread_id | query | 可选 | — |
返回形状:AgentPlanExecuteResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| goal | string | — |
| plan | array[object] | — |
| execution_result | string | — |
| requested_by | string | — |
POST /api/v1/agent/plan_execute/stream
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1171
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| goal | query | 必填 | — |
| thread_id | query | 可选 | — |
data: 一帧一帧)—— ⛔ 不是 JSON,所以它永远不会有"返回形状"。⚠️ 这不是没做:形式不同而已(帧序 ⇒
app/routing/specs/sse.md)。POST /api/v1/agent/memory/add
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1452
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| content | query | 必填 | — |
| memory_space | query | 可选 | — |
返回形状:AgentMemoryAddResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| status | string | — |
| content | string | — |
| memory_space | string | — |
GET /api/v1/agent/memory/search
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1467
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| query | query | 必填 | — |
| memory_space | query | 可选 | — |
返回形状:AgentMemorySearchResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| query | string | — |
| memories | array[string] | — |
| memory_space | string | — |
GET /api/v1/agent/available_tools
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1594
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
返回形状:AgentToolsResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| healthy_tools | array[object] | — |
| unhealthy_tools | array[string] | — |
| total | integer | — |
| requested_by | string | — |
POST /api/v1/agent/execute_code
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1550
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| code | query | 必填 | — |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/mcp_tools_dynamic
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1888
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/tool_health
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1562
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
返回形状:AgentToolHealthResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| tools | object | — |
| requested_by | string | — |
POST /api/v1/agent/tool_health/refresh
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1569
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/tool_versions
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1581
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
返回形状:AgentToolVersionsResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| tool_versions | object | — |
| requested_by | string | — |
GET /api/v1/agent/approvals/history
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:2105
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| limit | query | 可选 | — |
| offset | query | 可选 | — |
返回形状:AgentApprovalHistoryResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| events | array[object] | — |
| count | integer | — |
| has_more | boolean | — |
| limit | integer | — |
| offset | integer | — |
| requested_by | string | — |
POST /api/v1/agent/approve
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:482
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| thread_id | query | 必填 | — |
| approved | query | 必填 | — |
| edited_answer | query | 可选 | — |
| owner | query | 可选 | — |
返回形状:AgentApproveResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| status | string | — |
| thread_id | string | null | 可空 |
| answer | string | null | 可空 |
| message | string | null | 可空 |
| requested_by | string | null | 可空 |
| pending_tool_calls | array | null | 可空 |
| forced_finish | boolean | null | 可空 |
| rounds | integer | null | 可空 |
GET /api/v1/agent/pending
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:745
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
返回形状:AgentPendingResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| count | integer | — |
| items | array[object] | — |
| requested_by | string | — |
GET /api/v1/agent/pending/context
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:806
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| thread_id | query | 必填 | — |
| owner | query | 可选 | — |
返回形状:AgentPendingContextResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| status | string | — |
| message | string | null | 可空 |
| owner | string | null | 可空 |
| graph | string | null | 可空 |
| rounds | integer | null | 可空 |
| next | array | null | 可空 |
| messages | array | null | 可空 |
| requested_by | string | null | 可空 |
GET /api/v1/agent/trace/{thread_id}
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:2217
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| thread_id | path | 必填 | — |
返回形状:AgentTraceResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| trace | object | null | 可空 |
| error | string | null | 可空 |
| requested_by | string | null | 可空 |
GET /api/v1/agent/trace/{thread_id}/cost
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:2238
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| thread_id | path | 必填 | — |
返回形状:AgentTraceCostResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| items | array[object] | — |
| total | object | — |
| truncated | boolean | — |
| thread_id | string | — |
| requested_by | string | — |
GET /api/v1/agent/traces
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:2269
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/cost/monthly_report
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:2040
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| year | query | 可选 | — |
| month | query | 可选 | — |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/cost/overview
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1989
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/cost/records
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:2142
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| days | query | 可选 | — |
| limit | query | 可选 | — |
| offset | query | 可选 | — |
返回形状:CostRecordsResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| records | array[CostRecordItem] | — |
| count | integer | null | 可空 |
| truncated | boolean | null | 可空 |
| has_more | boolean | null | 可空 |
| offset | integer | null | 可空 |
| limit | integer | null | 可空 |
| requested_by | string | null | 可空 |
| error | string | null | 可空 |
GET /api/v1/agent/token/budget
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1639
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
返回形状:TokenBudgetResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| user_name | string | — |
| daily_budget | number | string | — |
| used_today | number | string | — |
| remaining | number | string | — |
| llm_tokens_today | number | — |
| embedding_tokens_today | number | — |
| other_tokens_today | number | — |
| llm_daily_limit | number | string | — |
| llm_remaining_today | number | — |
| embedding_daily_limit | number | string | — |
| embedding_remaining_today | number | — |
| global_daily_limit | number | string | — |
| global_used_today | number | — |
| global_remaining | number | — |
| requested_by | string | — |
GET /api/v1/agent/token/history
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:2024
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| days | query | 可选 | — |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/token/purpose
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1932
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/token/recent
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1942
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| limit | query | 可选 | — |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/token/thread
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1973
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| thread_id | query | 可选 | — |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/token/usage
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:1920
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/budget/check
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:2059
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| tool_name | query | 可选 | — |
| purpose | query | 可选 | — |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/budget/estimates
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:2080
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/agent/budget/intercepts
身份:get_current_user_hybrid · 出处:app/routing/api_v1_agent.py:2094
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
返回形状:AgentInterceptsResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| user_name | string | — |
| total_intercepts | integer | — |
| requested_by | string | — |
GET /api/v1/debug/cache_stats
身份:get_current_user_hybrid · 出处:app/routing/api_v1.py:324
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
返回形状:DebugCacheStatsResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| cached_embeddings_count | integer | — |
| sample_keys | array[string] | — |
GET /api/v1/debug/count
身份:get_current_user_hybrid · 出处:app/routing/api_v1.py:243
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
返回形状:DebugCountResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| total_documents | integer | — |
GET /api/v1/debug/quota
身份:get_current_user_hybrid · 出处:app/routing/api_v1.py:261
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
返回形状:DebugQuotaResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| user_name | string | — |
| role | string | — |
| daily_limit | integer | number | string | — |
| remaining | integer | number | string | — |
| used_today | integer | number | — |
GET /api/v1/debug/rate_limit
身份:get_current_user_hybrid · 出处:app/routing/api_v1.py:366
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
返回形状:DebugRateLimitResponse(下表是它声明的字段)
| 字段 | 类型 | 可空 |
|---|---|---|
| user_name | string | — |
| remaining_tokens | integer | number | — |
| capacity | integer | number | — |
| rate | integer | number | — |
GET /api/v1/
身份:— · 出处:app/routing/api_v1.py:60
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
POST /api/v1/admin/create_user
身份:get_current_user_hybrid+require_admin · 出处:app/routing/api_v1.py:159
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
| body | body | 可选 | UserCreate |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /api/v1/info
身份:—(豁免) · 出处:app/routing/api_v1.py:68
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
POST /api/v1/rag/benchmark-embedding
身份:get_current_user_hybrid+require_admin · 出处:app/routing/api_v1.py:290
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
| body | body | 可选 | QuestionRequest |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
WS /api/v1/ws/agent
身份:require_ws_user · 出处:app/routing/api_v1_rag.py:1214
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /health
身份:—(豁免) · 出处:app/main.py:804
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /metrics
身份:—(豁免) · 出处:app/main.py:746
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /openapi.json
身份:—(豁免) · 出处:app/main.py:750
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。
GET /ready
身份:—(豁免) · 出处:app/main.py:828
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 这条不进 OpenAPI(见上一行的出处) |
本仓那条门的范围是「被前端调用的端点」(全仓一律要求 = 墙不是门,见
过程定义 §八)—— 这条不在其中。要补它得先真调一次量出真键(⛔ 照代码抄会漏键)。