Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/satellitecomponent/Neurite
Fractal Graph Desktop for Ai-Agents, Web-Browsing, Note-Taking, and Code.
https://github.com/satellitecomponent/Neurite
ai ai-agents ai-agents-framework ai-graphs auto-ai diagramming flowchart fractals graph graph-rag knowledge-graph mandelbrot mindmap note-taking rag retrieval-augmented-generation second-brain secondbrain web-browsing web-desktop
Last synced: 4 days ago
JSON representation
Fractal Graph Desktop for Ai-Agents, Web-Browsing, Note-Taking, and Code.
- Host: GitHub
- URL: https://github.com/satellitecomponent/Neurite
- Owner: satellitecomponent
- License: mit
- Created: 2023-04-05T19:43:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-11T18:23:36.000Z (7 months ago)
- Last Synced: 2024-04-11T23:56:36.552Z (7 months ago)
- Topics: ai, ai-agents, ai-agents-framework, ai-graphs, auto-ai, diagramming, flowchart, fractals, graph, graph-rag, knowledge-graph, mandelbrot, mindmap, note-taking, rag, retrieval-augmented-generation, second-brain, secondbrain, web-browsing, web-desktop
- Language: JavaScript
- Homepage: https://neurite.network/
- Size: 19.9 MB
- Stars: 728
- Watchers: 26
- Forks: 57
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- project-awesome - satellitecomponent/Neurite - Fractal Graph-of-Thought. Rhizomatic Mind-Mapping for Ai-Agents, Web-Links, Notes, and Code. (JavaScript)
README
[![License: MIT](https://img.shields.io/badge/License-MIT-purple.svg)](https://opensource.org/licenses/MIT)
[![Discord](https://img.shields.io/discord/1093603405609582755?style=flat&logo=discord&logoColor=white&label=Discord&color=%237289da)](https://discord.gg/NymeSwK9TH)# π **[neurite.network](https://satellitecomponent.github.io/Neurite/)** π
β οΈ `Warning:` Contains zooming, flashing lights, and colors which may not currently be suitable for people with photosensitive epilepsy.
π± This is an open-source project in active development.
Table of Contents
- Overview
- Introduction
- How to Use Neurite
- Synchronized Knowledge Management
- FractalGPT
- Multi-Agent UI
- User Guide
- Local Server Setup
- Neural API
- Future of Neurite
- Gallery
# Overview
### π‘ **[neurite.network](https://satellitecomponent.github.io/Neurite/) unleashes a new dimension of digital interface...**
### ***...the fractal dimension.***
Category
Feature
Description
Fractal Navigation
Real-time Fractal Zoom
Navigate and explore iterative equations in real-time. Evolve and organize aninfinite digital garden
with the help offractal mathematics
.
Fractal Customization
Display theMandelbrot set
, theBurning Ship
fractal, theJulia set
, and more. Customize thecolor
,quality
, andspeed
of generationβamong otherunique fractal controls
, such asgenerating the fractal according to your current mouse position.
Multi-Agent UI
AI Node Networks
Connect and manage multipleAI nodes
, enablingcollaborative communication
between multiple AI and the user viagraph-based multi-agent conversation
.
FractalGPT
Structured Memory Mapping
TheZettelkasten AI
responds as agraph of thoughts
.
Non-Linear Memory Access
Retrieve AI memories and conversation historiesnon-linearly
, enabling contextual responses that utilizegraph search
.
Synchronized Knowledge
Bi-Directional Sync
Sync updates between thefractal mind-mapping
workspace andZettelkasten Archives
, ensuring consistency between visual graph representations and text-based notes.
Custom Formatting
Neuriteis not locked into a specific note-taking format
. Setcustom tags
for personalized note headings and reference brackets.
Custom Note Creation
Text nodes supportcode highlighting and execution
. Define and testcustom nodes
without ever leaving Neurite.
Mind-Mapping
Physics-Based Graphs
Nodes arephysics simulated
to fall towards the fractal visualization. Utilize this feature toscatter and arrange
your thoughts.
Multimedia Interaction
Represent text, image, video, audio, webpages, PDFs, and AI agents.
AI Integration
Wolfram Alpha and Wikipedia Search
Integrateexternal 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 alocal 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, allowingadvanced users
to build custom interactions.
Function Calling Panel
Directly execute Neurite functions and animations from abuilt-in terminal
panel.
## `Introduction`
## Bridging Fractals and Thought
𧩠**Drawing from chaos theory and graph theory, Neurite unveils the hidden patterns and intricate connections that shape creative thinking.**
For over a year, we've been iterating out a virtually limitless workspace that blends the mesmerizing complexity of fractals with contemporary mind mapping technique.
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.
### `First of its Kind Fractal Zoom`
## [neurite.network](https://satellitecomponent.github.io/Neurite/) is unique in its ability to seamlessly navigate the Mandelbrot set in real time! π
Movements through the fractal are no longer interrupted at each step. Instead, the rendering persists and regenerates as you interact...
### `Why Nodes?`
### Nodes represent text, images, videos, code, and AI agents. Together, they thread a personalized microcosm of your thoughts and inspirations. π[neurite.network](https://satellitecomponent.github.io/Neurite/) 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.## `How to Use Neurite`
### π [Neurite](https://satellitecomponent.github.io/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.
## `Synchronized Knowledge Management`
neurite.network
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.
-
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!
## `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: Upon connection, AI nodes are programmed to end responses with a question or prompt, which is then sent to any other connected nodes. -
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, sending, or 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
### `Unbounded AI Collaboration`
### An open world generative landscape for thought integrated with artificial intelligence.
AI Inference Providers
Local
Cloud
### 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 together any HTML/CSS/JS codeblocks or editors. -
Python (Pyodide): Execute Python code directly within the browser.
Web Search
Utilize the Google programmable search API to retrieve webpages that can be sent as context to the AI.
Understands Webpages and PDFs
Leverage a local vector database to extend the AI's context window.
Wikipedia Results
Retrieve the top 3 Wikipedia results or shuffle through the top 20.
Wolfram Alpha Results
Display Wolfram Pods 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.
4. Navigate to localhost:8080 in your browser.
5. 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 serve as an optional backend and enable complete functionality.
### Download Localhost Servers [here](https://download-directory.github.io/?url=https%3A%2F%2Fgithub.com%2Fsatellitecomponent%2FNeurite%2Ftree%2Fmain%2Flocalhost_servers).
*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.
### `Final Notes`
- `Search`: Our distinctive search mechanism transports you through your intricate web of thoughts, directly zooming to the node you are looking for. The navigational experience isn't just a gimmick; it also helps to reinforce the spatial memory of where that piece of information resides within the larger framework.
- `Saving`: Your networks can be saved within the browser cache, or downloaded as a .txt file. Drag the .txt file into the save box, click load on the imported file, then click the second load button to display the network. πΎ Saving has been significantly enhanced! Now, node interactivity, fractal settings, and the Zettelkasten sync all fully restore when loading networks from the save tab...
- `Zettelkasten and Mind Mapping`: Create nodes through custom-defined syntax, or create nodes through UI interaction within our fractal workspace, who's contents are bi-directionally linked to the main Zettelkasten document.
- `Fractals`: We achieve real-time navigation of the Mandelbrot set by capturing a sparse set of points from the fractal and connecting them through SVGs. From there, we dynamically adapt the level of detail based on your viewport and cursor position. This evolving method is what ensures seamless fractal generation, interaction, as well as an expanding array of customizability options.
Neurite realizes tapestry of thought reasoning for Ai, all within our innovative real-time Mandelbrot visualization.
- Talk to the custom GPT, [Neurite GPT](https://chat.openai.com/g/g-OT9IVbW8H-neurite) 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.
## `Neural API`
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 initial release.
## `Future of Neurite`
### [Neurite](https://satellitecomponent.github.io/Neurite/) is a recursive environment for thought. The project combines fractals, mind-mapping, and ai to enable an experimental, yet powerful playground for research, code generation, writing, learning, and visualizing connections.
π§ `Neurite is in active development.` π§
See our contributing guidelines [here](https://github.com/satellitecomponent/Neurite/tree/local-ai).
Special thanks to [Flowbite](https://flowbite.com/) for the svg icons.
π§
## `Gallery`
If you are a developer who is interested in contributing to this project, contact us at [email protected] or visit our [discord](https://discord.gg/6fdmDF8SmT) π