Skip to content

Fractal Graph-of-Thought. Rhizomatic Mind-Mapping for Ai-Agents, Web-Links, Notes, and Code.

License

Notifications You must be signed in to change notification settings

satellitecomponent/Neurite

Repository files navigation

License: MIT Discord

🌐 neurite.network 🌐

⚠️ Warning: Contains flashing lights and colors which may affect those with photosensitive epilepsy.

🌱 This is an open-source project in active development.

Table of Contents

  1. Introduction
  2. Key Features
  3. How to Use Neurite
  4. Synchronized Knowledge Management
  5. FractalGPT
  6. Multi-Agent UI
  7. User Guide
  8. Local Server Setup
  9. Neural API
  10. Join the Conversation
  11. Gallery
whyfractals3

Introduction

Bridging Fractals and Thought

💡 neurite.network unleashes a new dimension of digital interface...

...the fractal dimension.

🧩 Drawing from chaos theory and graph theory, Neurite unveils the hidden patterns and intricate connections that shape creative thinking.

For over two years we've been iterating out a virtually limitless workspace that blends the mesmerizing complexity of fractals with contemporary mind-mapping techniques.

Why Fractals?

The Mandelbrot Set is not just an aesthetic choice - fractal logic is ingrained into a countless number of natural and constructed phenomena - from polynomial equations, to art and music - even the cosmic web.

🌀 Fractals act as the cross-disciplinary framework for non-integer dimensional thought - where conventional notions of 4D spacetime are put into question.

The goal of this project is to grow agentic graphs of fractal creativity & collaboration.

whyfractals

whynodes

Why Nodes?

Nodes represent text, images, videos, code, and AI agents. Together, they thread a personalized microcosm of your thoughts and inspirations. 🔭.

neurite.network connects physics simulation of graphs with an underlying fractal topology to kinematically define interactive, iterative, and modular graphs of ideation.

Complexity Inspires Creativity / Basins Attract

Whether you're a researcher, writer, artist, developer, educator, or simply a curious thinker, Neurite offers a departure from the conventional interface. It's an interactive landscape tracing your ever-branching pathways of thought.

Movements through the fractal are no longer interrupted at each step. Instead, the rendering persists and regenerates as you interact...

neurite.network is unique in its ability to seamlessly navigate the Mandelbrot set in real time! 🚀

Key Features

Category Feature Description
Fractal Navigation Real-time Fractal Zoom Navigate and explore iterative equations in real time. Evolve and organize an infinite digital garden with the help of fractal mathematics.
Fractal Customization Display the Mandelbrot set, the Burning Ship fractal, the Julia set, and more. Customize the color, quality, and speed of generation—among other unique fractal controls, such as generating the fractal according to your current mouse position.
Multi-Agent UI AI Node Networks Connect and manage multiple AI nodes, enabling collaborative communication between multiple AI and the user via graph-based multi-agent conversation.
FractalGPT Structured Memory Mapping The Zettelkasten AI responds as a graph of thoughts.
Non-Linear Memory Access Retrieve AI memories and conversation histories non-linearly, enabling contextual responses that utilize graph search.
Synchronized Knowledge Bi-Directional Sync Sync updates between the fractal mind-mapping workspace and Zettelkasten Archives, ensuring consistency between visual graph representations and text-based notes.
Custom Formatting Neurite is not locked into a specific note-taking format. Set custom tags for personalized note headings and reference brackets.
Custom Note Creation Text nodes support code highlighting and execution. Define and test custom nodes without ever leaving Neurite.
Mind-Mapping Physics-Based Graphs Nodes are physics simulated to fall towards the fractal visualization. Utilize this feature to scatter and arrange your thoughts.
Multimedia Interaction Represent text, image, video, audio, webpages, PDFs, and AI agents.
AI Integration Wolfram Alpha and Wikipedia Search Integrate external knowledge sources, like Wolfram Alpha and Wikipedia, with results displayed as nodes in the fractal workspace.
Web and PDF Integration Retrieve and store information from websites and PDFs using a local vector database for contextual AI responses.
Neural API Neural API Execute Neurite’s functions and code sequences within the fractal environment through an exposed API, allowing advanced users to build custom interactions.
Function Calling Panel Directly execute Neurite functions and animations from a built-in terminal panel.

How to Use Neurite

📚 Neurite lets you embed anything - text, photos, audio, video, PDFs, AI, and webpages - directly within the Mandelbrot set.

Drag and drop or Paste local files and web content straight into the fractal.

⚙️Controls⚙️

