Skip to content

通过对话挖掘用户需求,并自动生成专业的提示词,支持系统/用户提示词优化和版本管理,演示站: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
  • 双数据库:SQLite(默认)+ MySQL(可选)
  • 响应式设计(桌面/移动端)

界面

系统架构

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 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
      - 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

本地认证配置

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

健康检查配置

变量 默认值 说明
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