包含前端(Vue3 + VueFlow 画布)、后端(Go)、文档体系。 - 工作台画布:节点拖放、连线模式、右键菜单、AI 助手 - 后端:连接器 API、专员种子数据 - 导航:左侧导航、工坊、市场、控制台
4.6 KiB
4.6 KiB
eaisalestrain_app 博昇内部培训平台
纯内网本地化、内部专属员工培训系统。 用于新人入职培训、公司认知、产品知识学习、销售能力培训、统一考试验收。 配套全局 AI 助教 PathCoach,提供答疑、产品查询、销售情景演练。
技术栈
| 层级 | 技术 |
|---|---|
| 前端 | Vue3 + Vite + Element Plus |
| 后端 | Go + Gin + GORM + SQLite(modernc 纯Go驱动,留 MySQL 兼容) |
| 认证 | JWT(golang-jwt)+ bcrypt |
| 文档转换 | LibreOffice + pdftotext(裸进程) |
| AI 底座 | 内网 OpenAI 兼容接口(Ollama:LLM + bge-m3 embedding) |
| 部署 | 裸进程 + systemd + Clonezilla 整盘克隆,单二进制交付 |
目录结构
pj0231-eaisalestraining/ # 工作区根(仓库根)
├── CODING_RULES.md # 编码与调试最高准则
├── start_dev_10231_10232.sh # 开发启动脚本
├── docs/ # 设计文档(项目级,与代码分离)
│ ├── 00_AI_Context/ # AI 协作上下文
│ ├── 01_System_Overall/ # 系统总览(SY 前缀)
│ ├── 02_Architecture/ # 架构设计(AR 前缀)
│ ├── 04_Backend/ # 后端设计与 API(BE 前缀)
│ ├── 06_Product_Lines/ # 产品线与前端设计(PL 前缀)
│ ├── 08_Design_Rules/ # UI/UX 设计规范(DR 前缀)
│ ├── PRD.md # 产品需求文档(V1.1)
│ ├── db_schema.md # 数据库 Schema
│ ├── api.md # API 文档
│ ├── deploy.md # 部署文档
│ ├── changelog.md # 变更日志
│ ├── eaisalestrain_app设计稿.md # 完整 PRD 中文原稿
│ └── 博昇产品与渠道合作表.md # 知识源权威数据
└── eaisalestrain_app/ # 应用代码
├── backend-go/ # Go 后端(正式,唯一后端)
│ ├── cmd/ internal/ # Go 源码
│ ├── knowledge_source/ # 知识源 Markdown(运行时数据)
│ ├── data/ # 运行时数据(db+media,git 忽略)
│ └── deploy/ # 交付物(systemd/env/清理脚本/DELIVERY.md)
├── frontend/ # 前端完整代码
├── CLAUDE.md # AI 协作锚点
├── PROJECT_STATE.md # 项目全局状态
└── .gitignore
新对话启动仪式(强制)
你是一个新对话,没有任何历史记忆。响应用户的任何请求之前,按顺序执行:
- 确认你的角色:后端(backend)/ 前端(frontend)/ 全栈
- 读
PROJECT_STATE.md(本目录)—— 项目当前全局状态与已拍板决策 - 读
../CODING_RULES.md(工作区根)—— 编码与调试最高准则
完成以上步骤,才开始响应用户。
核心业务模块
| 模块 | 说明 |
|---|---|
| 公司介绍培训 | 纯阅读页面,可绑定 PPT/视频课件 |
| 产品知识 | 四大产品分类,固定字段(编号/佣金/规则等) |
| 产品销售培训 | 四大课程,话术/流程/异议处理 |
| 考试系统 | 自测(不限次/即时反馈)+ 正式考(永久存档) |
| AI PathCoach | 右侧常驻面板,自动上下文,3 个快捷按钮 |
| 知识管理【管理员】 | 素材审批,课件 CRUD,绑定课程/产品 |
| 系统管理【管理员】 | 用户管理,成绩查询,系统参数配置 |
| 内容管理【管理员】 | 产品/课程/题库的录入编辑 |
设计原则(强制执行)
- 100% 本地化部署:不上云、无 OSS、无 MinIO、不依赖公网云服务
- 极致极简:杜绝所有冗余功能、统计、学情分析、复杂权限
- 审批前置:所有上传素材必须审批通过才可生效、进入知识库、页面展示
- 视频仅预览:MP4 不做转码、不做 ASR、不进 AI 知识库
- 混合检索:AI 知识检索 = 向量(brute-force 余弦)+ 关键词兜底,数据量小无需 ANN 向量库
AI 配置
- LLM 适配器:Go net/http 实现(无 openai SDK 依赖),支持 SSE 流式 + 非流式调用
- 配置优先级:system_config 数据库表 → .env 文件,缺任何配置 Fail Fast 抛 501
- 知识检索:混合检索(向量 brute-force + 关键词),embedding 走 Ollama bge-m3