Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

通过对话挖掘用户需求,并自动生成专业的提示词,支持系统/用户提示词优化和版本管理,支持多轮对话绘图/改图,演示站:https://yprompt.252035.xyz 账号:demo/demo

Notifications You must be signed in to change notification settings

fish2018/YPrompt

Repository files navigation

YPrompt

AI通过对话挖掘用户需求,并自动生成专业的提示词,支持系统/用户提示词优化、效果对比,版本管理和支持即时渲染的操练场

功能特性

  • AI引导对话挖掘用户需求后生成专业系统提示词
  • 系统/用户(支持构建对话上下文)优化、效果对比
  • 提示词版本管理与历史回滚
  • 操练场支持多种输出类型即时渲染,效果看得见
  • 多认证:Linux.do OAuth、飞书 OAuth、本地用户名密码
  • 双数据库:SQLite(默认)+ MySQL(可选)
  • 响应式设计(桌面/移动端)
  • 新增绘图功能(实验),暂时没保存配置入数据库
    • 多轮对话生图、改图
    • 支持拖拽上传图片、拖拽调整图片附件顺序,图片附件预览
    • 支持并发生成1-4张图片
    • 支持提示词翻译
    • 右侧生成结果区可以对图片预览、下载、删除,可以查看详细参数和提示词

界面

系统架构

YPrompt/
├── frontend/ # Vue 3 + TypeScript 前端
│ └── dist/ # 构建产物
├── backend/ # Sanic Python 后端
│ ├── apps/ # 应用代码
│ ├── config/ # 配置文件
│ └── migrations/ # 数据库脚本
├── data/ # 数据目录(持久化)
│ ├── yprompt.db # SQLite数据库
│ ├── cache/ # 缓存文件
│ ├── logs/ # 日志文件
│ │ ├── backend/ # 后端日志
│ │ └── nginx/ # Nginx日志
│ └── ssl/ # SSL证书(可选)
│ ├── fullchain.pem # 证书链
│ └── privkey.pem # 私钥
├── Dockerfile # Docker镜像
├── docker-compose.yml # Docker Compose配置
└── start.sh # 容器启动脚本

快速启动

Docker Run

docker run -d \
 --name yprompt \
 -p 80:80 \
 -v ./data:/app/data \
 -e DOMAIN=yourdomain.com \
 -e SECRET_KEY=your-random-secret-key \
 -e LINUX_DO_CLIENT_ID=your_client_id \
 -e LINUX_DO_CLIENT_SECRET=your_client_secret \
 -e LINUX_DO_REDIRECT_URI=https://yourdomain.com/auth/callback \
 -e FEISHU_APP_ID=your_feishu_app_id \
 -e FEISHU_APP_SECRET=your_feishu_app_secret \
 -e FEISHU_REDIRECT_URI=https://yourdomain.com/auth/callback \
 -e REGISTRATION_ENABLED=false \
 ghcr.io/fish2018/yprompt:latest

Docker Compose

创建 docker-compose.yml:

version: '3.8'
services:
 yprompt:
 image: ghcr.io/fish2018/yprompt:latest
 container_name: yprompt
 restart: unless-stopped
 ports:
 - "80:80"
 - "443:443"
 volumes:
 - ./data:/app/data
 environment:
 - DOMAIN=yourdomain.com
 - SECRET_KEY=your-random-secret-key
 - LINUX_DO_CLIENT_ID=your_client_id
 - LINUX_DO_CLIENT_SECRET=your_client_secret
 - LINUX_DO_REDIRECT_URI=https://yourdomain.com/auth/callback
 - FEISHU_APP_ID=your_feishu_app_id
 - FEISHU_APP_SECRET=your_feishu_app_secret
 - FEISHU_REDIRECT_URI=https://yourdomain.com/auth/callback
 - REGISTRATION_ENABLED=false

启动:

docker-compose up -d

环境变量说明

必需参数

变量 说明 示例
SECRET_KEY JWT密钥(至少32位随机字符) a1b2c3d4e5f6...

服务器配置

变量 默认值 说明
DOMAIN localhost 域名或IP地址

数据库配置

变量 默认值 说明
DB_TYPE sqlite 数据库类型:sqlitemysql
SQLITE_DB_PATH ../data/yprompt.db SQLite数据库文件路径
DB_HOST localhost MySQL主机地址
DB_USER root MySQL用户名
DB_PASS - MySQL密码
DB_NAME yprompt MySQL数据库名
DB_PORT 3306 MySQL端口

Linux.do OAuth配置(可选)

变量 说明 示例
LINUX_DO_CLIENT_ID 应用Client ID WMYxs1aE2NOdBkj1le...
LINUX_DO_CLIENT_SECRET 应用Client Secret QGl30etmvXbLM0d...
LINUX_DO_REDIRECT_URI OAuth回调地址 https://yourdomain.com/auth/callback

申请地址:https://connect.linux.do/my/preferences/apps

飞书 OAuth配置(可选)

变量 说明 示例
FEISHU_APP_ID 飞书应用ID cli_xxxxx
FEISHU_APP_SECRET 飞书应用Secret xxxxxxxx
FEISHU_REDIRECT_URI OAuth回调地址 https://yourdomain.com/auth/callback

申请地址:https://open.feishu.cn/

本地认证配置

变量 默认值 说明
ADMIN_USERNAME admin 默认管理员用户名
ADMIN_PASSWORD admin123 默认管理员密码
REGISTRATION_ENABLED false 是否允许用户自助注册(true/false)

⚠️DEFAULT_ADMIN_USERNAME(或 ADMIN_USERNAME 环境变量)为空且未开放注册时,系统不会显示账号密码登录入口,仅保留 OAuth 登录方式。

健康检查配置

变量 默认值 说明
HEALTH_CHECK_INTERVAL 30 健康检查间隔(秒)
HEALTH_CHECK_TIMEOUT 10 健康检查超时(秒)
HEALTH_CHECK_RETRIES 3 健康检查重试次数

HTTPS配置

将SSL证书放置在数据目录:

data/ssl/
├── fullchain.pem # 完整证书链
└── privkey.pem # 私钥

容器启动时会自动检测并启用HTTPS。

许可证

MIT License

About

通过对话挖掘用户需求,并自动生成专业的提示词,支持系统/用户提示词优化和版本管理,支持多轮对话绘图/改图,演示站:https://yprompt.252035.xyz 账号:demo/demo

Resources

Stars

Watchers

Forks

AltStyle によって変換されたページ (->オリジナル) /