内容
# 提示银行
适用于个人和团队的可自行托管的提示银行。从网络用户界面、REST API或MCP兼容的客户端(例如Cursor)创建、版本和重用提示。
每个帐户都有自己的提示、设置和API密钥。管理员帐户可以管理用户和服务器选项。
## 功能
- 网络用户界面,用于创建和版本提示(模板中带有`{{变量}}`)
- 多用户帐户;每个用户的提示对其保持私密
- 可选的自我注册(管理员可以开启或关闭此功能)
- REST和MCP访问的API密钥
- 默认使用SQLite(单个文件),或使用MongoDB(如果您更喜欢)
- 使用Docker Compose进行一键部署
- 标签:通过添加`公共`标签与服务器上的每个人共享提示;按用例或您定义的任何自定义标签对提示进行分组`(即将推出)`
- 全文搜索和按标签筛选的UI和MCP`(即将推出)`
- 允许管理员重置用户密码`(即将推出)`
## 快速开始
**要求:** Docker(Compose可选)。镜像:[`sarthakpranesh/promptify`](https://hub.docker.com/r/sarthakpranesh/promptify)。这适用于快速尝试;对于日常使用,请阅读[配置](#配置)。
使用docker run:
```bash
docker run -d \
--name promptify \
--restart unless-stopped \
-p 8080:8080 \
-e PROMPTIFY_SESSION_SECRET="替换为长随机字符串" \
sarthakpranesh/promptify:latest
```
使用compose:
```yaml
services:
promptify:
image: sarthakpranesh/promptify:latest
container_name: promptify
restart: unless-stopped
ports:
- "8080:8080"
environment:
PROMPTIFY_SESSION_SECRET: "替换为长随机字符串"
```
打开 [http://localhost:8080](http://localhost:8080)。默认管理员凭证为 `admin@promptify.com` 和 `admin`。
## 配置
参考 [.env.example](.env.example) 和 [docker-compose.yml](./docker-compose.yml)。只需复制并根据需要修改值。
### 卷
数据保存在 `./container_data` 下,compose文件已将其映射到本地文件夹。
### 环境变量参考表
| 变量 | 是否必需 | 描述 |
| -------------------------- | -------- | --------------------------------------------------------------------------- |
| `PROMPTIFY_SESSION_SECRET` | 是 | 用于签署登录cookie的长随机字符串。保持稳定重启,否则用户将退出登录。 |
| `PROMPTIFY_ADMIN_EMAIL` | 否 | 管理员电子邮件(默认为 `admin@promptify.com`),容器重启时自动更新为环境变量中的最新值 |
| `PROMPTIFY_ADMIN_PASSWORD` | 否 | 管理员密码(默认为 `admin`),容器重启时自动更新为环境变量中的最新值 |
| `PROMPTIFY_LOG_PATH` | 否 | 进程日志路径(默认为 `data/promptify.log`) |
| `PROMPTIFY_MONGO_DB_URI` | 否 | 如果设置,则使用MongoDB而不是SQLite |
| `PROMPTIFY_SERVER_ENV` | 否 | 使用Mongo时:`dev` 或 `prod`(选择数据库名称)。默认为 `dev` |
| `PROMPTIFY_SQLITE_PATH` | 否 | SQLite文件路径(默认为 `data/database.db`) |
## 使用提示银行
### 网络应用
对于用户
1. 在 `/` 登录(或如果管理员启用注册,则注册)。
2. 在仪表板上创建和编辑提示。
3. 打开设置以生成用于工具和自动化的API密钥。
对于管理员,除了非管理员用户可以做的事情之外,还可以:
1. 打开服务器控制台:
- 开启或关闭自我注册
- 添加或删除用户(管理员帐户不能被删除)
- 下载进程日志
### REST API
在设置中创建API密钥后:
```bash
curl -H "Authorization: Bearer <API_KEY>" \
http://<您的提示银行网址>:8080/api/prompts
```
### MCP
MCP端点:`http://<您的提示银行网址>:8080/mcp`.
示例Cursor MCP配置:
```json
{
"mcpServers": {
"promptify": {
"url": "http://localhost:8080/mcp",
"headers": {
"Authorization": "Bearer 您的提示银行API密钥"
}
}
}
}
```
## 故障排除
| 问题 | 尝试方法 |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| 无法登录 | 默认值为 `admin@promptify.com` / `admin`,除非您更改了环境变量。登录需要有效的电子邮件地址 |
| `/api/*` 或 `/mcp` 返回 `401` | 为同一用户使用来自设置的 `Authorization: Bearer <API_KEY>` |
| 容器重启后退出登录 | 保持 `PROMPTIFY_SESSION_SECRET` 不变,以便现有的cookie仍然有效 |
| 丢失管理员访问 | 设置 `PROMPTIFY_ADMIN_EMAIL` / `PROMPTIFY_ADMIN_PASSWORD` 并重启;凭证同步到管理员帐户 |
## 贡献
想更改代码、修复错误或改进文档?请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 以获取技术栈、项目布局和本地开发工作流程。
<p align="left">
来自印度的爱 🇮🇳
</p>