Files
pj0235-eai_agentplatform/docs/PRD.md
T
eaiadminandClaude Code 16d63de4e1 chore: 工作台产品化进行中的改动
把工作区里其余在制品一并入库,主要是工作台产品化的推进:

  后端:新增 capability_definition / project / my_app_center / office_skill
        接口与 action_definition / skill_definition / project / user_app_center
        模型,config 加路由健康上报。
  前端:新增 frontend/src/skills(Office 技能与 workbuddy 复刻)、
        项目管理、应用中心、能力目录页,以及配套 api / store / config;
        聊天侧新增 SpecialistChip / SpecialistPanel / SkillStrip / AppChatRail
        等组件。
  清理:移除旧 views/tools 下的单页工具(已并入工作台)、_frozen 冻结组件、
        cmd/inspect_oa_debug 调试入口,以及两份调试笔记。
  其它:文档与启动脚本同步。

(这批改动与上一提交的 SY23 工作并行进行,此前已在同一工作区内交织。)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-17 21:32:35 +08:00

8.5 KiB
Raw Blame History

eai_agentplatform — 产品需求文档

版本:V1.3 | 部署模式:纯本地化 · Go 单二进制 + SQLite · systemd 最后更新:2026-08-16

文档状态: 本文档描述已交付的 V1 培训底座(学习/考试/AI 答疑闭环),产品已升级为「数字员工平台」。当前产品主轴、分层架构与目标态见 01_System_Overall/SY03 及 SY04–SY17。实际以 docs/changelog.md 为准。


1. 项目概述

1.1 项目定位

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

1.2 核心设计原则(强制)

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

1.3 技术栈

层级 技术
前端 Vue3 + Vite + Element Plus + 本地 pdf.js(无 CDN)+ 原生 video
后端 Go + Gin + GORM + SQLite(modernc 纯Go驱动)
数据库 SQLite 单文件 data/eai_agentplatform.db + Go 原生 brute-force 向量检索(余弦)+ 关键词兜底
认证 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 → pdftotext 提取文本 → 按段落切片写入 knowledge_chunk


5. AI PathCoach

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

6. 认证与鉴权

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

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

  • 无学习进度仪表盘、无学情分析、无能力档案 → V1.6 起已实现(积分/排行榜/证书/学习档案/能力雷达)
  • 无复杂权限、无多级角色、无多租户洋葱模型 → 仍保持
  • 无视频转码、无语音转写(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, file_path, file_size, file_type, status(pending/approved/rejected), source, submitter_id, bind_type, bind_id, extract_status
knowledge_chunk id, media_file_id, knowledge_source_id, source_type, source_id, chunk_index, content
question id, domain, course_id, type(single/multiple/judge/essay), 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 静态打包)
  → eai_agentplatform-server(Go 单二进制 :8080)
  → SQLite 单文件 data/eai_agentplatform.db
  → LibreOffice + pdftotext(裸进程)
  → 内网 LLM 服务(Ollama / vLLM / 内网网关)
  → 文件存储:data/kb_data

完全无外网、无云服务、无 Docker、无 MySQL、无 FAISS。