https://github.com/intu-labs/intu-persona-demo

https://github.com/intu-labs/intu-persona-demo

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.4%) to scientific vocabulary
Last synced: 8 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: intu-labs
  • License: apache-2.0
  • Language: TypeScript
  • Default Branch: head
  • Size: 301 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

INTU Persona Demo

Where AI Meets Web3: Create, Own, and Interact with Your Digital Persona

INTU Persona Demo showcases the seamless integration of AI and blockchain technology, enabling users to create unique AI-powered personas as NFTs that live on the blockchain while providing intelligent conversational experiences.

🚀 What You Can Do

🔐 Seamless Authentication

  • Single Sign-On (SSO): Login with your preferred provider
  • Automatic EVM Account: Get a blockchain account created automatically
  • Secure & Compliant: Built with INTU's unified execution layer

🎭 Create Your Digital Persona

  • AI-Generated Personalities: Create unique personas with distinct traits, appearances, and characteristics
  • NFT Ownership: Your persona becomes an NFT on Arbitrum Sepolia, permanently owned by your account
  • Customizable Traits: Gender, appearance, region, personality traits (confidence, sarcasm, charm, morality)
  • Smart Reroll System: Don't like your persona? Reroll up to 3 times to get the perfect match

💬 Intelligent Chat Experience

  • AI-Powered Conversations: Chat with your persona using advanced AI models (Ollama local, OpenAI)
  • Contextual Understanding: Your persona remembers conversations and maintains consistent personality
  • Real-time Responses: Fast, responsive chat interface with streaming support

💰 Blockchain Transactions in Chat

  • Direct Transaction Capability: Send blockchain transactions directly from the chat interface
  • EVM Integration: Full Ethereum Virtual Machine compatibility
  • Secure Execution: All transactions processed through INTU's secure infrastructure

🏗️ Architecture

This demo is built with three core components:

📡 MCP Server

The Data & AI Hub - Model Context Protocol (MCP) compliant server - Manages persona generation, chat sessions, and NFT metadata - Integrates with MongoDB for data persistence - Provides AI-powered persona creation with LLM integration - Handles image generation via RunPod/ComfyUI - IPFS integration for decentralized storage

🎼 Orchestrator

The Intelligence Layer - Coordinates between UI, MCP server, and AI providers - Manages conversation flow and context - Supports multiple LLM providers (Ollama, OpenAI, Anthropic) - Handles session management and real-time communication - Provides RESTful API for frontend integration

🎨 Frontend UI

The User Experience - Modern PWA built with Next.js, Vite, and TailwindCSS - Mobile-first responsive design - Real-time chat interface with streaming responses - Zustand state management (privacy-focused, no persistence) - Integrated wallet functionality for blockchain interactions

🛠️ Tech Stack

Frontend - Next.js, Vite, TailwindCSS - Zustand for state management - TypeScript for type safety

Backend - Node.js with TypeScript - Model Context Protocol (MCP) - MongoDB for data persistence - MinIO for object storage

AI & Image Generation - Ollama (Gemma3) for local AI - OpenAI API support - RunPod/ComfyUI for image generation - IPFS for decentralized storage

Blockchain - Ethers.js v5 for Ethereum interaction - INTU SDK for unified execution - Arbitrum Sepolia testnet - Custom ERC-721 for persona NFTs

🚀 Quick Start

Prerequisites

  • Node.js (v20+ recommended)
  • Docker and Docker Compose
  • MongoDB
  • (Optional) Ollama for local AI

Installation

  1. Clone and Install bash git clone https://github.com/intu-labs/intu-persona-demo.git cd intu-persona-demo pnpm install # or npm install

  2. Start Infrastructure ```bash docker compose up -d

    Starts MongoDB, MinIO, Ollama containers

    ```

  3. Configure Environment ```bash

    Configure MCP Server

    cd mcp-server cp env.example .env

    Edit .env with your API keys and settings

# Configure Orchestrator cd ../orchestrator cp env.example .env # Edit .env for your LLM provider settings ```

  1. Start Services ```bash # Terminal 1: MCP Server cd mcp-server pnpm run build && pnpm start

# Terminal 2: Orchestrator cd orchestrator pnpm run dev

# Terminal 3: Frontend cd ui pnpm run dev ```

  1. Access the Demo
    • Frontend: http://localhost:5173
    • Orchestrator API: http://localhost:3005
    • MCP Server: http://localhost:3000

🔧 Configuration

Environment Variables

MCP Server (.env) bash MONGODB_URI=mongodb://localhost:27017/persona-demo RUNPOD_API_KEY=your_runpod_key_here OPENAI_API_KEY=your_openai_key_here PINATA_JWT=your_pinata_jwt_here

Orchestrator (.env) bash MCP_SERVER_URL=http://localhost:3000 OPENAI_API_KEY=your_openai_key_here OLLAMA_HOST=http://localhost:11434

🎯 Use Cases

  • Digital Identity: Create persistent AI personas that represent you across applications
  • NFT Collections: Build collections of unique AI-generated characters
  • Conversational AI: Interact with personalized AI agents that maintain consistent personalities
  • Web3 Integration: Demonstrate seamless blockchain integration in AI applications
  • Developer Showcase: Exhibit Model Context Protocol (MCP) capabilities

🤝 Contributing

We welcome contributions! Please see our contributing guidelines and feel free to submit issues or pull requests.

📖 Documentation

📄 License

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

🔗 Links


Built with ❤️ by the INTU team

Owner

  • Name: INTU
  • Login: intu-labs
  • Kind: organization
  • Email: dev@w3key.co

