2025-04-23 10:39:06 -07:00
..
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-22 10:31:41 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07:00
2025-04-21 14:51:08 -07: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.