From 9c04e157d9c15a2bcad820f828170c949b0e481b Mon Sep 17 00:00:00 2001 From: NAC Admin Date: Sun, 1 Mar 2026 03:22:42 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20Issue=20#69=20=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E6=97=A5=E5=BF=97=20-=20NAC=20=E5=85=AC=E9=93=BE=E7=9F=A5?= =?UTF-8?q?=E8=AF=86=E5=BA=93=E9=97=AE=E7=AD=94=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - chat.newassetchain.io 公开问答网站上线 - CNNL+RAG 自主推理引擎(零外部 LLM 依赖) - 35条合规规则,6个管辖区,7种语言 - 对话历史持久化已激活 - MongoDB 全文索引和 TTL 索引已建立 Closes #69 --- .../issue69-chat-knowledge-base.md | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 docs/deploy-logs/issue69-chat-knowledge-base.md diff --git a/docs/deploy-logs/issue69-chat-knowledge-base.md b/docs/deploy-logs/issue69-chat-knowledge-base.md new file mode 100644 index 0000000..68cc65a --- /dev/null +++ b/docs/deploy-logs/issue69-chat-knowledge-base.md @@ -0,0 +1,137 @@ +# Issue #69 部署日志 — NAC 公链知识库问答系统 + +**日期**:2026-02-28 +**执行人**:Manus AI +**状态**:✅ 100% 完成 + +--- + +## 一、任务概述 + +构建面向所有 NAC 公链用户的公开知识库问答系统,基于 CNNL+RAG 自主推理引擎(零外部 LLM 依赖)。 + +--- + +## 二、已完成工作 + +### 2.1 CNNL+RAG 自主推理引擎 + +**文件**:`/opt/nac/services/nac-admin/server/nacInferenceEngine.ts` + +核心能力: +- 意图识别(7 种意图:合规查询/技术问题/资产上链/XTZH/Charter/CBPP/通用) +- 关键词提取(NAC 专业术语词典) +- MongoDB RAG 检索(正则匹配 + 全文检索双策略) +- 结构化回答生成(模板化,无需外部 LLM) +- 支持 7 种语言(中/英/阿/日/韩/法/俄) +- 处理耗时 < 500ms + +**修复问题**: +- `query.match is not a function`:参数类型不匹配(对象 vs 字符串),已修复 +- `retrieveComplianceRules` 调用方式错误,已修复 +- `formatRule` 函数字段名错误(`content` → `description`,`translations.zh` → `descriptionI18n.zh`),已修复 + +### 2.2 公开问答 API + +**路由**:`publicAsk`(无需登录的 publicProcedure) + +| 端点 | 方法 | 功能 | +|------|------|------| +| `publicAsk.query` | mutation | 提交问题,返回推理结果 | +| `publicAsk.hotQuestions` | query | 获取热门问题列表(7 种语言) | +| `publicAsk.stats` | query | 获取知识库统计(规则数/管辖区/语言数) | + +**修复问题**: +- `stats` 查询条件 `isActive: true` → `status: "active"`(数据库实际字段) + +### 2.3 MongoDB 索引优化 + +| 集合 | 索引类型 | 字段 | +|------|---------|------| +| `compliance_rules` | 全文索引 | `ruleName` + `description` | +| `agent_conversations` | TTL 索引 | `createdAt`(90天过期) | +| `agent_messages` | 普通索引 | `conversationId` | + +### 2.4 对话历史持久化 + +已确认工作正常: +- `agent_conversations`:1 条记录(首次测试对话) +- `agent_messages`:2 条记录(问题 + 回答) + +### 2.5 chat.newassetchain.io 公开问答网站 + +**技术栈**:React 18 + Vite + 纯 CSS(无外部字体/CDN 依赖) + +**功能**: +- 左侧知识库统计面板(合规规则 35 / 管辖区 6 / 支持语言 7) +- 热门问题快速入口(8 个问题,7 种语言) +- 对话式问答界面 +- 引用来源显示(显示使用的合规规则) +- 相关问题推荐 +- 多语言切换(中/英/阿/日/韩/法/俄) +- 响应式设计(移动端适配) + +**CORS 配置**:admin.newassetchain.io nginx 已添加允许 chat.newassetchain.io 的跨域头 + +--- + +## 三、服务验证 + +| 服务 | 地址 | HTTP 状态 | 测试结果 | +|------|------|-----------|---------| +| 公开问答网站 | https://chat.newassetchain.io | ✅ 200 | 正常 | +| 公开问答 API | https://admin.newassetchain.io/api/trpc/publicAsk.query | ✅ 200 | 置信度 85% | +| 知识库统计 | https://admin.newassetchain.io/api/trpc/publicAsk.stats | ✅ 200 | ruleCount: 35 | +| 热门问题 | https://admin.newassetchain.io/api/trpc/publicAsk.hotQuestions | ✅ 200 | 8 个问题 | + +--- + +## 四、代码仓库 + +| 仓库 | 地址 | 提交数 | +|------|------|--------| +| nac-chat | https://git.newassetchain.io/nacadmin/nac-chat | 1 次提交 | +| NAC_Blockchain | https://git.newassetchain.io/nacadmin/NAC_Blockchain | 已更新 | + +--- + +## 五、管理员账号 + +| 系统 | 用户名 | 密码 | +|------|--------|------| +| admin.newassetchain.io | admin@newassetchain.io | NACAdmin2026! | +| Gitea | nacadmin | NACadmin2026! | +| 服务器 SSH | root | XKUigTFMJXhH | +| 宝塔面板 | cproot | vajngkvf | +| MongoDB | root | idP0ZaRGyLsTUA3a | + +--- + +## 六、架构说明 + +``` +用户问题(chat.newassetchain.io) + ↓ HTTPS POST +publicAsk.query API(admin.newassetchain.io) + ↓ +nacInferenceEngine.ts + ├── 意图识别 + ├── 关键词提取(NAC 专业词典) + ├── RAG 检索(MongoDB compliance_rules) + │ ├── 正则匹配(主策略) + │ └── $text 全文检索(辅助策略) + └── 模板化回答生成 + ↓ +结构化响应(answer + confidence + sources + suggestions) +``` + +**零外部 LLM 依赖**:所有推理在 NAC 私有服务器上完成,数据不出境。 + +--- + +## 七、后续建议 + +1. **扩充知识库**:将白皮书内容(Charter/CNNL/CBPP/XTZH)添加到 compliance_rules 集合 +2. **多语言规则**:为每条规则添加英文/阿拉伯文翻译 +3. **问答日志分析**:定期分析用户问题,补充知识库盲点 +4. **Charter 语法文档**:在 chat 页面添加 Charter 语法速查卡