一个现代化的AI提示词管理平台,帮助您高效收集、分类和管理各种AI提示词,提升AI使用体验。
- 快速收集:一键保存和管理您的AI提示词
- 多格式支持:纯文本、JSON、Markdown格式智能识别
- 富文本编辑:实时预览、格式化、语法高亮
- 内容检测:自动识别内容格式并优化编辑体验
- 美观分类选择:现代化自定义下拉框,支持图标化分类显示
- 智能标签选择:显示现有标签供快速选择,避免重复创建
- 多标签支持:为提示词添加多个相关标签
- 智能筛选:支持分类、标签的多维度组合筛选
- 标签搜索:实时搜索标签,快速定位目标内容
- 使用统计:标签按使用频率排序,常用标签优先显示
- 全文搜索:在标题、内容、描述中进行关键词搜索
- 组合筛选:搜索、分类、标签多条件同时筛选
- 实时统计:筛选结果数量实时显示
- 标签折叠:智能标签管理,支持搜索和展开收起
- 全局统计:提示词总数、分类数量、标签数量
- 实时更新:当前筛选结果数量动态显示
- 使用分析:各分类和标签的使用情况统计
- 可视化展示:美观的彩色统计卡片
- 筛选导出:导出当前搜索和筛选的结果
- 完整信息:包含标题、描述、分类、标签、内容、创建时间
- CSV格式:支持Excel等软件打开,完美支持中文
- 安全控制:导出操作需要管理员权限验证
- 隐藏式设计:页面底部低调的"⚙️ Dev"按钮
- 一键测试数据:快速加载10条精选示例数据进行功能演示
- 一键清空数据:重置到空环境状态
- 自动备份:所有操作前自动备份原数据
- 权限保护:开发者功能需要管理员口令验证
- 响应式设计:完美适配桌面、平板、手机设备
- 现代UI风格:使用Tailwind CSS构建的精美界面
- 流畅动画:丰富的交互动画和视觉反馈效果
- 分页浏览:优雅的分页设计,每页9条记录
- 权限控制:所有修改操作需要管理员口令验证
- 加密传输:SHA-256加密,口令不明文传输
- 数据保护:智能处理分类/标签删除时的数据迁移
- 操作审计:详细的操作反馈和错误提示
- Framework: Flask (轻量级Python Web框架)
- 数据存储: JSON文件 (无数据库依赖)
- 安全认证: SHA-256密码哈希
- API设计: RESTful API架构
- 核心技术: HTML5 + CSS3 + JavaScript (ES6+)
- 样式框架: Tailwind CSS (通过CDN加载)
- 交互体验: 原生JavaScript,无框架依赖
- 图标系统: Emoji + SVG矢量图标
- 零依赖部署: 无需数据库,单文件即可运行
- 轻量级架构: 资源占用小,启动速度快
- 高度可定制: 配置文件灵活,易于个性化
- 跨平台支持: 支持Windows、macOS、Linux
# Python版本要求
Python 3.7 或更高版本
# 浏览器支持
Chrome 70+、Firefox 65+、Safari 12+、Edge 79+
git clone https://github.com/liu-kaining/PromptHub.git
cd PromptHub
# 创建Python虚拟环境
python -m venv venv
# 激活虚拟环境
# Linux/macOS:
source venv/bin/activate
# Windows:
venv\Scripts\activate
# 安装项目依赖
pip install -r requirements.txt
创建配置文件 config.json
(可选,不创建将使用默认配置):
{
"admin_password": "your_secure_password_here",
"app_name": "PromptHub",
"app_description": "智能提示词管理平台",
"port": 5001,
"debug": false
}
python app.py
打开浏览器访问:http://localhost:5001
使用Docker可以快速部署PromptHub,无需手动配置Python环境。
git clone https://github.com/liu-kaining/PromptHub.git
cd PromptHub
# 构建并启动
docker-compose up -d
# 查看运行状态
docker-compose ps
# 查看日志
docker-compose logs -f prompthub
打开浏览器访问:http://localhost:5001
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 更新服务
docker-compose down
docker-compose up -d --build
docker build -t prompthub:latest .
# 基础运行
docker run -d \
--name prompthub \
-p 5001:5001 \
-v $(pwd)/data:/app/data \
-v $(pwd)/config.json:/app/config.json:ro \
--restart unless-stopped \
prompthub:latest
# 查看运行状态
docker ps
docker logs prompthub
# 停止容器
docker stop prompthub
# 删除容器
docker rm prompthub
# 删除镜像
docker rmi prompthub:latest
- 🚀 快速部署:一条命令即可启动完整服务
- 🔒 环境隔离:不依赖主机Python环境
- 📦 轻量级:基于Python slim镜像,体积小巧
- 🔄 自动重启:容器异常退出自动重启
- 💾 数据持久化:数据目录挂载到主机,升级不丢失
- ⚡ 健康检查:自动监控服务状态
config.json
文件中的各项配置:
配置项 | 类型 | 默认值 | 说明 |
---|---|---|---|
admin_password |
string | "admin123" |
管理员口令,用于所有修改操作的权限验证 |
app_name |
string | "PromptHub" |
应用显示名称 |
app_description |
string | "智能提示词管理平台" |
应用描述信息 |
port |
number | 5001 |
Web服务监听端口 |
debug |
boolean | true |
调试模式开关(生产环境建议设为false) |
默认管理员口令为 admin123
,强烈建议首次使用时立即修改!
- 编辑或创建
config.json
文件 - 修改
admin_password
字段为您的安全密码 - 重启应用使配置生效
{
"admin_password": "your_very_secure_password_123"
}
应用采用v2.0统一数据架构,所有数据存储在单一JSON文件中:
data/
├── prompts.json # 统一数据文件(包含提示词、分类、标签、设置)
├── backup/ # 自动备份目录
│ └── pre-*-{timestamp}/ # 按操作和时间戳分类的备份
└── examples/ # 示例数据目录
├── README.md # 示例数据使用说明
└── prompts.json # 示例数据(10条精选提示词)
{
"prompts": [
{
"id": "uuid",
"title": "提示词标题",
"content": "提示词内容",
"description": "描述",
"category": "分类名称",
"tags": ["标签1", "标签2"],
"usage_count": 0,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
],
"metadata": {
"categories": [
{"id": "uuid", "name": "编程", "color": "#3B82F6", "description": "编程相关提示词"}
],
"tags": [
{"id": "uuid", "name": "设计", "color": "#8B5CF6"}
],
"settings": {
"last_updated": "2024-01-01T00:00:00Z",
"version": "2.0"
}
}
}
为了便于测试和演示,我们提供了完整的示例数据:
- 访问应用主页
http://localhost:5001
- 滚动到页面底部,点击"⚙️ Dev"按钮
- 点击"🚀 加载测试数据"按钮
- 输入管理员密码确认
- 系统自动加载示例数据并刷新页面
# 备份当前数据
cp data/prompts.json data/prompts_backup.json
# 复制示例数据(会覆盖现有数据)
cp data/examples/prompts.json data/prompts.json
# 重启应用查看效果
python app.py
- 10条精选提示词: 覆盖编程、写作、分析、创意等场景
- 7个主要分类: 编程、写作、分析、创意、商业、教育、其他
- 15个标签: Python、React、文案、AI、机器学习等
- 方式一: 使用管理界面的"🗑️ 清空所有数据"功能
- 方式二: 手动删除数据文件,应用会自动重建空文件
- 点击右上角 "➕ 添加提示词" 按钮
- 填写基本信息:标题、描述
- 选择分类:点击美观的下拉框,从图标化选项中选择
- 选择内容格式:文本/JSON/Markdown
- 输入提示词内容(支持格式化和预览)
- 添加标签:
- 从现有标签中快速选择(按使用频率排序)
- 搜索现有标签快速定位
- 输入新标签(空格键添加)
- 输入管理员口令并保存
- 点击提示词卡片上的 "✏️" 编辑按钮
- 修改任意信息
- 输入管理员口令确认修改
- 点击提示词卡片上的 "🗑️" 删除按钮
- 确认删除操作
- 输入管理员口令完成删除
- 在搜索框输入关键词
- 支持搜索标题、内容、描述
- 实时显示搜索结果
- 点击分类按钮进行筛选
- 支持"全部"查看所有分类
- 可与搜索和标签筛选组合使用
- 点击标签按钮进行筛选(支持多选)
- 使用标签搜索框快速定位标签
- 点击"全部"清除标签筛选
- 支持展开/收起标签列表
- 点击分类区域的 "⚙️ 管理" 按钮
- 添加新分类(需要口令)
- 编辑分类名称(需要口令)
- 删除不需要的分类(需要口令)
- 系统会自动将关联提示词移至"其他"分类
- 点击标签区域的 "⚙️ 管理" 按钮
- 添加新标签(需要口令)
- 编辑标签名称(需要口令)
- 删除不需要的标签(需要口令)
- 系统会自动从关联提示词中移除该标签
- 使用搜索和筛选选择要导出的提示词
- 在统计区域点击 "📥 导出数据" 按钮
- 输入管理员口令确认
- 系统自动下载CSV文件
导出的CSV文件包含:
- 标题、描述、分类、标签
- 完整的提示词内容
- 创建时间信息
- 滚动到页面底部footer区域
- 点击灰色的 "⚙️ Dev" 按钮
- 展开开发者工具面板
- 点击 "🚀 加载测试数据" 按钮
- 确认操作(会覆盖当前数据)
- 输入管理员口令验证
- 系统自动加载10条示例数据
- 页面自动刷新显示新数据
包含内容:
- 10条精选提示词(涵盖编程、写作、创意、商业等场景)
- 7个主要分类(编程、写作、分析、创意、商业、教育、其他)
- 15个实用标签(Python、React、AI、机器学习、设计等)
- 点击 "🗑️ 清空所有数据" 按钮
- 确认清空操作(不可撤销)
- 输入管理员口令验证
- 系统清空所有数据
- 页面自动刷新显示空状态
安全保障:
- 🔐 需要管理员口令验证
- 💾 操作前自动备份到
data/backup/
目录 - 📅 备份文件带时间戳,便于追溯恢复
⚠️ 操作前明确提示影响范围
如果默认端口5001被占用:
{
"port": 8080
}
查看端口占用情况:
# macOS/Linux
lsof -i:5001
# Windows
netstat -ano | findstr :5001
{
"debug": false,
"admin_password": "complex_secure_password_here"
}
# 安装Gunicorn
pip install gunicorn
# 启动服务
gunicorn -w 4 -b 0.0.0.0:5001 app:app
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:5001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
# 创建备份
tar -czf prompthub_backup_$(date +%Y%m%d_%H%M%S).tar.gz data/ config.json
# 定时备份(添加到crontab)
0 2 * * * cd /path/to/prompthub && tar -czf backup/prompthub_$(date +\%Y\%m\%d).tar.gz data/
# 从备份恢复
tar -xzf prompthub_backup_20241216_143000.tar.gz
# 重启应用
python app.py
错误信息: Address already in use
解决方案:
# 查找占用进程
lsof -i:5001
# 终止进程
kill -9 <PID>
# 或修改配置文件端口
错误信息: Permission denied
解决方案:
# 确保data目录有写权限
chmod 755 data/
chmod 644 data/*.json
错误信息: JSON decode error
解决方案:
- 检查config.json语法是否正确
- 确保所有字符串用双引号包围
- 验证JSON格式:https://jsonlint.com/
可能原因:
- config.json中的口令与输入不匹配
- 配置文件修改后未重启应用
解决方案:
# 检查配置文件
cat config.json
# 重启应用
python app.py
解决方案:
- 确保终端支持UTF-8编码
- 检查浏览器字符编码设置
- 确保CSV导出时选择UTF-8编码打开
如果数据文件损坏,应用会自动创建默认空文件:
# 手动重置数据
rm -rf data/
# 重启应用,将自动创建默认数据文件
python app.py
从备份恢复:
cp backup/data/* data/
- ✅ 重大架构升级: 统一数据存储结构,单文件管理所有数据
- ✅ 数据迁移机制: 自动从v1.0旧格式迁移到v2.0新格式
- ✅ 改进的标签系统: 动态标签同步,确保数据一致性
- ✅ 优化的备份机制: 按操作类型和时间戳分类备份
- ✅ 精简的示例数据: 10条精选提示词,更便于演示
- ✅ 完整的代码审查: 移除调试代码,优化性能
- ✅ 功能测试覆盖: 全面测试所有CRUD、搜索、管理功能
- ✅ 完整的提示词CRUD功能
- ✅ 分类和标签管理系统
- ✅ 全文搜索和多维度筛选
- ✅ 数据导出功能(CSV格式)
- ✅ 响应式用户界面设计
- ✅ 管理员权限控制系统
- ✅ 智能标签管理(搜索、折叠、排序)
- ✅ 现代化分页控件
- ✅ 数据一致性保证
- ✅ 多格式内容编辑器
- ✅ 美观的自定义分类下拉框(图标化)
- ✅ 智能标签选择体验(现有标签展示)
- ✅ 隐藏式开发者工具(一键加载/清空测试数据)
- ✅ Docker容器化部署支持
- ✅ 示例数据管理和自动备份机制
- 🔄 批量操作功能
- 📁 提示词文件夹分组
- 🔄 数据同步与云存储
- 📊 使用统计和分析
- 🎨 自定义主题支持
我们欢迎所有形式的贡献!
-
Fork 项目
git clone https://github.com/your-username/PromptHub.git
-
创建特性分支
git checkout -b feature/amazing-feature
-
提交更改
git commit -m 'Add some amazing feature'
-
推送分支
git push origin feature/amazing-feature
-
创建 Pull Request
- 🐛 Bug修复
- ✨ 新功能开发
- 📚 文档改进
- 🎨 UI/UX优化
- 🔧 性能优化
- 🧪 测试覆盖
- 使用Python PEP 8代码风格
- JavaScript使用ES6+语法
- 提交信息使用约定式提交格式
- 添加适当的注释和文档
本项目采用 MIT License 开源许可证。
- ✅ 商业使用
- ✅ 修改源码
- ✅ 分发软件
- ✅ 私人使用
- ❗ 需保留许可证和版权声明
liqian_liukaining
- GitHub: @liu-kaining
- 项目主页: PromptHub
- 📖 查看文档:详细使用说明
- 🐛 报告Bug:Issues
- 💡 功能建议:Discussions
- 📧 邮件联系:通过GitHub联系
- ⭐ 给项目点Star支持开发
- 🔄 分享给更多需要的朋友
- 📝 参与文档和代码贡献
- 💬 在社区中分享使用经验
感谢所有为这个项目提供想法、反馈和贡献的用户和开发者!
如果这个项目对您有帮助,请给它一个 ⭐ Star!您的支持是我们持续改进的动力!
PromptHub - 让AI提示词管理变得简单高效
Made with ❤️ by liqian_liukaining