[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-77723":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":14,"lastSyncTime":29,"discoverSource":30},77723,"Argus","DevYangJC\u002FArgus","DevYangJC","🌱 Argus 是一个基于 RAG 架构的开源知识库平台，后端采用 Java 21 + Spring Boot + MyBatis-Plus + PostgreSQL\u002Fpgvector，前端采用 Vue 3 + TypeScript + Element Plus，AI 层基于 Spring AI Alibaba（通义千问）+ ReactAgent 图引擎，以 MinIO + Elasticsearch 为存储与检索引擎。","",null,"Java",211,28,2,1,0,69,81,155,207,4.39,false,"master",true,[],"2026-06-12 02:03:44","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJava-21-ED8B00?style=for-the-badge&logo=openjdk&logoColor=white\" alt=\"Java 21\"\u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSpring_Boot-3.5-6DB33F?style=for-the-badge&logo=springboot&logoColor=white\" alt=\"Spring Boot 3.5\"\u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVue-3.5-4FC08D?style=for-the-badge&logo=vuedotjs&logoColor=white\" alt=\"Vue 3.5\"\u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPostgreSQL-16-4169E1?style=for-the-badge&logo=postgresql&logoColor=white\" alt=\"PostgreSQL 16\"\u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FElasticsearch-8.x-005571?style=for-the-badge&logo=elasticsearch&logoColor=white\" alt=\"Elasticsearch 8.x\"\u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow?style=for-the-badge\" alt=\"License MIT\"\u002F>\n\n\u003C\u002Fdiv>\n\n\u003Cbr\u002F>\n\n\u003Ch1 align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FArgus-RAG_知识库平台-4A90D9?style=for-the-badge&logo=data:image\u002Fsvg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI0IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuNSIvPjwvc3ZnPg==&logoColor=white&labelColor=2a6cb6\"\u002F>\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FArgus-RAG_知识库平台-4A90D9?style=for-the-badge&logo=data:image\u002Fsvg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI0IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuNSIvPjwvc3ZnPg==&logoColor=white&labelColor=2a6cb6\" alt=\"Argus\"\u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>融合 RAG 与 AI Agent 技术的企业级智能知识平台\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  让每一次提问都有据可查 —— 文档上传 · 智能解析 · 混合检索 · AI 对话 · 引用溯源\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#-核心亮点\">核心亮点\u003C\u002Fa> ·\n  \u003Ca href=\"#-系统架构\">系统架构\u003C\u002Fa> ·\n  \u003Ca href=\"#-功能模块\">功能模块\u003C\u002Fa> ·\n  \u003Ca href=\"#-技术栈\">技术栈\u003C\u002Fa> ·\n  \u003Ca href=\"#-快速开始\">快速开始\u003C\u002Fa> ·\n  \u003Ca href=\"#-API-概览\">API 概览\u003C\u002Fa> ·\n  \u003Ca href=\"#-项目结构\">项目结构\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cbr\u002F>\n\n---\n\n## ✨ 为什么选择 Argus？\n\n> **Argus**（百眼巨人）—— 在希腊神话中，Argus 拥有一百只眼睛，即使睡着也有眼睛保持警惕。我们以此命名，寓意平台如同百眼巨人一般，全面洞察你的私有知识资产，**让每一次提问都有据可查**。\n\n**Argus** 不是另一个\"套壳 ChatGPT\"。它是一个从底层构建的 **RAG（检索增强生成）知识库平台**，将企业私有文档与大语言模型深度融合，解决 LLM 在垂直领域应用中的三大核心痛点：\n\n| 痛点 | Argus 的解决方案 |\n|------|-----------------|\n| 🔮 **幻觉编造** | 混合检索 + 证据评估 + 结构化输出，确保回答基于真实文档，无法回答时主动拒答 |\n| 📚 **知识割裂** | 自动文档解析 → 切片 → 向量化 → 索引，打通从文件到知识的全链路 |\n| 🧠 **无记忆对话** | ReactAgent + 三级短期记忆压缩，支持跨轮次的上下文感知对话 |\n\n\u003Cbr\u002F>\n\n## 🔥 核心亮点\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n### 🎯 RAG 全链路闭环\n\n从文档上传到 AI 回答，构建了完整的 **RAG 流水线**：\n\n```\n文档上传 → 智能解析 → 文本切片\n    ↓\n向量嵌入（PGvector HNSW） + 关键词索引（Elasticsearch IK）\n    ↓\n用户提问 → 查询规划（LLM） → 混合检索（RRF 融合）\n    ↓\n证据评估（四级充分度） → LLM 生成 → 引用溯源\n```\n\n**不是简单的\"搜索 + GPT 包装\"**，而是自研了查询规划、RRF 融合排序、四级证据评估等关键环节。\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n### 🤖 AI Agent 对话引擎\n\n基于 **Spring AI Alibaba ReactAgent** 图执行引擎，支持：\n\n- **双模式切换**：纯对话（CHAT）\u002F 知识库检索（KB_SEARCH），同一会话内动态切换\n- **工具编排**：Agent 自主决定是否调用检索工具，每轮最多一次防止浪费\n- **SSE 流式输出**：模型回复逐字推送到前端，零等待体验\n- **短期记忆**：三级渐进压缩（会话记忆 → 紧凑摘要 → 运行时截断），在有限上下文窗口内维持长对话\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n### 🔍 混合检索架构\n\n**向量语义检索 + 关键词全文检索** 双通道并行，RRF（Reciprocal Rank Fusion）融合排序：\n\n- **语义匹配**：PGvector + HNSW 索引 + COSINE_DISTANCE，捕捉语义相似性\n- **精确匹配**：Elasticsearch + IK 中文分词 + BM25，精准命中专业术语\n- **证据增强**：类簇聚合 + 邻居窗口扩展，补充上下文避免碎片化\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n### 🛡️ 企业级安全体系\n\n- **三级角色权限**：Admin \u002F Group Owner \u002F Member，最小权限原则\n- **JWT 双令牌**：Access Token（15min）+ Refresh Token（httpOnly Cookie + 数据库 Rotation）\n- **BCrypt 密码加密** + 强制修改密码\n- **群组数据隔离**：向量检索和 ES 检索均附加 `groupId` 过滤，防止跨群组数据泄露\n- **AOP 操作日志**：关键操作全程留痕\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cbr\u002F>\n\n## 🏗️ 系统架构\n\n```mermaid\ngraph TB\n    subgraph 前端层\n        A[Vue 3 SPA\u003Cbr\u002F>Element Plus + Pinia]\n    end\n\n    subgraph 网关层\n        B[JWT 认证过滤器\u003Cbr\u002F>Access Token + Refresh Token]\n    end\n\n    subgraph 业务服务层\n        C[认证授权\u003Cbr\u002F>注册\u002F登录\u002F令牌管理]\n        D[群组协作\u003Cbr\u002F>创建\u002F邀请\u002F审批\u002F成员管理]\n        E[文档管理\u003Cbr\u002F>分片上传\u002F预览\u002F下载\u002F软删除]\n        F[ETL 流水线\u003Cbr\u002F>解析\u002F清洗\u002F切片\u002F向量化\u002F索引]\n        G[知识问答\u003Cbr\u002F>查询规划\u002F混合检索\u002F证据评估\u002F回答生成]\n        H[AI 助手\u003Cbr\u002F>ReactAgent\u002F会话管理\u002F短期记忆\u002FSSE流式]\n    end\n\n    subgraph 数据与检索引擎\n        I[(PostgreSQL\u003Cbr\u002F>+ pgvector\u003Cbr\u002F>HNSW 向量索引)]\n        J[(Elasticsearch\u003Cbr\u002F>+ IK 分词器\u003Cbr\u002F>关键词检索)]\n        K[(MinIO\u003Cbr\u002F>对象存储\u003Cbr\u002F>文档持久化)]\n    end\n\n    subgraph AI 模型层\n        L[DashScope\u003Cbr\u002F>通义千问 Chat]\n        M[DashScope\u003Cbr\u002F>text-embedding-v3]\n    end\n\n    A --> B\n    B --> C & D & E & F & G & H\n    E --> K\n    F --> I & J & K\n    G --> I & J & L\n    H --> G & L\n    E -.->|Spring Event 异步触发| F\n```\n\n\u003Cbr\u002F>\n\n## 📦 功能模块\n\n### 🔐 用户认证与群组协作\n\n- 用户注册\u002F登录、JWT 双令牌认证、角色权限（Admin \u002F 普通用户）\n- 创建知识库群组、邀请成员（邀请码机制）、加入申请与审批流程\n- 群组内三级角色：Owner \u002F Manager \u002F Member，细粒度权限控制\n\n### 📄 文档全生命周期管理\n\n- **分片上传协议**：三阶段（init → chunk upload → complete），支持断点续传、秒传检测（SHA-256）\n- **多格式解析**：PDF \u002F DOCX \u002F MD \u002F TXT，自动编码检测\n- **ETL 异步流水线**：Spring Event + `@Async` + `@Retryable`，7 步全自动处理\n- **对象存储**：MinIO S3 兼容存储，`@ConditionalOnProperty` 按需启用\n\n### 🧠 知识库问答（RAG Q&A）\n\n- **LLM 查询规划**：自动判断 DIRECT \u002F REWRITE \u002F DECOMPOSE 策略，最多 3 条并行检索\n- **RRF 双通道融合**：向量 + 关键词结果统一排序，类簇聚合 + 邻居窗口扩展\n- **四级证据评估**：NONE → WEAK → PARTIAL → SUFFICIENT，证据不足时主动拒答\n- **引用溯源**：每条回答附带引用片段、来源文档、相关性评分\n\n### 🤖 AI 智能助手\n\n- **ReactAgent 图执行引擎**：\"思考 → 工具调用 → 生成回复\"完整链路\n- **CHAT \u002F KB_SEARCH 双模式**：纯对话 or 知识库检索，同一会话内动态切换\n- **BEFORE_MODEL Hook**：模型调用前自动注入上下文（compact summary → session memory → recent messages）\n- **短期记忆三级压缩**：\n  - L1 会话记忆（增量 LLM 摘要，保留关键事实和决策）\n  - L2 紧凑摘要（精炼的历史压缩，丢弃冗余细节）\n  - L3 运行时截断（Token 超 50000 时的最后防线）\n- **SSE 流式输出**：Delta 去重 + AGENT_MODEL_FINISHED 兜底\n\n\u003Cbr\u002F>\n\n## 🛠️ 技术栈\n\n### 后端核心\n\n| 层次 | 技术 | 版本 | 说明 |\n|------|------|------|------|\n| 语言 | **Java** | 21 | Record 语法、虚拟线程、模式匹配 |\n| 框架 | **Spring Boot** | 3.5.0 | Spring MVC，Jakarta EE 9+ |\n| ORM | **MyBatis-Plus** | 3.5.15 | Lambda 类型安全查询 |\n| 数据库 | **PostgreSQL + pgvector** | 16+ | HNSW 向量索引，COSINE_DISTANCE |\n| 搜索引擎 | **Elasticsearch** | 8.x | IK 中文分词，JDK HttpClient 直连 |\n| 对象存储 | **MinIO** | latest | S3 兼容，`composeObject` 合并分片 |\n| AI Chat | **Spring AI Alibaba** | 1.1.2.0 | DashScope 原生集成（通义千问） |\n| AI Agent | **Spring AI Alibaba Agent** | 1.1.2.0 | ReactAgent 图执行引擎 |\n| AI Embedding | **Spring AI** | 1.1.2 | OpenAI 兼容模式，512 维向量 |\n| 认证 | **JJWT** | 0.12.6 | HMAC-SHA256 JWT 签发与解析 |\n| 密码加密 | **Spring Security Crypto** | — | BCrypt 自适应哈希 |\n| 文档解析 | **Apache PDFBox \u002F POI** | 2.0.31 \u002F 5.2.5 | PDF + DOCX 文本提取 |\n| 重试框架 | **Spring Retry** | — | `@Retryable` + `@Recover` 声明式重试 |\n| API 文档 | **Knife4j + SpringDoc** | 4.5.0 | `\u002Fdoc.html` 增强 UI，在线调试 |\n\n### 前端核心\n\n| 层次 | 技术 | 版本 |\n|------|------|------|\n| 语言 | **TypeScript** | 6.0 |\n| 框架 | **Vue 3** (Composition API) | 3.5 |\n| 构建 | **Vite** | 8.0 |\n| 路由 | **Vue Router** | 5.0 |\n| 状态管理 | **Pinia** | 3.0 |\n| UI 组件 | **Element Plus** | 2.14 |\n| HTTP 客户端 | **Axios** | 1.16 |\n| Markdown | **marked** | 18.0 |\n\n### 基础设施\n\n| 组件 | 用途 |\n|------|------|\n| **PostgreSQL + pgvector** | 关系型主存储 + HNSW 向量索引（512 维，COSINE_DISTANCE） |\n| **Elasticsearch 8.x** | IK 中文分词 + BM25 关键词检索 + 两阶段 bool\u002Frescore 打分 |\n| **MinIO** | S3 兼容对象存储，分片合并（composeObject），条件装配 |\n| **DashScope** | 通义千问 Chat 模型 + text-embedding-v3 Embedding 模型 |\n\n\u003Cbr\u002F>\n\n## 🚀 快速开始\n\n### 环境要求\n\n| 组件 | 版本要求 | 说明 |\n|------|---------|------|\n| **JDK** | 21 | Record 语法、虚拟线程 |\n| **Node.js** | ≥ 20.19 | 前端构建 |\n| **PostgreSQL** | 16+ | 需安装 `pgvector` 扩展 |\n| **Elasticsearch** | 8.x | 需安装 IK 中文分词器插件 |\n| **MinIO** | latest | 对象存储（可按需启用） |\n| **DashScope API Key** | — | LLM Chat + Embedding 共用 |\n\n### 1️⃣ 初始化中间件\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>PostgreSQL + pgvector\u003C\u002Fb>\u003C\u002Fsummary>\n\n```bash\n# 安装 pgvector 扩展\npsql -h \u003Chost> -U \u003Cuser> -d \u003Cdatabase> -c \"CREATE EXTENSION IF NOT EXISTS vector;\"\n\n# 执行建表脚本\npsql -h \u003Chost> -U \u003Cuser> -d \u003Cdatabase> -f sql\u002Fschema.sql\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>MinIO（Docker）\u003C\u002Fb>\u003C\u002Fsummary>\n\n```bash\ndocker run -d --name minio \\\n  -p 9000:9000 -p 9001:9001 \\\n  -e MINIO_ROOT_USER=minioadmin \\\n  -e MINIO_ROOT_PASSWORD=minioadmin \\\n  minio\u002Fminio server \u002Fdata --console-address \":9001\"\n\n# 访问 http:\u002F\u002Flocalhost:9001 创建 Bucket（默认：argus-rag-documents）\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Elasticsearch + IK 分词器\u003C\u002Fb>\u003C\u002Fsummary>\n\n```bash\ndocker run -d --name elasticsearch \\\n  -p 9200:9200 -p 9300:9300 \\\n  -e \"discovery.type=single-node\" \\\n  -e \"xpack.security.enabled=false\" \\\n  elasticsearch:8.x\n\n# 安装 IK 分词器\ndocker exec -it elasticsearch bin\u002Felasticsearch-plugin install \\\n  https:\u002F\u002Fgithub.com\u002Fmedcl\u002Felasticsearch-analysis-ik\u002Freleases\u002Fdownload\u002Fv8.x\u002Felasticsearch-analysis-ik-8.x.zip\ndocker restart elasticsearch\n```\n\u003C\u002Fdetails>\n\n### 2️⃣ 配置环境\n\n编辑 `Argus-backend\u002Fsrc\u002Fmain\u002Fresources\u002Fapplication-local.yml`，填写数据库、中间件和 LLM 配置：\n\n```yaml\n# 数据库\nspring.datasource.url: jdbc:postgresql:\u002F\u002Flocalhost:5432\u002Fdd_rag\nspring.datasource.username: your_username\nspring.datasource.password: your_password\n\n# LLM\nspring.ai.dashscope.api-key: ${DASHSCOPE_API_KEY}\nspring.ai.openai.api-key: ${DASHSCOPE_API_KEY}  # 与 DashScope 共用 Key\n\n# 对象存储（可选）\nstorage.minio.endpoint: http:\u002F\u002Flocalhost:9000\nstorage.minio.access-key: minioadmin\nstorage.minio.secret-key: minioadmin\n\n# Elasticsearch\nelasticsearch.host: localhost\nelasticsearch.port: 9200\n```\n\n### 3️⃣ 启动后端\n\n```bash\n# 设置 JDK 21\nexport JAVA_HOME=\"\u002Fpath\u002Fto\u002Fjdk-21\"\n\ncd Argus-backend\n\n# 编译\n.\u002Fmvnw clean compile\n\n# 启动（默认 local 环境，端口 10001）\n.\u002Fmvnw spring-boot:run\n\n# API 文档：http:\u002F\u002Flocalhost:10001\u002Fdoc.html\n```\n\n### 4️⃣ 启动前端\n\n```bash\ncd Argus-frontend\n\nnpm install\nnpm run dev\n\n# 访问：http:\u002F\u002Flocalhost:5173\n```\n\n### 🔑 默认账户\n\n开发环境（`--spring.profiles.active=dev`）自动创建管理员账户：\n\n| 用户名 | 密码 | 角色 |\n|--------|------|------|\n| `admin` | `admin123` | 系统管理员 |\n\n\u003Cbr\u002F>\n\n## 📡 API 概览\n\n### 认证 · `\u002Fapi\u002Fauth`\n\n| 方法 | 路径 | 说明 |\n|------|------|------|\n| POST | `\u002Fapi\u002Fauth\u002Fregister` | 用户注册 |\n| POST | `\u002Fapi\u002Fauth\u002Flogin` | 用户登录（返回 Access + Refresh Token） |\n| POST | `\u002Fapi\u002Fauth\u002Frefresh` | 刷新令牌（Cookie 中的 Refresh Token） |\n| POST | `\u002Fapi\u002Fauth\u002Flogout` | 登出（清除 Refresh Token） |\n| GET | `\u002Fapi\u002Fauth\u002Fme` | 获取当前用户信息 |\n\n### 群组协作 · `\u002Fapi\u002Fgroups`\n\n| 方法 | 路径 | 说明 |\n|------|------|------|\n| POST | `\u002Fapi\u002Fgroups` | 创建群组 |\n| GET | `\u002Fapi\u002Fgroups` | 查询可见群组列表 |\n| POST | `\u002Fapi\u002Fgroups\u002F{id}\u002Finvitations` | 创建邀请 |\n| POST | `\u002Fapi\u002Fgroups\u002F{id}\u002Fjoin-request` | 申请加入 |\n| POST | `\u002Fapi\u002Fgroups\u002Finvitations\u002F{id}\u002Faccept` | 接受邀请 |\n| DELETE | `\u002Fapi\u002Fgroups\u002F{id}\u002Fmembers\u002F{userId}` | 移除成员 |\n\n### 文档管理 · `\u002Fapi\u002Fdocuments`\n\n| 方法 | 路径 | 说明 |\n|------|------|------|\n| POST | `\u002Fapi\u002Fdocuments\u002Fupload\u002Finit` | 初始化分片上传（秒传\u002F续传检测） |\n| POST | `\u002Fapi\u002Fdocuments\u002Fupload\u002Fchunks` | 上传分片 |\n| POST | `\u002Fapi\u002Fdocuments\u002Fupload\u002F{id}\u002Fcomplete` | 完成上传，触发 ETL |\n| POST | `\u002Fapi\u002Fdocuments\u002Fupload` | 小文件直接上传（≤10MB） |\n| GET | `\u002Fapi\u002Fdocuments` | 文档列表（多条件筛选） |\n| GET | `\u002Fapi\u002Fdocuments\u002F{id}\u002Fpreview` | 预览文档 |\n| GET | `\u002Fapi\u002Fdocuments\u002F{id}\u002Fdownload` | 下载文档 |\n| DELETE | `\u002Fapi\u002Fdocuments\u002F{id}` | 软删除文档 |\n\n### 知识库问答 · `\u002Fapi\u002Fqa`\n\n| 方法 | 路径 | 说明 |\n|------|------|------|\n| POST | `\u002Fapi\u002Fqa\u002Fask` | 提交问题，获取 AI 回答 + 引用溯源 |\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>📋 请求\u002F响应示例\u003C\u002Fb>\u003C\u002Fsummary>\n\n**请求**：\n```json\n{\n    \"groupId\": 1,\n    \"question\": \"文档上传流程是什么？上传失败后如何重试？\"\n}\n```\n\n**响应**：\n```json\n{\n    \"answered\": true,\n    \"answer\": \"文档上传流程分为三个阶段：初始化、分片上传、完成合并。首先调用 \u002Fupload\u002Finit 初始化会话...\",\n    \"citations\": [\n        {\n            \"documentId\": 1,\n            \"chunkId\": 15,\n            \"fileName\": \"Argus使用手册.pdf\",\n            \"score\": 0.97\n        }\n    ]\n}\n```\n\u003C\u002Fdetails>\n\n### AI 助手 · `\u002Fapi\u002Fassistant`\n\n| 方法 | 路径 | 说明 |\n|------|------|------|\n| POST | `\u002Fapi\u002Fassistant\u002Fsessions` | 创建新会话 |\n| GET | `\u002Fapi\u002Fassistant\u002Fsessions` | 会话列表 |\n| PATCH | `\u002Fapi\u002Fassistant\u002Fsessions\u002F{id}` | 重命名会话 |\n| DELETE | `\u002Fapi\u002Fassistant\u002Fsessions\u002F{id}` | 删除会话 |\n| POST | `\u002Fapi\u002Fassistant\u002Fchat` | 同步聊天（CHAT \u002F KB_SEARCH） |\n| POST | `\u002Fapi\u002Fassistant\u002Fchat\u002Fstream` | 流式聊天（SSE，逐字推送） |\n| GET | `\u002Fapi\u002Fassistant\u002Fsessions\u002F{id}\u002Fcontext` | 获取会话上下文（含摘要） |\n\n\u003Cbr\u002F>\n\n## 📁 项目结构\n\n```\nArgus\u002F\n├── Argus-backend\u002F                          # Spring Boot 后端\n│   └── src\u002Fmain\u002Fjava\u002Fcom\u002Fargus\u002Frag\u002F\n│       ├── auth\u002F                           # 认证授权（JWT 双令牌）\n│       ├── user\u002F                           # 用户管理\n│       ├── group\u002F                          # 群组协作（邀请\u002F审批\u002F角色）\n│       ├── document\u002F                       # 文档管理（分片上传\u002F预览\u002F下载）\n│       ├── ingestion\u002F                      # ETL 流水线（解析\u002F切片\u002F向量化\u002F索引）\n│       │   └── service\u002Fpipeline\u002F\n│       │       ├── reader\u002F                 #   文档读取器\n│       │       ├── parser\u002F                 #   多格式解析器（PDF\u002FDOCX\u002FMD\u002FTXT）\n│       │       └── transformer\u002F            #   文本清洗 + 结构感知切片\n│       ├── qa\u002F                             # 知识库问答（查询规划\u002FRRF 融合\u002F证据评估）\n│       │   └── rag\u002F                        #   混合检索引擎\n│       ├── assistant\u002F                      # AI 助手（ReactAgent\u002F短期记忆\u002FSSE 流式）\n│       │   ├── agent\u002F                      #   Agent 工厂 + 知识库检索工具\n│       │   ├── memory\u002F                     #   三级短期记忆压缩\n│       │   └── service\u002F                    #   对话编排 + 会话管理\n│       └── engine\u002F                         # 基础设施（ES\u002FPGvector\u002FMinIO）\n│\n├── Argus-frontend\u002F                         # Vue 3 前端\n│   └── src\u002F\n│       ├── api\u002F                            # 后端 API 封装\n│       ├── views\u002F                          # 页面组件\n│       │   ├── HomeView.vue                #   产品首页\n│       │   ├── documents\u002F                  #   文档管理\n│       │   ├── qa\u002F                         #   知识库问答\n│       │   ├── assistant\u002F                  #   AI 助手\n│       │   ├── groups\u002F                     #   协作小组\n│       │   └── admin\u002F                      #   用户管理\n│       ├── stores\u002F                         # Pinia 状态管理\n│       └── components\u002F                     # 公共组件\n│\n├── docs\u002F                                   # 项目文档\n│   ├── V1.0-项目文档.md                    #   用户认证 + 群组管理\n│   ├── V2.0-项目文档.md                    #   文档上传 + ETL 流水线\n│   ├── V3.0-项目文档.md                    #   知识库问答（RAG）\n│   └── V4.0-项目文档.md                    #   AI 助手 Agent + 流式对话\n│\n└── sql\u002F\n    └── schema.sql                          # 数据库建表 DDL\n```\n\n\u003Cbr\u002F>\n\n## 📖 版本演进\n\nArgus 采用**渐进式迭代**的开发方式，每个版本聚焦一个核心主题：\n\n| 版本 | 主题 | 核心交付 |\n|------|------|---------|\n| **V1.0** | 🏗️ 基础设施 | 用户认证（JWT 双令牌）、群组协作（邀请\u002F审批\u002F角色）、项目骨架 |\n| **V2.0** | 📄 文档引擎 | 分片上传（断点续传\u002F秒传）、ETL 流水线、双路检索（向量 + 关键词） |\n| **V3.0** | 🧠 RAG 问答 | 查询规划（LLM）、RRF 融合排序、四级证据评估、引用溯源 |\n| **V4.0** | 🤖 AI Agent | ReactAgent 图引擎、CHAT\u002FKB_SEARCH 双模式、短期记忆三级压缩、SSE 流式 |\n\n> 详细的设计决策和技术文档请参阅 [`docs\u002F`](docs\u002F) 目录。\n\n\u003Cbr\u002F>\n\n## 🤝 贡献\n\n欢迎提交 Issue 和 Pull Request！\n\n在提交 PR 之前，请确保：\n- 代码通过编译（`.\u002Fmvnw clean compile`）\n- 遵循项目现有的代码风格和命名规范\n- 新增功能包含相应的 JavaDoc 或注释\n\n\u003Cbr\u002F>\n\n## 📄 License\n\n本项目采用 [MIT](LICENSE) 开源协议。\n\n\u003Cbr\u002F>\n\n---\n\n\u003Cp align=\"center\">\n  \u003Csub>Made with ❤️ by the Argus team · 让每一次提问都有据可查\u003C\u002Fsub>\n\u003C\u002Fp>\n","Argus 是一个基于 RAG 架构的开源知识库平台，旨在通过融合文档解析、智能检索和 AI 对话技术，为企业提供全面的知识管理解决方案。其核心功能包括文档上传与智能解析、混合检索（结合向量嵌入和关键词索引）、以及基于大语言模型的AI对话，特别强调了证据评估以确保答案的准确性和可靠性。此外，它还支持跨轮次上下文感知对话，使得交互更加自然流畅。该平台适合需要深度整合私有文档资源并希望利用先进AI技术提升信息查询效率的企业或组织使用。技术栈方面，后端采用了Java 21 + Spring Boot + MyBatis-Plus + PostgreSQL\u002Fpgvector等现代技术组合，前端则使用了Vue 3 + TypeScript + Element Plus框架，同时集成了Spring AI Alibaba（通义千问）+ ReactAgent图引擎作为AI层支撑，并借助MinIO + Elasticsearch实现高效的数据存储与检索。","2026-06-11 03:55:58","CREATED_QUERY"]