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