Cover image

Une petite application de chat Web pour les modèles d'IA avec le support client MCP

3 years

Works with Finder

1

Github Watches

13

Github Forks

71

Github Stars

y-gui 🚀

A web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.

Check out y-cli for a CLI version.

✨ Features

  • 💬 Interactive chat interface with AI models
  • 🤖 Support for multiple bot configurations (any base_url/api_key/model combination)
  • 🔗 MCP (Model Context Protocol) client support with multiple server configurations
  • 🔒 Secure authentication with Auth0 and Google login
  • 🌓 Dark/light theme support
  • 📝 All chat data stored in Cloudflare KV/R2 for easy access and sync
  • 🔄 Real-time updates with SWR
  • 📱 Responsive design for all devices

Demo

demo

chat history

Architecture

y-gui consists of two main components:

  1. Frontend: React application with TypeScript, Tailwind CSS, and SWR for data fetching
  2. Backend: Cloudflare Workers with KV and R2 storage
flowchart TD
    Client[React Client] --> Worker[Cloudflare Worker]
    Worker --> KV[Cloudflare KV]
    Worker --> R2[Cloudflare R2]
    Worker --> AI[AI Providers]

    subgraph "Frontend"
        Client --> Components[React Components]
        Components --> State[SWR State]
        State --> API[API Layer]
    end

    subgraph "Backend"
        Worker --> Auth[Auth Middleware]
        Worker --> Storage[Storage Layer]
        Worker --> Provider[Provider Layer]
    end

⚡ Quick Start

Prerequisites

  1. Node.js and npm
  2. Cloudflare account
  3. Auth0 account
  4. API keys for AI providers

Installation

  1. Clone the repository:

    git clone https://github.com/luohy15/y-gui.git
    cd y-gui
    
  2. Install dependencies:

    npm install
    
  3. Configure environment variables:

    • Configure Cloudflare Worker settings in backend/wrangler.toml
    • Change the auth0 settings in frontend/src/index.tsx and backend/src/utils/auth.ts
  4. Build asset:

    npm run build
    
  5. Deploy cloudflare worker

    npm run deploy
    

🛠️ Development

Project Structure

y-gui/
├── frontend/               # React frontend application
│   ├── src/
│   │   ├── components/     # React components
│   │   ├── contexts/       # React contexts
│   │   ├── utils/          # Utility functions
│   │   └── index.tsx       # Entry point
├── backend/                # Cloudflare Worker backend
│   ├── src/
│   │   ├── api/            # API endpoints
│   │   ├── middleware/     # Middleware
│   │   ├── repository/     # Data access
│   │   └── index.ts        # Worker entry
├── shared/                 # Shared code between frontend and backend
│   └── types/              # TypeScript type definitions
└── memory-bank/            # Project documentation

Available Scripts

  • npm run dev: Start both frontend and backend development servers
  • npm run dev:frontend: Start only the frontend development server
  • npm run dev:backend: Start only the backend development server
  • npm run build: Build both frontend and backend
  • npm run deploy: Deploy the backend to Cloudflare Workers
  • npm run test: Run tests

🔒 Authentication

y-gui uses Auth0 for authentication with the following features:

  • Universal Login
  • Google social login
  • Token-based session management
  • Secure API access

🤖 Bot Configuration

y-gui supports multiple bot configurations with the following properties:

  • Name
  • Model
  • Base URL
  • API Key
  • Print Speed
  • MCP Servers
  • API Type
  • Custom API Path
  • Max Tokens
  • Reasoning Effort

🔗 MCP Server Configuration

MCP (Model Context Protocol) servers can be configured with:

  • Name
  • Command
  • Arguments
  • Environment Variables
  • URL
  • Token

🌐 API Endpoints

The backend provides RESTful API endpoints for:

  • Chat operations
  • Bot configuration management
  • MCP server configuration management
  • Authentication

🔄 Data Storage

  • Chat data is stored in Cloudflare KV
  • Backup data is stored in Cloudflare R2
  • Bot and MCP server configurations are stored in Cloudflare R2

🧩 Technologies Used

  • Frontend: React, TypeScript, Tailwind CSS, SWR, Auth0
  • Backend: Cloudflare Workers, KV, R2
  • Build Tools: Vite, Wrangler, TypeScript

📚 Documentation

For more detailed documentation, see the memory-bank directory.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

相关推荐

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • 林乔安妮
  • A fashion stylist GPT offering outfit suggestions for various scenarios.

  • apappascs
  • Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.

  • ShrimpingIt
  • Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX

  • pontusab
  • La communauté du curseur et de la planche à voile, recherchez des règles et des MCP

  • av
  • Exécutez sans effort LLM Backends, API, Frontends et Services avec une seule commande.

  • ravitemer
  • Un puissant plugin Neovim pour gérer les serveurs MCP (Protocole de contexte modèle)

  • 1Panel-dev
  • 🔥 1Panel fournit une interface Web intuitive et un serveur MCP pour gérer des sites Web, des fichiers, des conteneurs, des bases de données et des LLM sur un serveur Linux.

  • jae-jae
  • MCP Server pour récupérer le contenu de la page Web à l'aide du navigateur sans tête du dramwright.

  • Mintplex-Labs
  • L'application tout-en-un desktop et Docker AI avec chiffon intégré, agents AI, constructeur d'agent sans code, compatibilité MCP, etc.

  • patruff
  • Pont entre les serveurs Olllama et MCP, permettant aux LLM locaux d'utiliser des outils de protocole de contexte de modèle

  • GeyserMC
  • Une bibliothèque de communication avec un client / serveur Minecraft.

    Reviews

    5 (1)
    Avatar
    user_sNbXChfa
    2025-04-17

    As a dedicated user of MCP applications, y-gui by luohy15 has truly impressed me. This well-crafted tool offers a seamless and intuitive user interface, making my workflows more efficient. I highly recommend checking it out on GitHub: https://github.com/luohy15/y-gui. If you're looking for a robust and user-friendly UI solution, y-gui is definitely worth exploring.