feat: 部署到服务器+移动端适配+帮助系统RAG集成+网页图标
- 部署脚本 deploy.sh:一键部署到 154.8.162.18,端口3400,Nginx conf.d - 应用名改为「企业用工专家」(登录/注册/侧边栏/员工端等6处) - 移动端适配修复:Attendance/Dashboard/Settings/Contracts 6处grid响应式 - 帮助系统:HelpModal 组件 + TopNav 帮助图标 + RAG语义搜索集成 - 后端 rag.service.ts 新增23条帮助种子数据 + searchHelp() - 前端搜索调用 /ai/rag/help-search,RAG不可用时回退关键词匹配 - 网页图标 favicon.svg(indigo主色+建筑人形图案) - index.html 标题改为「企业用工专家」
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { Router } from 'express'
|
||||
import { authMiddleware, AuthRequest } from '../middleware/auth'
|
||||
import { chat, chatStream, reviewContract, matchCase, predictRisks, predictRisksStream, predictStructuredStream } from '../services/ai.service'
|
||||
import { seedKnowledgeBase, addKnowledge, searchKnowledge, ensureRAGTable } from '../services/rag.service'
|
||||
import { seedKnowledgeBase, addKnowledge, searchKnowledge, ensureRAGTable, searchHelp, seedHelpKnowledge } from '../services/rag.service'
|
||||
import prisma from '../lib/prisma'
|
||||
import { z } from 'zod'
|
||||
import { decrypt } from '../lib/crypto'
|
||||
@@ -632,6 +632,30 @@ router.get('/rag/list', authMiddleware, async (req: AuthRequest, res, next) => {
|
||||
}
|
||||
})
|
||||
|
||||
// 帮助文档 RAG 搜索(语义匹配)
|
||||
router.post('/rag/help-search', authMiddleware, async (req: AuthRequest, res, next) => {
|
||||
try {
|
||||
const { query, topK } = req.body
|
||||
if (!query) {
|
||||
return res.status(400).json({ success: false, error: { code: 'BAD_REQUEST', message: '缺少 query' } })
|
||||
}
|
||||
const results = await searchHelp(query, topK || 5)
|
||||
res.json({ success: true, data: { results } })
|
||||
} catch (err) {
|
||||
next(err)
|
||||
}
|
||||
})
|
||||
|
||||
// 帮助文档初始化(注入帮助种子数据到 RAG 知识库)
|
||||
router.post('/rag/help-seed', authMiddleware, async (_req: AuthRequest, res, next) => {
|
||||
try {
|
||||
await seedHelpKnowledge()
|
||||
res.json({ success: true, data: { message: '帮助文档已注入知识库' } })
|
||||
} catch (err) {
|
||||
next(err)
|
||||
}
|
||||
})
|
||||
|
||||
// 删除知识条目
|
||||
router.delete('/rag/:id', authMiddleware, async (req: AuthRequest, res, next) => {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user