Category Key/Combination Action
Navigation Click and Drag Move around
Scroll Zoom through the fractal
Node Essentials Shift + double click Create text node
Shift Freeze time
Hold Shift + Click Connect two nodes
Hold Shift + Double Click Expand collapsed node.
Double Click Anchor a node
Right Click List and run Node Methods. (delete, connect, extractText, zoomTo, among many others!)
Node Selection & Arrangement Alt/Option + Drag Node Arrange the node (avoids text selection)
Alt/Option + Click Select nodes
Alt/Option + Drag Canvas Select multiple nodes
Arrow Keys Move selected nodes
d Scale selected nodes down
f Scale selected nodes up
Fractal Controls Edit Tab Main sliders for fractal rendering and color
Alt/Option + f Freeze the currently displayed fractal lines
Alt/Option + c Clear any frozen lines
Alt/Option + s Save the fractal lines as a PNG

Custom ## title and [[reference]] tags can be set in the Zettelkasten Settings. To access the Zettelkasten Settings, click the note icon in the top left corner of the dropdown.

*Full controls are listed in the ? tab within Neurite's main dropdown.

UI Tips

  • Optimal Node Placement: Zoom in Scroll to create space for new nodes to ensure they have room to expand.
  • Managing Windows: Drag windows by their title bar and resize by scrolling while holding Shift.
  • Freezing Nodes: Hold Shift to freeze nodes in place, then Double Click nodes to anchor them in place.
  • Ai Tutorial: The HOW-TO checkbox sends a context message to the AI that allows it to answer some questions about Neurite.

whynodes3

Synchronized Knowledge Management

Markdown formatted, bi-directional synchronization between UI-focused Mind-Mapping and text-based hyperlinking.

  • FractalGPT: Engage with non-linear, rhizomatic memory through our biomimetic interface.
  • Local AI: Privacy-focused, connect to any locally hosted instance of Ollama or your own custom endpoint.
  • Vector Embeddings: Grow a database of memories that can switch out as context for an increasing number of Ai systems.
  • Chaos and Order: Navigate through the depths of Neurite's non-linear environment at the boundary between stability and disorder.

SKM3

SKM

  • Dynamic Fractal Backdrop: Interactive, multi-media orchestration.
  • Zoom-to-Node: Navigate directly to and between nodes within the Mandelbrot set.
  • Bi-Directional Sync: Real-time updates between Mind Map and Zettelkasten.
  • Zettelkasten and Mind Mapping: Nodes are dynamic objects that can be interacted with from any approach.
  • Endless Exploration: Build custom interfaces within Neurite for any task you have in mind.

Build your Zettelkasten through UI interactions in the Mind Map, and reciprocally shape the Mind Map through text-based note-taking in the Zettelkasten. This navigational fluidity offers unprecedented control over both the granular and macroscopic perspectives of your information.

FractalGPT

Not your typical chat interface

Modular Conversation

In Neurite, you don't just interact with AI; you grow its contextual memory, thanks to:

  • Structured Memory Mapping: Anchor the AI's thought process as notes within an evolving fractal mind map.
  • Graph your AI Conversations: Segment AI's responses into a cohesive web of thought that both improves AI reasoning and allows for the history of your chain of thought to dynamically construct the AI's memory.
  • Interactive Fractal Network: Neurite's fractal interface acts as a personal, emergent, and contextually aware database of knowledge.
  • Intuitive Note Navigation: Effortlessly access and pull your notes into view, no matter where they are within the fractal landscape.

Fractals are the rabbit hole for endless exploration of thought!

lucky999 FractalGPT

Multi-Agent UI

🤖 Build Multi-Agent Chat Networks 🤖💬🗨️🤖🗨️🤖

  • Connected AI nodes send messages to one another. This idea contains endless possibilities. (Hold Shift + Click two node windows to connect. Click connections to change their direction. Shift + Double Click to delete.)
  • Supports Local and Cloud-based models concurrently.

flow-based Ai-Agents ⛓️💭

🔄 Message Looping: Initiate conversational threads across connected AI nodes.

  • Prompt Generation:Connected nodes send messages to one another. They can begin messages with @ for references to other Ai or @self, and / for a growing range of commands such as /exit to exit a loop.
  • Ai Logic Circuits:
    • Determine Conversation Hierarchy: Take control of Ai conversation flows via Neurite's modular user interface. Adjust the direction of conversation across connected AI nodes between two-way, or sending/receiving.
  • Graph Context:
    • Networked Instructions: Ai nodes read all connected graphs.
    • Shared Instructions: Compare Various AI models from the same set of prompts.
  • Connect Data:
    • Read Connected Web-Link Nodes: Connect webpages and Ai nodes to utilize RAG search for that document. Create specialized autonomous agent swarms via mind mapping.
  • Related Research: Conversational Swarm Intelligence Paper

