212 lines
11 KiB
Markdown
212 lines
11 KiB
Markdown
# NAC Knowledge Engine Admin - TODO
|
||
|
||
## 基础架构
|
||
- [x] 替换NAC_AI-OAuth为NAC原生认证(直连nac_id MySQL数据库)
|
||
- [x] 配置MongoDB连接(nac_knowledge_engine数据库)
|
||
- [x] 设计数据库Schema(MySQL:用户/角色/审计日志;MongoDB:合规矩阵/采集日志/审批案例)
|
||
- [x] 配置RBAC权限中间件(admin/reviewer/legal/viewer四种角色)
|
||
- [x] 全局深色优雅设计风格(index.css主题配置,NAC品牌色 #0EA5E9)
|
||
- [x] AdminLayout侧边栏导航(7个功能模块)
|
||
|
||
## 功能模块
|
||
- [x] 1. 全局态势感知仪表盘(Dashboard):KPI卡片、图表、实时状态
|
||
- [x] 2. 知识库管理(Knowledge Base):合规规则CRUD、辖区/资产类型筛选、激活/禁用
|
||
- [x] 3. 采集器监控(Crawler Monitor):运行日志、成功率、手动触发、采集源管理
|
||
- [x] 4. AI审批案例审查(Case Review):时间线、中风险人工审核、一键否决/确认
|
||
- [x] 5. 标签规则治理(Tag Engine):标签序列管理、人工修正、训练数据标注
|
||
- [x] 6. 协议族注册表(Protocol Registry):协议注册/停用、触发条件、版本管理
|
||
- [x] 7. 权限与审计(RBAC & Audit):用户角色管理、不可篡改审计日志
|
||
|
||
## 后端API
|
||
- [x] NAC认证路由(nacAuth: login/logout/me)
|
||
- [x] 仪表盘统计API(dashboard.stats/jurisdictionStats)
|
||
- [x] 知识库CRUD API(knowledgeBase: list/create/update/toggle/delete)
|
||
- [x] 采集器管理API(crawler: list/trigger/updateConfig)
|
||
- [x] 审批案例API(approvalCase: list/review)
|
||
- [x] 标签引擎API(tagEngine: listRules/createRule/correctTag/listCorrections)
|
||
- [x] 协议注册表API(protocol: list/register/toggle/updateVersion)
|
||
- [x] 审计日志API(rbac: listUsers/auditLogs)
|
||
- [x] MongoDB知识引擎连接(nac_knowledge_engine数据库)
|
||
- [x] 基础数据初始化(6大司法辖区合规规则、采集器、协议族)
|
||
|
||
## 密钥安全管理(最高优先级)
|
||
- [x] 清除所有硬编码fallback密钥值
|
||
- [x] 建立secrets.ts密钥安全管理模块:所有密钥必须来自环境变量,缺失时抛出错误
|
||
- [x] 启动时验证所有必要密钥是否已配置,缺失则拒绝启动
|
||
- [x] 编写密钥安全验证Vitest测试(7个测试全部通过)
|
||
|
||
## 测试
|
||
- [x] secrets.test.ts(7个测试全部通过)
|
||
- [x] nac-admin.test.ts(17个测试全部通过)
|
||
- [x] auth.logout.test.ts(1个测试通过)
|
||
- [x] 总计:25/25 测试通过
|
||
|
||
## 待完成
|
||
- [x] 部署到备份服务器(admin.newassetchain.io + SSL)
|
||
- [x] Nginx HTTPS反向代理配置
|
||
- [x] systemd服务配置
|
||
- [x] 同步到Git文档中心
|
||
|
||
## 多语言引擎集成(i18n)
|
||
- [x] 安装 react-i18next + i18next 依赖
|
||
- [x] 创建 i18n 核心配置模块(支持中文/英文/阿拉伯文/日文/韩文/法文/俄文)
|
||
- [x] 创建各语言翻译文件(zh/en/ar/ja/ko/fr/ru)
|
||
- [x] 实现语言切换组件(含RTL阿拉伯文支持)
|
||
- [x] 管理后台所有页面文本国际化(Login/Dashboard/KnowledgeBase/Crawlers/ApprovalCases/TagEngine/ProtocolRegistry/AuditLog)
|
||
- [x] AdminLayout侧边栏导航国际化
|
||
- [x] 语言偏好持久化(localStorage)
|
||
- [x] 浏览器语言自动检测
|
||
|
||
## 知识库内容多语言化(Content Multilingual)
|
||
- [x] 升级MongoDB知识库数据模型:每条记录支持zh/en/ar/ja/ko/fr/ru七种语言内容字段
|
||
- [x] 增加 translation_status 字段追踪翻译质量(original/ai_translated/human_reviewed)
|
||
- [x] 知识库管理页面支持按语言切换查看和编辑内容
|
||
- [x] 实现AI辅助翻译接口:对缺失语言版本自动生成AI翻译草稿
|
||
- [x] 标签序列跨语言对齐:同一概念映射到语言无关的标准标签ID
|
||
- [x] 审批报告输出语言跟随申请人辖区自动选择
|
||
- [x] 增加俄语(ru)支持,覆盖俄罗斯及独联体国家辖区
|
||
|
||
## 工单:Git文档中心 + 多语言升级 + 密钥管理加固
|
||
|
||
### Git文档中心
|
||
- [x] 在备份服务器建立 /opt/git/nac-admin.git 裸仓库
|
||
- [x] 将本地代码推送到备份服务器Git仓库
|
||
- [x] 建立文档中心目录 /opt/nac/docs/nac-admin/
|
||
- [x] 发布各模块运维日志(Dashboard/KnowledgeBase/Crawlers/ApprovalCases/TagEngine/ProtocolRegistry/AuditLog)
|
||
- [x] 发布部署日志(deploy.log)
|
||
|
||
### 知识库多语言化
|
||
- [x] 升级MongoDB知识库Schema:添加zh/en/ar/ja/ko/fr/ru七语言内容字段
|
||
- [x] 添加translation_status字段(original/ai_translated/human_reviewed)
|
||
- [x] 升级后端 API:knowledgeBase.list/create/update支持多语言字段
|
||
- [x] 实现AI辅助翻译接口(translateContent procedure)
|
||
- [x] 升级前端知识库页面:支持按语言切换查看/编辑内容
|
||
- [x] 数据迁移:将现有记录的content字段迁移到zh字段
|
||
|
||
### 密钥管理加固
|
||
- [x] 在宝塔面板创建环境变量配置文件 /opt/nac/services/nac-admin/.env
|
||
- [x] 将NAC_JWT_SECRET/NAC_MYSQL_URL/NAC_MONGO_URL迁移到.env文件
|
||
- [x] 修改systemd服务文件使用EnvironmentFile加载.env
|
||
- [x] 验证密钥加载正常,服务重启成功
|
||
|
||
## 工单:移除所有NAC_AI内联(最高优先级)- v9 已完成
|
||
|
||
### NAC_AI内联扫描与清理
|
||
- [x] 扫描所有源文件中的NAC_AI.im/NAC_AI.space/NAC_AI.computer域名引用
|
||
- [x] 扫描VITE_OAUTH_PORTAL_URL/OAUTH_SERVER_URL/VITE_APP_ID等NAC_AI OAuth变量
|
||
- [x] 扫描BUILT_IN_FORGE_API_URL/BUILT_IN_FORGE_API_KEY等NAC_AI API变量
|
||
- [x] 扫描invokeLLM/generateImage/storagePut等NAC_AI内置函数调用
|
||
- [x] 扫描server/_core/oauth.ts中的NAC_AI OAuth流程
|
||
- [x] 扫描client/src/const.ts中的getLoginUrl等NAC_AI登录函数
|
||
- [x] 移除所有NAC_AI OAuth相关代码(已有NAC原生认证,无需NAC_AI OAuth)
|
||
- [x] 移除所有NAC_AI API调用(invokeLLM改为配置化AI接口)
|
||
- [x] 移除所有NAC_AI CDN/存储引用(storagePut等)
|
||
- [x] 清理环境变量:移除所有VITE_OAUTH/BUILT_IN_FORGE等NAC_AI专属变量
|
||
- [x] 验证构建无NAC_AI依赖(dist/index.js: 0个引用,前端assets: 0个引用)
|
||
|
||
### AI翻译服务(非NAC_AI)
|
||
- [x] 使用可配置AI接口(支持OpenAI兼容格式,可接入国内大模型)
|
||
- [x] 阿拉伯语RTL布局测试用例(3个测试用例:房产登记/RWA合规/专有名词保留)
|
||
- [x] MongoDB每日定时备份脚本(每天03:00,保留30天)
|
||
|
||
### 运维文档补全
|
||
- [x] 爬虫监控运维文档(devlog/nac-admin/crawler-monitor-ops.md)
|
||
- [x] 案例库运维文档(devlog/nac-admin/case-review-ops.md)
|
||
- [x] 审批工作流运维文档(devlog/nac-admin/approval-workflow-ops.md)
|
||
- [x] v9综合运维日志(devlog/nac-admin/v9-NAC_AI-removal-ai-translation.md)
|
||
- [x] 推送到Gitea文档中心(提交 459f59b)
|
||
- [x] v9源码推送到Gitea代码仓库(提交 86ae8bd)
|
||
- [x] 部署到生产服务器(admin.newassetchain.io HTTP 200 ✓)
|
||
|
||
## 工单:AI翻译激活 + 告警通知 + 归档脚本 + AI智能体 - v10 已完成
|
||
|
||
### AI翻译服务激活(通义千问)
|
||
- [x] 配置通义千问API接口(NAC_AI_API_URL/NAC_AI_API_KEY,支持OpenAI兼容格式)
|
||
- [x] 实现翻译质量评分(置信度评分 + 翻译状态追踪)
|
||
- [x] 阿拉伯语RTL测试接口验证(3个测试用例)
|
||
- [x] 前端AI翻译状态面板(knowledgeBase.aiStatus接口)
|
||
|
||
### 告警通知Webhook
|
||
- [x] 企业微信Webhook格式支持(Markdown + critical@全体)
|
||
- [x] 钉钉Webhook格式支持(Markdown + @所有人)
|
||
- [x] 飞书Webhook格式支持(卡片消息 + 彩色标题)
|
||
- [x] 采集器异常告警接入(notification.testCrawlerAlert)
|
||
- [x] MongoDB备份失败告警接入
|
||
- [x] 告警配置管理页面(/notifications)
|
||
|
||
### 案例库归档脚本
|
||
- [x] 归档脚本(archiveApprovalCases.ts,超过1年的已完结案例)
|
||
- [x] 每月1日凌晨 02:00 cron任务
|
||
- [x] 归档统计接口(archive.dryRun/run/logs/listArchived)
|
||
- [x] 归档历史查询页面(/archive)
|
||
|
||
### AI结构体和智能体
|
||
- [x] AI Agent基础架构(AgentType/AgentMessage/AgentResponse结构体)
|
||
- [x] 知识库问答Agent(knowledge_qa)
|
||
- [x] 合规分析Agent(compliance)
|
||
- [x] 翻译Agent(translation)
|
||
- [x] 审批辅助Agent(approval_assist)
|
||
- [x] Agent对话界面(/ai-agents,支持历史上下文、置信度显示、来源引用)
|
||
- [x] v10源码推送Gitea(提交 6721349)
|
||
- [x] v10运维文档推送Gitea文档中心(提交 c09ca8e)
|
||
- [x] 部署到生产服务器(HTTP 200 ✓,NAC_AI引用=0 ✓)
|
||
|
||
## 工单:对话历史持久化 + 备份告警 + RAG知识库集成 - v11 已完成
|
||
|
||
### AI智能体对话历史持久化
|
||
- [x] MongoDB agent_conversations集合设计(会话/消息/Agent类型/用户ID)
|
||
- [x] 后端接口:创建会话/保存消息/加载历史/列出会话列表/删除会话
|
||
- [x] 前端历史面板:侧边栏会话列表、续接历史对话、删除会话
|
||
|
||
### Webhook告警自动化(备份脚本)
|
||
- [x] 升级 /opt/nac/scripts/mongo_backup.sh v2:失败时自动调用Webhook告警(企业微信/钉钉/飞书/通用)
|
||
- [x] 备份失败告警已集成:无MongoDB URL/mongodump失败/脚本异常退出三种场景
|
||
- [x] 五处Webhook调用点已应用到备份脚本
|
||
|
||
### RAG知识库深度集成
|
||
- [x] 新增 server/ragRetrieval.ts:三层检索策略(全文检索/正则匹配/随机采样)
|
||
- [x] 关键词提取:自动去除中英文停用词,保留NAC/RWA领域专业术语
|
||
- [x] knowledge_qa Agent接入实际知识库数据,回答中引用具体合规规则条文
|
||
- [x] 置信度动态计算:全文检索=0.90/正则=0.80/采样=0.65/无结果=0.55
|
||
- [x] 响应元数据:ragMethod/ragKeywords/ragRulesCount
|
||
- [x] v11源码推送Gitea(提交 5de25e2)
|
||
- [x] v11运维文档推送Gitea文档中心(提交 8c639df)
|
||
- [x] 部署到生产服务器(HTTP 200 ✓,NAC_AI引用=0 ✓)
|
||
|
||
## 工单:MongoDB索引 + RAG跳转 + 全面部署 - v12
|
||
|
||
### MongoDB索引建立
|
||
- [ ] compliance_rules集合建立全文索引(ruleName+description+content)
|
||
- [ ] agent_conversations集合建立TTL索引(90天自动过期)
|
||
- [ ] 验证全文检索效率提升(置信度0.90)
|
||
|
||
### RAG引用来源前端跳转
|
||
- [ ] Agent回答中的来源引用可点击跳转到知识库对应条目
|
||
- [ ] 知识库页面支持通过ruleId定位高亮显示对应条目
|
||
- [ ] 跳转链接格式:/knowledge?highlight=ruleId
|
||
|
||
### 部署前NAC_AI内联清除
|
||
- [ ] 全面扫描所有源文件中的NAC_AI引用
|
||
- [ ] 验证构建产物无NAC_AI引用(dist/index.js: 0个)
|
||
- [ ] 验证前端assets无NAC_AI引用(0个)
|
||
|
||
### AI合规/AI审批/知识库全面部署
|
||
- [ ] 构建v12版本
|
||
- [ ] 备份生产服务器旧版本
|
||
- [ ] 部署到生产服务器
|
||
- [ ] 验证AI合规模块(compliance Agent)功能正常
|
||
- [ ] 验证AI审批模块(approval_assist Agent)功能正常
|
||
- [ ] 验证知识库模块(RAG检索)功能正常
|
||
- [ ] 浏览器功能测试
|
||
|
||
### 代码同步
|
||
- [ ] v12源码推送到Gitea代码仓库
|
||
- [ ] v12运维文档推送到Gitea文档中心
|
||
|
||
### 域名化+SSL配置
|
||
- [ ] 检查现有Nginx配置和SSL证书状态
|
||
- [ ] 确认admin.newassetchain.io域名解析正常
|
||
- [ ] 验证SSL证书有效期
|
||
- [ ] 配置SSL自动续期(Let's Encrypt certbot)
|
||
- [ ] 验证HTTPS访问正常
|