feat(admin): Complete Phase 3.5.1-3.5.4 Prompt Management System (83%)
Summary: - Implement Prompt management infrastructure and core services - Build admin portal frontend with light theme - Integrate CodeMirror 6 editor for non-technical users Phase 3.5.1: Infrastructure Setup - Create capability_schema for Prompt storage - Add prompt_templates and prompt_versions tables - Add prompt:view/edit/debug/publish permissions - Migrate RVW prompts to database (RVW_EDITORIAL, RVW_METHODOLOGY) Phase 3.5.2: PromptService Core - Implement gray preview logic (DRAFT for debuggers, ACTIVE for users) - Module-level debug control (setDebugMode) - Handlebars template rendering - Variable extraction and validation (extractVariables, validateVariables) - Three-level disaster recovery (database -> cache -> hardcoded fallback) Phase 3.5.3: Management API - 8 RESTful endpoints (/api/admin/prompts/*) - Permission control (PROMPT_ENGINEER can edit, SUPER_ADMIN can publish) Phase 3.5.4: Frontend Management UI - Build admin portal architecture (AdminLayout, OrgLayout) - Add route system (/admin/*, /org/*) - Implement PromptListPage (filter, search, debug switch) - Implement PromptEditor (CodeMirror 6 simplified for clinical users) - Implement PromptEditorPage (edit, save, publish, test, version history) Technical Details: - Backend: 6 files, ~2044 lines (prompt.service.ts 596 lines) - Frontend: 9 files, ~1735 lines (PromptEditorPage.tsx 399 lines) - CodeMirror 6: Line numbers, auto-wrap, variable highlight, search, undo/redo - Chinese-friendly: 15px font, 1.8 line-height, system fonts Next Step: Phase 3.5.5 - Integrate RVW module with PromptService Tested: Backend API tests passed (8/8), Frontend pending user testing Status: Ready for Phase 3.5.5 RVW integration
This commit is contained in:
@@ -1,43 +1,49 @@
|
||||
# ADMIN - 运营管理端
|
||||
|
||||
> **模块代号:** ADMIN (Administration)
|
||||
> **开发状态:** ⏳ 规划中
|
||||
> **商业价值:** ⭐⭐⭐⭐⭐ SaaS运营基础
|
||||
> **独立性:** ⭐⭐⭐⭐⭐
|
||||
> **优先级:** P1
|
||||
> **模块代码:** ADMIN
|
||||
> **模块名称:** 运营管理端(Operations Management Portal)
|
||||
> **优先级:** P0(核心基础设施)
|
||||
> **开发状态:** 🟡 架构设计中
|
||||
> **负责人:** [待定]
|
||||
|
||||
---
|
||||
|
||||
## 📋 模块概述
|
||||
|
||||
运营管理端横跨所有层次,是SaaS商业模式的技术基础。
|
||||
运营管理端是AI临床研究平台的**核心管理后台**,为公司内部运营人员提供全方位的系统管理和运维能力。
|
||||
|
||||
**核心价值:** 实现多版本管理、成本控制、功能开关
|
||||
### 核心价值
|
||||
|
||||
1. **SaaS多租户管理**:统一管理所有医院/药企客户
|
||||
2. **AI成本控制**:精细化配额管理,控制Token消耗
|
||||
3. **Prompt工程化**:生产环境灰度预览,专业人员调试AI效果
|
||||
4. **系统运维**:用户管理、权限配置、审计日志
|
||||
|
||||
---
|
||||
|
||||
## 🎯 核心功能(15个模块)
|
||||
## 🎯 核心功能模块
|
||||
|
||||
### P0(必须,阶段一)
|
||||
1. **用户管理** - 用户列表、详情、激活/禁用
|
||||
2. **Feature Flag管理** ⭐ - 版本功能控制(专业版/高级版/旗舰版)
|
||||
3. **LLM模型管理** ⭐ - 模型配置、成本配置、版本绑定
|
||||
4. **系统配置管理** - 全局配置、动态配置
|
||||
### 1. 租户管理
|
||||
- 租户创建/编辑/停用
|
||||
- 品牌定制(Logo、背景图、主题色)
|
||||
- 模块订阅管理(ASL/DC/IIT等)
|
||||
- 配额分配与监控
|
||||
|
||||
### P1(重要,阶段二)
|
||||
5. **智能体提示词管理** - Prompt模板管理
|
||||
6. **监控与日志** - 操作日志、错误监控
|
||||
7. **数据统计与报表** - 用户统计、使用统计
|
||||
8. **成本分析与计费** - LLM成本统计、计费管理
|
||||
### 2. Prompt管理系统 ⭐
|
||||
- **生产环境灰度预览**
|
||||
- 调试者角色(PROMPT_ENGINEER)
|
||||
- DRAFT/ACTIVE版本隔离
|
||||
- 多业务模块Prompt配置(ASL/DC/IIT/PKB/AIA/RVW)
|
||||
|
||||
### P2(有用,阶段三)
|
||||
9. **租户管理** - 私有化部署的租户管理
|
||||
10. **公告与通知管理**
|
||||
11. **帮助文档管理**
|
||||
12. **反馈与工单管理**
|
||||
13. **系统健康检查**
|
||||
14. **数据库备份与恢复**
|
||||
15. **运营数据分析**
|
||||
### 3. 用户与权限管理
|
||||
- 用户CRUD
|
||||
- 角色分配(SUPER_ADMIN/PROMPT_ENGINEER/等)
|
||||
- 权限配置
|
||||
|
||||
### 4. 系统监控与审计
|
||||
- 操作日志审计
|
||||
- Token消耗统计
|
||||
- 系统健康监控
|
||||
|
||||
---
|
||||
|
||||
@@ -45,69 +51,164 @@
|
||||
|
||||
```
|
||||
ADMIN-运营管理端/
|
||||
├── [AI对接] ADMIN快速上下文.md # ⏳ 待创建
|
||||
├── 00-项目概述/
|
||||
│ ├── 01-产品需求文档(PRD).md # ⏳ 待创建
|
||||
│ ├── 02-功能清单(15个模块).md # ⏳ 待创建
|
||||
│ └── 03-权限体系设计.md # ⏳ 待创建
|
||||
├── 01-设计文档/
|
||||
│ ├── 01-技术架构设计.md # ⏳ 待创建
|
||||
│ ├── 02-数据库设计.md # ⏳ 待创建
|
||||
│ └── 05-权限体系实现.md # ⏳ 待创建
|
||||
└── README.md # ✅ 当前文档
|
||||
├── README.md # 本文件
|
||||
├── 00-模块当前状态与开发指南.md # 快速上手指南
|
||||
│
|
||||
├── 00-系统设计/ # 系统架构设计
|
||||
│ ├── 00-权限与角色体系梳理报告_v1.0.md
|
||||
│ └── 02-通用能力层_10-权限体系梳理反馈与修正建议.md
|
||||
│
|
||||
├── 01-需求分析/ # PRD文档
|
||||
│ └── 02-通用能力层_07-运营与机构管理端PRD_v2.1.md
|
||||
│
|
||||
├── 02-技术设计/ # 技术设计文档
|
||||
│ ├── 02-通用能力层_03-Prompt管理系统与灰度预览设计方案.md
|
||||
│ ├── 03-Prompt管理系统快速参考.md
|
||||
│ └── Prompt管理后台设计.md
|
||||
│
|
||||
├── 03-UI设计/ # 原型与UI设计
|
||||
│
|
||||
├── 04-开发计划/ # 开发计划与任务分解
|
||||
│
|
||||
├── 05-测试文档/ # 测试用例与测试数据
|
||||
│
|
||||
├── 06-开发记录/ # 每日开发总结
|
||||
│
|
||||
└── 07-技术债务/ # 技术债务清单
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ 技术选型
|
||||
## 🔐 角色与权限设计
|
||||
|
||||
- **前端:** React + Ant Design Pro
|
||||
- **后端:** Node.js + Fastify
|
||||
- **数据库:** PostgreSQL (admin_schema)
|
||||
### 核心角色
|
||||
|
||||
| 角色 | 角色Code | 权限范围 | 说明 |
|
||||
|------|---------|---------|------|
|
||||
| **超级管理员** | SUPER_ADMIN | 所有权限 | 公司内部运营人员 |
|
||||
| **Prompt工程师** | PROMPT_ENGINEER | prompt:* | 调试AI Prompt的专业人员 |
|
||||
| 医院管理员 | HOSPITAL_ADMIN | 租户级管理 | 仅管理自己的医院租户 |
|
||||
| 药企管理员 | PHARMA_ADMIN | 租户级管理 | 仅管理自己的药企租户 |
|
||||
| 普通用户 | USER | 基础功能 | 业务模块使用者 |
|
||||
|
||||
### Prompt管理专属权限
|
||||
|
||||
| 权限 | 说明 |
|
||||
|------|------|
|
||||
| `prompt:view` | 查看Prompt列表和历史版本 |
|
||||
| `prompt:edit` | 创建/修改DRAFT版本 |
|
||||
| `prompt:debug` | ⭐ 开启调试模式(生产环境灰度预览) |
|
||||
| `prompt:publish` | 发布DRAFT→ACTIVE |
|
||||
|
||||
---
|
||||
|
||||
## 🚀 实施阶段
|
||||
## 🗄️ 数据库Schema
|
||||
|
||||
- **阶段一(1-2个月):** P0功能
|
||||
- **阶段二(1-2个月):** P1功能
|
||||
- **阶段三(1-2个月):** P2功能
|
||||
### 核心表(platform_schema)
|
||||
|
||||
- `tenants` - 租户表
|
||||
- `tenant_members` - 租户成员关系
|
||||
- `tenant_modules` - 租户订阅的模块
|
||||
- `tenant_quotas` - 租户配额
|
||||
- `tenant_quota_allocations` - 配额分配(科室/个人)
|
||||
- `departments` - 科室表
|
||||
- `permissions` - 权限表
|
||||
- `role_permissions` - 角色权限关联
|
||||
|
||||
### Prompt管理表(capability_schema)
|
||||
|
||||
- `prompt_templates` - Prompt模板
|
||||
- `prompt_versions` - Prompt版本(DRAFT/ACTIVE/ARCHIVED)
|
||||
|
||||
### 审计日志表(admin_schema)
|
||||
|
||||
- `admin_operation_logs` - 运营操作日志
|
||||
|
||||
---
|
||||
|
||||
## 🌐 部署方式
|
||||
## 🚀 技术栈
|
||||
|
||||
- **独立域名:** `https://admin.yizhengxun.com`
|
||||
- **独立前端应用**
|
||||
- **独立后端API**
|
||||
### 后端
|
||||
- **框架:** Fastify + Prisma
|
||||
- **数据库:** PostgreSQL 14+(支持LISTEN/NOTIFY)
|
||||
- **认证:** JWT (jsonwebtoken)
|
||||
- **密码:** bcryptjs
|
||||
|
||||
### 前端
|
||||
- **框架:** React 19 + TypeScript
|
||||
- **UI库:** Ant Design 6.0
|
||||
- **状态管理:** React Context + Hooks
|
||||
- **路由:** React Router v6
|
||||
|
||||
---
|
||||
|
||||
**最后更新:** 2025-11-06
|
||||
**维护人:** 技术架构师
|
||||
|
||||
|
||||
|
||||
|
||||
## 📅 开发路线图
|
||||
|
||||
### Phase 0: 数据迁移 + 基础设施(3天)
|
||||
- [ ] 统一User表(public.users → platform_schema.users)
|
||||
- [ ] 创建所有新表
|
||||
- [ ] 超级管理员种子数据
|
||||
- [ ] Prompt表和权限配置
|
||||
|
||||
### Phase 1-2: 认证系统(2天)
|
||||
- [ ] JWT认证
|
||||
- [ ] 登录/登出API
|
||||
- [ ] 认证中间件
|
||||
|
||||
### Phase 3-4: 运营管理端MVP(5天)
|
||||
- [ ] 租户管理(CRUD + 品牌配置)
|
||||
- [ ] **Prompt管理系统**
|
||||
- [ ] 列表/编辑器/版本历史
|
||||
- [ ] 全局调试开关
|
||||
- [ ] 草稿保存/发布
|
||||
|
||||
### Phase 5-6: 完善功能(3天)
|
||||
- [ ] 用户管理
|
||||
- [ ] 权限配置
|
||||
- [ ] 审计日志查询
|
||||
- [ ] 配额管理
|
||||
|
||||
---
|
||||
|
||||
## 🔗 相关模块
|
||||
|
||||
- **机构管理端(INST)**:医院端/药企端自服务管理界面
|
||||
- **平台基础层(Platform)**:认证、权限、存储等基础服务
|
||||
- **通用能力层(Capability)**:Prompt管理、LLM Gateway等
|
||||
|
||||
---
|
||||
|
||||
## 📚 快速开始
|
||||
|
||||
1. **阅读架构设计**
|
||||
→ `00-系统设计/00-权限与角色体系梳理报告_v1.0.md`
|
||||
|
||||
2. **了解需求**
|
||||
→ `01-需求分析/02-通用能力层_07-运营与机构管理端PRD_v2.1.md`
|
||||
|
||||
3. **Prompt管理(核心功能)**
|
||||
→ `02-技术设计/03-Prompt管理系统快速参考.md`
|
||||
|
||||
4. **查看开发状态**
|
||||
→ `00-模块当前状态与开发指南.md`
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
1. **安全第一**:运营管理端拥有最高权限,必须严格控制访问
|
||||
2. **审计日志**:所有操作必须记录,支持追溯
|
||||
3. **多租户隔离**:确保租户数据完全隔离
|
||||
4. **Prompt管理**:生产环境调试模式必须有权限控制
|
||||
|
||||
---
|
||||
|
||||
## 📞 联系方式
|
||||
|
||||
- **技术负责人:** [待定]
|
||||
- **产品负责人:** [待定]
|
||||
|
||||
---
|
||||
|
||||
*最后更新:2026-01-11*
|
||||
|
||||
|
||||
Reference in New Issue
Block a user