Multi-Agent Chat Networks Multi-Agent Chat Networks3 Multi-Agent Chat Networks2

Unbounded AI Collaboration

An open-world generative landscape for thought integrated with artificial intelligence.

AI Inference Providers

Local Cloud
Ollama OpenAI
transformers.js Groq
Custom Anthropic

Neurite Supports the following AI Plugins: ⚡

Plugin Description
Auto Mode Enable the AI to recursively generate its own prompts.
Long-Term Memory Utilize nodal recall through our vector-embedded search of your notes and conversation. Includes experimental ability to forget certain memories.
Experimental Code Editor
  • HTML/JS: Render GPT's code output directly. Connected nodes bundle any HTML/CSS/JS code blocks or editors.
  • Python (Pyodide): Execute Python code directly within the browser.
Web Search Search the web from directly within Neurite. Ai-assisted search automation.
Understands Webpages and PDFs Leverage a local vector database that allows Ai to retrieve context from webpages and PDFs.
Wikipedia Results Retrieve the top 3 Wikipedia results or shuffle through the top 20. (novelty mode)
Wolfram Alpha Results Local Wolfram Plugin where Ai thinks ahead of the query. Provide Wolfram results to Ai and display them as nodes.

All API keys can be input through the AI tab in the menu dropdown.

User Guide

To run Neurite locally,

either:

  1. Clone the repository
  2. Navigate to the cloned directory in your terminal (either main or local-ai branch)
  3. Install any necessary global dependencies when running the below, (Vite)
npm install
npm run build
npm start

*optionally run npm start:host to access Neurite from devices connected to the same network.

  1. Navigate to localhost:8080 in your browser.
  2. Ensure the Localhost Servers are running to leverage Neurite's full capabilities.

Local Server Setup

The Localhost Servers are an important component of Neurite that serves as an optional backend and enables complete functionality.

Download Localhost Servers here.

*alternatively clone the entire repo.

The servers enable the local Vector Database, webpage/pdf text extraction, Wolfram Alpha Results, and Wikipedia Results.

  • The localhost servers require npm and Node.js
  • Without any servers running, Wolfram, Wiki, the Vector Database, and Webpage extractions will not function.
  • All servers can be run with one command. Download the Localhost Servers folder, or find it in your cloned directory. Once navigated to the Localhost Servers folder in your command line, run
  node start_servers.js

This will install and run all of the servers at once. They'll work on our GitHub pages host of Neurite, or any other way you locally access the interface.

As of our recent update, the servers now support an AI proxy that connects Neurite to any inference backend.

neuritedemo1

Neurite realizes a tapestry of thought reasoning for AI, all within our innovative real-time Mandelbrot visualization.

  • Talk to the custom GPT, Neurite GPT with access to Neurite's code and readme. (This is not the ai that interacts with Neurite itself)

Long Term Memory for Ai

  • Neurite incorporates note-taking to retain a non-linear conversation history.
  • We feed both the recent conversation as well as any matched notes that are not already in the recent conversation as part of the context message to the Ai.
  • This means retaining relevant information from any part of the conversation regardless of the AI's context window size.
  • Still, advancements in context window size only further enable Neurite's performance.

AI Integration Diagram

Neural API

neuralapi

Experimental Update: Function Calling Panel

This feature is a terminal that allows you to execute Neurite's code from within Neurite itself.

Included with the function calling panel update is our Neural API. The Neural API is a growing collection of existing features within Neurite, made for sequencing animations of function calls. The current features include:

  • Animate movements through the Mandelbrot set
  • Determine exact coordinates to zoom to
  • Call GPT 4 Vision to determine the next movement (set number of iterations)
  • Create notes
  • Prompt the Zettelkasten Ai
  • Prompt the user
  • Search and Zoom to Notes

You can call on GPT to construct the sequences of function calls itself. It has access to the documentation.

For the current documentation, try calling the below from within the function panel:

const neuralAPI = neuralApiPrompt();
console.log(neuralAPI);

The current Neural API documentation will display in your call history for the function calling panel as well as in your browser console.

There will be more information on this soon. This is a new feature in the initial release.

Join the Conversation

See our contributing guidelines here.

If you are a developer who is interested in contributing to this project, contact us at [email protected] or visit our discord 🔗

Gallery

whyfractals3 whyfractals2 whyfractals whyfractals4 whyfractals6 whyfractals5 SKM SKM3 whynodes2

Star History Chart

Special thanks to Flowbite for the svg icons.