改名(对齐 pj0034 的 TOP_ 前缀): - CODING_RULES.md → TOP_CODING_RULES.md,同步 5 处引用 (CLAUDE.md 目录树与启动仪式、PROJECT_STATE.md 三处、DR03、DR04、文件内 G06 自引用) 补齐通用部分 G09–G18(承接 pj0034 同名文件的通用规则,按本项目 Go / Vue3 / SQLite / Ubuntu 技术栈改写): - G09 登录态与接口必须无状态化 - G10 配置化优先,禁止写死环境细节 - G11 素材必须可追溯,不可静默修改 - G12 长耗时任务必须异步化 - G13 先跑通主线,再细化和优化 - G14 Git 不抢戏 — 收工时统一提示一次 - G15 禁止通用名启动入口文件,启动逻辑必须在 start_dev_10231_10232.sh - G16 Windows 侧 .ps1 脚本统一 UTF-8 with BOM - G17 脚本内禁止兼容式依赖回退,必须固定单一工具链 - G18 仓库应尽量支持拷贝后直接运行 不抄的(逐条判断本项目不适用):Python 虚拟环境、Playwright/clickflow E2E、 OSS 多租户、Amazon 平台规范检测;该判断已写进文件头说明。 G04 补第 6–10 条:全绿≠跑通、报告事实而非意图、读清用户的 bug 描述、 修 UI bug 追完整渲染链、跨区移动数据后验另一端完整性。 新增 P06 常见技术陷阱清单(11 条,全部来自本项目真实事故或核过代码的事实): AutoMigrate 只加不删、探测脚本用完即删、worker_run.status 恒为 done、 seed 只补空字段、禁止按进程名模糊匹配杀进程、Element Plus persistent 留隐藏 DOM、动用户数据前先备份再列清单、hash 路由改 hash 不重载、 gofmt 不要整个目录 -w、git remote 禁嵌明文凭据、禁引第三方受限素材。 顺手修三处不一致:P01 索引名过时(培训平台→通用数字员工平台)、 DR03 引用的编号在重组后指向了错规则(第 6 条→G07)、第二部分标题层级。 版号 V1.0 → V1.1。 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/ # 工作区根(仓库根)
├── TOP_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(本目录)—— 项目当前全局状态与已拍板决策 - 读
../TOP_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