Simple SDKs with Advanced Cryptography - Get Users On-chain!

GitHub Events

Total
  • Push event: 2
  • Create event: 2
Last Year
  • Push event: 2
  • Create event: 2

Dependencies

docker-compose.yml docker
  • mongo 6
mcp-server/src/services/imageGen/Dockerfile docker
  • nvidia/cuda 12.6.3-devel-ubuntu22.04 build
mcp-server/package.json npm
  • @rspack/cli ^1.1.6 development
  • @types/cors ^2.8.14 development
  • @types/express ^4.17.17 development
  • @types/morgan ^1.9.5 development
  • @types/multer ^1.4.12 development
  • @types/node ^20.6.0 development
  • cross-env ^7.0.3 development
  • ts-loader ^9.5.2 development
  • ts-node ^10.9.2 development
  • typescript ^5.8.3 development
  • @intuweb3/sdk ^0.0.433
  • @modelcontextprotocol/sdk ^1.10.2
  • @types/node-fetch ^2.6.12
  • cors ^2.8.5
  • dotenv ^16.3.1
  • ethers 5.7.2
  • express ^4.18.2
  • form-data ^4.0.2
  • minio ^8.0.5
  • mongoose ^7.5.0
  • morgan ^1.10.0
  • multer ^2.0.0
  • node-fetch ^3.3.2
  • openai ^5.1.1
  • zod ^3.22.4
orchestrator/package.json npm
  • @types/cors ^2.8.18 development
  • @types/express ^4.17.22 development
  • @types/node ^20.17.50 development
  • @types/node-fetch ^2.6.12 development
  • nodemon ^3.0.2 development
  • ts-node ^10.9.1 development
  • typescript ^5.3.3 development
  • @modelcontextprotocol/sdk ^1.10.2
  • @types/mongoose ^5.11.97
  • cors ^2.8.5
  • dotenv ^16.3.1
  • express ^4.18.2
  • mongoose ^8.15.0
  • node-fetch ^3.3.2
  • openai ^5.1.1
  • winston ^3.11.0
package.json npm
  • ts-node ^10.9.2 development
  • typescript ^5.8.3 development
  • minio ^8.0.5
  • mongodb ^6.16.0
  • node-fetch ^3.3.2
ui/package.json npm
  • @eslint/js ^9.25.0 development
  • @types/node ^22 development
  • @types/react ^18 development
  • @types/react-dom ^18 development
  • @vitejs/plugin-react ^4.4.1 development
  • autoprefixer ^10.4.21 development
  • eslint ^9.25.0 development
  • eslint-plugin-react-hooks ^5.2.0 development
  • eslint-plugin-react-refresh ^0.4.19 development
  • globals ^16.0.0 development
  • postcss ^8.5.3 development
  • tailwindcss ^3.4.17 development
  • typescript ~5.8.3 development
  • typescript-eslint ^8.30.1 development
  • vite ^5.4.10 development
  • @hookform/resolvers ^3.9.1
  • @intuweb3/web-kit ^0.2.41
  • @radix-ui/react-accordion 1.2.2
  • @radix-ui/react-alert-dialog 1.1.4
  • @radix-ui/react-aspect-ratio 1.1.1
  • @radix-ui/react-avatar 1.1.2
  • @radix-ui/react-checkbox 1.1.3
  • @radix-ui/react-collapsible 1.1.2
  • @radix-ui/react-context-menu 2.2.4
  • @radix-ui/react-dialog 1.1.4
  • @radix-ui/react-dropdown-menu 2.1.4
  • @radix-ui/react-hover-card 1.1.4
  • @radix-ui/react-label ^2.1.7
  • @radix-ui/react-menubar 1.1.4
  • @radix-ui/react-navigation-menu 1.2.3
  • @radix-ui/react-popover 1.1.4
  • @radix-ui/react-progress 1.1.1
  • @radix-ui/react-radio-group 1.2.2
  • @radix-ui/react-scroll-area 1.2.2
  • @radix-ui/react-select 2.1.4
  • @radix-ui/react-separator 1.1.1
  • @radix-ui/react-slider 1.2.2
  • @radix-ui/react-slot ^1.2.3
  • @radix-ui/react-switch ^1.2.5
  • @radix-ui/react-tabs 1.1.2
  • @radix-ui/react-toast ^1.2.14
  • @radix-ui/react-toggle 1.1.1
  • @radix-ui/react-toggle-group 1.1.1
  • @radix-ui/react-tooltip 1.1.6
  • @types/node ^22.15.21
  • @types/react ^18.3.22
  • @types/react-dom ^18.3.7
  • autoprefixer ^10.4.20
  • class-variance-authority ^0.7.1
  • clsx ^2.1.1
  • cmdk 1.0.4
  • date-fns 4.1.0
  • embla-carousel-react 8.5.1
  • ethers ^5.7.2
  • immer latest
  • input-otp 1.4.1
  • lucide-react ^0.511.0
  • react ^18.3.1
  • react-day-picker 8.10.1
  • react-dom ^18.3.1
  • react-hook-form ^7.54.1
  • react-markdown latest
  • react-resizable-panels ^2.1.7
  • recharts 2.15.0
  • sonner ^1.7.1
  • tailwind-merge ^3.3.0
  • tailwindcss-animate ^1.0.7
  • use-sync-external-store latest
  • vaul ^0.9.6
  • viem ^2.21.43
  • vite-plugin-wasm ^3.3.0
  • zod ^3.24.1
  • zustand ^5.0.5
ui/pnpm-lock.yaml npm
  • 351 dependencies