Core concepts

Last updated: October 29, 2025

Nodes

Everything in RabbitHoles is a node. Node is a single unit of context. If it’s a chat node, it contains a back and forth conversation between a user and an AI model. If it’s a Web Node, it contains the parsed text of a given web url.

When you connect the right handle of Node A to left handle of Node B, Node B can derive context from Node A.

Types of nodes

Chat Node

Can accept incoming context and give outgoing context that we can connect to other chat nodes

Text Node

You can use these to store text snippets. These nodes can be plugged into Chat Nodes, so that the ChatNode can use the text snippet as context

Image Node

You can use these to add Images from files, or generate an image. When generating an Image, you can plug other image nodes to this node in order to provider reference image to the image generation model

Youtube Node

For a given youtube video url, this node gets the transcript of the video so that it can be connected to a chat node to have a conversation

Web Node

A web node allows you to parse content from any publicly available url. Once parsed, it can be plugged into a Chat Node, so that you can ask questions about the given webpage

File Node

A file node lets you add a file (pdf, docx, pptx, ppt, doc, xls, csv, md, and txt) from your computer as a node on the context. Once added, the file will begin processing so that we can use it with RAG Mode. You can still connect the file node to a chat node and chat about the content of the file while the file is processing. However, to use it with RAG mode, you need to wait for the file processing to be completed.


Creating Branches

Context always flow from left to right. You can create branches by:

Double-clicking on the right node handle.

Dragging the right node handle will let you drop a connector line on the canvas to create a new branch node at the desired position.

Right-clicking anywhere on the node and selecting "Create a new branch" from the context menu.

If Node A is connected to Node B, and Node B is connected to Node C, then the chat inside Node C will derive context from Node A + Node B.*

There can be multiple outgoing and incoming branches from a single node.

A node cannot be connected to itself.


Canvas

The Canvas is your visual workspace that helps you see how your nodes connect and how context moves from one node to another. You can move freely, zoom in or out, and organize nodes to create structured workflows.

For detailed usage, shortcuts, and controls, see the Canvas page.


RAG Mode

When you press “Ask” on a chat node which has incoming context from other nodes, it sends all the incoming context and the content within the node as it is. But when you toggle the RAG mode, before pressing “Ask”, we will inteligently fetch the most relevant chunks of text from all the incoming context, and only send that information to the LLM.

This is useful when dealing with large incoming context, or when you want to save AI costs for medium size context.

For small context sizes <10,000 tokens we don’t recommend using the RAG mode.*