{"service":"nodal-driven-agents","docs":"/docs","health":"/health","chat_post_root":"POST / （与 POST /api/chat 相同）","chat_post_api":"POST /api/chat","rag":"POST /api/rag/ingest | /api/rag/ingest-file | POST /api/rag/retrieve | GET/POST/PUT/DELETE /api/rag/knowledge-bases | GET/POST/PUT/DELETE /api/rag/faq-rows | GET/POST/PUT/DELETE /api/rag/prompt-templates | POST /api/rag/extract-faq | POST /api/rag/chat — PGVector+BM25；FAQ 影子表 + 向量 faq_row:{id}；Body.knowledge_base_ids；NODAL_RAG_LLM_MODEL；可选 pip install '.[rag]'；业务库 nodal_prompt_templates + nodal_knowledge_bases + nodal_faq_rows SQL","platform_rag":"GET/POST/PUT/DELETE /api/platform-rag/knowledge-bases | POST /api/platform-rag/faq-rows | POST /api/platform-rag/faq-rows/bulk | POST /api/platform-rag/retrieve — qiye_gl 平台公共库；NODAL_PLATFORM_RAG=1 启用；运维须 qiye_gl 权限 platform_rag；企业 /api/rag 不可见","ai_dual_modality":"纯 RAG：/api/rag/*；AI 客服：POST /api/cs/chat、Gateway role=cs；任务编排：POST /api/chat、/api/chat/resume。同一端口与登录；不按模态做服务端权限分流，由前端控制调用哪一路（详见 docs/knowledge_base_integration.md「双模态」）","chat_web_messages":"GET /api/chat/web-messages — PG hydrate；POST 仅运维补录（6666 Gateway 为写入权威）；","chat_threads":"GET/POST/PATCH/DELETE /api/chat/threads — 会话列表与壳（nodal_web_chats + messages 聚合）；映射 HITL：GET /api/mapping-approve-audits?thread_id=… 列表；resume 写入 nodal_mapping_approve_audits；","workbench_batch_status":"GET /api/workbench/batch-status?thread_id=…（Header: X-Identifier, X-Password-Hash）","workbench_revoke_mapping_slice":"POST /api/workbench/revoke-mapping-slice JSON {thread_id, slice_seq, slice_batch_id?} — 兼容入口，内部转发 compensation","compensation_execute":"POST /api/compensation/execute JSON {domain, thread_id, payload} — 统一回溯（不经过 SSE）；GET /api/compensation/domains — 已注册领域列表","chat_abort_api":"POST /api/chat/abort — 终止对话，清未决 HITL（resume=reject）；Gateway turn 中断请用 collab/gateway/abort；","collab_gateway_abort":"POST /api/collab/gateway/abort — 探索/RPA/sub_agent Gateway 显式终止（桌面停止生成/删对话）；","chat_resume_api":"POST /api/chat/resume — write_product_mappings HITL 确认后继续（JSON）；编排 live 流走 Collab Gateway WS；","default_chat_role":"orchestrator（POST /api/chat 仅挂载监督图；Body.role 任意值均归一为 orchestrator）","explore_chat":"POST /api/explore/chat — 深度探索单 ReAct（explore_context.root_dir 时桌面 local 工具 + interrupt/resume）","explore_chat_resume":"POST /api/explore/chat/resume — 桌面 local_* 工具结果续跑（client_tool_step_payload / tool_results[]）","rpa_session_chat":"POST /api/rpa/session/chat — RPA Session 单 ReAct（不经 supervisor；rpa_session_context + tools_policy）","rpa_session_health":"GET /api/rpa/session/health","orchestrator_role":"与 default_chat_role 相同","graph_trace":"诊断：NODAL_GRAPH_TRACE=1 节点摘要 + **[timing] 每次 LLM/OpenRouter 与工具墙钟** + 预检/规划/子图锚点；=2 另附消息/入参详情（日志大）。logger=nodal.graph_trace；NODAL_GRAPH_TRACE_LOGFILE=/path；映射工具另有 mapping: 前缀分阶段 DB 耗时。切片并行：NODAL_SKILL_PIPELINE_WIDTH=2","http_debug":"OpenRouter 无响应/4xx：短时设 NODAL_HTTP_DEBUG=1 看 httpx 请求与响应体（日志爆炸）。","langsmith":"追踪：LANGCHAIN_TRACING_V2=true + LANGCHAIN_API_KEY（或 LANGSMITH_API_KEY）；可选 LANGCHAIN_PROJECT；trace 在 LangSmith 云端、与业务 Postgres 无关；看 trace 需 LangSmith 账号登录。","test_business_db":"测试线：NODAL_TEST_FORCE_DATABASE=库名（如 lanjing）覆盖 qiye_list 业务库名；仍须 X-Identifier 登录；仅改工具连接的 Postgres database。","openapi":"/openapi.json"}