morphik-core/ui-component
2025-04-18 23:11:48 -07:00
..
2025-04-17 20:52:18 -07:00
2025-01-11 05:52:00 -05:00
2025-03-03 18:05:51 -05:00

@morphik/ui

A modern React-based UI for Morphik, built with Next.js and Tailwind CSS. This component provides a user-friendly interface for:

  • Document management and uploads
  • Interactive chat with your knowledge base
  • Real-time document processing feedback
  • Query testing and prototyping

Installation

npm install @morphik/ui

Usage

import { MorphikUI } from '@morphik/ui';

export default function YourApp() {
  return (
    <MorphikUI 
      connectionUri="your-connection-uri" 
      apiBaseUrl="http://your-api-base-url" 
      isReadOnlyUri={false}
      onUriChange={(uri) => console.log('URI changed:', uri)}
    />
  );
}

Props

Prop Type Default Description
connectionUri string undefined Connection URI for Morphik API
apiBaseUrl string "http://localhost:8000" Base URL for API requests
isReadOnlyUri boolean false Controls whether the URI can be edited
onUriChange (uri: string) => void undefined Callback when URI is changed

Prerequisites

  • Node.js 18 or later
  • npm or yarn package manager
  • A running Morphik server

Development Quick Start

  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev
  1. Open http://localhost:3000 in your browser

  2. Connect to your Morphik server using a URI from the /local/generate_uri endpoint

Features

  • Document Management

    • Upload various file types (PDF, TXT, MD, MP3)
    • View and manage uploaded documents
    • Real-time processing status
    • Collapsible document panel
  • Chat Interface

    • Real-time chat with your knowledge base
    • Support for long messages
    • Message history
    • Markdown rendering
  • Connection Management

    • Easy server connection
    • Connection status indicator
    • Automatic reconnection
    • Error handling

Development

The UI is built with:

Project Structure

ui-component/
├── app/              # Next.js app directory
├── components/       # Reusable UI components
├── lib/             # Utility functions and hooks
└── public/          # Static assets

Building for Production

npm run build
npm start

Contributing

We welcome contributions! Please feel free to submit a Pull Request.

License

This project is part of Morphik and is licensed under the MIT License.