{{animKpi.total}}
工单总数
{{animKpi.pending}}
待处理
{{animKpi.processing}}
处理中
{{animKpi.done}}
已完成
{{animKpi.avgHours}}h
平均处置时间
{{S.avg_satisfaction ? S.avg_satisfaction.toFixed(1) : '—'}}
平均评分
{{S.rated_count}}/{{S.total_finished}} 已评价
{{animKpi.synced}}
已沉淀知识
{{syncStats.pending_sync}} 待同步
💾 服务器存储监控
{{storageStats.warning_level==='danger'?'⚠️ 紧急':storageStats.warning_level==='warning'?'⚡ 注意':'✅ 正常'}}{{storageStats.uploads_count}}
截图数量
{{storageStats.uploads_size_mb}} MB
截图占用
{{S.month_created||0}}
本月新增
{{S.month_resolved||0}}
本月完成
{{S.month_created? Math.round((S.month_resolved||0)/(S.month_created)*100) : 0}}%
完成率
📈 {{trendTitle}}
新建 vs 完成🏷️ 类型分布
⚡ 优先级分布
📊 状态分布
🖥️ 系统分布
👤 处理人工单量
⏱️ 处置效率排行
平均处置时长(小时){{i+1}}
{{h.name}}
{{h.avg_hours}}h
{{h.count}}单 · 最快{{h.min_hours}}h · 最慢{{h.max_hours}}h
工单列表
共 {{total}} 条
{{cur.ticket_no}}
{{SM[cur.status]}} {{cur.priority}}优先级 {{cur.source_system}}类型
{{cur.ticket_type}}
提交人
{{cur.user_name||cur.user_id}}
受理
{{cur.assigned_to||'产品运营组'}}
所属系统
{{cur.source_system||'未指定'}}
创建时间
{{cur.created_at}}
处置时长
{{calcDuration(cur)}}
📚 知识库同步
✅
已同步到乐享知识库
同步时间: {{cur.kb_synced_at || '—'}} ·
🔗 在乐享中查看
💬 关联企微群
👥
{{cur.chat_name||'工单协作群'}}
群ID: {{cur.chat_id}}
问题标题
{{cur.title}}
详细描述
{{cur.description}}
环境信息
{{cur.environment}}
⏱️ SLA 状态 进行中 临近超时 已超时 已完结
首响 SLA
{{slaFirstRespText}}
规则 {{curSla.rule?.first_resp_hours || '—'}} 工时 · 截止 {{curSla.first_resp_deadline || '—'}}
解决 SLA
{{slaResolveText}}
规则 {{curSla.rule?.resolve_hours || '—'}} 工时 · 截止 {{curSla.resolve_deadline || '—'}}
解决方案
{{cur.resolution}}
⭐ 用户评价 已评价 等待评价 未评价(已过期)
{{'★'.repeat(cur.satisfaction||0)+'☆'.repeat(5-(cur.satisfaction||0))}}
{{cur.satisfaction}} 分
{{cur.satisfaction_at}}
💬 {{cur.satisfaction_comment}}
(用户未留言)
已于 {{cur.rate_invited_at}} 邀请提交人评价。24 小时未评会自动催一次,48 小时未评标记为已过期不计分。
用户未在 48 小时内评价,已过期(不计入平均评分)。
📎 截图附件 {{ticketImages.length}} 加载中...
🔍 问题截图 {{problemImages.length}}/5
暂无问题截图
handlePasteImage(e,'problem')" @click="e=>e.currentTarget.focus()">
📋 点击此处,再 Cmd+V 粘贴截图✅ 已就绪,现在按 Cmd+V 粘贴
✅ 解决截图 {{resolutionImages.length}}/5
暂无解决截图
handlePasteImage(e,'resolution')" @click="e=>e.currentTarget.focus()">
📋 点击此处,再 Cmd+V 粘贴截图✅ 已就绪,现在按 Cmd+V 粘贴
⚠️ 危险操作
删除工单将清除所有关联数据,已同步的乐享文档将被归档
{{syncStats.total_synced||0}}
已沉淀知识
{{syncStats.pending_sync||0}}
待同步
{{syncStats.total_failed||0}}
同步失败
{{syncStats.recent_7d||0}}
近7天同步
🔗 乐享连接状态
{{syncStatus.lexiang.enabled?'乐享知识库已连接':'乐享知识库未连接'}}
企业: {{syncStatus.lexiang.company}}
{{fname}}
{{fid}}
🔌
乐享同步未启用 — 请在 .env 中配置 LEXIANG_TOKEN 和 LEXIANG_SPACE_ID
📜 同步日志
🖥️ 服务状态
API 服务
{{health.mode==='V4_plugin'?'V4 纯插件模式':'V3+V4 混合模式'}}
{{health.status==='ok'?'运行正常':'离线'}}
知识库引擎
{{health.knowledge_base==='platform'?'企微平台托管 RAG':'本地 TF-IDF/BM25'}}
{{health.knowledge_base==='platform'?'平台托管':'自建'}}
乐享同步
工单知识自动沉淀到乐享知识库
{{health.lexiang_sync==='enabled'?'已连接':'未启用'}}
企微机器人
普通模式 + 知识库 + API 插件(3个工具)
已配置
Venus LLM
🆕 qwen3.6-35b-a3b · AI 月报生成(CVM 内网桥接)
已接入
月报定时任务
🆕 每月 1 号 09:00 自动触发 · 3 次重试 · 失败告警
已启用
通知服务
内网 CVM 轮询 · 飞鸽传书拉群/发消息 · 10s 间隔
运行中
版本号
{{health.version||'--'}}
稳定
🔄 工单闭环数据流向
1
用户在企微群 @机器人 提问
2
企微内置知识库(静态文档)命中 → 直接回答
3
内置未命中 → 调用 search_knowledge 插件搜索乐享知识库
4
乐享命中(向量语义 / 关键词双引擎)→ 直接回答;仍未命中 ↓
5
机器人调用 create_ticket 插件创建工单
6
自动创建企微工单群(按系统拉入对应运营 + 群内 Markdown 通知)
7
用户上传截图 → 自动发送图片到工单群
8
运营人员处理工单 → 状态变更自动同步到群内
9
工单解决 → 自动同步到乐享知识库;关闭后群名添加【已关闭】
10
知识闭环:下次相同问题 → 步骤3命中乐享 → 直接回答
🆕 V11.0 AI 月报数据流
1
⏰ 每月 1 号 09:00 Lighthouse crontab 触发 cron_monthly_report.py,自动算上月 period
2
幂等检查:同 period done/pending 跳过;failed 允许自动重跑;创建 reports 记录 + 入队 notification_queue
3
CVM notify_worker 10s 轮询拉取任务(action=ai_monthly_report)
4
handler 调 GET /notify/report_data 拉当月统计 + 工单列表 + 知识库数据 + 上月对比
5
🧠 Venus LLM(qwen3.6-35b-a3b)生成 13 字段结构化 JSON(约 8~10k tokens / 40~120s)
6
失败自动重试(30s→2min→10min)· 3 次全失败飞鸽告警 isanli
7
POST /notify/report_save/{rid} 回写 reports.json_data + status=done
8
📬 飞鸽推送所有运营人员:报告标题 + 概述 + 管理后台链接 https://isansworkspace.site/#/reports/{rid}
9
运营人员在前端「📝 运营报告」查看图文详情抽屉 · 下载离线 HTML 归档
🔌 API 插件接口 一个插件 · 3 个工具
POST/plugin/create_ticket
创建反馈工单 — 机器人根据用户对话自动提取参数并调用
title: string (必填) — 工单标题
ticket_type: string — 功能故障|体验问题|需求建议|其他
description: string — 详细描述
priority: string — 高|中|低
source_system: string — {{SYSTEMS.join('|')}}
user_id / user_name: string — 提交人信息
POST/plugin/query_tickets
查询工单 — 按工单号或用户 ID 查询工单状态
ticket_no: string — 按工单号精确查询
user_id: string — 按用户查询历史工单
不传参数时返回最近 5 条工单
POST/plugin/search_knowledge
🆕 知识检索 — 向量语义 + 关键词双引擎搜索乐享知识库,V5.1 新增
question: string (必填) — 检索问题
返回:found(Bool) · answer(String)
sources(Array) · message(String)
📜 版本历程
从零到一,记录企微智能反馈工单系统的每一次进化
{{item.title}}
- {{c}}
📝 运营报告
选择要生成报告的月份,AI 将基于当月工单数据生成结构化分析报告。
💡 流程提示:任务入队后由 CVM 轮询拉取,调用 Venus LLM 生成。通常需要 30~60 秒,期间可刷新列表查看状态。
{{curReport.type==='monthly'?'月报':curReport.type}}
{{curReport.period}}
· {{curReport.llm_model}} · {{(curReport.llm_cost_ms/1000).toFixed(1)}}s · {{curReport.llm_tokens?.toLocaleString()}} tokens
{{curReportJson.title || curReport.title || '(无标题)'}}
{{curReportJson.subtitle}}
{{k.label}}
{{k.value}}{{k.unit}}
{{k.trend_text}}
📌 本月概述
{{curReportJson.summary}}
💗 整体健康度
{{curReportJson.health_assessment}}
🔥 热点问题 TOP {{curReportJson.hot_topics.length}}
#{{t.rank}}
{{t.name}}
{{t.severity}}
{{t.count}} 单
· {{s}}
💡 {{t.insight}}
🖥️ 系统画像
{{s.system}}
{{s.count}} 单 · 占比 {{s.share}}%
{{s.evaluation}}
{{i}}
👥 处理人点评
{{h.tone==='praise'?'👍':h.tone==='concern'?'⚠️':'▫️'}}
{{h.name}}
{{h.role}}
{{h.tickets}} 单 · 平均 {{h.avg_hours}}h
{{h.comment}}
⭐ 用户满意度
{{curReportJson.satisfaction.avg?.toFixed(2) || '—'}}
平均分 · {{curReportJson.satisfaction.rated}}/{{curReportJson.satisfaction.total_finished}} 评价率 {{curReportJson.satisfaction.rate}}%
{{curReportJson.satisfaction.comment}}
📚 知识库表现
{{curReportJson.knowledge_base.resolve_rate?.toFixed(1) || '0.0'}}%
解决率 · {{curReportJson.knowledge_base.resolved}}/{{curReportJson.knowledge_base.total_queries}} 查询
{{curReportJson.knowledge_base.comment}}
🚧 关键瓶颈
{{b.title}}
{{b.detail}}
🎯 下月行动项
由 {{curReport.llm_model}} 生成 · 生成于 {{curReport.finished_at || curReport.created_at}} · 触发人 {{curReport.generated_by}}
👥 用户管理
{{auditStats.total||0}}
总日志数
{{auditStats.login_success||0}}
登录成功
{{auditStats.login_failed||0}}
登录失败
{{auditStats.today||0}}
今日操作
👤 最近活跃用户
{{u.username}}
{{u.cnt}}次登录 · {{u.last_at?.slice(5,16)}}
📝 审计日志
共 {{auditTotal}} 条
💗 服务状态
每 30 秒自动刷新
{{s.name}}
{{statusLabel(s.status)}}
{{s.detail}}
💡 状态说明:●正常 运行中;●警告 可能异常;●故障 需立即处理;●未知 无法获取状态。CVM 超过3分钟无心跳会告警,备份服务由 crontab 每小时自动执行。
⏱️ SLA 规则配置
💡 说明:
· 工作小时:周六日和法定节假日不计入工作时长;调休上班日按工作日算。例如低优先级 120 工时 ≈ 5 个自然日(连续 5 天工作日)
· 首响:工单仍处于"待处理"超过首响 SLA 时触发告警
· 解决:工单仍处于"待处理/处理中"超过解决 SLA 时触发告警
· 升级抄送:打开则同时抄送全局管理员(isanli),建议高优先级开启
· 后台 crontab 每 15 分钟扫描一次,同一阶段只告警一次
🖥️ 已配置系统
💡 使用说明:新增系统后,前端筛选、创建工单表单、用户系统分配 checkbox 会自动更新。记得在「用户管理」中为新系统配置负责人,并更新企微机器人的角色设定。
📋 粘贴/点击
支持 Ctrl+V 粘贴 · 解决截图独立 5 张上限 · JPG/PNG/GIF/WebP · 单张≤10MB
📚
确认后,工单解决方案及截图将自动同步到乐享知识库
📦
确认后,乐享知识库中的文档将归档处理
{{uf.password.length>=8?'✓ 长度达标':'✗ 至少8位'}} · {{/[a-zA-Z]/.test(uf.password)?'✓ 含字母':'✗ 需要字母'}} · {{/[0-9]/.test(uf.password)?'✓ 含数字':'✗ 需要数字'}}
为 {{systemsTarget.username}} 配置工单通知拉群的负责系统
💡 配置说明:当对应系统的工单创建时,该用户会被自动拉入企微工单群。全局管理员会被拉入所有工单群。
{{resetPwdForm.password.length>=8?'✓ 长度达标':'✗ 至少8位'}} · {{/[a-zA-Z]/.test(resetPwdForm.password)?'✓ 含字母':'✗ 需要字母'}} · {{/[0-9]/.test(resetPwdForm.password)?'✓ 含数字':'✗ 需要数字'}}
{{changePwdForm.new_password.length>=8?'✓ 长度达标':'✗ 至少8位'}} · {{/[a-zA-Z]/.test(changePwdForm.new_password)?'✓ 含字母':'✗ 需要字母'}} · {{/[0-9]/.test(changePwdForm.new_password)?'✓ 含数字':'✗ 需要数字'}}
✗ 两次密码不一致