From 2fd31f6f775c9b6321eca87834661b1c6b681dd3 Mon Sep 17 00:00:00 2001 From: Kronecker <2026692687@qq.com> Date: Fri, 16 Oct 2026 21:45:22 +0800 Subject: [PATCH] fix: complete knowledge intake and browser acceptance --- README.md | 2 +- docs/BROWSER_ACCEPTANCE.md | 80 ++++++++++++++++++ docs/TASKS.md | 15 +++- .../assets/browser-acceptance/rrf-browser.jpg | Bin 0 -> 73657 bytes .../user-retrieval-browser.jpg | Bin 0 -> 69212 bytes .../browser-acceptance/user-role-browser.jpg | Bin 0 -> 16337 bytes frontend/src/App.vue | 26 ++++-- frontend/src/api.ts | 2 +- 8 files changed, 113 insertions(+), 12 deletions(-) create mode 100644 docs/BROWSER_ACCEPTANCE.md create mode 100644 docs/assets/browser-acceptance/rrf-browser.jpg create mode 100644 docs/assets/browser-acceptance/user-retrieval-browser.jpg create mode 100644 docs/assets/browser-acceptance/user-role-browser.jpg diff --git a/README.md b/README.md index 741f5be..dc8421d 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ Vite 通常使用 http://localhost:5173。 前端包括问答、知识库管理、来源与更新、实验评估四个页面。实验评估页面没有虚构数据;所有页面明确标记当前功能状态。 -注意:当前已实现本地 Embedding、文本/向量快照、精确向量及 RRF 混合检索;`/api/chat` 仍是占位接口,DeepSeek RAG 调用暂缓,网络搜索、后台更新任务和真实领域评测尚未实现。管理接口由服务端认证与角色校验;审核表单的核验人仍是人工输入字段。服务保持仅本机访问,完整生产部署、Docker 数据库和浏览器端 Cookie 联调尚未验收。`.env` 不要提交到 Git。 +注意:当前已实现本地 Embedding、文本/向量快照、精确向量及 RRF 混合检索;`/api/chat` 仍是占位接口,生成模型实际调用暂缓,网络搜索、后台更新任务和真实领域评测尚未实现。管理接口由服务端认证与角色校验;审核表单的核验人仍是人工输入字段。已完成隔离环境的浏览器 Cookie/CSRF、角色与真实检索核心流程验收,见 [浏览器验收记录](docs/BROWSER_ACCEPTANCE.md);完整生产部署、Docker 数据库与 HTTPS 验收仍待完成。`.env` 不要提交到 Git。 ### 后端测试和迁移回滚 diff --git a/docs/BROWSER_ACCEPTANCE.md b/docs/BROWSER_ACCEPTANCE.md new file mode 100644 index 0000000..89bbdcd --- /dev/null +++ b/docs/BROWSER_ACCEPTANCE.md @@ -0,0 +1,80 @@ +# 2026-10-16 浏览器与后端联调验收 + +本轮在真实浏览器中访问 Vite 页面,经同源 `/api` 代理连接默认生命周期 FastAPI 和隔离 PostgreSQL 16 + pgvector,验证合成资料的录入、审核、发布、检索以及 Cookie/CSRF/角色权限。数据仅用于功能验收,不代表那拉提文旅事实、领域质量或生产性能。 + +## 代码基线与范围 + +- [PR #17](https://gitea.kronecker.cc/saint/border-red-post-nalati/pulls/17) 的上下文阶段经真正 merged 的 [替代 PR #23](https://gitea.kronecker.cc/saint/border-red-post-nalati/pulls/23) 合入 `dev`。重放产生新 SHA,不能只看旧 AGit PR 是否仍打开。本轮核对替代 head/merge 均为最新 dev 的祖先;完整 backend 文件树、RAG 调用类型与专用契约文档和原实现一致,前端依赖 JSON 相同、锁文件对应版本与完整性值相同,通用说明保留集成后的更新。 +- 从最新 dev 创建 `test/backend-browser-acceptance`,没有叠加待审功能;实际生成模型仍延期,没有调用生成模型或配置其凭据。 +- 使用真实固定 BGE small 中文 Embedding(revision `7999e1d3359715c523056ef9478215996d62a620`、512 维)及现有离线缓存;不是用坐标 fixture 生成本轮页面上的检索结果。自动化回归中的坐标 fixture 仍只用于协议/数据库边界测试。 +- 浏览器、SQL 实例、测试账号和原始检查记录属于本机隔离环境;仓库仅保留步骤、结果摘要及明确含有合成资料的截图,不提交运行环境、日志、凭据或个人数据。 + +## 真实浏览器操作与结果 + +| 验收路径 | 观察结果 | +|---|---| +| 匿名打开受保护页面 | 跳转登录页,保留回跳路径 | +| 管理员登录后刷新页面 | Cookie 会话恢复,管理员身份和受保护列表正常读取 | +| 来源登记 | 经浏览器提交来源、网址和合成备注,成功后列表显示 1 条 | +| 知识录入 | 保存为 pending,不能直接进入检索 | +| 缺失采集时间时审核 | 后端拒绝通过,页面如实显示须补全来源与真实采集时间 | +| 完整元数据知识审核 | 填入明确采集时间、来源、合成核验人和说明后审核保存成功 | +| 文本快照构建与发布 | 仅 1 条已核验知识进入 1 个 chunk;另一待审条目被排除;ready 后显式发布、代数递增 | +| 真实向量构建与发布 | 本地固定模型编码后保存向量,ready 后显式发布;页面显示真实向量版本 | +| 管理员 RRF 查询 | 关键词与向量各命中 1 条同一合成依据,页面展示原文与来源链接,说明尚未生成模型答案 | +| 文档登记 | 选择已登记来源并填入采集时间,创建成功;来源关联、正文和第一页列表可读取 | +| 管理员用户列表 | 数据来自服务端;只有一页时前后翻页按钮正确禁用。本轮未验证多页/大规模表现 | +| 退出登录 | 返回登录页;再次访问受保护页面仍跳转登录 | +| 普通用户注册及登录 | 服务端返回 user,界面不显示任何管理菜单 | +| 普通用户直接访问管理路由及登录回跳 | `/admin` 与 `/indexes` 均跳转个人中心的 forbidden 状态,没有获得管理页面 | +| 普通用户查询 | 重新发布当前资料快照后,普通用户仍能收到真实 RRF 原文证据,管理入口保持隐藏 | + +管理员检索画面: + +![管理员真实浏览器检索](assets/browser-acceptance/rrf-browser.jpg) + +普通用户检索与菜单: + +![普通用户检索](assets/browser-acceptance/user-retrieval-browser.jpg) + +普通用户访问管理路由后的角色状态: + +![普通用户角色拦截](assets/browser-acceptance/user-role-browser.jpg) + +## 本轮修正 + +1. 知识录入原表单没有采集时间字段,导致从页面新建的知识无法满足后端审核前置条件。增加可选的采集时间输入,转换为带时区的 ISO 字符串提交;未填写仍可登记为待审,审核通过的后端约束继续有效,不自动猜测采集时间。 +2. 主工作台缺少审核与文档管理入口。增加仅管理员可见的导航按钮,沿用已有路由和服务端授权,普通用户菜单验收通过。 +3. 首页仍显示“尚未接入检索”,来源页仍称文档工作台待接入。按实际状态改为已接入检索证据、生成式回答未启用及已有文档管理入口;README 不再把尚未确定的生成模型供应商写成已选择。 + +## API 与数据库交叉核对 + +以下为独立 HTTP 检查,和上表的浏览器操作分别记录,不把 API 检查冒充浏览器动作: + +- 匿名读取管理资源返回 401;普通用户读取知识、来源、文档、文本/向量索引、用户、检索历史和 RAG 准备历史八类管理资源均返回 403。 +- 管理员写入缺少 CSRF 返回 403;使用正确 CSRF 但 Origin 不在允许列表仍返回 403。浏览器真实写入成功,说明正常代理调用携带了会话和 CSRF。 +- 真实登录响应含 HttpOnly 与 SameSite=Lax;本次仅为隔离 HTTP test 环境关闭 Secure,生产默认配置未改。本轮没有 HTTPS/Secure Cookie 浏览器验收结论。 +- 退出后 `/api/auth/me` 返回 401。浏览器刷新恢复及退出跳转与服务端会话状态一致。 +- 文档等目录写入后,旧向量查询明确返回 409;API 重新构建/发布后恢复查询,仍只命中那条已核验知识。这是现有保守失效策略,不自动使用旧快照。 +- 持久化记录为 1 条来源、2 条知识(其中 1 条未审核)、1 条关联文档。真实模型的空间、版本和归一化契约沿用 [VECTOR_API.md](VECTOR_API.md)。 +- 最新检索记录可准备 RAG 上下文,状态 prepared 且 `model_called=false`;没有以准备结果冒充生成式回答。 + +## 复现路径 + +1. 使用单独测试数据库或隔离 Schema,启用 public 的 vector 扩展,执行 `alembic upgrade head`。不要把合成验收资料写入业务库。 +2. 依 [AUTH_API.md](AUTH_API.md) 初始化本机测试管理员;真实密码、环境文件与日志不入库。前后端 Origin、Cookie 的开发设置按该文档配置。 +3. 依 [VECTOR_API.md](VECTOR_API.md) 配置固定本地模型的离线缓存,启动默认生命周期后端及 Vite。 +4. 从浏览器执行上表步骤,先验证缺失元数据被拒绝,再录入有明确采集时间的合成资料并审核、发布文本和向量、查询证据。 +5. 使用独立普通用户核对菜单、直接路由拦截与退出;同时用 HTTP 核对服务端授权、CSRF 和失效行为。 +6. 保存验收摘要与合成截图后,关闭本次测试服务并清理隔离 Schema;本次运行环境与原始记录仅保存在 Git 元数据目录。 + +## 本轮回归验证 + +- `pytest -q backend/tests`:**224 passed, 1 skipped**;使用隔离 PostgreSQL,skip 为必须显式启用的真实 Embedding 专项。 +- `ruff check backend`、`ruff format --check backend`:通过。 +- 前端 `npm run build`(含 `vue-tsc -b`):通过。 +- 本轮真实固定 BGE small 的运行证据来自上述浏览器/HTTP 验收,和常规自动化的坐标 fixture 分开记录;没有生成模型调用。 + +## 尚未完成的验收 + +本轮不替代 Docker 容器验收、多浏览器/设备回归、生产 HTTPS、浏览器改密和历史知识元数据修订页面。既有后端自动化已覆盖改密、撤销和重启持久化,本轮未将它们称作浏览器操作。生成模型、已核验领域资料/独立问题集和领域质量实验继续保留后续范围。 diff --git a/docs/TASKS.md b/docs/TASKS.md index c5eaab1..269089f 100644 --- a/docs/TASKS.md +++ b/docs/TASKS.md @@ -4,16 +4,16 @@ | 编号 | 模块 | 任务 | 负责人 | 状态 | |---|---|---|---|---| -| T01 | 前端 | 验证 Vue 页面启动、补充截图 | 吉海燕 | 进行中(生产构建已通过;登录、账户设置与角色导航已合入,待浏览器 Cookie 联调) | +| T01 | 前端 | 验证 Vue 页面启动、补充截图 | 吉海燕 | 进行中(生产构建及登录/角色/核心管理流程浏览器联调已通过;账户设置等剩余验收见下文) | | T02 | 后端 | 验证 FastAPI `/docs`、`/api/health` | 范涵宇 | 已完成自动化/真实 HTTP 验证;待目标 Docker 环境复核 | | T03 | 数据库 | 启动 PostgreSQL 并验证知识入库 | 范涵宇 | 已用隔离 PostgreSQL 完成迁移与回归;本机 Docker Compose 验收受阻 | | T04 | 文档 | 明确接口字段、知识来源审核规则 | 杨星萱 | 待办 | | T05 | 知识库 | 设计 sources/documents/chunks/version 表 | 范涵宇 | 已完成(迁移、发布快照和接口已合入;待 Docker 联调) | | T06 | 检索 | 实现关键词检索基线 | 范涵宇 | 已完成(已核验知识 BM25 与检索历史已合入) | | T07 | 向量 | 评估 Embedding 并实现 pgvector | 范涵宇 | 已完成(本地模型、精确向量和 RRF 已合入;待真实领域评测) | -| T08 | RAG | 集成 LLM 与来源展示 | 范涵宇 | 暂缓(已确定 DeepSeek,待明确恢复外部模型调用授权) | +| T08 | RAG | 集成 LLM 与来源展示 | 范涵宇 | 协议已合入(证据与 OpenAI 兼容请求契约已完成;生成模型选型与实际调用按要求延期) | | T09 | 实验 | 构建可核验问题集及评分规范 | 杨星萱 | 待办 | -| T10 | 工程 | 补充测试、Alembic、鉴权与部署 | 范涵宇(主)、全员 | 进行中(迁移、认证、CSRF 与自动化回归已完成;本机 pytest/Docker/部署验收待补) | +| T10 | 工程 | 补充测试、Alembic、鉴权与部署 | 范涵宇(主)、全员 | 进行中(迁移、认证、CSRF、224项回归及浏览器核心流程已通过;Docker/HTTPS/部署待验收) | ## 2026-10-15 首次联调记录 @@ -90,3 +90,12 @@ - 实际验证:`pytest -q` **224 passed, 1 skipped**;较上一阶段新增 43 项上下文/协议/权限/失效/预算/原文/失败回滚/真实 HTTP 重启用例,另新增 1 项上下文迁移降级保留数据验证。skip 为既有须显式启用的真实 Embedding 用例,本轮未重跑真实模型专项,不沿用旧结果冒充生成模型验证。`ruff check`、`ruff format --check` 通过。前端调用层同步,构建在补齐依赖后通过。 - PR #16 已合入的认证路由引用了 `vue-router`,原 package.json/锁文件未声明;本轮补充匹配现有 Vue 3 的 vue-router 4 依赖及锁记录,保留其他依赖原版本和平台元数据。前端 `npm run build` 通过;浏览器实际 Cookie/CSRF/角色及容器验收仍待完成。 - 本轮所有测试为协议/合成资料或坐标 fixture,没有真实生成模型请求、质量分数或费用。生成模型选择和服务凭据保持延期,不重复索要;本阶段提交 PR 后等待实际合入,再继续下一项可独立验收的后端任务。 + + +## 2026-10-16 真实浏览器联调与阶段验收收尾 + +- 上下文阶段已通过真正 merged 的替代 PR #23 合入 dev;完整 backend 树及专用 RAG 契约/API 类型与原 #17 一致,通用文档保留集成更新,已记录重放等价依据。旧 #17 打开不阻塞后续阶段。 +- 从最新 dev 创建 `test/backend-browser-acceptance`,用隔离 PostgreSQL16/pgvector、默认 FastAPI 生命周期、Vite 与真实浏览器走通管理员登录/刷新会话、来源/知识/文档录入、审核、文本与真实 BGE small 向量发布、RRF 原文来源展示,以及普通用户菜单/路由限制和退出。 +- 修正页面联调发现的采集时间缺失、审核/文档导航入口和过期功能说明;后端审核/授权不放宽,不猜测历史资料采集时间。具体路径、HTTP 与浏览器证据分工及合成截图见 [BROWSER_ACCEPTANCE.md](BROWSER_ACCEPTANCE.md)。 +- 独立 HTTP 检查确认匿名401、普通用户八类管理资源403、缺失CSRF/错误Origin403、退出后401;目录写入使旧发布409,重新发布后恢复真实检索;准备上下文仍为 model_called=false。合成数据和本机运行环境、原始记录、凭据不入库。 +- 该轮验收收尾了T02的真实浏览器API连接、T05知识录入/审核与文本/向量页面核心流程、Issue #5登录/Cookie/CSRF/角色的主要浏览器路径。Docker、HTTPS、多浏览器、浏览器改密及历史元数据修订页面仍待验收;生成模型和领域评测继续延期。本轮 `pytest -q backend/tests` **224 passed, 1 skipped**,`ruff check`、`ruff format --check` 和前端 `npm run build` 均通过;常规 skip 为须显式启用的真实模型专项,本轮另外通过浏览器与独立 HTTP 实际运行了固定 BGE small。 diff --git a/docs/assets/browser-acceptance/rrf-browser.jpg b/docs/assets/browser-acceptance/rrf-browser.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cae38b3504a03cdbb131c946233991ba0fbe0347 GIT binary patch literal 73657 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 literal 0 HcmV?d00001 diff --git a/docs/assets/browser-acceptance/user-retrieval-browser.jpg b/docs/assets/browser-acceptance/user-retrieval-browser.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5118bd6d9f3e8904c033141069785c8aa7d732b5 GIT binary patch literal 69212 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/assets/browser-acceptance/user-role-browser.jpg b/docs/assets/browser-acceptance/user-role-browser.jpg new file mode 100644 index 0000000000000000000000000000000000000000..159c0d035dd07f7702cb9eb2293f2c5718dd94f0 GIT binary patch literal 16337 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 literal 0 HcmV?d00001 diff --git a/frontend/src/App.vue b/frontend/src/App.vue index b9dcfe4..ace22a5 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -8,8 +8,8 @@ import { useRouter } from 'vue-router' import type { SessionUser } from './types/auth' type Page='chat'|'knowledge'|'sources'|'evaluation' const router=useRouter(),currentUser=ref(),page=ref('chat'), apiStatus=ref('检测中'), question=ref(''), busy=ref(false), search=ref(''), showForm=ref(false), error=ref(''), notice=ref('') -const messages=ref([{role:'assistant',content:'你好!我是边疆红驿文旅问答原型。当前后端仅为基础接口,尚未接入知识检索和大语言模型。'}] as {role:string;content:string;sources?:{title:string;source_url?:string|null}[]}[]) -const items=ref([]), form=ref({title:'',category:'旅游资源',content:'',source_url:''}) +const messages=ref([{role:'assistant',content:'你好!我是边疆红驿文旅问答原型。已接入已核验资料的混合检索,可展示原文证据与来源;生成式回答尚未启用。'}] as {role:string;content:string;sources?:{title:string;source_url?:string|null}[]}[]) +const items=ref([]), form=ref({title:'',category:'旅游资源',content:'',source_url:'',collected_at:''}) const sources=ref([]), sourceSearch=ref(''), showSourceForm=ref(false), sourceForm=ref({name:'',source_url:'',notes:''}) const nav=[{id:'chat',label:'智能问答',icon:MessageSquareText},{id:'knowledge',label:'知识库管理',icon:Database,adminOnly:true},{id:'sources',label:'来源与更新',icon:Globe2,adminOnly:true},{id:'evaluation',label:'实验评估',icon:Activity,adminOnly:true}] as const const visibleNav=computed(()=>nav.filter(item=>!('adminOnly' in item)||!item.adminOnly||currentUser.value?.role==='admin')) @@ -22,10 +22,22 @@ watch(sourceSearch,()=>{window.clearTimeout(sourceSearchTimer);sourceSearchTimer onMounted(async()=>{try{currentUser.value=await getCurrentUser()}catch{router.replace('/login');return}try{await getHealth();apiStatus.value='已连接'}catch{apiStatus.value='未连接'}if(currentUser.value.role==='admin')await Promise.all([refresh(),refreshSources()])}) async function send(){const q=question.value.trim();if(!q||busy.value)return;messages.value.push({role:'user',content:q});question.value='';busy.value=true;try{const r=await retrieveHybrid({query:q,top_k:5,candidate_k:50});const content=r.status==='no_evidence'?'未检索到可用的已核验知识依据。请调整问题或补充审核后的资料。':`已通过 RRF 混合检索命中 ${r.total_hits} 条依据(关键词 ${r.lexical_total_hits},向量 ${r.vector_total_hits},${r.elapsed_ms.toFixed(1)} ms)。当前仅展示检索证据,尚未接入大语言模型生成回答。`;messages.value.push({role:'assistant',content,sources:r.results.map(hit=>({title:`${hit.title}:${hit.snippet}`,source_url:hit.source_url}))})}catch(e){messages.value.push({role:'assistant',content:e instanceof Error?e.message:'暂时无法连接混合检索服务。'})}finally{busy.value=false}} function validUrl(value:string){try{if(value)new URL(value);return true}catch{return false}} -async function save(){error.value='';notice.value='';if(!form.value.title.trim()||!form.value.content.trim()){error.value='请填写知识标题和正文。';return}if(!validUrl(form.value.source_url)){error.value='来源网址必须是有效的 http(s) 地址。';return}try{await createKnowledge({...form.value,title:form.value.title.trim(),content:form.value.content.trim(),...(form.value.source_url?{source_url:form.value.source_url}:{})});form.value={title:'',category:'旅游资源',content:'',source_url:''};showForm.value=false;notice.value='已保存为待审核条目,尚未进入检索索引。';await refresh()}catch(e){error.value=e instanceof Error?e.message:'保存失败'}} +async function save(){ + error.value='';notice.value='' + if(!form.value.title.trim()||!form.value.content.trim()){error.value='请填写知识标题和正文。';return} + if(!validUrl(form.value.source_url)){error.value='来源网址必须是有效的 http(s) 地址。';return} + try{ + await createKnowledge({title:form.value.title.trim(),category:form.value.category,content:form.value.content.trim(), + ...(form.value.source_url?{source_url:form.value.source_url}:{}), + ...(form.value.collected_at?{collected_at:new Date(form.value.collected_at).toISOString()}:{}), + }) + form.value={title:'',category:'旅游资源',content:'',source_url:'',collected_at:''} + showForm.value=false;notice.value='已保存为待审核条目,尚未进入检索索引。';await refresh() + }catch(e){error.value=e instanceof Error?e.message:'保存失败'} +} -