docs: Issue #69 部署日志 - NAC 公链知识库问答系统

- chat.newassetchain.io 公开问答网站上线
- CNNL+RAG 自主推理引擎(零外部 LLM 依赖)
- 35条合规规则,6个管辖区,7种语言
- 对话历史持久化已激活
- MongoDB 全文索引和 TTL 索引已建立

Closes #69
This commit is contained in:
NAC Admin 2026-03-01 03:22:42 +08:00
parent 09587ff994
commit 9c04e157d9
1 changed files with 137 additions and 0 deletions

View File

@ -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 APIadmin.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 语法速查卡