002 — PROJECTS
DocChat
(开发中)
技术栈
Next.jsReact 19TypeScriptTailwind CSS v4shadcn/uiVercel AI SDKStreamdownPythonFastAPIPostgreSQLSQLAlchemyAlembicDeepSeekJWTDockerNginx
角色
全栈开发者
团队规模
1 人
项目周期
2026年2月 - 进行中
项目概述
DocChat 是一个 AI 驱动的 API 文档智能助手,目标是让开发者通过自然语言快速定位任意 API 的接口、参数和数据结构。采用确定性优先 + LLM 兜底的两阶段路由架构,约 80% 的查询无需调用大模型,显著降低成本。当前以 Opta/Stats Perform 体育数据 API 为首个场景落地,已支持 Motorsport(7 个 feed)和 Soccer(92 个 feed),配合 4 层知识注入系统保证回答精准。未来将拓展为通用的 API 文档助手平台,支持用户上传任意 OpenAPI 规范与文档自动生成知识库。前端采用终端风格深色主题(霓虹绿 + Matrix 背景),支持 SSE 流式对话、会话历史管理和用户认证。
项目亮点
- 两阶段路由架构 — 确定性关键词匹配优先(~2650 triggers),LLM 兜底,~80% 查询零 LLM 调用
- 4 层知识注入系统 — 接口级文档 → 领域概览 → 共享知识库 → 动态话题路由(INDEX.yaml 驱动)
- 当前场景:Opta 体育数据 API — 已覆盖 99 个接口(Motorsport 7 + Soccer 92),每个接口含完整知识文件
- 终端风格 UI — 霓虹绿 (#DCFF71) + Matrix 字符雨背景,Hack 字体,玻璃拟态输入框
- SSE 流式对话 + Streamdown Markdown 渲染 + 代码高亮 + 中英文双语支持
- 完整用户系统 — JWT 认证(Access + Refresh Token)、会话历史、自动生成对话标题
项目挑战
- 大规模 API 接口的知识组织与精准路由,避免 LLM 在海量文档中产生幻觉
- OpenAPI 规范 + PDF 文档 + 手写知识文件三种来源的数据融合
- 前端静态导出(output: export)下的 SSE 流式通信实现
- Docker 容器化部署中后端与 PostgreSQL 的网络拓扑配置
解决方案
- 构建增强索引 JSON(Swagger 解析 + PDF 提取 + 元数据注入),启动时加载到内存
- 设计 META.yaml triggers + fields + scenarios 多维匹配,确定性阶段覆盖绝大多数查询
- Vercel AI SDK v6 + TextStreamChatTransport 实现前端 SSE 消费
- Docker Compose 外部网络共享 PostgreSQL 容器,Nginx 反代 + Let's Encrypt HTTPS

Matrix 字符雨背景 + 终端模拟器风格的安全认证界面

Soccer API 92 feeds 已加载,侧边栏会话历史,推荐查询提示

自然语言查询 → 精准匹配 TM2 接口,结构化参数说明与调用依赖链