Skip to content

feat(web): Documents 页接入 Hub 真实数据,消除 real 模式 mock 静默兜底 - #2189

Merged
DeliciousBuding merged 1 commit into
masterfrom
feat/web-documents-wiring
Sep 1, 2026
Merged

feat(web): Documents 页接入 Hub 真实数据,消除 real 模式 mock 静默兜底#2189
DeliciousBuding merged 1 commit into
masterfrom
feat/web-documents-wiring

Conversation

@DeliciousBuding

Copy link
Copy Markdown
Collaborator

Summary

web 平台此前从未向 workbench frame 传 documents,导致 real 模式下 Documents 页静默落回 mock 数据(#2154 P3「Web Documents 诚实标注」取证项)。本轮接通 Hub 已有的 /web/documents REST API(数据源一直存在,只是没接线)。

Scope

  • useWebWorkbenchModel:新增 hub-documents query(hubClient.listDocuments(),hubReady 门控 + 10s staleTime + placeholderData)与 createDocumentMutation(成功后 invalidate)
  • 提取纯函数 resolveWebDocumentsProps:real 模式请求失败 → documentsError + documents=undefined(页面渲染错误态而非空列表,[P0] 交互可靠性与三态修复包:静默失败/假空态/死控件(前端审计第二轮) #1821 语义);hub 未就绪不冒错误;fixture 模式保持 mock 兜底
  • App.tsxdocuments/documentsError/documentsActions 三 prop(frame→WorkbenchRoutes→useWorkbenchDocsRoute→DocsPage 链路已全活)
  • 映射走共享契约 resolveHubDocuments(workbench hubDataMapping,与 desktop 语义对齐);onCreateDoc 用 chatview doc.untitled 键(资源已存在)
  • 边界:onUpdateDoc/onDeleteDoc 与 desktop 保持同现状(仅 create 接线),两端一致,后续项

验证证据(本地)

  • 新增 4 条契约测试(映射/错误不塌缩/未就绪不冒错/fixture 兜底),useWebWorkbenchModel.test.ts 40/40 ✅
  • web vitest 全量 262/262 ✅;web tsc ✅
  • 7 项 verifier(含 hubclient-ssot——确认未分叉 REST,走共享 client)+ git diff --check

风险

纯增量接线;demo/fixture 模式行为不变(resolveHubDocuments 既有契约)。

- useWebWorkbenchModel 新增 hub-documents query + createDocument mutation(invalidate 闭环)
- 提取 resolveWebDocumentsProps 纯函数:error 不塌缩为空列表(#1821 语义)、未就绪不冒错误、fixture 保 mock 兜底
- App.tsx 传 documents/documentsError/documentsActions 三 prop 进 AgentHubWorkbench
- 映射走共享契约 resolveHubDocuments(与 desktop 语义对齐,消除漂移面)
- 新增 4 条契约测试;web 全量 262/262 绿
- #2154 P3 Web Documents 诚实标注项消化

Co-authored-by: Cursor <cursor@vectorcontrol.tech>
@DeliciousBuding
DeliciousBuding force-pushed the feat/web-documents-wiring branch from 0fdcaf3 to bd21794 Compare September 1, 2026 18:13
@DeliciousBuding
DeliciousBuding merged commit d994a31 into master Sep 1, 2026
39 checks passed
@DeliciousBuding
DeliciousBuding deleted the feat/web-documents-wiring branch September 1, 2026 18:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant