Prerequisites

  1. Docker
  2. OpenAI API Key

Get started

  1. Copy Environment Variables

    Copy the example environment file to .env:

    cp .env.example .env
    
  2. Start the Application Use Docker Compose to start all required services:

    docker-compose up
    
  3. Access the App

    Once the containers are running, open your browser and go to http://localhost:3000.

  4. Login with Magic Link

    • Choose the “Magic Link” login option.
    • Enter your email.
    • Copy the magic link from terminal logs and open it in your browser.
  5. Create Your Private Space & Ingest Data

    • In the dashboard, go to the ingest section.
    • Type a message, e.g., I love playing badminton, and click “Add”.
    • Your memory is queued for processing; you can monitor its status in the server logs.
    • Once processing is complete, nodes will be added to your private knowledge graph and visible in the dashboard.
    • You can later choose to connect this memory to other tools or keep it private.
  6. Search Your Memory

    Use the dashboard’s search feature to query your ingested data within your private space.

Connecting to the API

You can also interact with C.O.R.E. programmatically via its APIs.

  1. Generate an API key

    In the dashboard, navigate to the API section and generate a new API key.

  2. API Endpoints

    • Use your API key to authenticate requests to the following endpoints:
      • Ingest API: POST /ingest
      • Search API: POST /search
    • See below for example request bodies and details.

Ingest API

  • Endpoint: /ingest

  • Method: POST

  • Authentication: Bearer token (API key)

  • Body Example:

    {
      "episodeBody": "I love playing badminton",
      "referenceTime": "2024-06-01T12:00:00Z",
      "source": "user", //  Which tool or user is ingesting
      "spaceId": "your-space-id", // optional, for multiple spaces
      "sessionId": "your-session-id" // optional
    }
    
  • Behavior:

    • Each ingestion is queued per user for processing in their private space.
    • The system automatically creates and links graph nodes.
    • You can monitor the status in the logs or dashboard.
    • You can later connect this memory to other tools as you wish.

Search API

  • Endpoint: /search

  • Method: POST

  • Authentication: Bearer token (API key)

  • Body Example:

    {
      "query": "badminton",
      "spaceId": "your-space-id", // optional
      "sessionId": "your-session-id" // optional
    }
    
  • Behavior:

Returns relevant text matches scoped to your private memory space.

Note: For detailed API schemas, see apps/webapp/app/routes/ingest.tsx
and apps/webapp/app/routes/search.tsx.