跳到主要内容

前端手册总览

本手册面向 前端开发者与全栈工程师,帮助你理解 MimirQ Web 端的路由结构、组件体系与 API 调用层。类型与路径以 OpenAPI / Redoc 为权威参考,前端路由以 web/app/**/page.tsx 为准。

技术栈

层级技术说明
框架Next.js 14App Router
UI 库React 19Server & Client Components
语言TypeScript 5.x严格模式
样式Tailwind CSSutility-first
组件库shadcn/ui基于 Radix UI
数据获取TanStack Query渐进迁移中(部分仍用 useEffect 手动 fetch)
状态管理Zustand轻量全局状态
国际化next-intl中英双语
包管理pnpmworkspace

路由树

页面路由总览

路由页面核心组件
/datasets数据集列表datasets-page.tsx
/datasets/[id]数据集详情dataset-categories/category-tree.tsx
/documents文档管理
/chat对话界面chat-area.tsx, message-item.tsx
/knowledge知识库knowledge-page.tsx, knowledge-inspector.tsx
/history对话历史page-client.tsx
/settings系统设置

API 封装模块

所有后端调用集中在 web/lib/api/ 目录:

文件职责
core.ts请求基础层(fetch 封装、错误处理、认证 header)
datasets.ts数据集 CRUD
documents.ts文档上传、解析、状态
其他模块按业务域拆分
类型生成

web/types/openapi.ts 由 openapi-typescript 自动生成,web/types/backend.ts 提供别名映射。后端 Schema 变更后需运行 openapi-export 重新生成。

状态管理策略

方式场景现状
TanStack Query服务端数据缓存与同步8 个文件使用 useQuery,正在扩展
Zustand纯前端全局状态(UI 偏好等)轻量使用
useEffect + useState手动 fetch历史遗留,逐步迁移到 TanStack Query
迁移方向

新功能请优先使用 TanStack Query 的 useQuery / useMutation,QueryProvider 已配置在 layout.tsx 中。

关键组件地图

组件路径说明
ChatAreaweb/components/chat-area.tsx对话核心区域,SSE streaming
MessageItemweb/components/chat/message-item.tsx单条消息渲染(含 Markdown)
KnowledgePageweb/components/knowledge/knowledge-page.tsx知识库主页
KnowledgeInspectorweb/components/knowledge/knowledge-inspector.tsx知识库检查器
CategoryTreeweb/components/dataset-categories/category-tree.tsx数据集分类树
DatasetsPageweb/components/datasets/datasets-page.tsx数据集列表

建议阅读顺序

阅读路线
  1. 本页 -- 全局视图
  2. 数据集 -- 概述API ClientUI 组件
  3. 文档 -- 概述API Client状态 UI
  4. 更多模块 -- ChatKnowledgeKG
  5. 排障 -- 各域 troubleshooting / errors

相关链接