把工作区里其余在制品一并入库,主要是工作台产品化的推进:
后端:新增 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>
4.9 KiB
4.9 KiB
eai_agentplatform EAI 数字员工平台(AI Agent Platform)
纯内网本地化的企业 AI 数字员工平台。 围绕数字员工(专员)、知识库底座、自动化工坊、考试评估与系统管理组织业务能力。 配套全局 AI 助手,提供答疑、知识查询、任务拆解与业务工具。
技术栈
| 层级 | 技术 |
|---|---|
| 前端 | Vue3 + Vite + Element Plus |
| 后端 | Go + Gin + GORM + SQLite(modernc 纯Go驱动) |
| 认证 | JWT(golang-jwt)+ bcrypt |
| 文档转换 | LibreOffice + pdftotext(裸进程) |
| AI 底座 | 内网 OpenAI 兼容接口(Ollama:LLM + bge-m3 embedding) |
| 部署 | 裸进程 + systemd + Clonezilla 整盘克隆,单二进制交付 |
目录结构
pj0235-eai_agentplatform-ubu/ # 工作区根(仓库根)
├── 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 # 知识源权威数据
└── eai_agentplatform/ # 应用代码
├── 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、不依赖公网云服务
- 功能克制:功能以业务价值为准、杜绝为加而加的冗余功能;权限保持精简(employee/admin 两级)
- 学情/成长为已决策边界(D18/D19):学员自助视角的学习档案/能力雷达、积分/排行榜、证书、部门学情统计均已拍板纳入;全站拒绝「社交社区/讨论区」类功能(D19)
- 审批前置:所有上传素材必须审批通过才可生效、进入知识库、页面展示
- 视频仅预览: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