Skip to content
medrec-sysPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Medrec · 前端

Medrec RAG 知识库问答平台的前端:AI 智能体管理、知识库与文档管理、流式对话、引用溯源定位 PDF 原文。

Vue Vite TypeScript Element Plus Pinia

后端仓库与完整技术文档:medrec-sys/medrec (RAG 全链路、文档解析、多向量库检索、接口清单等均在后端 README 中说明)


技术栈

分类 技术
框架 Vue 3.5(<script setup>)、TypeScript 6、Vite 7
路由 / 状态 Vue Router 4、Pinia 3
UI Element Plus 2.9(unplugin-auto-import + unplugin-vue-components 按需自动导入)、Sass
请求 Axios(常规接口)、原生 fetch + ReadableStream(SSE 流式对话)
内容渲染 markdown-it + KaTeX(@mdit/plugin-katex)
文档预览 pdfjs-dist + vue-pdf-embed(按 page / bbox 定位高亮)
其他 anime.js(登录页动画)、loglevel

页面

菜单 路由 功能
开始 /Start 首页入口
Ai智能体 /Agent 智能体增删改查、提示词与检索参数配置、挂载知识库
知识库 /Vector 知识库管理、上传 PDF、文档列表与删除
对话窗口 /chat 与智能体流式对话、检索文档列表、PDF 原文定位
知识库检索 /search 直接进行向量相似度检索并查看命中片段
— /login、未匹配路径 登录页(含动画装饰组件)、404 兜底页

环境要求

  • Node.js ≥ 22.12(Vite 7 要求,Dockerfile 使用 node:22.22-alpine)
  • npm

本地启动

# 1. 安装依赖(使用 lock 文件精确还原)
npm ci

# 2. 启动开发服务器(默认 http://localhost:5173)
npm run dev

配置后端地址

前端请求地址目前直接写在代码里,默认指向 http://localhost:9016(与后端 compose 中 9016:8080 的端口映射一致)。若你的后端跑在其他地址,请修改这两处:

文件 用途
src/utils/axios.ts Axios 实例的 baseURL(常规接口)
src/utils/fetch.ts 原生 fetch 的 http 前缀(SSE 流式对话走这条)

注意:流式对话用的是原生 fetch,只改 axios.ts 不会影响对话接口。

登录态

登录成功后 JWT 存在 localStorage 的 medrec_token,请求拦截器会自动写入 Authorization 头;路由守卫会在无 token 时跳转登录页。


构建

# 类型检查 + 打包,产物在 dist/
npm run build

# 本地预览打包结果
npm run preview

构建镜像

docker build -t medrec-web:latest .

Dockerfile 为多阶段构建:node:22.22-alpine 中 npm ci && npm run build → 产物复制进 nginx:alpine,并使用仓库内的 nginx.conf:

  • SPA 路由回退(try_files ... /index.html);
  • 带 hash 的静态资源 30 天强缓存与 gzip;
  • 附带了可选的同域反向代理配置(已注释):若希望由 Nginx 统一转发 /api/ 到后端,放开注释并把前端请求地址改为相对路径即可,其中已为流式对话关闭 proxy_buffering。

部署

后端仓库的 md-com.yml 中已包含前端服务 md-nginx(使用镜像 medrec-web:latest,端口 9050:80),构建好镜像后与后端一起启动即可:

docker compose -f md-com.yml up -d

相关仓库

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages