Files
pj0235-eai_agentplatform/docs/PRD.md
T
eaiadmin 4e8817d768 init: 数字员工平台初始代码
包含前端(Vue3 + VueFlow 画布)、后端(Go)、文档体系。
- 工作台画布:节点拖放、连线模式、右键菜单、AI 助手
- 后端:连接器 API、专员种子数据
- 导航:左侧导航、工坊、市场、控制台
2026-08-18 20:19:58 +08:00

8.5 KiB
Raw Blame History

eaisalestrain_app 博昇内部培训平台 — 产品需求文档

版本:V1.1 最终版(V1 培训底座基线)| 纯本地化部署 | 极简架构 | 全功能闭环 最后更新:2026-08-15

文档状态:V1 基线,已升级。 本项目已于 2026-08 升级为「数字员工平台」(对外以「专员」为能力单元,分通用数字员工 / 行业专属数字员工),当前产品主轴、分层架构与目标态见 01_System_Overall/SY03 及 SY04–SY17。本文档描述的是已交付的 V1 培训底座(学习/考试/AI 答疑闭环),其中 §7「明确禁止」已随 V1.6 起部分放开,实际以 docs/changelog.md 为准。


1. 项目概述

1.1 项目定位

博昇 纯内网本地化、内部专属员工培训系统。用于新人入职培训、公司认知、产品知识学习、销售能力培训、统一考试验收。配套全局 AI 助教 PathCoach,提供答疑、产品查询、销售情景演练。

1.2 核心设计原则(强制)

  • 100% 本地化部署,不上云、无 OSS、无 MinIO、不依赖公网云服务
  • AI 所用 LLM 必须为内网可访问地址(本地 Ollama / vLLM / 内网统一 LLM 网关),严禁直连公网 AI API
  • 极致极简,杜绝所有冗余功能、统计、学情分析、复杂权限
  • 所有产品数据严格对齐《博昇产品与渠道合作表 V1.0》
  • 所有课件支持:PPT / PDF / Word / MP4 视频 / 图片
  • 所有上传素材必须审批通过才可生效、进入知识库、页面展示
  • 考试区分自测 / 正式考试,正式考试永久留存成绩档案

1.3 技术栈

层级 技术
前端 Vue3 + Vite + Element Plus + 本地 pdf.js(无 CDN)+ 原生 video
后端 Go + Gin + GORM(原 V1.1 为 FastAPI,已于 V1.2 重写)
数据库 MySQL 8.0 + FAISS 向量检索
认证 JWT(golang-jwt)+ bcrypt 密码哈希
PDF 提取 LibreOffice + pdftotext(裸进程)
依赖服务 LibreOffice(PPT/Word → PDF 预览)+ 内网 LLM 服务(OpenAI 兼容接口)

1.4 硬性技术限制

  • 不做视频转码,仅支持 H.264 标准 MP4
  • 不做语音转写(ASR),视频不进 AI 文本知识库
  • 文件白名单:ppt、pptx、pdf、doc、docx、mp4、png、jpg、jpeg
  • 单文件上限:文档 200MB / 视频 2GB
  • 视频 > 100MB 采用分片上传 + 断点续传
  • 数据库只存元数据,不存文件二进制
  • 审批通过后的转换 / 文本提取为后台异步任务

2. 全局布局

全站固定三栏结构:

  • 左边导航菜单(220px,含品牌 + 菜单 + 用户信息)
  • 中间主内容区
  • 右侧常驻 AI PathCoach 聊天框(360px,可收起 / 展开)

导航菜单

普通员工可见: 首页 | 公司介绍培训 | 产品知识 | 产品销售培训 | 考试

管理员额外可见: 知识管理(下拉)| 系统管理(下拉)

完整导航结构

考试 ─┬─ 自测练习
      ├─ 正式结业考试
      ├─ 我的考试记录
      └─ 题库管理【管理员】

知识管理【管理员】─┬─ 课件素材管理
                  └─ 素材审批列表

系统管理【管理员】─┬─ 用户账号管理
                  ├─ 全部考试成绩
                  └─ 系统参数配置

3. 四大核心业务模块

3.1 公司介绍培训(认知层)

内容: 企业简介、双主营业务(资本咨询 / AI 产业落地)、对外统一口径 功能: 纯阅读页面,可绑定 PPT / 视频课件,员工可提交素材建议

3.2 产品知识(静态手册)

四大分类: 资本咨询类 | 资质认定辅导类 | AI 咨询与实施类 | 企业级 AI 工具与平台

产品字段: 编号、名称、标签、业务说明、收费结构、两档佣金比例、公开课超额分成、版本风险、报备规则

页面按钮: 前往对应销售培训课程 | 向 AI 提问(自动注入产品上下文)

管理员维护: 新增 / 编辑 / 停用产品,支持逐条录入与批量导入(Excel / JSON)

3.3 产品销售培训(能力层)

四大课程: 资本产品谈单话术 | 资质辅导销售逻辑 | AI 公开课 / 诊断销售技巧 | AI 平台产品方案匹配

课程内容: 适配客户 & 禁接客户 | 标准话术 | 谈单流程、异议处理 | 交付避坑、报备规范

管理员维护: 编辑课程正文,绑定 / 解绑对应产品

3.4 考试系统

题型: 单选题、多选题、判断题

题库管理(管理员): 录入 / 编辑 / 停用题目,归属知识域(公司介绍 / 产品知识 / 销售培训)

组卷规则: 考试名称、类型(自测/正式)、抽题知识域、题量、总分、合格线、考试时长、是否随机抽题

模式 特点
自测练习 不限次数,即时对错 + 答案,不保存记录
正式结业考试 提交后永久保存档案(得分、正确率、答题明细、是否通过)

4. 知识库课件体系

素材来源

  • 员工提交素材建议(弹窗提交,无独立页面)
  • 管理员直接上传(自动通过)

素材状态

pending(待审批)→ approved(已通过)→ rejected(已驳回)

核心规则

  • 未审批 / 驳回素材前台完全不可见、不解析、不进 AI
  • 审批通过才执行:文档转 PDF + 文本提取入库
  • 视频(MP4)审批通过后仅支持在线预览,不提取文本

转换与提取管线

PPT/Word → LibreOffice 转 PDF → PyMuPDF 提取文本 → 按段落切片写入 knowledge_chunk


5. AI PathCoach

  • 位置: 全局常驻右侧,可收起
  • 自动上下文: 打开产品 / 课程 → 自动带入当前页面全部资料
  • 快捷按钮: 客户情景演练 | 查询佣金/规则 | 产品对比
  • AI 底座: OpenAI 兼容接口(内网 Ollama / vLLM / LLM 网关)
  • 知识检索: MySQL 全文索引(关键词)+ FAISS 向量检索(语义)双路混合召回
  • 能力边界: 仅解答公司、产品、佣金、销售话术、业务规则,禁止闲聊和编造数据

6. 认证与鉴权

  • 认证: JWT 登录签发 access token,密码 bcrypt 哈希存储
  • 鉴权: 后端 API 统一鉴权,普通接口校验 token,管理员接口额外校验 role == admin
  • 账号: 仅管理员可创建 / 禁用账号,禁用账号即时失效

7. 明确禁止开发的功能(V1.1 约束,部分已随平台升级放开)

  • 无学习进度仪表盘、无学情分析、无能力档案 → V1.6 起已实现(积分/排行榜/证书/学习档案/能力雷达)
  • 无向量检索 → 已采用 MySQL + FAISS 混合检索
  • 无复杂权限、无多级角色、无多租户洋葱模型 → 仍保持
  • 无视频转码、无语音转写(ASR)→ 仍保持
  • 无外网依赖、严禁直连公网 AI API → 仍保持
  • 无云存储、无 MinIO → 仍保持
  • 无强制学习任务、无课程解锁限制 → 仍保持

8. 数据表设计(核心字段摘要)

表 关键字段
user id, username, password_hash, full_name, role(employee/admin), status(active/disabled)
product id, code, name, category, tags, description, pricing, commission_recommend, commission_negotiate, public_course_bonus, version_risk, report_rules, status
course id, code, name, category, target_customers, forbidden_customers, scripts, sales_process, objection_handling, delivery_pitfalls, report_rules, related_product_id
media_file id, filename, stored_name, stored_path, file_ext, file_size, status(pending/approved/rejected), source, submitter_id, bind_type, bind_id, extracted
knowledge_chunk id, media_file_id, source_type, source_id, chunk_index, content
question id, domain, course_id, type(single/multiple/judge), stem, options(JSON), answer(JSON), explanation, status
exam_paper id, name, type(self_test/formal), domain, question_count, total_score, pass_score, duration_minutes, randomize
exam_record id, user_id, paper_id, exam_name, score, total_score, pass_score, passed, correct_count, wrong_count, detail_json

9. 部署架构

Nginx(反代 + 前端 Vue 静态打包)
  → FastAPI 后端服务
  → MySQL 数据库
  → LibreOffice 文档转换容器
  → 内网 LLM 服务(Ollama / vLLM / 内网网关)
  → 文件存储:本地磁盘 data/media

完全无外网、无云服务。