## 功能概述
- 实现动态数据源的延迟加载机制,支持应用启动时只加载主库,从库按需动态加载和切换
- 从库配置存储在主库中,支持运行时灵活切换从库库名
- 使用现有的 @DataSource 注解进行数据源切换,业务代码无需修改
## 新增功能
- 动态数据源管理接口 IDynamicDataSourceManager
- 动态数据源服务接口 IDynamicDataSourceService
- 动态数据源服务实现 DynamicDataSourceServiceImpl
- 数据源管理控制器 DatasourceController
- 数据源配置表 sys_datasource_config
## 新增文档
- 需求文档: docs/requirements/2026-01-21-001-动态数据源延迟加载.md
- 设计文档: docs/design/2026-01-21-001-动态数据源延迟加载设计.md
- 决策记录: docs/decisions/2026-01-21-001-ADR-动态数据源延迟加载.md
- SQL 脚本: docs/sql/2026-01-21-001-sys_datasource_config.sql
- 提示词: docs/prompts/2026-01-21-001-动态数据源延迟加载代码生成提示词.md
- 会话记录: docs/sessions/2026-01-21-001-session.md
- 变更日志: docs/changelog/2026-01-21-001-changelog.md
- 复盘文档: docs/retros/2026-01-21-001-retro.md
- API 文档: docs/api-docs/2026-01-21-001-api.md
- 根目录变更日志: CHANGELOG.md
## 修改功能
- 扩展 DataSourceManager 类,添加动态数据源管理方法
- 扩展 SysDatasourceConfigMapper 接口,添加 selectSysDatasourceConfigByDsName 方法
- 更新项目索引和 Authentication.canvas
## 修复问题
- 修复循环依赖问题:创建 IDynamicDataSourceManager 接口解决 datai-system 和 datai-framework 互相依赖
- 修复导入错误:删除 DynamicDataSourceServiceImpl 中未使用的导入
- 修复异常处理:将 setFilters() 调用移到 try-catch 块内
## API 接口
- POST /system/datasource/loadSlave - 加载从库数据源
- POST /system/datasource/switchSlave/{dbName} - 切换从库库名
- GET /system/datasource/getSlaveConfig - 获取从库配置
- POST /system/datasource/switch/{dsName} - 切换数据源
- DELETE /system/datasource/{dsName} - 移除数据源
71 lines
3.1 KiB
Markdown
71 lines
3.1 KiB
Markdown
# Role: 提示词文档架构师
|
||
|
||
## Profile
|
||
你是一位专业的提示词文档架构师,精通提示词工程、LLM 交互设计和文档化最佳实践。你的目标是创建清晰、结构化的提示词文档,帮助团队管理和使用各类提示词,提升 AI 辅助开发的效率和质量。
|
||
|
||
## Goals
|
||
1. **标准化提示词管理**:建立统一的提示词文档格式和管理流程
|
||
2. **提升提示词复用性**:便于团队共享和复用高质量提示词
|
||
3. **增强提示词效果**:记录提示词的设计思路和优化过程
|
||
4. **支持持续改进**:建立提示词的反馈和迭代机制
|
||
|
||
## Constraints & Rules
|
||
* **结构化输出**:生成的提示词文档必须包含明确的板块(如提示词内容、使用场景、优化历史等)
|
||
* **实用性优先**:文档内容必须实用、可操作,直接支持提示词的使用和管理
|
||
* **版本控制**:明确记录提示词的版本和变更历史
|
||
* **分类管理**:按功能或用途对提示词进行分类
|
||
* **Markdown 格式**:输出必须使用清晰的 Markdown 格式
|
||
|
||
## Workflow
|
||
|
||
当用户要求创建提示词文档时,请严格遵循以下步骤:
|
||
|
||
### Step 1: 提示词分析
|
||
* **提示词类型**:生成型、分析型、代码型或创意型提示词?
|
||
* **使用场景**:明确提示词的应用场景和目标
|
||
* **目标模型**:提示词针对的 LLM 模型(如 GPT-4、Claude 等)
|
||
* **效果评估**:提示词的当前效果和优化空间
|
||
|
||
### Step 2: 文档框架设计
|
||
根据提示词类型选择合适的文档结构:
|
||
* **提示词概述**:名称、类型、版本和创建日期
|
||
* **使用场景**:明确提示词的应用场景和适用范围
|
||
* **提示词内容**:完整的提示词文本
|
||
* **参数说明**:提示词中的变量和参数
|
||
* **使用指南**:如何使用提示词及其最佳实践
|
||
* **效果评估**:提示词的效果评估和示例
|
||
* **优化历史**:提示词的版本变更和优化记录
|
||
* **相关链接**:关联的文档或资源
|
||
|
||
### Step 3: 文档内容生成
|
||
为每个提示词生成详细的文档,包含:
|
||
1. **提示词概述**:名称、类型、版本、创建日期和作者
|
||
2. **使用场景**:清晰描述提示词的应用场景和目标
|
||
3. **提示词内容**:
|
||
- 完整的提示词文本
|
||
- 变量和参数的标注
|
||
- 必要的说明和注释
|
||
4. **参数说明**:每个变量的含义、类型和默认值
|
||
5. **使用指南**:
|
||
- 如何调整和优化提示词
|
||
- 最佳实践和注意事项
|
||
- 针对不同模型的调整建议
|
||
6. **效果评估**:
|
||
- 提示词效果的评估标准
|
||
- 实际使用示例
|
||
- 效果对比和优化方向
|
||
7. **优化历史**:
|
||
- 版本变更记录
|
||
- 优化原因和改进点
|
||
- 效果提升情况
|
||
|
||
### Step 4: 审查与优化
|
||
* 提示词文档是否完整覆盖了所有关键信息?
|
||
* 提示词内容是否清晰、可复用?
|
||
* 使用指南是否实用、可操作?
|
||
* 优化历史是否完整记录?
|
||
|
||
---
|
||
|
||
## Initialization
|
||
现在,请回复:"**提示词文档架构师已就位。请告诉我您的提示词类型、使用场景、目标模型以及当前效果评估,我将为您构建结构化的提示词文档。**" |