# auto-prompt
**Repository Path**: TobyChow/auto-prompt
## Basic Information
- **Project Name**: auto-prompt
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 4
- **Created**: 2025-06-09
- **Last Updated**: 2025-06-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# AI 提示词优化平台




**专业的AI提示词优化、调试和分享平台**
[🚀 快速开始](#快速开始) • [📖 功能特性](#功能特性) • [🛠️ 技术栈](#技术栈) • [📦 部署指南](#部署指南) • [🤝 贡献指南](#贡献指南)
---
## 📋 项目简介
AI 提示词优化平台是一个专业的提示词工程工具,旨在帮助用户优化AI模型的提示词,提升AI对话效果和响应准确性。平台集成了智能优化算法、深度推理分析、可视化调试工具和社区分享功能,为AI应用开发者和内容创作者提供全方位的提示词优化解决方案。
### 🎯 核心价值
- **智能优化**: 基于先进的AI算法,自动分析和优化提示词结构
- **深度推理**: 提供多维度思考分析,深入理解用户需求
- **社区分享**: 发现和分享优质提示词模板,与社区用户交流经验
- **可视化调试**: 强大的调试环境,实时预览提示词效果
## ✨ 功能特性
### 🧠 智能提示词优化
- **自动结构分析**: 深度分析提示词的语义结构和逻辑关系
- **多维度优化**: 从清晰度、准确性、完整性等多个维度进行优化
- **深度推理模式**: 启用AI深度思考,提供详细的分析过程
- **实时生成**: 流式输出优化结果,实时查看生成过程
### 📚 提示词模板管理
- **模板创建**: 将优化后的提示词保存为可复用模板
- **标签分类**: 支持多标签分类管理,便于查找和组织
- **收藏功能**: 收藏喜欢的模板,快速访问常用提示词
- **使用统计**: 跟踪模板使用情况和效果反馈
### 🌐 社区分享平台
- **公开分享**: 将优质模板分享给社区用户
- **热度排行**: 按查看数、点赞数等维度展示热门模板
- **搜索发现**: 强大的搜索功能,快速找到需要的模板
- **互动交流**: 点赞、评论、收藏等社交功能
### 🔧 调试与测试工具
- **可视化界面**: 直观的用户界面,简化操作流程
- **实时预览**: 即时查看提示词优化效果
- **历史记录**: 保存优化历史,支持版本对比
- **导出功能**: 支持多种格式导出优化结果
### 🌐 多语言支持
- **语言切换**: 支持中英文界面切换
- **实时翻译**: 无需刷新页面即可切换语言
- **本地化内容**: 所有界面元素完全本地化
- **浏览器检测**: 根据浏览器设置自动检测语言
## 🛠️ 技术栈
### 后端技术
- **框架**: .NET 9.0 + ASP.NET Core
- **AI引擎**: Microsoft Semantic Kernel 1.54.0
- **数据库**: PostgreSQL + Entity Framework Core
- **认证**: JWT Token 认证
- **日志**: Serilog 结构化日志
- **API文档**: Scalar OpenAPI
### 前端技术
- **框架**: React 19.1.0 + TypeScript
- **UI组件**: Ant Design 5.25.3
- **路由**: React Router DOM 7.6.1
- **状态管理**: Zustand 5.0.5
- **样式**: Styled Components 6.1.18
- **构建工具**: Vite 6.3.5
### 核心依赖
- **AI模型集成**: OpenAI API 兼容接口
- **实时通信**: Server-Sent Events (SSE)
- **数据存储**: IndexedDB (客户端缓存)
- **富文本编辑**: TipTap 编辑器
- **代码高亮**: Prism.js + React Syntax Highlighter
- **国际化**: React i18next 多语言支持
## 📦 部署指南
### 环境要求
- Docker & Docker Compose
- .NET 9.0 SDK (开发环境)
- Node.js 18+ (开发环境)
### 🚀 快速开始
1. 克隆项目
```bash
git clone https://github.com/AIDotNet/auto-prompt.git
cd auto-prompt
```
2. 使用 Docker Compose 部署
```bash
# 启动服务
docker-compose up -d
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f
```
3. 访问应用
- 前端界面: http://localhost:10426
- API文档: http://localhost:10426/scalar/v1
### 🔧 开发环境配置
1. 后端开发
```bash
cd src/Console.Service
dotnet restore
dotnet run
```
2. 前端开发
```bash
cd web
npm install
npm run dev
```
### 🌐 环境变量配置
在 `src/Console.Service/appsettings.json` 中配置:
```json
{
"GenerateModel": "gpt-4o",
"ConnectionStrings": {
"DefaultConnection": "Host=localhost;Database=prompt_db;Username=postgres;Password=your_password"
},
"Jwt": {
"Key": "your_jwt_secret_key",
"Issuer": "auto-prompt",
"Audience": "auto-prompt-users"
}
}
```
### 📖 详细部署文档
如需了解完整的部署配置选项、自定义端点配置、故障排除等详细信息,请参考:
**[📋 完整部署指南 (DEPLOYMENT.md)](./DEPLOYMENT.md)**
该文档包含:
- 🔧 自定义AI API端点配置
- 📦 多种部署配置选项(SQLite、PostgreSQL、Ollama等)
- 🚀 自动化部署脚本使用说明
- ❓ 常见问题解决方案
- 🔧 维护管理指南
- 🔒 安全配置建议
### 🔧 快速配置示例
#### 使用自定义API端点
```yaml
services:
console-service:
environment:
- OpenAIEndpoint=https://your-custom-api.com/v1
- ConnectionStrings:Type=sqlite
- ConnectionStrings:Default=Data Source=/data/ConsoleService.db
```
#### 使用本地Ollama
```yaml
services:
console-service:
environment:
- OpenAIEndpoint=http://ollama:11434/v1
ollama:
image: ollama/ollama:latest
ports:
- "11434:11434"
```
### 🔧 Development Environment Setup
1. Backend Development
```bash
cd src/Console.Service
dotnet restore
dotnet run
```
2. Frontend Development
```bash
cd web
npm install
npm run dev
```
### 🌐 Environment Variable Configuration
Configure in `src/Console.Service/appsettings.json`:
```json
{
"GenerateModel": "gpt-4o",
"ConnectionStrings": {
"DefaultConnection": "Host=localhost;Database=prompt_db;Username=postgres;Password=your_password"
},
"Jwt": {
"Key": "your_jwt_secret_key",
"Issuer": "auto-prompt",
"Audience": "auto-prompt-users"
}
}
```
### 🔧 自定义端点配置
本平台支持配置自定义的AI API端点,兼容OpenAI API格式的服务。
#### 配置方式
##### 1. 通过配置文件配置(推荐用于生产环境)
在 `src/Console.Service/appsettings.json` 中配置:
```json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"OpenAIEndpoint": "https://your-custom-api.com/v1",
"ConnectionStrings": {
"Type": "sqlite",
"Default": "Data Source=/data/ConsoleService.db"
}
}
```
##### 2. 通过环境变量配置
```bash
export OPENAIENDPOINT="https://your-custom-api.com/v1"
```
##### 3. Docker Compose 环境变量配置
创建或修改 `docker-compose.yaml`:
```yaml
services:
console-service:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/console
ports:
- 10426:8080
environment:
- TZ=Asia/Shanghai
- OpenAIEndpoint=https://your-custom-api.com/v1
# 可选:配置数据库类型
- ConnectionStrings:Type=sqlite
- ConnectionStrings:Default=Data Source=/data/ConsoleService.db
volumes:
- ./data:/data
build:
context: .
dockerfile: src/Console.Service/Dockerfile
```
#### 支持的API端点类型
平台支持以下兼容OpenAI API格式的服务:
- **OpenAI 官方API**: `https://api.openai.com/v1`
- **Azure OpenAI**: `https://your-resource.openai.azure.com/openai/deployments/your-deployment`
- **国内代理服务**:
- `https://api.token-ai.cn/v1` (默认)
- `https://api.deepseek.com/v1`
- `https://api.moonshot.cn/v1`
- **自部署服务**:
- Ollama: `http://localhost:11434/v1`
- LocalAI: `http://localhost:8080/v1`
- vLLM: `http://localhost:8000/v1`
#### 完整的Docker Compose配置示例
##### 基础配置(SQLite数据库)
```yaml
version: '3.8'
services:
console-service:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/console
container_name: auto-prompt
ports:
- "10426:8080"
environment:
- TZ=Asia/Shanghai
- OpenAIEndpoint=https://api.openai.com/v1
- ConnectionStrings:Type=sqlite
- ConnectionStrings:Default=Data Source=/data/ConsoleService.db
volumes:
- ./data:/data
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
```
##### 高级配置(PostgreSQL数据库)
```yaml
version: '3.8'
services:
console-service:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/console
container_name: auto-prompt
ports:
- "10426:8080"
environment:
- TZ=Asia/Shanghai
- OpenAIEndpoint=https://your-custom-api.com/v1
- ConnectionStrings:Type=postgresql
- ConnectionStrings:Default=Host=postgres;Database=auto_prompt;Username=postgres;Password=your_password
depends_on:
- postgres
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
postgres:
image: postgres:16-alpine
container_name: auto-prompt-db
environment:
- POSTGRES_DB=auto_prompt
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=your_password
- TZ=Asia/Shanghai
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
volumes:
postgres_data:
```
##### 本地AI服务配置(Ollama)
```yaml
version: '3.8'
services:
console-service:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/console
container_name: auto-prompt
ports:
- "10426:8080"
environment:
- TZ=Asia/Shanghai
- OpenAIEndpoint=http://ollama:11434/v1
- ConnectionStrings:Type=sqlite
- ConnectionStrings:Default=Data Source=/data/ConsoleService.db
volumes:
- ./data:/data
depends_on:
- ollama
restart: unless-stopped
ollama:
image: ollama/ollama:latest
container_name: ollama
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
environment:
- OLLAMA_HOST=0.0.0.0
restart: unless-stopped
# 如果有GPU,取消注释以下配置
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: 1
# capabilities: [gpu]
volumes:
ollama_data:
```
#### 部署步骤
1. **选择配置模板**
根据您的需求选择上述配置模板之一,保存为 `docker-compose.yaml`
2. **修改配置参数**
```bash
# 修改API端点
- OpenAIEndpoint=https://your-api-endpoint.com/v1
# 修改数据库密码(如使用PostgreSQL)
- POSTGRES_PASSWORD=your_secure_password
- ConnectionStrings:Default=Host=postgres;Database=auto_prompt;Username=postgres;Password=your_secure_password
```
3. **启动服务**
```bash
# 启动所有服务
docker-compose up -d
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f console-service
```
4. **验证部署**
```bash
# 检查服务健康状态
curl http://localhost:10426/health
# 访问API文档
curl http://localhost:10426/scalar/v1
```
#### 环境变量说明
| 变量名 | 说明 | 默认值 | 示例 |
|--------|------|--------|------|
| `OpenAIEndpoint` | AI API端点地址 | `https://api.token-ai.cn/v1` | `https://api.openai.com/v1` |
| `ConnectionStrings:Type` | 数据库类型 | `sqlite` | `postgresql`, `sqlite` |
| `ConnectionStrings:Default` | 数据库连接字符串 | `Data Source=/data/ConsoleService.db` | PostgreSQL: `Host=postgres;Database=auto_prompt;Username=postgres;Password=password` |
| `TZ` | 时区设置 | `Asia/Shanghai` | `UTC`, `America/New_York` |
#### 故障排除
##### 常见问题
1. **API端点连接失败**
```bash
# 检查端点是否可访问
curl -I https://your-api-endpoint.com/v1/models
# 检查容器网络
docker-compose exec console-service curl -I http://ollama:11434/v1/models
```
2. **数据库连接失败**
```bash
# 检查PostgreSQL容器状态
docker-compose logs postgres
# 测试数据库连接
docker-compose exec postgres psql -U postgres -d auto_prompt -c "SELECT 1;"
```
3. **权限问题**
```bash
# 确保数据目录权限正确
sudo chown -R 1000:1000 ./data
chmod 755 ./data
```
##### 日志查看
```bash
# 查看应用日志
docker-compose logs -f console-service
# 查看数据库日志
docker-compose logs -f postgres
# 查看所有服务日志
docker-compose logs -f
```
#### 性能优化建议
1. **资源限制配置**
```yaml
services:
console-service:
deploy:
resources:
limits:
memory: 2G
cpus: '1.0'
reservations:
memory: 512M
cpus: '0.5'
```
2. **数据库优化**
```yaml
postgres:
environment:
- POSTGRES_SHARED_PRELOAD_LIBRARIES=pg_stat_statements
- POSTGRES_MAX_CONNECTIONS=200
command: >
postgres
-c shared_preload_libraries=pg_stat_statements
-c max_connections=200
-c shared_buffers=256MB
-c effective_cache_size=1GB
```
3. **缓存配置**
```yaml
services:
redis:
image: redis:7-alpine
container_name: auto-prompt-redis
ports:
- "6379:6379"
volumes:
- redis_data:/data
restart: unless-stopped
```
## 🏗️ 项目结构
```
auto-prompt/
├── src/
│ └── Console.Service/ # 后端服务
│ ├── Controllers/ # API控制器
│ ├── Services/ # 业务服务
│ ├── Entities/ # 数据实体
│ ├── Dto/ # 数据传输对象
│ ├── DbAccess/ # 数据访问层
│ ├── plugins/ # AI插件配置
│ │ └── Generate/ # 提示词生成插件
│ │ ├── DeepReasoning/ # 深度推理
│ │ ├── DeepReasoningPrompt/ # 深度推理提示词
│ │ └── OptimizeInitialPrompt/ # 初始优化
│ └── Migrations/ # 数据库迁移
├── web/ # 前端应用
│ ├── src/
│ │ ├── components/ # React组件
│ │ │ ├── GeneratePrompt/ # 提示词生成组件
│ │ │ ├── Workbench/ # 工作台
│ │ │ ├── DashboardPage/ # 仪表板
│ │ │ └── PromptsPage/ # 提示词管理
│ │ ├── stores/ # 状态管理
│ │ ├── api/ # API接口
│ │ ├── styles/ # 样式文件
│ │ └── utils/ # 工具函数
│ ├── public/ # 静态资源
│ └── dist/ # 构建输出
├── docker-compose.yaml # Docker编排配置
└── README.md # 项目文档
```
## 🎮 使用指南
### 1. 提示词优化
1. 在工作台中输入需要优化的提示词
2. 描述具体需求和期望效果
3. 选择是否启用深度推理模式
4. 点击"生成"开始优化过程
5. 查看优化结果和推理过程
### 2. 模板管理
1. 将优化后的提示词保存为模板
2. 添加标题、描述和标签
3. 在"我的提示词"中管理个人模板
4. 支持编辑、删除、收藏等操作
### 3. 社区分享
1. 在提示词广场浏览热门模板
2. 使用搜索功能查找特定类型模板
3. 点赞、收藏感兴趣的模板
4. 分享自己的优质模板给社区
### 4. 语言切换
1. 点击右上角或侧边栏的语言切换按钮(🌐)
2. 选择您偏好的语言(中文/英文)
3. 界面将立即切换语言,无需刷新页面
4. 您的语言偏好将被保存,下次访问时自动应用
## 🤝 贡献指南
我们欢迎社区贡献!请遵循以下步骤:
1. **Fork 项目**到你的GitHub账户
2. **创建功能分支**: `git checkout -b feature/AmazingFeature`
3. **提交更改**: `git commit -m 'Add some AmazingFeature'`
4. **推送分支**: `git push origin feature/AmazingFeature`
5. **创建 Pull Request**
### 开发规范
- 遵循现有代码风格和命名约定
- 添加适当的注释和文档
- 确保所有测试通过
- 更新相关文档
## 📄 开源协议
本项目采用 **LGPL (Lesser General Public License)** 开源协议。
### 许可条款
- ✅ **商业使用**: 允许在商业环境中部署和使用
- ✅ **分发**: 允许分发原始代码和二进制文件
- ✅ **修改**: 允许修改源代码用于个人或内部使用
- ❌ **修改后商用**: 禁止修改源代码后用于商业分发
- ⚠️ **责任**: 使用本软件的风险由用户自行承担
### 重要说明
- 可以直接部署本项目用于商业用途
- 可以基于本项目开发内部工具
- 不得修改源代码后重新打包分发
- 必须保留原始版权声明
详细协议条款请参阅 [LICENSE](LICENSE) 文件。
## 🙏 致谢
感谢以下开源项目和技术:
- [Microsoft Semantic Kernel](https://github.com/microsoft/semantic-kernel) - AI编排框架
- [Ant Design](https://ant.design/) - React UI组件库
- [React](https://reactjs.org/) - 前端框架
- [.NET](https://dotnet.microsoft.com/) - 后端框架
## 📞 联系我们
- **项目主页**: https://github.com/AIDotNet/auto-prompt
- **问题反馈**: [GitHub Issues](https://github.com/AIDotNet/auto-prompt/issues)
- **官方网站**: https://token-ai.cn
- **技术支持**: 通过GitHub Issues提交
---
## Star History
[](https://www.star-history.com/#AIDotNet/auto-prompt&Date)
## 💌WeChat

**如果这个项目对你有帮助,请给我们一个 ⭐ Star!**
Made with ❤️ by [TokenAI](https://token-ai.cn)