/Magick

AI wizard powers for mere mortals

Primary LanguageTypeScriptOtherNOASSERTION

MAGICK

Twitter Follow

Magick is a visual IDE for no-code data pipelines and multimodal agents. Magick can connect to other services and comes with nodes and connectors well-suited for intelligent agents, chatbots, complex reasoning systems and realistic characters.

Key Features

  • Powerful graph-based IDE for complex data pipelines
  • Realtime agents which can perform actions on their own, interact with users and other agents in different modalities with a unified memory and self
  • Social connectors to Discord, Twitter and Twilio -- Zoom, Google Meet, Reddit, Slack connectors will be available soon as plugins!
  • Search Google, Wikipedia and the Semantic Web
  • Many included powertools, including voice and image generation and vector search
  • Graphs can be embedded in subgraphs and shared for rapid community development

Powerful enough for wizards. Easy enough for mere mortals.

Looks cool, but this whole Github thing is way over my head...

Don't worry, there is a hosted version too! Sign up here

We'll also be releasing a packaged app release you can run (.exe, .app) soon!

Installation

First, clone and set up Magick

git clone https://github.com/Oneirocom/Magick

Next, install dependencies

npm install

Run Magick!

npm run dev

Development

There are a few things to keep in mind while this project is actively being worked on.

Database

Local Sqlite (default)

NOTE: If you're using Microsoft Windows, required sqlite extensions won't work, please use postgres.

Simply add a relative or absolute path to your sqlite file in the .env, run npm run migrate.

NOTE:

There are two sqlite extensions used, sqlite-vector and sqlite-vss

based on the docs, on Linux machines, you'll have to install some packages to make it work:

  sudo apt-get update
  sudo apt-get install -y libgomp1 libatlas-base-dev liblapack-dev 

No extra steps for MacOS.

Supabase public database

Please be aware Magick is under heavy development and changes can cause your DB to be wiped. Back up your spells via export regularly.

Magick can connect to a test database on Supabase. It will get you going, but it will likely be wiped regularly and is not a good storage for your spells.

just enable the pg database in the .env file.

Deploy your own database

To deploy your own database, we suggest using Supabase or another Postgres database. The current setup for events and documents requires the pgvector extension to be enabled.

The following documents should help you with setup:

To initialize a new database, you will probably need to call migrate. Magick uses Feathers 5 for backend, which in turn uses Knex for making database queries. To migrate the database, cd to apps/server and run npm run migrate.

You will need to change the connection property in feathers config. We will offer a better database configuration experience in the future, for now we suggest find and replacing any URLs that point to the database (ctrl f postgresql://)

Self signed certificates

Developing locally, it can be very helpful to have google chrome accept all self signed cetificates coming from localhost. To do this, simply paste the following snippet into chromes URL bar and enable the feature:

chrome://flags/#allow-insecure-localhost

Contributors

All Contributors

Michael
Michael

💻 📦 💼
M̵̞̗̝̼̅̏̎͝Ȯ̴̝̻̊̃̋̀Õ̷̼͋N̸̩̿͜ ̶̜̠̹̼̩͒
M̵̞̗̝̼̅̏̎͝Ȯ̴̝̻̊̃̋̀Õ̷̼͋N̸̩̿͜ ̶̜̠̹̼̩͒

💻 📦
alextitonis
alextitonis

💻
Daniel Adams
Daniel Adams

💻
Anthony Burchell
Anthony Burchell

💻 📝
jin
jin

📝
Shivaditya Shivganesh
Shivaditya Shivganesh

💻
khalildh
khalildh

💻
Pigloo
Pigloo

💻
avirtualfuture
avirtualfuture

💻
Alexandre Ferreira
Alexandre Ferreira

💻
Matei Anghel
Matei Anghel

💻

Based on Thoth by Latitude Games

The original source code was made by the following contributors to Thoth, which is archived here

Jakob
Jakob

💻
Sean Gillespie
Sean Gillespie

💻
Michael
Michael

💻
Preston Gull
Preston Gull

💻🎨
Nick Walton
Nick Walton

💻
Mitchell Gordon
Mitchell Gordon

💻
?/janus
?/janus

💻
Alan Walton
Alan Walton

💻

Come Build With Us!

We are building Magick as a community in the open on Discord. If you are interested in contributing to the project, we'd love to have you.

Join us here: https://discord.gg/magickml