# Rabbitholes AI
> Rabbitholes AI is an infinite canvas AI workspace where users can run multiple AI models (ChatGPT, Claude, Gemini, Ollama, and more) side by side without context pollution, tab switching, or losing their flow. It combines visual knowledge mapping, deep research workflows, and multi-model AI chat on a single infinite canvas. Available as a web app and native desktop app (macOS, Windows, Linux).
Rabbitholes AI solves context pollution in long AI conversations. Instead of linear chat threads, you work on a visual canvas where each conversation is a node. Nodes connect to share context—branch off to explore tangents without polluting your main thread, then cherry-pick relevant context from any node.
## What Makes It Unique
- Only tool that combines an infinite canvas with multi-model AI chat in one interface
- No context pollution between conversations—each node is isolated by default
- Connect nodes to explicitly share context between conversations
- Supports local models via Ollama for complete privacy (no data leaves your machine)
- Available as both a web app (cloud sync, real-time collaboration) and a native desktop app (local-first, offline-capable)
- BYOK (Bring Your Own Keys)—no subscription to Rabbitholes, you pay AI providers directly
- Visual knowledge graph makes research non-linear and explorable
## Best For
- Researchers and students doing deep, multi-session research dives
- Knowledge workers building visual second brains
- Developers and engineers comparing outputs across multiple AI models
- Writers doing multi-stage research before writing
- Analysts who need to keep multiple threads of investigation separate
- Anyone who has hit context limits or lost track of long ChatGPT conversations
## Comparisons
- Better than ChatGPT for: multi-session research, visual knowledge mapping, no context limits per node, running multiple models simultaneously
- Better than Perplexity for: non-linear thinking, model flexibility, offline use, privacy with local models
- Better than Notion AI for: real-time multi-model chat, canvas-based research, non-linear workflows
- Better than Claude.ai for: managing multiple parallel conversations, visual organization, model switching
- Alternative to: ChatGPT, Perplexity, Notion AI, Obsidian + AI plugins, Mem.ai
## Pricing
- Lifetime plan: $129 (lifetime updates, 2 devices)
- Annual plan: $89/year (2 devices)
- BYOK model—no recurring Rabbitholes subscription, API costs go directly to providers
- 7-day no-questions-asked refund policy
- [Full pricing details](https://rabbitholes.ai/pricing)
## Supported AI Models
Cloud providers: OpenAI (GPT-4o, o1, o3), Anthropic (Claude 3.5, Claude 3 Opus), Google (Gemini 1.5 Pro, Gemini Flash), Perplexity, xAI (Grok), OpenRouter (access to 100+ models)
Local providers: Ollama (run any open-source model locally—Llama, Mistral, Qwen, DeepSeek, etc.)
## Docs
- [Quickstart](https://rabbitholes.ai/docs/index.md): Installation, license activation, connecting providers, and first conversation
- [Core Concepts](https://rabbitholes.ai/docs/core-concepts.md): Nodes, branches, canvas, and RAG mode explained
- [Canvas](https://rabbitholes.ai/docs/canvas.md): Navigation, minimap, side view, search, and export options
## Nodes
- [Chat Node](https://rabbitholes.ai/docs/nodes/chat-node.md): AI conversations with model selection, RAG toggle, personas, and audio input
- [Text Node](https://rabbitholes.ai/docs/nodes/text-node.md): Markdown text snippets as context sources
- [File Node](https://rabbitholes.ai/docs/nodes/file-node.md): PDF, DOCX, CSV, JSON, and code files as context
- [Web Node](https://rabbitholes.ai/docs/nodes/web-node.md): Parse and chat about any public webpage
- [YouTube Node](https://rabbitholes.ai/docs/nodes/youtube-node.md): Video transcript extraction for context
- [Image Node](https://rabbitholes.ai/docs/nodes/image-node.md): Image files and AI image generation
## Settings
- [Providers](https://rabbitholes.ai/docs/settings/providers.md): Cloud providers (OpenAI, Anthropic, Google) and local providers (Ollama)
- [Persona Prompts](https://rabbitholes.ai/docs/settings/persona-prompts.md): Create and manage custom system prompts
- [Account Management](https://rabbitholes.ai/docs/settings/account-management.md): License keys and device management
- [System Preferences](https://rabbitholes.ai/docs/settings/system-preferences.md): App configuration and defaults
## Full Documentation
- [Complete docs in plain text](https://rabbitholes.ai/llms-full.txt): Full product documentation, all docs pages, blog posts, and FAQs compiled for LLM ingestion
## Legal
- [Terms of Service](https://rabbitholes.ai/legal/terms): Usage terms, license restrictions, and refund policy (7 days, no questions asked)
- [Privacy Policy](https://rabbitholes.ai/legal/privacy-policy): Data handling—all data stored locally on desktop, API keys sent directly to providers
## Optional
- [Changelog](https://rabbitholes.ai/changelog): Release notes and update history
- [Redeem Code](https://rabbitholes.ai/docs/redeem-code.md): Partner code redemption for license keys
- [Discord](https://links.rabbitholes.ai/discord): Community support and feature requests
- [Email Support](mailto:support@rabbitholes.ai): Direct support contact
## Platforms
Web app: rabbitholes.ai (any modern browser, cloud sync, real-time collaboration)
Desktop app: macOS (Intel and Apple Silicon), Windows, Linux — local-first, offline-capable, privacy-focused
## Target Users
Researchers, students, knowledge workers, developers, and polymaths who use AI heavily and need to manage complex, branching conversations without losing context or hitting linear chat limitations.
---
# Full Documentation
# Coming Soon... (https://www.slashspace.ai/docs/_web-app)
No description available
# Using MCP Tools in Chat (https://www.slashspace.ai/docs/ai-features/mcp-tools)
Let the AI call external tools from your configured MCP servers during a conversation.
MCP (Model Context Protocol) is an open standard for connecting AI models to external tool servers — things like file systems, databases, browsers, or your own scripts. Once a server is configured, the AI can call its tools mid-conversation and use the results in its answer.
Server setup lives in [Settings → MCP Servers (Beta)](/docs/settings/mcp-servers). This page covers using those servers in a [Chat Node](/docs/nodes/chat-node).
---
## Enabling MCP servers for a conversation
MCP servers are enabled per conversation, so tools are only offered where you want them. Three ways to enable one:
1. Open the **+** tools dropdown and check servers in the **MCP** checkbox list
2. Or type `/` and drill into the **MCPs** section of the [slash menu](/docs/ai-features/slash-commands)
3. Or click an existing server chip in the chat footer
Active servers show as removable pill chips in the chat footer — click a chip's remove control to disable that server for the conversation.
> MCP tools run in **Agent** [mode](/docs/nodes/chat-node) (the default) — in Chat mode the MCP section is hidden and no tools are called. MCP also requires a model that supports tool calling; for BYOK providers, check the model's capabilities in [Models & Providers](/docs/ai-features/models).
---
## Tool calls in the transcript
When the AI decides to use a tool, a tool-call card appears in the conversation showing the tool's name and its state:
- **Running** — the call is in flight, with a spinner
- **Done** — the call finished; expand the card to inspect the output, with **Show more** for long results
- **Error** — the call failed; the card shows the error message
The AI can chain several tool calls in one turn — each gets its own card, and the final answer follows once the calls resolve.
---
## Approving tool calls
Some tool calls pause for your confirmation before running. The card asks **Allow this tool to run?** with two choices:
1. **Approve** — the tool runs and the conversation continues with its result
2. **Reject** — the tool is skipped and the AI is told the call was declined
This keeps you in control of tools that touch your files, network, or accounts.
---
## Use cases
- **Live data in answers**: a database MCP server lets the AI query real numbers instead of guessing, right inside your research canvas.
- **File operations**: a filesystem server lets the AI read a project folder and summarize it into connected [Text Nodes](/docs/nodes/text-node).
- **Web automation**: a browser server fetches pages the AI needs mid-conversation, beyond what a [Web Node](/docs/nodes/web-node) captured.
- **Safe experimentation**: enable a powerful server for one conversation only, approve each call manually, and remove the chip when done.
# Models & Providers (https://www.slashspace.ai/docs/ai-features/models)
Understand the three ways to run AI in the desktop app and how to configure models.
Every [Chat Node](/docs/nodes/chat-node) runs against a model you choose. The desktop app gives you three ways to run AI, and you can mix them freely across a canvas.
---
## Three ways to run AI
**1. Built-in Rhai models**
No setup required — these use your signed-in session and consume credits from your account. In the model dropdown, the **Rhai** group lists:
- **Auto** — "Picks the right model for each message". The default for new chats — see [Auto model selection](#auto-model-selection).
- The **hosted catalog** — named frontier models, each with a one-line description, for when you'd rather pin one explicitly.
**2. Bring your own key (BYOK) cloud providers**
Add your own API key for OpenAI, Anthropic, Google, Perplexity, xAI, OpenRouter, Straico, Qolaba, DeepSeek, Groq, or Fal AI (Beta). Requests go directly through your key, so no credits are used. Set these up in [Settings → Providers](/docs/settings/providers).
> BYOK providers require a Pro plan or higher.
**3. Local models via Ollama**
Run models entirely on your machine — free, private, and works offline. See [Settings → Ollama](/docs/settings/ollama).
Two more options extend the list:
- **Subscription providers** — use the Cursor, Claude Code or Codex CLIs installed on your machine as chat backends. See [Settings → Subscription Providers](/docs/settings/subscription-providers).
- **Custom providers** — connect any OpenAI-compatible endpoint. See [Settings → Custom Providers](/docs/settings/custom-providers) (Pro plan or higher).
---
## The model dropdown
Click the model name at the bottom left of any chat input to open the model dropdown.
1. Models are grouped by source: the **Rhai** group first (**Auto**, then the hosted catalog), then agent providers, then your configured cloud providers
2. Type in the search field to filter models by name
3. Click a model to select it for this node
> On the free plan the picker is locked to **Auto** — choosing another model prompts an upgrade.
Use the **Manage AI Models** link at the bottom of the dropdown to jump straight to provider settings.
---
## Auto model selection
**Auto** is the built-in router and the default model for new chats. Instead of you picking a model per message, Slashspace routes each message to the model best suited for it — quick replies go to fast models, hard problems go to the heavyweights.
- Works in both **Agent** and **Chat** [modes](/docs/nodes/chat-node)
- Can be your app-wide [default model](/docs/settings/default-models), or a per-canvas one
- Pin a specific catalog model instead whenever consistency matters more than routing
In Agent mode, the AI can also propose a model switch itself when a task calls for it — applied only after you approve. See [Chat Node](/docs/nodes/chat-node#when-the-agent-proposes-a-switch).
---
## Per-model settings
You can tune each model individually:
1. Open **Settings** and select the provider
2. Click a model in the provider's model list
3. Adjust the available fields:
- **Alias** — a display name of your choosing
- **System Prompt** — instructions prepended to every conversation with this model
- **Advanced** — **Temperature** (0–1), **Top K** (1–20), **Top P** (0–1), **Presence Penalty**, **Frequency Penalty**, **Max Tokens**, **Max Steps**
4. Click **Save changes**, or **Restore defaults** to reset
---
## Reasoning effort
For models that support extended thinking, you can control how long the model reasons before answering:
1. Open the **+** tools dropdown in a chat input (or type `/` for the slash menu)
2. Select a **Reasoning Effort** level: **Low**, **Medium**, **High**, or **Max**
The default is **Medium**. Higher levels give the model more thinking time for complex problems. See [Slash Commands](/docs/ai-features/slash-commands) for the `/` shortcuts.
---
## Default models
Set app-wide defaults in [Settings → Default Models](/docs/settings/default-models):
- **Default Chat Model** — used by new chat nodes; set it to **Auto** to keep routing everywhere
- **Title Generation Model** — names your conversations; pick a lightweight low cost model
You can also override the default chat model per canvas in the canvas settings — nodes inheriting the app-wide setting show a **Global default** badge.
---
## Credits
Built-in Rhai models consume dollar-denominated credits from your account balance. BYOK providers and Ollama never touch your credits. Check your balance and plan in [Settings → Account](/docs/settings/account-management).
---
## Use cases
- **Zero-setup start**: sign in and chat on **Auto** immediately, without hunting for API keys or comparing models.
- **Sub-agents on the cheap**: keep the parent chat on a heavyweight model and let [sub-agents](/docs/ai-features/sub-agents) run the busywork on faster ones.
- **Cost control on heavy workloads**: add your own Anthropic or OpenAI key so long research sessions bill your provider account instead of credits.
- **Private offline work**: run a local Ollama model for sensitive documents that must never leave your machine.
- **Fast titles, smart chats**: set a cheap model as the Title Generation Model while keeping an Advanced-tier model for the actual conversation.
- **Per-project tuning**: give a coding canvas its own default model and a lower temperature via per-model settings, while your writing canvas inherits the global default.
# Personas (https://www.slashspace.ai/docs/ai-features/personas)
Save reusable system prompts that shape the AI's role and tone in any conversation.
A persona is a saved system prompt — a set of instructions that shapes the AI's role, tone, and behavior. Create a persona once and apply it to any [Chat Node](/docs/nodes/chat-node) conversation.
---
## Creating a persona
From settings:
1. Open **Settings → Persona Prompts**
2. Click **Create Persona**
3. Fill in the fields:
- **Name** — how the persona appears in pickers
- **Color** — an identifying color for its chip
- **Prompt** — the instructions the AI should follow
4. Click **Create**
Or create one inline without leaving your chat:
1. Open the **+** tools dropdown in the chat input
2. Go to **Personalities**
3. Click **Add New** and fill in the same fields
---
## Applying a persona to a conversation
There are three ways to select a persona:
1. Type `/` and drill into the **Personas** section of the [slash menu](/docs/ai-features/slash-commands) — pick one to apply it, pick it again to remove it (the active one reads "Active — select to remove")
2. Open the **+** tools dropdown, go to **Personalities**, and check the persona you want
3. Or click the persona chip dropdown in the chat footer and pick from the list — type to search personas by name
The selected persona appears as a colored chip in the chat footer, and the AI follows its prompt for that conversation.
> Re-selecting the active persona clears it — click it again to remove the persona from the conversation.
---
## Editing and deleting personas
1. Open **Settings → Persona Prompts** (see [Persona Prompts settings](/docs/settings/persona-prompts))
2. Click a persona to open the edit dialog and change its name, color, or prompt
3. To remove it, click **Delete** in the edit dialog and confirm
---
## Use cases
- **Consistent voice for writing**: a "Brand copywriter" persona that always writes in your product's tone, applied to every drafting chat.
- **Role-based review**: a "Staff engineer" persona that critiques code for edge cases, and a "Security reviewer" persona for a second pass — switch chips between messages.
- **Teaching mode**: a "Patient tutor" persona that explains step by step and asks you questions back, for learning canvases.
- **Format enforcement**: a persona that instructs the AI to always answer as a structured brief (summary, risks, next steps) for meeting-notes workflows.
# RAG Mode (https://www.slashspace.ai/docs/ai-features/rag-mode)
Send only the most relevant chunks of connected-node content instead of everything.
By default, a [Chat Node](/docs/nodes/chat-node) sends the full content of every connected node to the model. RAG Mode (Retrieval Augmented Generation) changes that: your connected content is indexed, and on each message only the chunks most relevant to your question are retrieved and sent.
---
## When to use it
Use RAG Mode when the incoming context is large — long documents, many connected nodes, big web pages. Retrieval trims the input dramatically, which cuts cost and keeps you inside the model's context window.
> For small context sizes (under roughly 10,000 tokens), RAG Mode is not recommended — sending everything is simpler and often gives better answers.
---
## Enabling RAG Mode
1. Open the **+** tools dropdown in the chat input
2. Toggle the **RAG Mode** switch — or click the scissors icon in the chat input directly
3. The scissors icon highlights and shows **RAG Mode Active** on hover
> RAG Mode requires a paid plan. On the free plan the toggle shows a lock icon, and clicking it opens a **RAG Mode Requires a Paid Plan** modal. See [Account Management](/docs/settings/account-management).
> AI Search in the ⌘K command menu uses the same index and requires the cloud indexing opt-in under **Settings → Account → Privacy Settings**.
---
## What happens when you send
While RAG Mode is active, the token pill in the chat input is masked with asterisks — the real input size isn't known until retrieval runs. When you send a message, indexing runs first, and status banners appear above the chat in this order:
1. **Indexing documents…** — connected content is being chunked and embedded
2. **Documents indexed** — the index is up to date
3. **Retrieving relevant chunks…** — your question is matched against the index
4. **Reranking results…** — the best chunks are ordered by relevance
5. A result banner reports the savings: **RAG Mode reduced your input size by N% from X to Y tokens.**
If any stage fails, a red banner appears with the error. You can turn RAG Mode off and retry without it.
---
## Constraints
> RAG with Rabbitholes managed models is temporarily unavailable in the desktop app — you'll see **Use a BYOK provider for RAG**. Select a model from one of your own providers (see [Models & Providers](/docs/ai-features/models)).
> [File Nodes](/docs/nodes/file-node) must finish processing before their content joins the RAG index. You can still chat with them immediately without RAG — only RAG Mode waits for processing.
> Deleting a node removes its embeddings from the index, and undoing the delete does not restore them. The content is re-indexed on your next RAG message.
---
## Use cases
- **Chatting with a 300-page PDF**: connect the [File Node](/docs/nodes/file-node), enable RAG Mode, and ask targeted questions — only the relevant pages are sent.
- **Research canvas with many sources**: a chat node connected to a dozen [Web Nodes](/docs/nodes/web-node) and [YouTube Nodes](/docs/nodes/youtube-node) stays well under the context limit.
- **Cutting token spend**: on BYOK providers, a 90% input reduction is a 90% reduction in input cost for that message.
- **Fitting oversized context**: when the token pill warns your input exceeds the model's window, RAG Mode is usually the fix.
# Slash Commands (Skills & Prompts) (https://www.slashspace.ai/docs/ai-features/slash-commands)
Type / in a chat to browse skills, personas, and MCP toggles, set reasoning effort, and insert reusable prompts.
Typing `/` in a [Chat Node](/docs/nodes/chat-node) input opens the slash menu — a quick keyboard-driven way to configure the conversation and pull in your reusable prompt library.
---
## What's in the menu
**Skills**, **Personas**, and **MCPs** each get their own browsable section, with your reasoning presets and prompts alongside as regular entries:
1. **Skills** — your installed agent skills ("Browse available skills")
2. **Personas** — apply a [persona](/docs/ai-features/personas) to this chat without leaving the keyboard ("Set the persona for this chat")
3. **MCPs** — enable or disable your configured [MCP servers](/docs/ai-features/mcp-tools) for this conversation ("Toggle MCP tool servers")
4. **Reasoning presets** — **Reasoning: Low**, **Medium**, **High**, **Max**, for models that support extended thinking (see [Models & Providers](/docs/ai-features/models))
5. **Prompts** — your local library of reusable markdown prompts
Each section row shows how many entries it holds; a section you have no entries for stays hidden.
## Navigating the menu
- **Click a section** (or highlight it and press `→`) to drill into just that section's entries.
- Press `←`, click the section header, or hit `Esc` to step back out (`Esc` again closes the menu).
- **Type to filter** — at the top level your query searches across all sections at once; inside a section it filters that section only.
- Press `Enter` to select.
Selecting a persona applies it to the chat — pick it again to remove it (the active one reads "Active — select to remove"). Selecting a skill or prompt inserts a chip into your message; selecting an MCP entry toggles that server for the conversation.
---
## Where the library lives on disk
Your skills and prompts are plain files you own:
- **Prompts** — any `.md` file in `~/SlashspaceOS/.prompts`. Optional frontmatter `name:` and `description:` control how it appears in the menu; otherwise the filename is used.
- **Skills** — folders containing a `SKILL.md` file under `~/.agents/skills`. This is the cross-tool agent-skills convention, so skills you already use with tools like Claude Code appear here automatically.
> Want more skills? Browse the skills.sh registry and install any skill in one click from [Settings → Agent Skills](/docs/settings/skills).
---
## Using a skill or prompt
1. Type `/` and select an entry from the Skills section or your prompts
2. A chip is inserted into your message — you can keep typing around it
3. On send, the file's full content is injected into the message for the model, wrapped in a Skill or Prompt tag
> A single referenced file over 120,000 characters errors on send. The total expanded message is capped at 400,000 characters.
> If the file behind a chip has been deleted or renamed, sending fails with **Missing slash command reference…** — remove the chip and re-add it from the menu.
---
## Creating your own prompts
1. Create a markdown file in `~/SlashspaceOS/.prompts`, for example `summarize-meeting.md`:
```md
---
name: Summarize meeting
description: Turn raw notes into decisions and action items
---
Summarize the following meeting notes. List decisions made,
open questions, and action items with owners.
```
2. Type `/` in any chat — the new prompt appears in the menu immediately, no restart needed
---
## Use cases
- **Repeatable workflows**: a `/summarize-meeting` prompt you run on pasted notes every week, instead of retyping instructions.
- **Shared skills across tools**: the same `~/.agents/skills` folders power both this app and Claude Code, so one skill library serves your whole toolkit.
- **Fast conversation setup**: `/` → drill into **MCPs** and toggle a server → `/` → **Reasoning: High** → `/` → pick a persona, all without leaving the keyboard.
- **Prompt libraries in version control**: keep `~/SlashspaceOS/.prompts` in a git repo and sync your best prompts across machines.
# Sub-Agents (https://www.slashspace.ai/docs/ai-features/sub-agents)
Let the AI delegate work by spawning child chat nodes that run tasks and report back.
Sub-agents let the AI split work up. When a task is big or naturally parallel, the model can spawn one or more child [Chat Nodes](/docs/nodes/chat-node) on your canvas — each sub-agent runs its own conversation independently and reports its final answer back to the parent, which then continues with the results.
You don't need to enable anything: just ask. Prompts like "run three sub-agents to research these topics in parallel" or "delegate this comparison to sub-agents" trigger the behavior on models that support tool calling — in **Agent** [mode](/docs/nodes/chat-node), the default (Chat and Image modes are tool-free).
---
## How it works
1. The parent AI calls its run-subagent tool with a short **label** and a self-contained **task** for each delegation — multiple calls in the same turn run in parallel
2. A new chat node appears on your canvas, connected to the parent, and starts working immediately
3. The sub-agent inherits the parent conversation as connected-node context, plus its task instructions
4. When it finishes, its final answer flows back into the parent's tool result and the parent resumes
The AI can also read your canvas structure through a canvas-context tool, so it can see what nodes already exist when deciding what to spawn. See [Core Concepts](/docs/core-concepts) for how connected-node context works.
> Depth is capped at 1 level: a sub-agent is not offered the run-subagent tool itself, so sub-agents cannot spawn their own sub-agents and delegation can't recurse indefinitely.
---
## Running sub-agents on different models
Each sub-agent can run on a different model than the parent chat. Just name the models in your prompt and the AI assigns one per sub-agent when it spawns them:
> "Debate whether we should rewrite the backend in Rust. Run three sub-agents to argue it — one on @grok-4, one on @gpt-5.5, one on @opus — then synthesize a verdict."
- **Loose references work** — "@opus", a bare model id, an exact provider-and-model pair, or the model's display name all resolve to the closest match.
- **Only your enabled models can be picked** — the AI is offered the models you've turned on in [Models](/docs/ai-features/models), plus the built-in Rhai models (Auto and the hosted catalog). If it names a model that isn't available, that sub-agent fails immediately with the list of valid options, and the parent can correct itself or ask you.
- **Say nothing about models and behavior is unchanged** — every sub-agent inherits the parent chat's model.
- **The child node shows its model** — check the spawned node's model picker to confirm which model is answering.
---
## What you see while it runs
Inside the parent's tool-call card, a live activity card tracks each sub-agent:
- A status line — **Starting subagent…**, then **Subagent is thinking…** or **Subagent is responding…**, prefixed with the child node's label
- **Running tool:** the tool the sub-agent is currently using, when it makes its own tool calls
- A streaming preview of the last stretch of the sub-agent's response text
- **Jump to node** — pans and zooms the canvas to the child node so you can watch it work
- **Cancel** — stops that sub-agent's run
---
## After the run
The child node persists on your canvas. You can:
1. Open it and read the full conversation, including every tool call it made
2. Continue chatting in it directly — it's a normal chat node
3. Keep it connected as context, or delete it if it was throwaway work
Runs can also end as failed, cancelled, or timed out — the parent is told the outcome either way and explains what happened.
---
## Use cases
- **Parallel research**: "Spawn a sub-agent for each of these three competitors and compare their pricing" — three nodes work simultaneously, the parent synthesizes.
- **Multi-model debates**: run the same question past several models — "have @grok-4, @gpt-5.5, and @opus each take a position" — and let the parent weigh their answers.
- **Long side-quests**: delegate a deep document analysis to a sub-agent while the parent conversation stays focused on the main thread.
- **Auditable delegation**: unlike hidden background steps, every sub-agent is a visible node — you can inspect exactly how it reached its answer.
- **Iterating on a delegation**: if a sub-agent's answer is close but not right, jump to its node and continue the conversation there instead of re-running everything.
# Voice Input (https://www.slashspace.ai/docs/ai-features/voice-input)
Dictate into any chat or text input with the microphone button or Ctrl+M.
Instead of typing, you can speak. Voice input records your microphone, transcribes the audio, and drops the text into the input — where you can edit it before sending.
---
## Starting a recording
1. Click the microphone button in a chat or text input — it appears when the input is empty
2. Or press `Ctrl+M` from the input
3. macOS asks for microphone permission the first time — click **Allow**
A recording overlay appears with:
- A recording timer
- A live waveform of your voice
- **Cancel (Esc)** — discard the recording
- **Done (Enter)** — finish and transcribe
---
## Finishing and editing
1. Press **Enter** or click **Done (Enter)** when you finish speaking
2. A **Transcribing…** state appears while the audio is converted to text
3. The transcribed text lands in the input — edit it like any typed text
4. Press **Enter** to send
---
## Choosing a microphone
If you have multiple input devices:
1. Open **Settings → System Preferences**
2. Under **Audio Settings**, pick your preferred microphone
See [System Preferences](/docs/settings/system-preferences) for the rest of that page.
> Transcription runs via Groq Whisper in the cloud, so voice input requires an internet connection. If a recording fails to transcribe, check your connectivity and see [Troubleshooting](/docs/troubleshooting).
---
## Use cases
- **Long prompts, fast**: dictate a multi-paragraph brief into a [Chat Node](/docs/nodes/chat-node) in the time it would take to type the first sentence.
- **Thinking out loud**: ramble an idea into a [Text Node](/docs/nodes/text-node), then ask a connected chat to structure it.
- **Hands-busy capture**: press `Ctrl+M` and describe what you're looking at — a whiteboard, a book page — without switching to the keyboard.
- **Accessibility**: a full alternative to typing for anyone who finds sustained keyboard input difficult.
# Connections (https://www.slashspace.ai/docs/canvas/connections)
Connect nodes to control exactly what context the AI sees — handles, branches, context modes, and token summaries.
Connections are what make the canvas more than a whiteboard. Every edge you draw is a statement about context: "the node on the right can see the node on the left." Instead of stuffing everything into one long chat, you engineer the exact context each conversation gets — which means more relevant answers, fewer tokens, and no context pollution between unrelated threads.
## Handles: givers and takers
Every node has two connection points:
- **Right handle (giver)** — the source. It turns orange when connected. Drag from here to send this node's content onward.
- **Left handle (taker)** — the target. Hover it to see a tooltip with the incoming context size, e.g. "1,204 incoming tokens".
To connect two nodes, drag from one node's right handle to another node's left handle.
> You can't connect a node to itself ("Cannot connect a node to itself."), you can't create duplicate edges between the same pair, and Image nodes only accept other Image nodes as input ("Image nodes can only accept images nodes as input").
## How context flows
Context flows **left to right** and chains through the whole upstream path. If A → B → C, then C sees both A and B. This is the core mental model:
- A chat node reads everything connected upstream of it — text notes, web pages, documents, other chats — as context for its conversation.
- Adding or removing an edge immediately changes what the AI knows in that chat.
You can also connect nodes from inside a chat: typing `@` in a chat node's input lets you mention another node, which creates the edge for you. See [Chat Node](/docs/nodes/chat-node).
**Use cases**
- **Research**: connect three source Web nodes into one chat node and ask it to synthesize them — the answer draws only on those sources.
- **Writing**: chain outline → draft → editor-chat, so the editing conversation sees both the outline and the draft.
- **Studying**: connect a lecture PDF (Document node) to several chat nodes, one per exam topic, and quiz yourself in each without the threads bleeding into each other.
- **Planning**: keep a "project brief" Text node upstream of every chat on the canvas so all of them share the same ground truth.
## Watching context flow
While a node is generating, every edge on its incoming path lights up with a **comet beam** — not just the direct connection, but the whole upstream chain feeding it. The generating node's title bar glows too. It's a live answer to "which context is streaming in right now?", and it stops when the response finishes.
## Branches
A branch is a new chat node that continues from an existing node:
1. **Double-click the right handle** of any node — a tooltip says "Create a new branch" — and a connected Chat node is created.
2. Or press `⌘B` with a node active to branch from it.
3. Inside a chat, `⌘⇧Enter` sends your typed message into a brand-new branch instead of the current thread.
**Use cases**
- Mid-conversation, you want to explore a tangent without derailing the thread — branch it, and the tangent inherits all the context up to that point.
- Compare answers: branch the same source twice and ask each branch with a different framing or model.
## Context modes
Chat nodes have a context-mode toggle on their left edge:
- **Summarized context** (zap icon) — the default. Incoming context is summarized and passed into the conversation.
- **Isolated context** — the chat ignores all incoming connections and runs standalone.
> The toggle is disabled while the chat is generating a response.
**Use cases**
- Flip a scratch-pad chat to **Isolated context** so a quick side question doesn't burn tokens re-reading a large upstream document.
- Keep a "devil's advocate" chat isolated so it critiques your conclusion without being anchored by the sources.
## Token summary
Every chat node shows a small token pill (the asterisk icon). Click it to open the **Token Summary** popover, which breaks down what will be sent to the model:
- **Incoming** — tokens from connected upstream nodes (shows 0 in Isolated mode).
- **Own** — tokens from this node's own messages.
- **Input** — tokens in the message you're currently typing.
- **Total** — the sum.
> Treat these numbers as an estimate — they're tokenized with the OpenAI tokenizer, and other providers count slightly differently.
**Use cases**
- Before sending an expensive request, check whether an upstream document is dumping 50k tokens into the prompt — and disconnect or isolate if so.
- Debug a "context too long" error by finding which upstream branch carries the weight.
## Edge styles and editing
- Choose from five edge styles in [canvas settings](/docs/canvas#canvas-settings): Default, Straight, Step, Smooth step, or Simple bezier.
- Select an edge and press `Backspace`/`Delete` to remove it.
- Drag either end of an existing edge to reconnect it to a different node.
# Creating Nodes (https://www.slashspace.ai/docs/canvas/creating-nodes)
Every way to add nodes to the canvas — toolbar, right-click, Cmd+click, drag-and-drop, and paste.
Nodes are the building blocks of a canvas. There are several ways to create them — pick whichever fits the moment. On an empty canvas you'll see the hint: "Use the Toolbar or Cmd/Ctrl + Click anywhere to create a node".
## From the toolbar
The toolbar at the top-center of the canvas has a button for each node type, each with a single-letter hotkey:
| Node type | Hotkey |
| --------- | ------ |
| Chat node | `C` |
| Text node | `T` |
| Image node | `I` |
| Post node | `V` |
| Document node | `D` |
| Web page node | `W` |
1. Click a node type in the toolbar (or press its hotkey).
2. The canvas enters add mode and shows "Click anywhere on the canvas to add" followed by the node type.
3. Click where you want the node. Press `Esc` to cancel.
The toolbar also has **Tidy Up** (`0`) and **Search** (`⌘K`).
**Use cases**
- Press `T`, click, and jot a quick note while reading — no menus needed.
- Press `C` repeatedly to lay out several chat nodes for parallel questions on a research canvas.
## From the right-click menu
Right-click any empty spot on the canvas and open the **Add** menu:
- **Chat Node**
- **Text Node**
- **Web Node**
- **Post Node**
- **Document Node** (Beta)
- **Image Node** (Beta)
The node appears where you right-clicked.
## Quick chat node with Cmd+Click
Hold `Cmd` (Mac) or `Ctrl` (Windows) and click anywhere on empty canvas to instantly create a Chat node there. This is the fastest way to start a conversation.
**Use cases**
- Mid-reading, a question pops into your head — `Cmd`+click next to the source node and ask.
- Sketching a study plan: `Cmd`+click a row of chat nodes, one per subtopic, then connect them later.
## Drag and drop files
Drop files from your computer straight onto the canvas:
- **Images** become Image nodes.
- **Documents and text files** become Document nodes.
- Dropping multiple files at once fans them out horizontally.
> Unsupported file types show a toast: "File type .ext is not supported" (with the file's actual extension). See [Document Node](/docs/nodes/file-node) for the supported document formats.
**Use cases**
- Drop a folder's worth of lecture PDFs onto a canvas, then connect them to a chat node and quiz yourself.
- Drag in reference screenshots while planning a design, and annotate each with a connected chat.
## Paste with ⌘V
Paste (`⌘V` / `Ctrl+V`) is content-aware:
- **Copied nodes** paste as nodes (see [Organizing](/docs/canvas/organizing)).
- **A video or social URL** becomes a Post node.
- **Any other URL** becomes a Web node.
- **Plain text** becomes a Text node.
- **Image files on the clipboard** become Image nodes.
**Use cases**
- Copy a YouTube link from your browser, paste on the canvas, and get a Post node ready for transcript-aware chat.
- Paste a paragraph from an article as a Text node, then branch a chat off it to dig deeper.
- Collect sources fast: paste five article URLs one after another while researching, sort them out afterwards.
## Drag from a node's handle
Drag from any node's right-side handle onto empty canvas and release — a new Chat node appears, already connected to the source node. This is the natural way to "ask a question about this node". See [Connections](/docs/canvas/connections) for how context flows through that edge.
**Use cases**
- Pull a thread from a Web node to summarize the page.
- Branch three separate chats off one Document node — compare answers side by side.
# Export (https://www.slashspace.ai/docs/canvas/export)
Download a canvas as Markdown or JSON for backup, sharing, or use in other tools.
You can export any canvas from the right-click menu. Two formats are available, each suited to a different job.
## Exporting a canvas
1. Right-click anywhere on the canvas.
2. Choose **Download Canvas**.
3. Pick **Markdown** or **JSON**.
## Markdown (.md)
A readable document version of your canvas:
- The canvas name as the title.
- A section per node with its content.
- Chat nodes include every message under role headings, so full conversations are preserved in readable form.
**Use cases**
- Paste your research canvas into Notion, Obsidian, or a Google Doc as the starting point for a written report.
- Share a conversation's full transcript with a teammate who doesn't use Slashspace.
- Turn a studying canvas into printable revision notes.
## JSON (.json)
The complete canvas file, pretty-printed — nodes, edges, positions, and settings.
**Use cases**
- Back up an important canvas before a big restructuring session.
- Process your canvas data with your own scripts or tools.
- Archive finished projects outside the app.
> The desktop app is local-first — your canvases already live as files on your machine (see [Core Concepts](/docs/core-concepts)). Exports give you portable copies in standard formats.
# Canvas Overview (https://www.slashspace.ai/docs/canvas)
Navigate the infinite canvas — panning, zooming, the mini map, viewport controls, and canvas settings.
The canvas is your workspace in Slashspace. It's an infinite surface where you place nodes — chats, text, images, web pages, documents — and connect them to build context for AI conversations. Instead of one long chat thread, your thinking is laid out spatially, so you can see how ideas relate and branch off in any direction.
If you're new, start with [Core Concepts](/docs/core-concepts) to understand how nodes and context work, then come back here to learn your way around.
## Moving around
How scrolling behaves depends on the **Movement** mode you pick in [canvas settings](#canvas-settings):
| Action | Touchpad mode | Mouse mode |
| ------ | ------------- | ---------- |
| Scroll | Pans the canvas | Zooms in and out |
| `Cmd` + scroll / pinch | Zooms in and out | Zooms in and out |
| Middle-click + drag | Pans | Pans |
| `Space` + drag | Pans | Pans |
| Left-click + drag | Draws a selection box | Draws a selection box |
> Left-click dragging on empty canvas selects nodes instead of panning. To pan with the mouse, use middle-click drag or hold `Space` while dragging. Double-click zoom is disabled so stray clicks never jump your view.
You can zoom out very far (down to 1%) to get a bird's-eye view of a large canvas, and zoom in up to 200% for detail work.
## Title pills when zoomed out
Zoom out far enough (below about 30%) and every node shows a readable **title pill**, so the bird's-eye view stays navigable:
- **Click** a pill to zoom straight into that node. Oversized nodes zoom to a readable level and align to the top of the screen instead of centering on their middle.
- **Drag** a pill by its grip icon to move the node from a distance — multi-select drags and group membership behave exactly as if you dragged the node itself.
Group nodes keep their own labels instead of a pill.
## Viewport controls and mini map
The panel in the bottom-right corner gives you quick view controls:
1. **Fit View** — zooms and pans so every node fits on screen.
2. **Zoom In** / **Zoom Out** — step the zoom level.
3. **Show Mini Map** — toggles a small overview of the whole canvas. You can drag the viewport rectangle inside it, and pan or zoom directly on the mini map.
**Use cases**
- Researching a big topic with 40+ nodes? Toggle the mini map to keep your bearings and jump between clusters.
- Presenting your canvas to someone — hit **Fit View** to frame everything, then zoom into the branch you're discussing.
- Zoom out to 10–20% to spot orphaned nodes you forgot to connect.
## The toolbar
The main toolbar sits at the top-center of the canvas. It holds buttons for every node type (each with a letter hotkey), a **Tidy Up** button (`0`) that auto-arranges your nodes, and **Search** (`⌘K`).
See [Creating Nodes](/docs/canvas/creating-nodes) for all the ways to add nodes, and [Organizing](/docs/canvas/organizing) for Tidy Up and layout tools.
## Canvas header
Across the top of the canvas you'll find:
- **Sidebar toggle** — show or hide the canvas list.
- **Breadcrumb** — the folder path and canvas name (new canvases show "Untitled" until you name them).
- **Settings** (gear icon) — opens the canvas settings popover.
- **Side view toggle** (panel icon) — opens a right-hand panel that shows the active node full-height. See [Side View](/docs/canvas/side-view).
## Canvas settings
Click the **gear icon** in the canvas header to open the **Canvas settings** popover:
1. **Movement** — choose **Touchpad** (scroll pans) or **Mouse** (scroll wheel zooms). On Windows, a **Pinch zoom speed** slider (1–20, default 8) sets how quickly pinch and `Ctrl` + scroll zoom the canvas — pinch zoom on Windows and Linux now matches the Mac feel out of the box.
2. **Default model** — the AI model new chat nodes use on this canvas. A **Global default** badge shows when the canvas is inheriting your app-wide setting. See [Default Models](/docs/settings/default-models).
3. **Agent workspace** — pick (or clear) a folder that agent models can work in. See [Subscription Providers](/docs/settings/subscription-providers).
4. **Edges** — pick one of five edge styles: Default, Straight, Step, Smooth step, or Simple bezier.
A **Go to Settings** link at the bottom takes you to the app-wide settings.
**Use cases**
- Set a fast, cheap model as the default on a brainstorming canvas, and a stronger model on your deep-research canvas.
- Point the agent workspace at a project folder so coding-agent models can read and edit those files.
- Switch Movement to Mouse mode if you work with a scroll-wheel mouse and want scroll-to-zoom.
## Next steps
- [Creating Nodes](/docs/canvas/creating-nodes) — every way to get content onto the canvas.
- [Connections](/docs/canvas/connections) — how context flows between nodes.
- [Keyboard Shortcuts](/docs/canvas/keyboard-shortcuts) — the full shortcut reference.
# Keyboard Shortcuts (https://www.slashspace.ai/docs/canvas/keyboard-shortcuts)
Every keyboard shortcut in the desktop app, grouped by where it works.
On Windows and Linux, read `⌘` as `Ctrl`.
## Canvas
| Shortcut | Action |
| -------- | ------ |
| `⌘K` | Open [search](/docs/canvas/search) |
| `⌘A` | Select all nodes |
| `Esc` | Deselect / exit the current mode |
| `Space` + drag | Pan the canvas |
| `⌘` + click | Create a Chat node at the cursor |
| `0` | Tidy Up (auto-arrange nodes) |
| `Backspace` / `Delete` | Delete the selected nodes or edges |
| `⌘C` | Copy selected nodes |
| `⌘V` | Paste nodes (or clipboard content — see [Creating Nodes](/docs/canvas/creating-nodes)) |
## Node creation
Press a letter, then click the canvas to place the node:
| Shortcut | Node type |
| -------- | --------- |
| `C` | Chat node |
| `T` | Text node |
| `I` | Image node |
| `V` | Post node |
| `D` | Document node |
| `W` | Web page node |
## Chat node
| Shortcut | Action |
| -------- | ------ |
| `Enter` | Send message |
| `Shift` + `Enter` | New line |
| `⌘⇧Enter` | Send the message into a new branch |
| `⌘B` | Create a branch from the active node |
| `⌘1` / `⌘2` / `⌘3` | Switch mode: Agent / Chat / Image |
| `Ctrl` + `M` | Start [voice input](/docs/ai-features/voice-input) |
| `Enter` | Finish recording (while recording) |
| `Esc` | Cancel recording (while recording) |
## Text formatting (bubble menu)
| Shortcut | Action |
| -------- | ------ |
| `Enter` | Submit |
| `Shift` + `Enter` | New line |
| `Esc` | Close the menu |
# Organizing the Canvas (https://www.slashspace.ai/docs/canvas/organizing)
Select, align, group, color, copy, and auto-arrange nodes to keep large canvases readable.
Canvases grow fast. These tools keep them readable — selection, alignment, groups, colors, and one-key auto-layout.
## Selecting nodes
- **Box select** — left-click and drag across empty canvas to draw a selection box.
- **Add to selection** — hold `Shift` and click individual nodes to add or remove them.
- **Select all** — `⌘A`.
- **Deselect** — `Esc`.
## Moving nodes
Hover a node and a **grip icon** fades in at the center of its title bar — the header is the node's drag handle. Drag it to move the node without disturbing the content below. When you're zoomed out past the point where nodes are readable, drag the node's [title pill](/docs/canvas#title-pills-when-zoomed-out) instead.
## Align, distribute, and group
When two or more nodes are selected, a floating toolbar appears with:
1. **Align top** — lines up the selected nodes along their top edges.
2. **Distribute horizontally** / **Distribute vertically** — evens out the spacing (needs at least 3 nodes).
3. **Group selection** — wraps the selection in a group.
**Use cases**
- Select a row of source nodes and **Align top** + **Distribute horizontally** for a clean reading order.
- Grab a messy cluster of brainstorm notes and group them into "Ideas" before moving on.
## Groups
A group is a container with a dashed border and an editable label (it starts as "Untitled"):
- Drag the group to move all its children as a unit.
- Resize the group by dragging its edges.
- Select a group to get two extra actions: **Ungroup** (dissolve the container, keep the nodes) and **Tidy up** (auto-arrange just the nodes inside it).
See [Group Node](/docs/nodes/group-node) for details.
**Use cases**
- Group each chapter's notes on a studying canvas so you can shuffle whole chapters around.
- Keep "raw sources" and "conclusions" in separate labeled groups on a research canvas.
## Node colors
Give nodes a color to encode meaning:
1. Select a node and click the **Change Color** swatch.
2. Pick from the **Pick a color** grid.
3. Choosing stone (the default shade) resets the node to no color.
**Use cases**
- Color-code by status while planning: green = done, amber = in progress, red = blocked.
- Mark primary sources one color and your own commentary another.
## Minimize and maximize
- Chat nodes have a per-node collapse toggle to shrink them down to a header.
- Right-click the canvas and use the **View** menu's **Minimize All** / **Maximize All** to collapse or expand every chat and text node at once.
**Use cases**
- Minimize all before a review pass — you see the structure of your thinking, not walls of text.
## Focus a node
Double-click a Text node's header to center the view on it.
## Copy, paste, and duplicate
- **Copy** — `⌘C` copies the selected nodes (toast: "Copied N node(s)").
- **Paste** — `⌘V` pastes them at your cursor position (toast: "Pasted N node(s)").
- **Duplicate** — use the Duplicate action on a node to clone it, offset to the right.
**Use cases**
- Copy a configured chat node (model, persona, connections in place) as a template for new questions.
- Duplicate a text node to fork a draft while keeping the original intact.
## Delete and restore
Select nodes and press `Backspace`/`Delete`. A toast appears with a **Restore** button so you can undo the deletion.
> Restoring a deleted node does not restore its RAG embeddings — re-index the content if you rely on AI Search or RAG over that node.
## Tidy Up
**Tidy Up** runs an automatic left-to-right layout over the whole canvas, arranging nodes by their connections. Trigger it three ways:
1. Press `0`.
2. Click the broom icon in the toolbar.
3. Right-click → **View** → **Tidy Up**.
A selected group also offers its own **Tidy up** that only rearranges that group's children.
**Use cases**
- After a fast brainstorm where you dropped nodes everywhere, one keypress turns chaos into a readable flow.
- Before exporting or sharing a screenshot, tidy up so the context flow reads left to right.
# Search (https://www.slashspace.ai/docs/canvas/search)
Find anything on the canvas with fuzzy Local Search or semantic AI Search.
Press `⌘K` (or click **Search** in the toolbar) to open the search dialog — "What are you looking for?". It has two modes you can toggle between: **Local Search** and **AI Search**.
## Local Search
Local Search (the zap icon) is instant, fuzzy, keyword-style search over the current canvas:
1. Press `⌘K` — the panel lists every node on the canvas the moment it opens, most recently updated first, so it doubles as a quick node switcher.
2. Start typing to filter live — results match against node labels, node content, and individual chat messages.
3. Use the arrow keys to move through results and `Enter` to jump — the canvas centers on the node and highlights the matched message.
**Use cases**
- "Where did the AI mention 'transformer architecture'?" — jump straight to that message in a 30-node research canvas.
- Find the text node holding your thesis statement by typing a few of its words.
- Relocate a source node by its title without scrolling around the canvas.
## AI Search
AI Search (the sparkles icon) is semantic: it understands meaning, not just keywords. It runs a RAG-style search over the indexed content of the current canvas and returns the 10 most relevant matches.
1. Open search with `⌘K` and switch to **AI Search**.
2. Describe what you're looking for in natural language and press `Enter`.
3. Jump to any result — each shows a **% match** score.
> AI Search requires the cloud indexing privacy opt-in. If you haven't enabled it, the dialog shows "You have not opted in for cloud indexing!" with a button to enable it. Manage this in [Account Management](/docs/settings/account-management). Learn how indexing powers other features in [RAG Mode](/docs/ai-features/rag-mode).
**Use cases**
- Search "arguments against my main claim" — matches by meaning even if no node uses those words.
- On a studying canvas, ask "the part about enzyme inhibition" to surface the right lecture excerpt.
- Rediscover an idea you phrased differently weeks ago ("that analogy about rivers and attention").
## Which one to use
| | Local Search | AI Search |
| --- | --- | --- |
| Matching | Fuzzy keyword | Semantic (by meaning) |
| Speed | Instant | A moment to run |
| Needs opt-in | No | Yes (cloud indexing) |
| Best for | Exact words you remember | Concepts you can describe |
# Side View (https://www.slashspace.ai/docs/canvas/side-view)
A full-height panel for reading and working in one node without losing your place on the canvas.
Side View is a right-hand panel that shows the active node's content at full height. It gives you a focused, document-like view of a single node while the canvas stays visible next to it.
## Opening Side View
1. Click the **panel icon** in the top-right of the canvas header to toggle the panel.
2. Click any node on the canvas — the panel shows its content.
3. Click a different node to switch the panel to it.
Until you select a node, the panel shows: "Select a node on the canvas to view its content here".
> Document nodes can jump straight here — double-click the page preview on the node.
## What each node type shows
- **Chat node** — the full conversation, with a compact message input pinned to the bottom so you can keep chatting from the panel.
- **Text node** — the text, editable right in the panel.
- **Image node** — the image at full size.
- **Web node** — the captured page content.
- **Document node** — a page-by-page PDF reader with **Previous / Next** controls and a page counter, pages sized to the panel's width. Non-PDF files (Word, PowerPoint, Excel, and the rest) open in the same reader once their PDF conversion is ready.
- **Post node** — the post's content.
## Use cases
- **Reading long AI answers** — a detailed response is much easier to read in a full-height column than inside a node on the canvas.
- **Writing** — open a draft Text node in Side View and edit it like a document, while glancing at your outline and source nodes on the canvas.
- **Research triage** — keep Side View open and click through your Web and Document nodes one by one to skim each source without opening and closing anything.
- **Chatting while navigating** — continue a conversation from the panel's input while you pan around the canvas connecting new context to it.
# Core concepts (https://www.slashspace.ai/docs/core-concepts)
The mental model behind Slashspace: nodes, context flow, and the canvas
Slashspace is a canvas for thinking with AI. Instead of one long chat thread, you work on a spatial canvas where every piece of content — a conversation, a document, a web page, an image — is a **node**, and connections between nodes control what context the AI sees.
Three ideas explain almost everything in the app:
1. **Everything is a node** — a single unit of content and context.
2. **Context flows left to right** — connect nodes to feed one node's content into another's conversation.
3. **You control the context** — connections, context modes, and RAG let you decide exactly what the AI reads.
---
## Nodes
**A node is a single unit of context.** A chat node contains a back-and-forth conversation with an AI model. A Web node contains the parsed text of a URL. A Document node contains a processed file.
> When you connect the right handle of Node A to the left handle of Node B, Node B can derive context from Node A.
### Types of nodes
#### Chat Node
The primary way to interact with AI. Accepts incoming context from connected nodes and can feed its conversation onward to other nodes. Runs in one of three modes — **Agent** (tools, MCP, and sub-agents), **Chat** (focused, tool-free), or **Image** (generation studio) — and supports slash commands, @ node mentions, personas, RAG mode, and voice input throughout. See [Chat Node](/docs/nodes/chat-node).
#### Text Node
Rich-text snippets with markdown formatting. Plug them into chat nodes to reuse instructions, notes, or drafts as context. Select text inside one to ask the AI about just that selection. See [Text Node](/docs/nodes/text-node).
#### Image Node
Add images from your computer or generate them with AI (Straico, OpenAI, or Fal AI models). Connect image nodes together for image-to-image generation with reference images. See [Image Node](/docs/nodes/image-node).
#### Post Node
Paste a YouTube, TikTok, Instagram, Facebook, X, or LinkedIn URL — the node fetches the transcript or post content so you can chat about it. See [Post Node](/docs/nodes/youtube-node).
#### Web Node
Parses content from any publicly available URL — screenshot plus extracted text — so you can ask questions about the page. See [Web Node](/docs/nodes/web-node).
#### Document Node (Beta)
Add a file (PDF, Word, PowerPoint, Excel, CSV, Markdown, and more) as context. Files are processed and indexed for [RAG Mode](/docs/ai-features/rag-mode); you can chat about a document immediately while processing runs. See [Document Node](/docs/nodes/file-node).
#### Group Node
A labeled container that keeps related nodes together — move, resize, and tidy them as a unit. See [Group Node](/docs/nodes/group-node).
---
## Context flow and branches
Context always flows **left to right**. You create branches by:
1. Double-clicking a node's right handle.
2. Dragging the right handle and dropping the connector on empty canvas.
3. Pressing `Cmd/Ctrl + B` on the active node, or using **Split** (`Cmd/Ctrl + Shift + Enter`) to send a prompt into a new branch.
> If Node A is connected to Node B, and Node B is connected to Node C, the chat inside Node C derives context from Node A + Node B.
> A single node can have multiple incoming and outgoing branches. A node cannot connect to itself.
Chat nodes also let you type `@` to mention another node by name — this creates a connection without leaving the keyboard. And each chat node has a **context mode** toggle: *Summarized context* (the default) or *Isolated context*, which ignores all incoming connections for that node.
For the full picture — handles, edge styles, token accounting — see [Connections & Context](/docs/canvas/connections).
---
## The Canvas
The **Canvas** is your visual workspace: pan, zoom, organize nodes into groups, search everything with `⌘K`, and export your work as Markdown or JSON.
Start with the [Canvas Overview](/docs/canvas), then [Creating Nodes](/docs/canvas/creating-nodes) and [Organizing the Canvas](/docs/canvas/organizing). The complete shortcut list lives in [Keyboard Shortcuts](/docs/canvas/keyboard-shortcuts).
---
## Models, credits, and plans
Slashspace runs AI three ways:
- **Built-in Rhai models** — no setup, billed from your credit balance. **Auto** (the default) routes each message to the best-suited model, or pin one from the hosted catalog.
- **Bring Your Own Key** — connect API keys for OpenAI, Anthropic, Google, and more. No credits consumed; requires a Pro plan or higher.
- **Local models via Ollama** — free, private, offline.
Plus **Agent providers** (Cursor and Claude Code CLIs) and **Custom OpenAI-compatible providers**. See [Models & Providers](/docs/ai-features/models) for how to choose.
---
## RAG Mode
When you press **Ask** on a chat node with incoming context, everything connected is sent as-is. Toggle **RAG Mode** first and Slashspace instead retrieves only the most relevant chunks from the connected content — useful for large contexts and for cutting AI costs.
> For small context sizes (under ~10,000 tokens) RAG mode is not recommended.
See [RAG Mode](/docs/ai-features/rag-mode) for statuses, savings, and constraints.
---
## Where your data lives
Slashspace is local-first. Your canvases, files, and library live in a `SlashspaceOS` folder in your home directory:
- Canvases are stored as JSON files you can export or back up.
- `~/SlashspaceOS/.prompts` holds your reusable prompt library for [slash commands](/docs/ai-features/slash-commands).
- Skills follow the cross-tool convention at `~/.agents/skills`.
Cloud features (RAG indexing, AI Search, analytics) are **opt-in** — manage them under **Settings → Account → Privacy Settings**. See [Account Management](/docs/settings/account-management).
# Quickstart (https://www.slashspace.ai/docs)
Install Slashspace, sign in, and send your first message
## Installation
1. **Download the app:**
Go to [slashspace.ai](https://slashspace.ai) and download the installer for your OS.
2. **Install and Launch:**
Run the Installer -> follow the on-screen installation prompts -> launch the app.
3. **Sign in:**
Click **Sign in** and authenticate with your account in the browser window that opens. The app shows **"Waiting for browser sign-in..."** until it picks up the redirect automatically.
If the browser doesn't redirect back (e.g. it's blocked or on a different device), click **Paste login token** and paste the token copied from the browser sign-in page to finish manually.
> **Don't have an account?** Create one at [slashspace.ai](https://slashspace.ai)
---
## First Conversation
You can start chatting immediately after signing in — no setup required.
1. **Open the Untitled Canvas** (or create a new canvas) to begin.
2. In the chat box, **type a question or prompt** and press **Enter** to chat with the AI.
New canvases include a chat node by default, so you can start typing right away. It opens in **Agent** mode on the **Auto** model — the AI can use tools, and each message is routed to the model best suited for it. No configuration needed.
---
## How Credits Work
**Built-in (Rhai) models** consume credits from your account balance. Every message you send to a built-in model — including **Auto** — deducts credits.
**Bring Your Own Key (BYOK) models** don't consume any credits. When you connect your own API key from a provider (OpenAI, Anthropic, Google, etc.), you pay the provider directly and no credits are used.
---
## Connect Your Own Provider (Optional)
If you'd prefer to use your own API keys instead of credits:
1. **Open Settings → AI Settings** and choose the integration you want: **Cloud Providers** (OpenAI, Anthropic, Google, and more), **Ollama** (local models), **Custom Providers** (OpenAI-compatible endpoints), or **Agent Providers** (Cursor, Claude Code).
2. **Expand a provider** and click **`Get your API key here`**.
This redirects you to the provider's website to get your API key.
3. **Paste your API key:**
Paste the key into the field — a confirm button appears once you start typing. Click it to save the key.
Models from connected providers won't use any of your credits.
> **Note**: On the free (Starter) plan, only Rabbitholes and Ollama are available under Cloud Providers. Connecting other providers (OpenAI, Anthropic, Google, etc.) requires upgrading to Pro or higher.
---
## Where to go next
- **[Core concepts](/docs/core-concepts)** — the mental model: nodes, context flow, and the canvas
- **[Canvas](/docs/canvas)** — navigation, creating nodes, connections, organizing, search, and export
- **[Nodes](/docs/nodes/chat-node)** — every node type in depth, starting with the Chat Node
- **[AI Features](/docs/ai-features/models)** — models, RAG mode, personas, slash commands, MCP tools, sub-agents, and voice input
- **[Settings](/docs/settings/providers)** — providers, API keys, defaults, and account management
- **[Troubleshooting](/docs/troubleshooting)** — common errors and how to get help
---
## Support
Join our [Discord](https://links.rabbitholes.ai/discord) Community for faster response
Email our support team at [support@rabbitholes.ai](mailto:support@rabbitholes.ai)
For reporting bugs or requesting features, use the in-app `Bug / Feedback` (right-click the canvas, or find it under Settings → Troubleshoot)
> **Note**: Discord is the preferred contact, followed by email, then the in-app bug report
# Moving from Rabbitholes (https://www.slashspace.ai/docs/migration)
How to migrate your data and lifetime deal from Rabbitholes to Slashspace
Rabbitholes has a new name — it's now **Slashspace**. Your lifetime deal, your data, your bring-your-own-key access — all of it carries over. Nothing is lost.
This guide walks you through the switch. It takes about 5 minutes.
---
## Before you start
You only need two things:
- **The email you used when you bought Rabbitholes.** This is how we match your lifetime deal to your new Slashspace account.
- **An internet connection** for the sign-in step.
That's it. You don't need your old license key, a receipt, or anything else.
---
## Step 1: Download Slashspace
Go to the Slashspace website and download the app for your platform (Mac, Windows, or Linux). Install it like you would any other app.
You can keep Rabbitholes installed — nothing will conflict. But you won't need it after migration.
---
## Step 2: Sign in with your purchase email
Open Slashspace. You'll be asked to sign in.
**Use the same email address you used to buy Rabbitholes.** This is the important part. Your lifetime deal is tied to that email, and we match it automatically behind the scenes.
### "But It's asking me to create an account?"
That's fine. Last year, we moved from license keys to a regular email sign-in. If you've been using a license key this whole time and never set up an account, you'll be asked to create one now.
**Go ahead and create it.** Just make sure you use the same email from your purchase. Once you do, your lifetime deal will be linked automatically. You don't need to enter a license key or do anything extra.
---
## Step 3: Finish sign-in
Complete the sign-in flow. Once you're in, the app will check whether you have existing Rabbitholes data on your computer.
---
## Step 4: Run the migration
If you have an existing Rabbitholes folder on your computer, Slashspace will automatically offer to migrate your data right after you sign in. You don't need to go looking for this — it shows up on its own.
Here's what the migration does:
- It **copies** your files from the Rabbitholes folder to the new Slashspace folder.
- It does **not** delete anything from your old Rabbitholes folder. Your original files stay right where they are.
### What if migration fails?
Sometimes a file in your Rabbitholes folder might be corrupted (this is rare, but it happens). If the migration fails partway through:
1. **Reach out to support** — we can help you figure out which file is causing the problem.
2. Or, if you're comfortable with it, **delete the problem file** from the Rabbitholes folder on your computer and run the migration again.
Either way, your original files are not touched during migration, so there's no risk of losing anything.
---
## Your lifetime deal stays the same
Nothing about your deal changes. Here's what you keep:
- **Lifetime access** — no subscriptions, no renewals, no expiry. Ever.
- **Bring your own key** — keep using your own API keys with any provider, just like before.
The only thing that changed is the name on the box. We also added a managed provider for users who're not comfortable with using their own API keys. You can also use this but it's used with prepaid credits.
---
## Common questions
**Can I delete the Rabbitholes folder after migrating?**
Yes, once you've confirmed everything looks good in Slashspace, you can safely delete the old Rabbitholes folder. But there's no rush — it's not hurting anything by sitting there. Except for consuimg space for your files.
**What if I used a different email to buy Rabbitholes?**
You need to sign in with the email that's on your original purchase. If you're not sure which one that is, check your inbox for the purchase confirmation email, or reach out to support and we'll help you find it.
**What if migration keeps failing?**
Reach out to support. It's almost always a single corrupted file, and we can help you sort it out quickly.
**Where does Slashspace store my files now?**
Your data now lives in a folder called `SlashspaceOS` in your home directory, instead of the old `rabbitholes` folder.
**Do I need to keep Rabbitholes installed?**
No. Once you've migrated, you can uninstall Rabbitholes whenever you like.
# Chat Node (https://www.slashspace.ai/docs/nodes/chat-node)
Talk to AI models on the canvas — with branching, connected context, tools, and voice input.
The Chat Node is the primary way to interact with AI models. It supports back-and-forth conversations, context from connected nodes, multiple AI providers — and three modes that shape what each conversation can do.
---
## Modes: Agent, Chat, and Image
Every chat node has a **mode selector** at the bottom left of its input. The mode decides what the conversation is allowed to do:
- **Agent** (`⌘1`) — the full experience and the default for new nodes. The AI can use tools: writing to the canvas, spawning [sub-agents](/docs/ai-features/sub-agents), calling [MCP tools](/docs/ai-features/mcp-tools), and proposing its own [mode and model switches](#when-the-agent-proposes-a-switch).
- **Chat** (`⌘2`) — a focused conversation without tool clutter. No tool calls and no sub-agents — just you and the model.
- **Image** (`⌘3`) — turns the node into an image generation studio. Each prompt generates an image into its own connected [Image Node](/docs/nodes/image-node), and the model picker swaps to the image model catalog.
A fourth mode, **Video**, is visible in the dropdown but marked "Soon".
The mode is saved per node, and you can switch anytime — it only affects messages you send after the change. Slash commands, `@` mentions, and personas work the same in every mode.
> Don't confuse chat modes with [context modes](#context-modes) (Summarized vs Isolated, which control incoming context) or with [Subscription providers](/docs/settings/subscription-providers) (the Cursor, Claude Code and Codex backends). Agent **mode** works with any regular model.
---
## Sending messages
Type your message in the input field at the bottom of the chat node.
- `Enter` submits your message
- `Shift+Enter` inserts a new line (also works inside code blocks and lists)
- `⌘⇧Enter` submits your prompt into a new branch node (the **Split** button — tooltip "Submit in new branch")
- `⌘B` creates an empty branch node
You can also click the **Send** button (up arrow) to submit. While a response is streaming, the Send and Split buttons combine into a single **Stop** button. When the input is empty, a microphone button appears in the send slot instead (title "Start recording") — see [Voice input](#voice-input).
While a response is generating, a warm glow wraps the node's title bar and every edge feeding the node runs a comet beam ([Connections](/docs/canvas/connections)), so you can spot activity from across the canvas.
---
## Slash commands
Type `/` in the input to open the command menu. **Skills**, **Personas**, and **MCPs** are grouped into browsable sections — click one (or press `→`) to drill in, and press `←` or `Esc` to step back out. **Reasoning** presets (Low / Medium / High / Max) and your **prompts library** sit alongside them as regular entries, and typing filters across everything at once. See [Slash Commands](/docs/ai-features/slash-commands) for the full tour.
Inserted references render as chips in the input.
> If a referenced item is missing or too large, you'll see an error toast before the message is sent.
## @ mentions
Type `@` to search the nodes on your canvas by name. Selecting a node inserts it as a chip in your message and creates a persistent connection (edge) from that node, so its content feeds this chat as context — a fast way to wire up context without dragging edges by hand. See [Connections](/docs/canvas/connections) for how context flows between nodes.
---
## Choosing a model
1. Click the **model dropdown** in the chat input's bottom toolbar
2. Use the **Search models...** box to filter, or browse the groups:
- **Rhai** (built-in) first — **Auto** ("Picks the right model for each message") at the top, then the hosted catalog, each model with a one-line description
- **Agent providers** (such as Cursor and Claude Code)
- Your own **BYOK providers** (bring your own key)
3. Click a model to select it for this node
**Auto** is the default: it routes each message to the model best suited for it, so quick replies go to fast models and hard problems get the heavyweights. See [Models](/docs/ai-features/models) for details.
> On the free plan the picker is locked to **Auto** — picking other models prompts an upgrade. Use the **Manage AI Models** link in the dropdown to open Settings.
In **Image** mode this dropdown swaps to the image model catalog ("Search image models...") — see [Image Node](/docs/nodes/image-node).
When an agent-provider model (Cursor or Claude Code) is selected, a folder button appears next to the input so you can pick the **agent workspace** — the working directory the agent operates in.
---
## Tools dropdown
Click the **+** button in the chat input (tooltip "Tools") to configure this conversation:
- **MCP** — a checkbox list of your MCP servers, enabled per conversation. **Add New** opens Settings. See [MCP Tools](/docs/ai-features/mcp-tools).
- **Personalities** — pick a persona for this chat, or choose **Add New** to create one inline. See [Personas](/docs/ai-features/personas).
- **Reasoning** — radio options **Low / Medium / High / Max** for models that support extended thinking. The default is **Medium**.
- **RAG Mode** — a switch that turns on Retrieval Augmented Generation for this node.
> On the Free plan the RAG Mode switch shows a lock, and clicking it opens an upgrade modal: "RAG Mode Requires a Paid Plan".
> In **Chat** mode the MCP section is hidden — tool calls only run in Agent mode.
---
## RAG mode
RAG mode retrieves only the most relevant chunks from connected nodes instead of sending everything, which can dramatically reduce input size. Deep dive: [RAG Mode](/docs/ai-features/rag-mode).
While RAG mode is on:
- A scissors icon labeled **RAG Mode Active** appears in the node footer
- The token pill is masked with asterisks (exact counts aren't known until retrieval runs)
- Status banners report progress: **Indexing documents…**, **Documents indexed**, **Retrieving relevant chunks…**, **Reranking results…**, and an error banner if something fails
- After a response, a summary shows the savings: "RAG Mode reduced your input size by N% from X to Y tokens."
> RAG mode with Rabbitholes managed models is temporarily unavailable in the desktop app — use a BYOK provider for RAG conversations.
> You can chat with document nodes immediately after adding them. Only RAG mode requires their processing to be complete.
---
## Message actions
Hover over a **user message** to reveal:
- **Copy** — copy the message text
- **Rerun** — re-send the same text
- **Edit** — opens the **Edit Message** dialog with **Save** and **Save & Rerun** (`⌘Enter`). **Save & Rerun** removes all later messages and regenerates the response from this point.
Long user messages collapse behind a **Show more** toggle so a pasted wall of text doesn't take over the thread.
**Assistant messages** offer:
- **Copy** and **Regenerate**
- A collapsible **reasoning** section when the model produced extended thinking
- **Tool-call cards** for any tools the model used
- **Source citations**, shown as stacked source pills
---
## Tool calls and approvals
Each tool the AI invokes appears as a collapsible card with a state of **Running**, **Done**, or **Error**.
If a tool requires permission, the card asks **"Allow this tool to run?"** with **Approve** and **Reject** buttons. Long tool output is truncated with a **Show more** control.
---
## When the agent proposes a switch
In Agent mode, the AI can decide a task would go better under a different mode or model — ask it to "draw this" and it may propose switching to Image mode. The proposal appears as a tool card:
- **Switch Mode** or **Switch Model**, showing the target and the agent's one-line reason (e.g. "→ Image — you asked for a diagram")
- Nothing changes until you click **Approve**; **Reject** carries on in the current setup
- After approval, the switch applies immediately and the conversation continues under the new configuration — you don't need to resend your request
The agent can only change the mode and the model this way — never providers, keys, or other settings.
---
## Context modes
A toggle on the node's left edge controls how content from connected nodes is passed in:
- **Summarized context** (zap icon) — incoming context is condensed
- **Isolated context** (diamond icon) — the node ignores summarization and treats context separately
A badge on the toggle shows how many incoming connections the node has.
> The toggle is disabled while a response is generating — you'll see "Wait for the response to finish".
---
## Token summary
The footer shows a token pill. Click it to open the **Token Summary** popover, which lists:
- **Incoming** — tokens flowing in from connected nodes
- **Own** — tokens from this node's conversation
- **Input** — what will be sent to the model
- **Total**
Counts are estimates produced with the OpenAI tokenizer. In RAG mode the pill shows asterisks until retrieval determines the real input size.
---
## Voice input
1. Click the **microphone** button (visible when the input is empty) or press `Ctrl+M`
2. Speak — an overlay shows a timer and a live waveform
3. Click **Done** or press `Enter` to finish, or **Cancel** / `Esc` to discard
4. Wait for **Transcribing…** — the transcript replaces your input text
5. Edit if needed, then press `Enter` to send
Recording uses your preferred microphone from System Preferences. More: [Voice Input](/docs/ai-features/voice-input).
---
## Node controls
The node header and toolbar give you:
- **Color picker** — tag the node with a color
- **Duplicate Node**
- **Collapse** — the minimized view shows the last You/Assistant snippet with a **See More** button
- **Open in Sidebar** — read the conversation in the [side view](/docs/canvas/side-view)
- **Delete Node**
Chat nodes get auto-generated titles based on the conversation.
---
## Errors and sub-agents
- **Insufficient credits** — an amber banner appears with a **Reload usage** button
- **Plan-gated features** — the banner includes an **Upgrade** button
- **Other errors** — a red banner with a **Retry** button
In Agent mode, the AI can also spawn child chat nodes as sub-agents to work on parts of a task. A live activity card shows progress ("Subagent is thinking…") with **Jump to node** and **Cancel** actions. See [Sub-agents](/docs/ai-features/sub-agents).
---
## Use cases
- **Research** — connect [web](/docs/nodes/web-node), [document](/docs/nodes/file-node), and [post](/docs/nodes/youtube-node) nodes to a chat and ask questions across all your sources at once.
- **Writing** — draft in a chat, then use `⌘⇧Enter` to branch alternative directions without losing the original thread.
- **Studying** — turn lecture PDFs into a Q&A partner: attach them with `@`, enable RAG mode, and quiz yourself.
- **Content creation** — use personas to keep a consistent voice, and Rerun/Edit to iterate on hooks and titles quickly.
- **Planning** — let the AI spawn sub-agents to explore options in parallel, then compare the branches side by side on the canvas.
# Document Node (Beta) (https://www.slashspace.ai/docs/nodes/file-node)
Upload PDFs, Office files, and more — the node indexes them so you can chat about their content.
The Document Node brings your files onto the canvas. Drop in a PDF, spreadsheet, or presentation and it's uploaded, converted, and indexed so connected chats can read it.
> Also referred to as the "File Node" — its type ID and this page's URL are unchanged.
---
## Supported files
- **Documents**: `pdf`, `doc`, `docx`, `rtf`, `txt`, `md`, `html`
- **Presentations**: `ppt`, `pptx`
- **Data**: `xls`, `xlsx`, `csv`, `json`, `xml`
---
## Adding a document
You can add a document three ways:
1. Press `D` (or pick the file icon from the toolbar) and choose a file
2. Right-click the canvas and use the **Add** menu
3. **Drag and drop** a file directly onto the canvas
The file uploads and starts indexing automatically as soon as it's added.
---
## Processing states
The node shows its progress:
- **Starting...** — upload is beginning
- A **progress** indicator while the file is processed and indexed
- An **error state** with a **Retry** button if something fails
- **Ready** — processing is complete, with buttons to open the converted `.md` and the `.pdf`
> Failed uploads don't retry automatically — click **Retry** on the node.
PDFs show a crisp preview of their first page as soon as they're added, with a page-count badge in the corner. Other formats show a file-type card while processing, then get the same first-page preview once their PDF conversion is ready.
---
## Reading documents
Double-click a document's page preview — or use the node's **Open in Sidebar** action — to read it in the [side view](/docs/canvas/side-view): a full page-by-page reader with **Previous / Next** controls, a page counter, and pages sized to fit the panel. Native PDFs open instantly; every other supported format works in the reader once processing has converted it to PDF.
---
## Chatting about the document
Connect the document node to a chat node (or `@`-mention it from a chat) and its content becomes context.
> You can chat about a document **immediately** — you don't need to wait for processing to finish. Only [RAG mode](/docs/ai-features/rag-mode) requires processing to be complete, since it depends on the index.
For large documents, RAG mode is the recommended way to chat: it retrieves only the relevant chunks instead of sending the whole file.
---
## Use cases
- **Research** — load a folder of papers and use RAG mode to ask questions across all of them without blowing up your token budget.
- **Writing** — attach your source material (interviews, reports) and draft with a chat that can cite it.
- **Studying** — upload lecture slides (`pptx`) and readings, then generate summaries and practice questions.
- **Content creation** — turn a long PDF report into a thread, script, or newsletter with a connected chat.
- **Planning** — drop in spreadsheets (`xlsx`, `csv`) of budgets or timelines and ask the AI to spot risks or summarize totals.
# Group Node (https://www.slashspace.ai/docs/nodes/group-node)
Bundle related nodes into a labeled, movable container to keep large canvases organized.
The Group Node is a container that holds other nodes. Move the group and everything inside moves with it — ideal for keeping big canvases tidy.
---
## Creating a group
1. Select **two or more nodes** (drag a selection box, or `Shift`-click nodes)
2. Click **Group selection** in the floating toolbar that appears
The selected nodes are wrapped in a dashed-border container.
---
## Working with a group
- **Label** — click the title field (placeholder **"Untitled"**) above the group and type a name
- **Move** — drag the group; all child nodes move with it
- **Resize** — drag the group's edges to change its size
> A group can't be resized smaller than 100 × 100.
When the group is selected, two actions appear next to its label:
- **Ungroup** — detaches all child nodes from the group
- **Tidy up** — auto-arranges the nodes inside the group
---
## Organizing large canvases
Groups pair well with the rest of the canvas tools — see [Organizing your canvas](/docs/canvas/organizing). Use one group per topic, source cluster, or project phase, and give each a clear label so you can navigate by structure instead of by memory.
---
## Use cases
- **Research** — group each source cluster (papers, web pages, and the chats about them) by theme so threads don't tangle.
- **Writing** — keep one group per chapter or section, each containing its notes, drafts, and revision chats.
- **Studying** — make a group per subject or week, then **Tidy up** before a review session to see everything at a glance.
- **Content creation** — separate ideation, drafting, and final-asset nodes into labeled stages of your pipeline.
- **Planning** — group nodes by project phase (discovery, build, launch) and move whole phases around as the plan evolves.
# Image Node (https://www.slashspace.ai/docs/nodes/image-node)
Upload images or generate them from a chat in Image mode, then iterate and chat about them on the canvas.
The Image Node holds a picture on your canvas — one you upload, or one generated from a [Chat Node](/docs/nodes/chat-node) in Image mode. Either way, the image's content is parsed so connected chats can discuss it.
---
## Supported files
- JPG, PNG, GIF, WebP
---
## Uploading an image
1. Double-click the canvas and choose the **image** icon
2. Click **Add From Computer**, or drag and drop an image file onto the node
3. The AI parses the image content automatically, so any connected chat can discuss what's in it
After parsing, open the **Parsed Content** dialog on the node to see what the AI extracted.
---
## Generating images
Image generation happens from a chat node switched to **Image** mode (`⌘3`):
1. Switch a chat node to **Image** mode — the model picker swaps to the image model catalog ("Search image models..."), with a fast, affordable default (currently **Gemini 3.1 Flash Image**) already selected
2. Describe the image you want and send
3. Each result branches into its own connected image node, so the conversation stays readable while the visuals live on the canvas
Aspect ratio, resolution, quality, and format are conversational — ask for "a wide 16:9 hero image" or "a transparent PNG" and the settings are applied for you, within what the chosen model supports. One prompt produces one image, and the chat never locks while a generation runs.
> Image generation requires a paid plan. Prefer your own billing? Turn on **Use my OpenRouter key for image generation** in [Settings → Providers](/docs/settings/providers) → OpenRouter — generations then run on your OpenRouter account instead of your credits, and those images are captioned "via your OpenRouter key".
---
## Editing and variations
- **Edit button** — a finished generated image gains an **Edit** action. Click it and a new Image-mode chat spawns already wired to that image, ready for "make the sky dusk" follow-ups.
- **Reference images** — connect any image node (uploaded or generated) into an Image-mode chat and it becomes a candidate reference. Say what you want done with it and the next generation uses it for edits and variations; an image connected purely as context is left alone.
> Image nodes only accept other image nodes as manual inputs — text, web, and document nodes can't be wired in as generation references.
---
## Chatting about an image
Connect an image node into any chat (or `@`-mention it) and the **Parsed Content** — the AI's description of the image — flows in as context, so the conversation can reference what's actually in the picture.
---
## Use cases
- **Research** — drop in charts or diagrams from papers; the parsed content lets a connected chat explain or compare them.
- **Writing** — generate a mood or scene image to anchor a piece of descriptive writing.
- **Studying** — upload textbook figures and ask a connected chat to walk you through what they show.
- **Content creation** — iterate on thumbnails with the **Edit** button, keeping every variation on the canvas for side-by-side comparison.
- **Planning** — sketch or screenshot a layout, upload it, and have the AI critique or list next steps.
# Text Node (https://www.slashspace.ai/docs/nodes/text-node)
A rich-text note on the canvas — write, format, and branch AI conversations from your own words.
The Text Node is a rich-text editor that lives on your canvas. Use it for notes, outlines, drafts, and any writing you want the AI to see as context.
---
## Creating a text node
1. Double-click the canvas (or use the toolbar) and choose the **text** icon
2. Type or paste your text
3. Connect it to a chat node — or branch directly from it — to discuss the content with AI
See [Creating Nodes](/docs/canvas/creating-nodes) for all the ways to add nodes.
---
## Formatting toolbar
Select the node and use the toolbar to format your text:
- **Heading 1**, **Heading 2**, **Heading 3**
- **Bold**, **Italic**, **Strikethrough**
- **Code** (inline)
- **Bullet list** and **Numbered list**
- **Blockquote**
Markdown syntax is also supported — type `# `, `**bold**`, `- `, `> `, and so on, and it renders as rich text.
> `Enter` inserts a newline inside a text node (unlike chat nodes, where it sends a message).
---
## Editing behavior
- The node **auto-grows** as you write — no manual resizing needed
- **Double-click the node's header** to center it on your screen
- Edits sync with the [side view](/docs/canvas/side-view), so you can read or edit the same text there
---
## Ask about a selection
You can branch a conversation from any passage:
1. Select text inside the node
2. A floating input appears: **"Ask about this… (↵ to expand)"**
3. Type a question and press `Enter`
This spawns a connected branch chat node focused on your selection.
---
## Voice input
Click the **microphone** icon or press `Ctrl+M` to dictate. Your speech is transcribed directly into the node. See [Voice Input](/docs/ai-features/voice-input).
---
## Use cases
- **Research** — keep running notes next to your sources, then select a claim and ask the AI to verify or expand it.
- **Writing** — draft an article in a text node and branch chats from individual paragraphs to rework them.
- **Studying** — summarize a lecture in your own words, then quiz yourself by asking about specific selections.
- **Content creation** — store your brand voice guidelines in a text node and connect it to every chat that writes copy.
- **Planning** — outline a project plan with headings and lists, and let connected chats flesh out each section.
# Web Node (https://www.slashspace.ai/docs/nodes/web-node)
Capture a webpage's screenshot and content so the AI can read and discuss it.
The Web Node pulls a live webpage into your canvas. It captures a screenshot, parses the page into readable content, and makes both available to connected chats.
---
## Adding a webpage
1. Double-click the canvas and choose the **web** icon. The empty node prompts: **"Enter a webpage URL to capture a screenshot and parse its content…"**
2. Paste or type the URL into the input
3. Click **Go**
While the page loads, the button shows **Scraping...**. If the capture fails, red error text appears — you can correct the URL and try again.
---
## What you get
Once scraping finishes, the node shows:
- A **screenshot** of the page, or the **parsed markdown** content
- The site's **domain** in the node footer
- A **full-content dialog** — open it to read everything that was extracted
---
## Using it as context
Connect the web node to a chat node (drag an edge, or `@`-mention it from the chat). The parsed page content flows in as context, so you can ask questions about the article, compare it with other sources, or quote from it. See [Connections](/docs/canvas/connections).
> Paywalled or heavily JavaScript-driven sites may fail to parse or return incomplete content. Retry, or use a different source (for example an archived or reader-friendly version of the page).
---
## Use cases
- **Research** — capture several articles on a topic, connect them all to one chat, and ask for a synthesis with the sources side by side.
- **Writing** — pull in a reference piece and ask a connected chat to match its structure or argue against it.
- **Studying** — save documentation pages or tutorials and ask the AI to explain the parts you're stuck on.
- **Content creation** — capture a competitor's landing page and brainstorm how your version should differ.
- **Planning** — collect pricing pages, reviews, or specs for options you're comparing, and let the AI build the comparison.
# Post Node (YouTube & more) (https://www.slashspace.ai/docs/nodes/youtube-node)
Bring videos and social posts onto the canvas — transcripts and content are fetched automatically.
The Post Node embeds a video or social post on your canvas and fetches its transcript or content, so connected chats can discuss it.
> Originally YouTube-only, this node now supports **YouTube, TikTok, Instagram, Facebook, X, and LinkedIn** URLs. Existing YouTube nodes migrate automatically — the type ID and this page's URL are unchanged.
---
## Adding a post
1. Double-click the canvas and choose the **Post** icon. The empty node shows **"Add a post URL"** with the hint "Supports YouTube, TikTok, Instagram, Facebook, X, and LinkedIn"
2. Paste the URL of a video or post
3. The node **auto-detects the platform** and loads an embedded player or post preview
Use the **open-external** button on the node to view the original in your browser.
---
## Transcripts and content
- For videos, the **transcript is fetched automatically** after the post loads
- The node shows a **processing** state while content is being retrieved
- If fetching fails, the node shows a **failed** state with a **retry** option
> Transcript availability depends on the platform and the post — some videos have no captions to fetch. Retry, or try a different link for the same content.
---
## Chatting about a post
Connect the post node to a chat node (or `@`-mention it). The transcript or post content flows in as context, so you can summarize, quote, or analyze it. See [Connections](/docs/canvas/connections).
---
## Use cases
- **Research** — collect conference talks and interviews on a topic and ask a connected chat to extract the key claims from each.
- **Writing** — quote accurately from a video by working from its transcript instead of your memory.
- **Studying** — paste a lecture or tutorial video and generate notes, summaries, and flashcard-style questions.
- **Content creation** — analyze a viral post or video's structure and hooks, then draft your own take in a branch chat.
- **Planning** — gather product reviews and walkthrough videos when evaluating tools, and let the AI compare what they say.
# Redeem Code (https://www.slashspace.ai/docs/redeem-code)
1. Go to [slashspace.ai/account](https://www.slashspace.ai/account).
2. Create an account.
3. Scroll down to the "Have a partner code?" section.
4. Enter your unique redemption code.
5. Click "Redeem."
6. Once verified, the license key is generated and will appear under "Active License."
> Next: Open the Slashspace app and follow the [Quickstart](/docs) — click **Sign in** and authenticate with the same email you used to create your account. You no longer need to paste a license key.
# Account Management (https://www.slashspace.ai/docs/settings/account-management)
Your plan, credits, devices, and privacy opt-ins in one place
## Account Information
**Settings → Account** in the desktop app shows:
- Your **email address** and a truncated **Device ID**
- Your **current plan** — name, price, Active/Cancelling status, and renewal date
- Your **credit balance**, shown as a dollar value, with a **Reload** button
- A **Devices** card showing every registered device using your plan's seats — each row lists the device's name (or ID) and when it was added, with a device count in the header
- **Refresh account** and **Sign out** buttons
- A **Privacy Settings** section with opt-in toggles for individual features
There's no license key or license type anymore — sign-in is email-based (see [Quickstart](/docs)).
---
## Privacy Settings
Slashspace is opt-in about anything that leaves your machine: "Control how your data is used and shared. We respect your privacy and only enable features with your consent."
Each feature is listed with a description and an Enable/Disable toggle:
- **Cloud vector DB** — allows your node content to be indexed in the cloud vector database. This is what powers [RAG Mode](/docs/ai-features/rag-mode) and AI Search; with it disabled, cloud indexing simply doesn't happen.
- **Analytics** — anonymous usage telemetry that helps improve the app.
> Both features stay off until you explicitly enable them. You can disable either at any time from the same toggles.
---
## Managing Your Account
### Device Management
**Settings → Account** shows the **Devices** card right in the app: each registered device with its name (or shortened ID) and the date it was added, plus a count of how many seats are in use.
To remove a device, click **Manage devices on web** at the bottom of the card (or visit [slashspace.ai/account/plan](https://www.slashspace.ai/account/plan) directly) — deactivation happens on the web, not in the app.
---
### Payment Details & Invoices
1. Visit [slashspace.ai/account/plan](https://www.slashspace.ai/account/plan)
2. Navigate to Payment Details
3. Download invoices
---
## Use cases
- **Ran out of credits mid-chat**: click **Reload** next to your credit balance (or fix it from the error itself — see [Troubleshooting](/docs/troubleshooting)).
- **Just upgraded on the web**: hit **Refresh account** so the desktop app picks up your new plan without signing out.
- **New laptop**: remove the old machine from the Devices list on the web, then sign in on the new one.
- **Turning on RAG**: enable the cloud vector DB opt-in here before expecting [RAG Mode](/docs/ai-features/rag-mode) or AI Search to index your nodes.
# Custom Providers (https://www.slashspace.ai/docs/settings/custom-providers)
Add and manage your own OpenAI-compatible API providers
## Overview
**Settings → Custom Providers** lets you add and manage your own OpenAI-compatible API providers. Any endpoint that speaks the OpenAI API format works — self-hosted inference servers, gateways, and proxy services.
> Custom providers require Pro or higher. On the free plan the page shows a lock with an **Upgrade** button.
---
## Adding a Custom Provider
1. Go to **Settings → Custom Providers** and click **Add Custom Provider**.
2. Fill in the dialog:
- **ID** — a unique identifier for the provider
- **Name** — just a name for your reference
- **API Key (Optional)** — leave empty if your endpoint doesn't need one
- **Base URL** — the endpoint's OpenAI-compatible base URL
3. Click **Add Provider**.
---
## Managing Custom Providers
Each provider is a row in an accordion showing its Base URL and ID when expanded:
- **Enable/disable** — the switch on the row activates or deactivates the provider without deleting it.
- **Edit** — reopens the dialog to change the name, API key, or base URL (the button reads **Update Provider** when editing).
- **Delete** — removes the provider after a confirmation.
> Deleting a provider cannot be undone — it is permanently removed from your settings along with its configuration.
### Models
Custom providers start with no models. Expand the provider and click **Add Model**, then enter the **Model ID** exactly as your endpoint expects it, plus an optional display name, description, and modalities — the same dialog as for [cloud providers](/docs/settings/providers#managing-models).
---
## Use cases
- **Local inference servers**: connect LM Studio, vLLM, or a LiteLLM proxy running on your machine or LAN and use those models everywhere in Slashspace.
- **Corporate gateways**: route requests through your company's internal AI gateway so usage stays compliant with internal policy.
- **Aggregators and alternatives**: plug in any OpenRouter-style aggregator or niche hosted provider that exposes an OpenAI-compatible API.
- **Testing your own models**: point a provider at a fine-tuned model you're serving yourself and compare it against commercial models side by side on a canvas.
# Default Models (https://www.slashspace.ai/docs/settings/default-models)
Choose which models Slashspace uses for chat and titles by default
## Overview
**Settings → Default Models** configures which models the app reaches for automatically. You can pick any active model from any of your connected providers.
## The Two Defaults
- **Default Chat Model** — the model every new [chat node](/docs/nodes/chat-node) starts with. Out of the box this is **Auto**, which routes each message to the best-suited model (see [Models & Providers](/docs/ai-features/models)). You can still switch models per conversation.
- **Title Generation Model** — used to automatically name your nodes and canvases from their content. The setting's own advice: "Pick a lightweight low cost model" — it runs often and doesn't need to be smart.
> Image generation models aren't set here — pick them per node in an Image-mode chat's model catalog. See [Image Node](/docs/nodes/image-node).
---
## Per-Canvas Overrides
These settings are global. Each canvas can override the default chat model in its canvas settings — while a canvas is inheriting the global value, it shows a **Global default** badge there. Set a canvas-specific model and that canvas stops following the global setting.
---
## Use cases
- **Cheap housekeeping, smart chat**: keep **Auto** (or a frontier model) on **Default Chat Model** but a small, cheap model on **Title Generation Model** so auto-naming never eats your budget.
- **A canvas per model**: keep the global default on **Auto**, and override one research canvas to a long-context model via its canvas settings.
- **Offline-first setup**: set an [Ollama](/docs/settings/ollama) model as the default chat model so new conversations work even without internet.
# Connected Tools (https://www.slashspace.ai/docs/settings/integrations)
Connect third-party services to extend what your AI can do
> This feature is in **Beta** and lives under **Settings → Connected Tools** (shown as "Integrations" below for historical reasons — the in-app label is "Connected Tools").
## Overview
Slashspace can connect to external services — Gmail, GitHub, Slack, Notion, Linear, Google Calendar, and more — through [Composio](https://composio.dev). Once connected, your AI can read, write, and take actions across those services directly from chat.
---
## Privacy Boundary
The settings page states the boundary up front:
> Composio stores connected-account credentials on its backend. Slashspace never persists Composio API keys, OAuth secrets, MCP URLs, or MCP headers in your local canvas files. Tool schemas, tool calls, and tool results may be sent to the selected AI provider when tools are used.
In short: your service credentials live with Composio, never in your canvas files — but the content a tool returns can flow to whichever AI model you're chatting with.
---
## Connecting a Service
You don't need to set anything up ahead of time. Just ask the AI to do something that involves an external service:
> "Create a GitHub issue for this bug"
If the service isn't connected yet, the AI will respond with a connection link. Click it, authorize the service, confirm back in chat, and the AI will carry on with your request.
Any AI model that supports tool calls (all Rabbitholes models do this out of the box) can trigger this flow automatically.
If you haven't connected anything yet, the settings page shows an empty state: "Ask chat to use a tool such as Gmail, GitHub, Slack, or Notion. If authentication is needed, it will open a Composio Connect Link for that account."
---
## What You Can Do
Once a service is connected, just ask naturally:
- "Summarize my unread emails from today"
- "Create a GitHub issue for this bug"
- "Send a Slack message to #engineering with today's standup notes"
- "Add this meeting to my Google Calendar"
The AI figures out which service to use and handles everything behind the scenes.
---
## Managing Connections
Go to **Settings → Connected Tools** to see all your connected accounts. Each connection card shows the service name, the account ID, and a status pill:
- **ACTIVE** (green) — connected and ready to use
- **INITIATED** (amber) — authorization was started but not finished
- **FAILED / EXPIRED / REVOKED** (red) — the connection no longer works
Each card has two buttons:
1. **Reconnect** — opens a fresh Composio Connect Link in your browser to re-authorize the account. Use this for amber or red statuses.
2. **Disconnect** — removes the connection. The AI won't be able to use that account until you connect it again.
The **Refresh** button at the top of the page re-fetches the latest connection statuses.
You can also connect multiple accounts for the same service (e.g., work and personal Gmail). The AI will pick the right one based on context, or ask you which to use.
---
## Available Services
There are 500+ services available, including:
| Category | Examples |
| --- | --- |
| Communication | Gmail, Slack, Discord, Microsoft Teams |
| Development | GitHub, GitLab, Linear, Jira |
| Productivity | Google Calendar, Notion, Todoist |
| Storage | Google Drive, Dropbox, OneDrive |
| CRM | HubSpot, Salesforce |
| Social | Twitter/X, LinkedIn |
---
## Troubleshooting
- **Connection stopped working** — check its status pill in **Settings → Connected Tools**; if it's red, click **Reconnect**. OAuth tokens refresh automatically, but disconnecting and reconnecting fixes a stuck account.
- **Rate limits** — some services limit how many requests can be made in a short period. If you hit a limit, wait a few minutes and try again.
More help in [Troubleshooting & Support](/docs/troubleshooting).
---
## Use cases
- **Inbox triage on a canvas**: connect Gmail once, then ask chat each morning to summarize unread email and draft replies.
- **Ship bugs straight from research**: while investigating an issue in a [chat node](/docs/nodes/chat-node), have the AI file the GitHub or Linear issue with full context.
- **Work and personal side by side**: connect both Gmail accounts and let the AI ask which one to use when it's ambiguous.
- **Meeting logistics**: ask the AI to find a free slot and add the event to Google Calendar without leaving your canvas.
# MCP Servers (Beta) (https://www.slashspace.ai/docs/settings/mcp-servers)
Extend your AI with external tools via the Model Context Protocol
## Overview
**Settings → MCP Servers** (labeled **Beta** in the sidebar) lets you connect Model Context Protocol servers — external tool providers your AI can call during chat. An MCP server might expose your filesystem, a database, an issue tracker, or any other capability.
For how MCP tools actually behave in a conversation — tool approval, streaming results — see [MCP Tools](/docs/ai-features/mcp-tools).
> MCP servers are experimental and may not work as expected. They give the AI access to external tools which can read, modify, or transmit your data. Your conversations, prompts, and any data processed through MCP tools will be shared with the server. Only use MCP servers from sources you trust completely, and be extra careful with servers that can reach sensitive information.
---
## Adding an MCP Server
1. Go to **Settings → MCP Servers** and click **Add MCP Server**.
2. Fill in the dialog:
- **Name** (required) — how the server appears in the list
- **Description** (optional)
- **Transport Type** — how Slashspace talks to the server:
- **stdio (Local)** — runs a local command to start the server. Provide the **Command** (e.g. `npx -y @modelcontextprotocol/server-filesystem`) and **Arguments** as a comma-separated list (e.g. a path the server is allowed to access).
- **HTTP (Remote)** — connects to a remote server. Provide the **URL**, and optionally **Headers (JSON)**, e.g. `{"Authorization": "Bearer your-api-key"}`.
- **SSE (Server-Sent Events)** — like HTTP, with the same **URL** and **Headers** fields, for servers that stream over SSE.
- **Enabled** — the switch at the bottom controls whether the server is active right away.
3. Click **Add Server** (or **Update Server** when editing).
---
## Managing Servers
Each server is a row in an accordion:
- The plug icon is green when the server is enabled.
- A pill shows the transport type (`stdio`, `http`, or `sse`).
- The switch enables or disables the server without deleting it.
- **Edit** reopens the dialog with the server's settings.
- The trash button deletes the server after a confirmation — this cannot be undone and permanently removes the server configuration.
Expanding a row shows the description, the full transport command or URL, and the server's ID.
---
## Use cases
- **Filesystem access**: run the filesystem MCP server over stdio so chat can read and summarize files in a folder you allow.
- **Internal tooling**: connect a remote HTTP MCP server your team hosts — with an `Authorization` header — to let the AI query internal systems.
- **Trying community servers**: enable a community MCP server for a one-off task, then flip its switch off so it can't be called until you need it again.
- **Separating trust levels**: keep powerful servers disabled by default and only enable the specific one a task needs, instead of leaving everything on.
# Ollama (Local Models) (https://www.slashspace.ai/docs/settings/ollama)
Run local models like Llama, Mistral, and Gemma on your own hardware
## Overview
Ollama runs LLMs locally, using your computer's hardware instead of the cloud. It has its own page at **Settings → Ollama**.
You can chat with local models without an internet connection, and since nothing leaves your machine, it's more private than cloud providers. It's also free to use — Ollama is available on all plans, including Starter.
> You need a decent internet connection to download models, plus enough disk space to store them. Local model speed depends entirely on your hardware — a capable CPU/GPU and enough RAM make a big difference.
---
## Setting Up Ollama
1. **Install and run Ollama.** If Ollama isn't detected, the page shows **Please Start / Install Ollama** with two buttons: **Configure** (point Slashspace at a non-default Ollama address) and **Install Ollama** (opens the download page at [ollama.com](https://ollama.com)). Install it, start it, and come back.
2. Once Ollama is running, the page shows an **Installed** badge with the Ollama version.
3. **Find a model ID.** Browse [ollama.com/search](https://ollama.com/search) for the model you want and copy its ID.
4. **Download it.** Back in **Settings → Ollama**, paste the model ID (e.g. `gemma3:3b`) into the input (placeholder: "ex: mistral") and click **Download Model**. Progress streams in as the model downloads. Once it finishes, the model appears in the list and is available across Slashspace.
The **Search Models on Ollama** link below the list takes you straight to the model catalog.
---
## Managing Models
- Models that are currently loaded show a green **Running** indicator and sort to the top of the list.
- Each model row has a **Delete** button to remove it and free up disk space.
---
## Configuration
Click the gear button next to the Ollama badge to open the **Ollama Configuration** dialog. It has a single **Hostname** field — the URL of your Ollama instance, `http://localhost:11434` by default (a "use the default" shortcut fills it in). Click **Save Configuration** to apply.
Point this at another address if you run Ollama on a different port or on another machine on your network.
---
## Troubleshooting
- Verify Ollama is running at `http://localhost:11434`
- Check your firewall settings
- Restart Ollama if needed
More help in [Troubleshooting & Support](/docs/troubleshooting).
---
## Use cases
- **Fully offline work**: download a model once, then chat, take notes, and build canvases on a plane or anywhere without internet.
- **Private material**: keep sensitive documents and conversations entirely on your machine — nothing is sent to any cloud provider.
- **Zero-cost experimentation**: try prompts, [personas](/docs/ai-features/personas), and node workflows freely on the Starter plan without spending credits or API budget.
- **A home LLM server**: run Ollama on a beefy desktop and point your laptop's **Hostname** setting at it over the local network.
# Persona Prompts (https://www.slashspace.ai/docs/settings/persona-prompts)
Create and manage reusable AI personas with their own instructions
## Overview
**Settings → Persona Prompts** is where you create and manage personas — named, color-coded instruction sets you can apply to any conversation. For how personas behave in chat, see [Personas](/docs/ai-features/personas).
## Create Persona
1. **Name:** Enter persona name
2. **Color:** Select identifying color
3. **Prompt:** Enter instructions
4. Click **Create** button
---
## Managing Personas
- View existing personas
- Update by selecting and editing (the same dialog's submit button reads **Update** when editing)
- Delete when no longer needed
---
## Using a Persona
Once created, a persona can be applied to a conversation from the persona picker (search personas by name) available in the chat/canvas UI — the AI will follow that persona's prompt for the conversation. See [Personas](/docs/ai-features/personas) for details.
---
## Use cases
- **A stable of specialists**: keep an "Editor", a "Skeptical Reviewer", and a "Explain-like-I'm-five Teacher" and switch between them per conversation instead of retyping instructions.
- **Consistent voice**: give a "Brand Writer" persona your tone guidelines so every draft across canvases sounds the same.
- **Color-coded thinking**: assign distinct colors to personas so you can tell at a glance which perspective produced which [chat node](/docs/nodes/chat-node).
# Cloud Providers (https://www.slashspace.ai/docs/settings/providers)
Connect Rabbitholes and your own API keys for OpenAI, Anthropic, Google, and more
## Overview
**Settings → Cloud Providers** is where you connect AI providers that run in the cloud. The page shows an accordion with one row per provider:
- **Rabbitholes** — Slashspace's built-in managed provider (no API key needed)
- **OpenAI**, **Anthropic**, **Google**, **Perplexity**, **xAI**, **OpenRouter**, **Straico**, **Qolaba**, **DeepSeek**, **Groq**, and **Fal AI (BETA)** — bring your own API key
The key icon on each row turns green once an API key is saved for that provider, so you can see at a glance which providers are connected.
Local models ([Ollama](/docs/settings/ollama)), OpenAI-compatible endpoints ([Custom Providers](/docs/settings/custom-providers)), and coding-agent CLIs ([Subscription Providers](/docs/settings/subscription-providers)) each have their own settings page.
> On the free (Starter) plan, only Rabbitholes is available here. The other providers appear blurred behind a lock — "Cloud providers require Pro or higher. Upgrade to use your own API keys with OpenAI, Anthropic, Google, and more." — with an **Upgrade** button.
---
## Rabbitholes (built-in)
Rabbitholes needs no setup at all. As its card explains: "Rabbitholes uses your signed-in desktop session and routes chat through the managed backend endpoint."
- There's no API key to paste — usage is billed against your credit balance.
- The **Manage plan** link on the card opens your plan page on the web, where you can check or reload credits.
> Custom models are not available for the Rabbitholes provider — you can only add your own models to BYOK providers.
---
## Adding an API Key
1. Go to **Settings → Cloud Providers** and expand the provider you want to connect.
2. Click **Get your API key here** — it opens that provider's dashboard in your browser, where you can create a key.
3. Paste the key into the **Enter your API key** field. It's a password field; use the eye button to show or hide the key.
4. A footer appears with a **Skip API key validation** checkbox, a red **X** (cancel your changes), and a check button (save).
5. Click the check button to save. Slashspace validates the key with the provider before saving, unless you ticked **Skip API key validation**.
When you save a key for the first time, a default set of models for that provider is added automatically, and if you haven't set a default chat model yet, one is picked for you (you can change it in [Default Models](/docs/settings/default-models)).
---
## Managing Models
Each provider row has a **Models** list:
- **Toggle** — the switch on each model row activates or deactivates the model. Only active models show up in model pickers across the app.
- **Delete** — the trash button removes a model after a confirmation: "This will remove the model from the active list."
- **Add New Model** — opens a dialog to register any model the provider supports. For providers whose model inventory can be fetched, a combobox lets you pick from the live list; otherwise fill in:
- **Model ID** (required) — the provider's exact model identifier, e.g. `gpt-4o`
- **Display Name / Alias** (optional) — the name shown in the UI
- **Description** (optional)
- **Modalities** — checkboxes such as Text to Text, Text to Image, Image to Text; the model type is derived from what you select
- **Refresh Models** — shown instead of the add button for providers that fetch their model list (like [subscription providers](/docs/settings/subscription-providers)).
Chat models are validated against the provider before they're added, so a typo in the model ID fails fast.
### Per-model settings
Click a model card to open its **Model Settings** dialog. You can set an alias, a model-specific system prompt, and advanced sampling parameters: Temperature, Top K, Top P, Presence Penalty, Frequency Penalty, Max Tokens, and Max Steps.
### Provider-level advanced settings
Each provider also has a **Manage Advanced Settings** button. This dialog sets defaults for the whole provider — System Prompt plus the same sampling parameters and Max Steps / Max Tokens. Every field has a **Clear** control, and the dialog has **Reset Defaults** and **Save** buttons.
---
## Use cases
- **Start with zero setup**: chat with Rabbitholes models right after signing in — no keys, no configuration — and reload credits from the **Manage plan** link when you run low.
- **Bring your own keys to control cost**: on Pro, add your OpenAI and Anthropic keys so heavy usage bills your own accounts at provider rates instead of consuming credits.
- **Pin a new model the day it ships**: when a provider releases a model that isn't in the default list yet, use **Add New Model** with its model ID and start using it immediately.
- **Tune a provider for one workflow**: set a provider-level system prompt and a low temperature via **Manage Advanced Settings** so every model from that provider answers in a consistent, deterministic style.
# Agent Skills (https://www.slashspace.ai/docs/settings/skills)
Browse the skills.sh registry and install agent skills with one click
**Settings → Agent Skills** is a built-in browser for the public [skills.sh](https://skills.sh) registry: "Browse the public skills.sh registry and install skills with one click."
Skills are reusable instruction packs (folders with a `SKILL.md`) that teach the AI a workflow — once installed, they show up in the [slash menu](/docs/ai-features/slash-commands) of every chat.
---
## Browsing the registry
The page lists the registry as a live leaderboard. Each row shows:
- The skill's **rank**, **name**, and source repo (`owner/repo`)
- A **Verified** badge when it's published by an official source
- A **security-checks** shield — hover it for per-provider audit results
- An **8-week install trend** sparkline and the total **install count**
Click a row to expand it in place: the full description, the security-check results, and a **View on skills.sh** link. Use the **Search skills** box to search the whole registry.
---
## Installing a skill
1. Click **Install** on any row (it reads **Installing**, then **Installed**)
2. The skill is saved to `~/.agents/skills` — the cross-tool convention, so it also works with other agent tools — and linked into `~/.claude/skills` for Claude Code
3. Type `/` in any chat and pick it from the **Skills** section — no restart needed
> Skills are plain folders you own. Anything you drop into `~/.agents/skills` by hand appears in the slash menu the same way — the browser is just the fast path.
---
## Removing a skill
Click the **Installed** button on a skill's row to remove it — this deletes it from `~/.agents/skills` (and unlinks it from `~/.claude/skills`) immediately.
---
## Use cases
- **Borrow instead of writing**: grab a well-reviewed "changelog writer" or "code review" skill from the leaderboard instead of authoring the prompt yourself.
- **One library, every tool**: skills installed here serve Claude Code and other agent tools too, since everything lives in the shared `~/.agents/skills` folder.
- **Vet before you trust**: check the security shield and the Verified badge before installing a skill that will be injected into your conversations.
# Subscription Providers (https://www.slashspace.ai/docs/settings/subscription-providers)
Use the Claude and ChatGPT subscriptions you already pay for inside Slashspace, by connecting the Claude Code and Codex CLIs
## Overview
**Settings → Subscription Providers** is where you connect backends you already pay for somewhere else, instead of paying per API call.
The page has two parts:
- **Slashspace** at the top. The built-in managed provider. It uses your signed-in desktop session and routes chat through the managed backend, so there is nothing to set up. **Manage plan** opens your plan page on the web.
- **Cursor**, **Claude Code** and **Codex** below it, one row each in an accordion. These are agent runtimes that run on your own computer. The check icon on a row turns green once that provider is connected (an API key is saved for Cursor, the switch is on for Claude Code and Codex).
Unlike [cloud providers](/docs/settings/providers), models from these runtimes do not just answer. They can read and edit files in a folder you choose.
> The three CLI providers require Pro or higher. On the free plan they are blurred behind a lock with an **Upgrade** button. The Slashspace row stays available on every plan.
---
## How this works, in plain English
If you already pay for Claude (claude.ai) or ChatGPT, you can use that same subscription inside Slashspace instead of buying API credits.
Anthropic and OpenAI each publish a small program that runs on your own computer: **Claude Code** for Claude, **Codex** for ChatGPT. Those programs sign in with the same account you use in the browser. Slashspace does not call Anthropic or OpenAI directly for these models. It launches the program on your machine, hands it your message, and shows the reply in a [chat node](/docs/nodes/chat-node).
What that means for you:
- **No API key.** You sign in once, in the program itself, and never paste a key into Slashspace.
- **No Slashspace credits are used** for these chats. The usage counts against your Claude or ChatGPT plan instead.
- **The work happens locally.** Your message goes from Slashspace to the program on your Mac or PC, and that program talks to Anthropic or OpenAI using your login.
- **The model can touch files.** It reads, and depending on your settings edits, files in the folder you pick as the agent workspace.
- **Your tools come along.** Whatever [MCP servers](/docs/settings/mcp-servers) are active for that chat are passed through to the agent, alongside the built-in canvas tools.
### About the terminal
Installing and signing in happens once, in a terminal. After that, everything is inside Slashspace.
- **macOS**: press `Cmd + Space`, type `Terminal`, press Enter.
- **Windows**: press the Start key, type `PowerShell`, press Enter.
Then copy a command from below, paste it in, press Enter, and wait for it to finish. Slashspace also shows these same commands, with a copy button and matched to your operating system, inside the **CLI Status** card whenever it cannot find the program.
---
## Claude Code (uses your Claude subscription)
### 1. Install the Claude Code CLI
macOS and Linux:
```bash
curl -fsSL https://claude.ai/install.sh | bash
```
Windows (PowerShell):
```powershell
irm https://claude.ai/install.ps1 | iex
```
Windows (CMD):
```bash
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
```
If you already have Node.js installed and prefer npm:
```bash
npm install -g @anthropic-ai/claude-code
```
The first three are native installers and do not need Node.js. Use the npm one only as a fallback.
### 2. Sign in once
```bash
claude
```
The first run walks you through signing in. Pick the option to log in with your **Claude account**, so the CLI bills your subscription rather than pay-as-you-go API usage. Once it says you are signed in, you can close the terminal.
### 3. Turn it on in Slashspace
1. If Slashspace was already running while you installed, quit and reopen it. The app reads your system paths at startup, so a freshly installed program is not visible until it restarts.
2. Go to **Settings → Subscription Providers**, expand **Claude Code**, and turn on the master switch. Enabling it fetches the model list from the CLI automatically.
3. Check the **CLI Status** card. A green check with the version number and the file path means you are ready. Use **Re-check** after installing, updating or moving the CLI.
If the CLI still is not found, the card shows the install steps again, with a copy button on each command.
### Options
- **Custom CLI path**: only needed when the CLI is not auto-detected, for example a non-standard install location. Leave it empty to auto-detect.
- **Permission mode**: how much the agent is allowed to do.
- **Default**: tools that need permission ask for your approval in chat
- **Accept edits**: file edits in the workspace are auto-approved, other tools still ask
- **Plan**: read-only planning mode, no changes are made
- **Bypass permissions**: all tools run without asking (use with care)
- **Max agent turns**: how many tool-use rounds Claude Code may take per response. Between 1 and 100, default 10.
The **Models** list has a **Refresh Models** button. If the CLI cannot be reached, a default model set is loaded instead.
---
## Codex (uses your ChatGPT subscription)
### 1. Install the Codex CLI
macOS and Linux:
```bash
curl -fsSL https://chatgpt.com/codex/install.sh | sh
```
Windows (PowerShell):
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
```
If you already have Node.js installed and prefer npm:
```bash
npm install -g @openai/codex
```
### 2. Sign in once
```bash
codex login
```
This opens your browser. Sign in with the **ChatGPT account** that holds your subscription, and pick the sign-in-with-ChatGPT option rather than an API key, so usage counts against your plan. Once it confirms, you can close the terminal.
### 3. Turn it on in Slashspace
1. Restart Slashspace if it was open during the install.
2. Go to **Settings → Subscription Providers**, expand **Codex**, and turn on the master switch. Enabling it fetches the model list from the CLI automatically.
3. Check the **CLI Status** card, and use **Re-check** if it does not show a green check.
### Options
- **Custom CLI path**: only needed when the CLI is not auto-detected.
- **Approval policy**: when Codex stops to ask you in chat.
- **On request**: Codex decides which commands need your approval
- **Untrusted**: every command asks first
- **On failure**: commands run sandboxed, you are asked only when one fails
- **Never**: never asks, everything runs inside the sandbox
- **Sandbox mode**: how much filesystem access the agent has while running.
- **Workspace write**: can edit files inside the selected agent workspace
- **Read-only**: can read the workspace but not change files
- **Full access**: no sandbox, can touch anything (use with care)
The **Models** list has a **Refresh Models** button. If the CLI cannot be reached, a default model set is loaded instead.
---
## Cursor
Cursor is the odd one out on this page. It connects with an API key and is billed by Cursor, rather than reusing a subscription you sign into locally.
1. Expand **Cursor** and click **Get your API key here**. It opens the cursor.com dashboard, where you can create a key.
2. Paste it into the **Enter your API key** field and save with the check button.
3. Use **Refresh Models** in the **Models** list to pull the current model list from Cursor.
---
## Agent Workspace
When you chat with a model from one of these runtimes, a folder picker appears in the chat input. The folder you pick is the agent's workspace: the directory it reads from and, depending on permission mode, writes to.
You can also set a canvas-level default workspace in the canvas settings, so every agent chat on that canvas starts in the same folder.
> If you never pick a folder, the agent falls back to the folder your canvas file lives in, inside your Slashspace files. That is rarely what you want for real work, so pick the project folder before you start.
---
## Caveats
Worth knowing before you rely on this:
- **One account per CLI.** Whichever account you signed in as in the terminal is the account Slashspace uses. There is no account switcher in the app, so changing accounts means signing out and back in from the terminal.
- **An API key in your environment can win over your subscription.** Slashspace passes your system environment to the CLI unchanged. If you have something like `ANTHROPIC_API_KEY` or `OPENAI_API_KEY` set, or you originally configured the CLI with an API key, it may bill that key instead of your subscription. Run the CLI once in a terminal to confirm which account it is using.
- **Restart after installing.** Slashspace reads your system paths when it launches. Install the CLI, restart the app, then hit **Re-check**.
- **Unusual installs need a custom path.** If you installed through a version manager (nvm, asdf) or into a custom directory, auto-detection can miss it. Paste the full path into **Custom CLI path**. On Windows, npm installs a small launcher script rather than a real program. Slashspace maps that to the underlying file automatically, but if a launch fails with a launcher-script error, point the custom path at the real executable or reinstall with the native installer.
- **File access is real access.** **Accept edits**, **Bypass permissions** and Codex's **Full access** sandbox let the agent change files without asking. Start with **Plan** or **Default**, keep the workspace pointed at a folder you have backed up or under version control, and widen permissions only once you trust what it is doing.
- **The model list can go stale.** It is fetched from the CLI, and a default set is seeded when the CLI cannot be reached. Picking a model your plan does not include only fails when you send a message, so use **Refresh Models** after upgrading or changing plans.
- **Agent replies are slower.** These runs are multi-step: the agent reads files, calls tools, and may pause for your approval in chat. **Max agent turns** caps how long that loop can run.
- **Install commands come from the vendors and can change.** The commands above match what the app shows today. If Anthropic or OpenAI changes theirs, the copy buttons in the **CLI Status** card are the source of truth.
- **Other features still cost credits.** Skipping credits applies to these agent chats only. Image generation, RAG indexing and Slashspace-provider chats are billed as usual.
---
## Use cases
- **Ask questions about a codebase**: point the workspace at a repo and use **Plan** or **Default** mode to explore and explain code with no risk of changes.
- **Delegate real edits**: switch to **Accept edits** and have Claude Code fix a bug or add a feature directly in your project folder, straight from a [chat node](/docs/nodes/chat-node).
- **Get more out of what you already pay for**: run Claude Code on your Claude plan and Codex on your ChatGPT plan, with no extra Slashspace credits spent on those runs.
- **Keep long tasks bounded**: raise **Max agent turns** for complex multi-file refactors, or keep it low so quick questions never spiral into long tool loops.
# System Preferences (https://www.slashspace.ai/docs/settings/system-preferences)
App-level hardware preferences
## Audio Settings
- **Preferred Microphone**: Select the primary input device used for voice transcription — see [Voice Input](/docs/ai-features/voice-input).
# Troubleshooting & Support (https://www.slashspace.ai/docs/troubleshooting)
Fixes for common errors, plus how to reach us when you're stuck
## Common Chat Errors
### "You don't have enough usage balance…"
Your Rabbitholes credit balance is empty. Click the **Reload usage** button shown with the error, or reload credits from your account page at [slashspace.ai/account](https://www.slashspace.ai/account). Your current balance is also visible in [Settings → Account](/docs/settings/account-management).
### "Upgrade your plan to use this feature."
You've hit a plan-gated feature. Bring-your-own-key [cloud providers](/docs/settings/providers), [RAG Mode](/docs/ai-features/rag-mode), [custom providers](/docs/settings/custom-providers), and [subscription providers](/docs/settings/subscription-providers) all require Pro or higher. Upgrade, then hit **Refresh account** in Settings → Account so the app picks up the new plan.
### A generic red error under the message
1. Click **Retry** — transient provider hiccups are common.
2. If it persists, check the provider's API key in [Settings → Cloud Providers](/docs/settings/providers) (the key icon should be green) and check the provider's own status page for outages.
### Missing slash command reference
The [slash command](/docs/ai-features/slash-commands) you invoked points to a prompt or skill file that has been moved or deleted. Restore the file, or edit the command to point at the new location.
### RAG isn't available with Rabbitholes models
RAG with Rabbitholes managed models is temporarily unavailable — you'll see **Use a BYOK provider for RAG**. Switch the conversation to a model from one of your own providers (see [Models & Providers](/docs/ai-features/models)).
---
## Ollama Issues
- Verify Ollama is running at `http://localhost:11434` (or whatever hostname you configured in [Settings → Ollama](/docs/settings/ollama))
- Check your firewall settings
- Restart Ollama if needed
---
## Web Node Failures
If a [web node](/docs/nodes/web-node) fails to load a page, the source is usually blocked, paywalled, or refusing automated access. Try a different URL for the same content — an archive link, the AMP version, or another article covering the same material.
---
## Document Processing Stuck
If a [file node](/docs/nodes/file-node) sits in processing or shows an error, click its **Retry** button. If it keeps failing, check that the file type is supported and that the file isn't corrupted or empty.
---
## Sign-In Issues
- If your browser completes sign-in but the app never picks it up, use the **Paste login token** fallback on the sign-in screen: copy the token shown in the browser and paste it into the app.
- Make sure you sign in with the same email you purchased with — a different address won't carry your plan.
---
## App Updates
1. Click the version button in the footer of the Settings sidebar. It opens the **Software Update** dialog.
2. Click **Download Update** and wait for the progress to finish.
3. Click **Restart & Install** to apply the update.
---
## Getting Help
- **In-app**: use **Bug / Feedback** (under **Settings → Troubleshoot**, or right-click the canvas). Describe the issue and optionally attach screenshots or screen recordings — your log file and device ID are attached automatically to help us diagnose.
- **Email**: [support@rabbitholes.ai](mailto:support@rabbitholes.ai)
- **Discord**: join the community at [links.rabbitholes.ai/discord](https://links.rabbitholes.ai/discord) for faster responses
---
# Blog Posts
## 10 Ways AI Mind Mapping Can Supercharge Your Brainstorming Sessions (https://www.slashspace.ai/blog/10-ways-ai-mind-mapping-supercharge-brainstorming)
Published: 2026-03-31
Traditional brainstorming hits walls. AI mind mapping changes this entirely — here are ten specific ways it transforms brainstorming from a struggle into a supercharged creative process.
Traditional brainstorming hits walls. You know the feeling—staring at a blank whiteboard, ideas trickling out in single file, conversations getting stuck in loops. The problem isn't lack of creativity; it's the linear nature of how we typically capture and explore ideas.
AI mind mapping changes this entirely. Instead of forcing thoughts into neat rows or bullet points, you can create sprawling, interconnected webs of concepts that branch and evolve naturally. The AI doesn't just passively record your ideas—it actively participates, suggesting connections you missed and pushing your thinking in unexpected directions.
Here are ten specific ways AI-powered mind mapping transforms brainstorming from a struggle into a supercharged creative process.
## 1. Generate Unexpected Connections Between Distant Ideas
Your brain excels at making connections, but it tends to follow familiar pathways. AI mind mapping tools break these patterns by identifying relationships between concepts that seem completely unrelated.
When you're mapping out ideas for a new product launch, the AI might connect your thoughts about "customer onboarding" with a seemingly unrelated branch about "seasonal marketing." Suddenly, you realize that timing new user tutorials around holiday shopping patterns could dramatically improve engagement.
This happens because AI processes your entire idea map simultaneously, not sequentially. While you're focused on one branch of thinking, the AI maintains awareness of every other concept you've explored, constantly scanning for non-obvious links.
The result? Breakthrough insights that emerge from the intersections between different domains of your thinking.
## 2. Expand Single Ideas into Rich Concept Networks
One word or phrase can explode into dozens of related concepts when AI gets involved. Start with "customer feedback" and watch it branch into sentiment analysis, survey design, social listening, review platforms, support ticket mining, and user interview frameworks.
This expansion isn't random—it's contextually aware. The AI considers your industry, the specific project you're working on, and the other ideas already in your map. If you're brainstorming marketing strategies for a B2B software company, "customer feedback" will expand differently than it would for a restaurant chain.
The spatial nature of mind mapping makes these expansions particularly powerful. Instead of overwhelming you with a long list, the AI creates visual clusters that help you see patterns and priorities at a glance.
## 3. Switch Perspectives Mid-Stream Without Losing Momentum
Traditional brainstorming sessions often get derailed when someone suggests looking at the problem from a different angle. You have to stop, reset, and start over with the new perspective.
AI mind mapping lets you maintain multiple viewpoints simultaneously. Create one branch exploring your challenge from a customer's perspective, another from a competitor's angle, and a third from an investor's viewpoint. The AI helps populate each branch with relevant considerations while maintaining the connections between them.
This multi-perspective approach reveals tensions and opportunities that single-angle thinking misses. You might discover that what looks like a feature request from customers actually represents a competitive threat that requires a completely different strategic response.
## 4. Transform Vague Concepts into Actionable Frameworks
"We need better user engagement" is the kind of vague starting point that kills momentum in traditional brainstorming. AI mind mapping takes these fuzzy concepts and systematically breaks them down into concrete, workable elements.
The AI might expand "user engagement" into specific metrics (session duration, feature adoption, return visits), then branch each metric into measurement methods, improvement tactics, and success criteria. What started as a vague goal becomes a structured framework for action.
This transformation happens iteratively. As you interact with the AI's suggestions, refining and redirecting them, the framework becomes increasingly tailored to your specific situation and constraints.
## 5. Maintain Context Across Complex, Multi-Threaded Discussions
Team brainstorming sessions often fragment into multiple simultaneous conversations. Someone starts exploring pricing strategies while another person dives into technical implementation details. Valuable insights get lost in the chaos.
AI mind mapping platforms like RabbitHoles AI solve this by creating separate but connected conversation threads. Each team member can pursue their line of thinking without interrupting others, while the AI maintains awareness of all parallel discussions.
When connections emerge between different threads—like realizing that a technical constraint actually supports a specific pricing model—the AI can surface these insights for the whole team. Context doesn't get lost; it gets amplified.
## 6. Integrate External Knowledge Without Breaking Flow
The best brainstorming sessions draw on diverse sources of information, but stopping to research facts or find references kills creative momentum. AI mind mapping tools can pull in external context without disrupting the flow of ideas.
Upload relevant documents, paste in URLs, or reference existing knowledge bases, and the AI weaves this information into your brainstorming naturally. Discussing market positioning? The AI can reference competitor analysis documents you uploaded earlier. Exploring technical solutions? It can draw on engineering specs or industry best practices.
This integration isn't just about access—it's about timing. The AI surfaces external information precisely when it becomes relevant to your current line of thinking, not as a separate research phase.
## 7. Capture and Organize Rapid-Fire Idea Generation
High-energy brainstorming produces ideas faster than anyone can organize them properly. The good stuff gets buried under the volume, and promising directions get forgotten in the rush.
AI mind mapping handles the organizational load automatically. As ideas pour out, the AI clusters related concepts, identifies themes, and maintains the relationships between different branches of thinking. You stay in creative flow while the AI handles the cognitive overhead of structure and organization.
Later, when you're ready to evaluate and prioritize, the AI can help surface the most promising clusters or identify branches that didn't get fully explored during the initial burst of creativity.
## 8. Break Through Mental Blocks with Intelligent Prompting
Every brainstorming session hits walls where ideas stop flowing. Traditional techniques like "what if" questions or random word association can help, but they're hit-or-miss.
AI mind mapping provides more sophisticated block-breaking techniques. The AI analyzes your existing idea map to identify unexplored angles, underexamined assumptions, or missing stakeholder perspectives. Instead of generic prompts, you get targeted questions that push your specific thinking forward.
"You've explored customer acquisition thoroughly, but what about customer retention in the context of your pricing strategy?" This kind of contextual prompting opens new avenues that feel natural and relevant rather than forced.
## 9. Evolve Ideas Through Multiple AI Model Perspectives
Different AI models have different strengths and thinking patterns. One might excel at creative association while another provides more analytical structure. AI mind mapping platforms that support multiple models let you leverage these different capabilities within a single brainstorming session.
Start with a creative model to generate wild possibilities, then switch to an analytical model to evaluate feasibility and identify implementation challenges. Each model adds its own layer of insight while building on the work of the others.
This model-switching capability means you're not locked into one type of thinking. Your brainstorming can be simultaneously creative and practical, visionary and grounded, without losing coherence.
## 10. Create Persistent Knowledge Networks for Future Sessions
Traditional brainstorming sessions end when people leave the room. The whiteboard gets erased, notes get scattered, and insights get forgotten. AI mind mapping creates persistent knowledge networks that grow more valuable over time.
Each brainstorming session adds to your organizational knowledge base. Patterns emerge across multiple sessions, successful strategies get documented and refined, and failed approaches get marked to avoid repetition. The AI learns from your team's thinking patterns and becomes increasingly effective at supporting your specific creative processes.
This persistence transforms brainstorming from isolated events into an ongoing organizational capability. Each session builds on previous insights, creating compound returns on your creative investment.
## The Spatial Advantage
What makes AI mind mapping particularly powerful for brainstorming is the spatial element. Ideas aren't trapped in linear lists or sequential slides—they exist in a flexible, visual space where proximity indicates relationship and distance suggests independence.
This spatial organization mirrors how your brain actually works. Related concepts cluster together naturally, while unexpected connections span across the map like bridges between islands of thought. The AI helps maintain and enhance this spatial logic, ensuring that your idea landscape remains navigable even as it grows complex.
## Beyond Traditional Brainstorming
AI mind mapping doesn't just improve traditional brainstorming—it enables entirely new forms of creative collaboration. Teams can work asynchronously on the same idea space, with the AI maintaining coherence across different time zones and work sessions. Individual contributors can explore personal branches without disrupting team flow, then merge insights back into the collective thinking.
The result is brainstorming that's more inclusive, more thorough, and more productive than what's possible with conventional approaches.
Ready to transform your brainstorming sessions from linear struggles into dynamic, AI-powered explorations? The tools exist today to make this shift, turning creative collaboration into a genuine competitive advantage.
Learn more at [rabbitholes.ai](https://rabbitholes.ai) and discover how infinite canvas thinking can supercharge your team's creative potential.
## AI Memory vs Human Memory: Why You're Still the Best Context Engine (https://www.slashspace.ai/blog/ai-memory-vs-human-memory)
Published: 2026-03-24
AI memory features like ChatGPT memory and Mem0 are useful—but they're still guessing. Learn when to rely on AI memory and when human memory delivers better results.
## Introduction: The Problem With AI Memory
If you've used ChatGPT, Claude, or any modern AI assistant, you've probably noticed memory features popping up everywhere. Tools like **ChatGPT Memory**, **Mem0**, and **SuperMemory** promise to remember your preferences, past conversations, and project details.
But here's the truth: **all AI memory is a mathematical guess.**
No matter how sophisticated the algorithm, AI memory systems are essentially asking: *"What's the most relevant piece of text to include so the AI can answer accurately?"* Sometimes they get it right. Often, they don't.
The best AI users understand a critical principle: **AI is only as good as the context you give it.** Your prompt matters, but without the *right* context your results will be subpar.
## How AI Memory Actually Works
Before diving deeper, it helps to understand the basics. AI memory systems typically:
1. **Embed your conversations** into vector databases
2. **Run similarity searches** when you ask a new question
3. **Retrieve chunks** of past context that *seem* relevant
4. **Package that context** into your prompt behind the scenes
This process is called **retrieval-augmented generation (RAG)**—and while it's clever engineering, it's fundamentally a guessing game.
The algorithm doesn't *understand* your project the way you do. It's pattern-matching, not reasoning.
## AI Memory vs Human Memory: A Practical Comparison
So when should you rely on AI memory, and when should you trust your own? Here's a breakdown:
| Use Case | AI Memory | Human Memory |
|---|---|---|
| **Personalized context** (job, location, preferences) | ✅ Very useful | Can do, but wastes mental energy |
| **Project-level information** | ✅ Useful for high-level details | ✅ Better for deep context |
| **Query-specific insights** | ❌ Often misses the mark | ✅ Excellent |
| **Pulling relevant files or past conversations** | ❌ Hit or miss | ✅ You know exactly where to look |
### Where AI Memory Excels
AI memory shines with **persistent, rarely-changing information**:
* Your name, role, and company
* Your preferred writing tone
* Technical constraints (e.g., "I use Python 3.11")
* Timezone and location
This saves you from repeating yourself in every conversation.
### Where Human Memory Wins
For **query-specific context**, humans are far superior:
* Recalling a specific insight from a past conversation
* Knowing which file contains the relevant information
* Understanding *why* a piece of context matters for this exact question
* Connecting dots across different projects or timeframes
**Example:** Imagine you're asking an AI to help refine a proposal. AI memory might pull generic context from past chats. But *you* remember the specific feedback your manager gave three weeks ago—and you know it's exactly what the AI needs to give you a useful answer.
## The Best Approach: Human-First, AI-Assisted
The most effective AI interactions follow a **human-first model**:
1. **Human memory acts as primary intelligence** – You decide what context matters
2. **AI memory serves as a fallback** – It handles the "low-hanging fruit" (persistent preferences, basic details)
This isn't about rejecting AI memory features. It's about understanding their limitations and staying in control.
## What to Look for in an AI Chat App
The best AI tools empower you to **control context at every step**. Look for apps that let you:
* ✅ Attach files and images to your chat
* ✅ Reference previous conversations as context
* ✅ Select *which* past chats or documents the AI sees
* ✅ Control what gets included at each point in the conversation
This is called **context engineering**—and it's the difference between mediocre AI outputs and exceptional ones.
Optimize your *token-to-desired-output ratio*. Every token sent to the AI should earn its place.
## Key Takeaways
* **AI memory is a guess**, not a guarantee. It retrieves what *seems* relevant, not necessarily what *is* relevant.
* **Human memory excels at query-specific context.** You know your projects, your goals, and your history better than any algorithm.
* **Use AI memory for persistent information** like preferences, roles, and constraints.
* **Stay in control.** The best AI apps let you decide what context gets included—don't outsource that decision entirely to an algorithm.
* **Context engineering is a skill.** The better you get at feeding the right information to AI, the better your results.
## Finding the Right Tools
Apps that give you this level of control are still surprisingly rare. Most AI interfaces either automate memory entirely (taking the decision out of your hands) or offer no memory at all (forcing you to repeat yourself constantly).
We built Rabbitholes with this philosophy in mind—human memory as the primary driver, with features that let you pull in exactly the context you need, when you need it. Whether that's a previous conversation, a file, or a specific chunk of text, you stay in control of what the AI sees.
It's not about having the fanciest memory system. It's about having the right context at the right moment—and often, you're the best judge of that.
## Conclusion: You're Still the Best Context Engine
AI memory features are useful tools—but they're not magic. They're mathematical approximations that sometimes miss the mark.
The most effective AI users treat these features as **assistants, not replacements**, for their own judgment. Your mind is still remarkably good at pulling the right context from the past, connecting it to the present question, and knowing what matters.
**The best AI interaction is biased toward human intelligence.** Let AI handle the routine details. Keep the strategic context decisions for yourself.
## Linear AI Chat Apps Versus Non-Linear Apps (https://www.slashspace.ai/blog/linear-ai-chat-apps-versus-non-linear-apps)
Published: 2025-12-12
A practical guide to understanding the differences between linear and non-linear AI chat apps
## Linear Chat Apps
These are simple chat interfaces. One window, one isolated piece of context.
In linear chat, your “context engineering” is mostly accidental. The interface decides what the model sees: typically the running conversation plus some hidden system instructions plus whatever retrieval the product adds.
So when a user says: “It’s giving weird answers,” a lot of times the real issue isn’t the prompt, it’s the context. Some earlier line, assumption, or tangent is still in the thread and it’s quietly shaping everything that comes after.
This is why in linear chat apps you see behaviors like:
* The model anchoring on an old definition you no longer mean
* The model referencing something from 30 messages ago that is no longer relevant
* The user having to say “ignore everything above” (which sometimes works, sometimes doesn’t)
* The best workaround being: “start a new chat”
| Advantages | Disadvantages |
|---|---|
| Simple | Lack of control |
| Low cognitive overhead (just “talk to it”) | Context is implicit and always-on (hard to “turn off” parts of the conversation) |
| Great for quick questions and straightforward tasks | Long threads get noisy: irrelevant history gets dragged forward |
| Easy to ship and easy to understand as a product | Hard to reproduce outcomes because context drift accumulates over time |
| Natural conversational feel | Hard to compare alternatives (you end up opening multiple tabs/threads) |
| Works well when the user’s intent is stable | Hard to run parallel lines of thought without mixing them |
That tradeoff with Linear chat apps is fine when we need quick answers, but it gets painful when we’re trying to work along with AI to arrive something we need.
## Non Linear Chat Apps
Non-linear chat interface like RabbitHoles AI allow you to plug and unplug context. These interfaces offer users superior control to engineer context than linear chat apps. Instead of the single window always dragging the entire thread forward, you can treat context more like a set of building blocks. This makes context engineering visible. It becomes a deliberate act instead of something that happens passively as the chat scrolls.
You can think of it like this:
* Linear chat = one timeline, one “bag” of context that keeps growing
* Non-linear chat = multiple branches + explicit context modules that you can attach/detach
### Why non-linear matters (practically)
Most real work is not one clean conversation. It’s more like:
* Explore → refine → compare → decide
* Draft → critique → revise
* Research → synthesize → write
* Brainstorm → shortlist → expand
| Advantages | Disadvantages / tradeoffs |
|---|---|
| **Context control:** You decide what is in scope for a response | **More complexity:** More controls means more decisions for the user |
| **Less drift:** You can isolate experimental branches from the “main” line | **Higher cognitive load:** You’re not just chatting, you’re managing context |
| **Parallel thinking:** You can explore multiple approaches side-by-side | **Onboarding required:** It’s not immediately obvious why branching and context modules matter |
| **Better iteration:** You can keep source material stable while swapping prompts, or vice versa | **Potential over-engineering:** For simple tasks, it can feel like too much machinery |
| **More reproducible outputs:** Since the context set is explicit, results are easier to recreate | |
| **Better collaboration (often):** context modules can be shared, reused, and standardized | |
## TL;DR
* Linear chat apps = one continuous thread where context accumulates automatically.
* Pros: simple, low effort.
* Cons: low control, context drift, hard to run parallel ideas, often you need “start a new chat.”
* Non-linear chat apps = branching + modular context you can attach/detach (“plug/unplug”).
* Pros: better context control, less drift, easier iteration and comparison, more reproducible.
* Cons: more complex, higher cognitive load, can be overkill for simple tasks.
## Why Non-Linear AI Chat Is 5x Faster Than Linear Chat (Backed by Research) (https://www.slashspace.ai/blog/non-linear-ai-chat-5x-faster)
Published: 2026-05-09
Linear AI chat forces you to re-explain yourself every session. Non-linear AI chat on a canvas keeps your context alive and connected. Here's the peer-reviewed research showing why that makes you up to 5x faster.
You've been there. You open ChatGPT, start a fresh chat, and spend the first five minutes re-explaining your project, your constraints, and what you already tried. Then you do it again tomorrow. And the day after.
That re-entry tax adds up fast. And it's just one of several places where linear AI chat quietly burns your time.
We built [Rabbitholes](/) as a non-linear AI chat canvas because we believed spatial thinking with AI should be faster. But we didn't want to just *believe* it. We wanted to measure it.
After digging through four separate bodies of peer-reviewed research, we landed on a compounded estimate: working with AI on a canvas is roughly **5x faster** than a traditional linear chat window for complex knowledge work.
Here's how we got there.
## You waste 30-40% of your time re-explaining context
Every time you start a new chat in a [linear AI app](/blog/linear-ai-chat-apps-versus-non-linear-apps), you're starting from scratch. Who you are, what you're building, what you've already explored. All of that gets typed out again.
In a non-linear AI canvas like Rabbitholes, context flows between connected nodes. Your research from yesterday is still there, linked to the conversation you're having today. You pick up where you left off instead of rebuilding from zero.
**What the research says:** Gloria Mark, Victor Gonzalez, and Justin Harris at UC Irvine studied how knowledge workers handle interruptions. They found it takes an average of **23 minutes and 15 seconds** to fully return to a task after a disruption. Their 2005 study remains one of the most cited papers on the cost of context loss in knowledge work.
For people using linear chat tools, that disruption happens every single session. You close the tab, you lose the thread. A spatial canvas that preserves and connects your context cuts this overhead to near zero.
**Estimated speed gain: 1.5 to 2x**
> Mark, G., Gonzalez, V. M., & Harris, J. (2005). *No task left behind? Examining the nature of fragmented work.* Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '05), 321-330.
> [https://doi.org/10.1145/1054972.1055017](https://doi.org/10.1145/1054972.1055017)
## Context switching between AI threads kills your focus
This one goes beyond just re-entering context. Jumping between different chat windows, tabs, and tools has a real cognitive cost, even when the switch only takes a few seconds.
Think about a typical research session. You've got one chat for brainstorming, another for fact-checking, maybe a third where you're drafting. Every jump between them fragments your attention. You lose your train of thought. You forget what you were about to ask.
On a canvas, all of those threads sit side by side. You glance between them instead of navigating. The spatial layout keeps everything visible and accessible without forcing a full context switch.
**What the research says:** Monsell (2003) reviewed decades of task-switching experiments and found that switch costs persist even when people have plenty of time to prepare. The "residue" from your previous task lingers and reduces your performance on the next one. Rubinstein, Meyer, and Evans (2001) showed similar results: switching between tasks increases both time and error rates, even for simple activities.
When your AI conversations live on a canvas, you reduce the number of hard context switches. You scan instead of switch, and that makes a real difference over a multi-hour session.
**Estimated speed gain: 1.5 to 2x**
> Monsell, S. (2003). *Task switching.* Trends in Cognitive Sciences, 7(3), 134-140.
> [https://doi.org/10.1016/S1364-6613(03)00028-7](https://doi.org/10.1016/S1364-6613(03)00028-7)
> Rubinstein, J. S., Meyer, D. E., & Evans, J. E. (2001). *Executive control of cognitive processes in task switching.* Journal of Experimental Psychology: Human Perception and Performance, 27(4), 763-797.
> [https://doi.org/10.1037/0096-1523.27.4.763](https://doi.org/10.1037/0096-1523.27.4.763)
## Spatial layouts free up your working memory
When information is laid out in space rather than buried in a scroll, your brain offloads the organizational work to your eyes. You see relationships between ideas instead of trying to hold them all in your head.
This is the same reason sticky notes on a wall work better than a bullet list for brainstorming. Physical layout carries meaning. Position, distance, and grouping all communicate structure without requiring you to remember it.
**What the research says:** Nesbit and Adesope (2006) ran a meta-analysis across 55 studies comparing concept maps and knowledge maps to text-based formats. Spatial knowledge representations led to significantly better retention and transfer, with effect sizes between 0.4 and 0.8 standard deviations depending on the task.
Sweller's cognitive load theory (1988, 2011) explains the mechanism. Spatial layouts reduce what he calls "extraneous" cognitive load: the mental effort you spend organizing and navigating information instead of actually thinking about it. An [AI canvas](/blog/what-is-rabbitholes-ai) turns that overhead into structure you can see.
**Estimated speed gain: 1.3 to 1.5x**
> Nesbit, J. C., & Adesope, O. O. (2006). *Learning with concept and knowledge maps: A meta-analysis.* Review of Educational Research, 76(3), 413-448.
> [https://doi.org/10.3102/00346543076003413](https://doi.org/10.3102/00346543076003413)
> Sweller, J. (2011). *Cognitive load theory.* In J. P. Mestre & B. H. Ross (Eds.), Psychology of Learning and Motivation (Vol. 55, pp. 37-76). Academic Press.
> [https://doi.org/10.1016/B978-0-12-387691-1.00002-8](https://doi.org/10.1016/B978-0-12-387691-1.00002-8)
## You remember more when you think spatially (dual coding)
A canvas doesn't just display text. It encodes your information in two channels at once: the words in each conversation, and the spatial position, color, and connections between nodes. Your brain processes these through separate systems, and that double encoding makes recall significantly faster.
You probably already do this intuitively. When someone asks where you read something, you often remember *where on the page* it was before you remember the exact words. That's spatial memory at work. A canvas makes this happen naturally across all your AI conversations.
**What the research says:** Allan Paivio's dual coding theory (1986) showed that information encoded in both verbal and spatial formats is recalled 2 to 3x better than information encoded in just one format. The effect holds across free recall, recognition, paired-associate learning, and problem-solving tasks.
More recent neuroimaging studies confirm the underlying mechanism: verbal and spatial processing light up distinct cortical networks. Engaging both creates richer memory traces with more paths back to the information when you need it.
**Estimated speed gain: 2 to 3x recall improvement**
> Paivio, A. (1986). *Mental representations: A dual coding approach.* Oxford University Press.
> [https://doi.org/10.1093/acprof:oso/9780195066661.001.0001](https://doi.org/10.1093/acprof:oso/9780195066661.001.0001)
> Mayer, R. E. (2009). *Multimedia learning* (2nd ed.). Cambridge University Press.
> [https://doi.org/10.1017/CBO9780511811678](https://doi.org/10.1017/CBO9780511811678)
## How these four factors compound
These gains don't exist in isolation. They stack on top of each other during a real work session.
| Factor | Speed gain | What changes |
|---|---|---|
| No more re-explaining context | 1.5 to 2x | You pick up where you left off |
| Less context switching | 1.5 to 2x | You scan instead of navigate |
| Spatial cognitive offloading | 1.3 to 1.5x | The layout carries the structure |
| Dual coding recall boost | 2 to 3x | You find things faster |
**Conservative estimate (lower bounds):** 1.5 x 1.5 x 1.3 x 2.0 = **5.85x**
**Aggressive estimate (upper bounds):** 2.0 x 2.0 x 1.5 x 3.0 = **18x**
We call it **5x** because it sits at the conservative end of the compounded range. For complex, multi-threaded knowledge work like research, planning, and iterative problem-solving, we're confident that number holds up.
For quick single-question lookups, the difference is smaller. But for deep, multi-hour sessions where you're working across dozens of connected threads? The real advantage likely exceeds 5x.
## Who benefits most from non-linear AI chat?
Not everyone needs a canvas. If you're asking ChatGPT to write a quick email, linear chat is fine.
But if your work looks like any of these, non-linear AI chat pays off fast:
- **Researchers** building literature reviews across dozens of papers
- **Product managers** exploring competing approaches to a feature
- **Students** studying complex topics with lots of interconnected ideas
- **Writers** doing deep research before drafting long-form content
- **Consultants** juggling multiple workstreams with different contexts
- **Engineers** debugging across multiple files, logs, and documentation
The common thread is complexity. Whenever your thinking branches, loops back, or runs in parallel, a [spatial AI workspace](/blog/how-to-build-research-workflow-ai-mind-maps) outperforms a single chat window.
## Frequently asked questions
### What is non-linear AI chat?
Non-linear AI chat lets you work with AI across multiple connected conversations on a spatial canvas, instead of a single scrolling thread. You can branch, connect, and arrange your AI conversations visually, which gives you control over what context the AI sees and how different ideas relate to each other.
### How is an AI canvas different from regular ChatGPT?
ChatGPT and similar tools use a linear chat format: one message after another in a single thread. An AI canvas like Rabbitholes places each conversation as a node on a 2D workspace. You can connect nodes to share context between them, run parallel lines of thinking, and see your entire research landscape at a glance.
### Is non-linear AI chat actually faster?
Based on four bodies of peer-reviewed research covering context switching, cognitive load, and dual coding theory, the compounded speed gain for complex knowledge work sits around 5x at the conservative end. The gains are smaller for simple tasks and larger for deep, multi-session research.
### Do I need to be technical to use a non-linear AI tool?
No. If you've used sticky notes on a wall or a whiteboard for brainstorming, you already understand the concept. Tools like [Rabbitholes](/) are designed to feel intuitive: you create nodes, connect them, and chat with AI in each one.
## The bottom line
Linear chat was built for conversations. But your thinking isn't a conversation. It's a web of connected ideas, branching questions, and parallel threads.
When your tools match the shape of your thinking, you stop fighting the interface and start moving at the speed of your ideas.
[Lock-in now](/checkout/starter)
## Prompt Engineering vs Context Engineering (https://www.slashspace.ai/blog/prompt-engineering-vs-context-engineerings)
Published: 2025-12-12
Context engineering and prompt engineering are both related concepts, but they’re different. They both let us engineer an input for the model so that it can do its thing and give us a response. Usually people understand prompt engineering but ignore context. This post tries to unpack the differences between them.
If you're new to context or prompts, please read Understanding Tokens and Context first. This post assumes you already know that everything you include has a cost in tokens.
Context engineering and prompt engineering are both related concepts, but they’re different. They both let us engineer an input for the model so that it can do its thing and give us a response. Usually people understand prompt engineering but ignore context. This post tries to unpack the differences between them.
## Prompt engineering
Prompt engineering is about steering Roles, rules, output format, tone or tool usage policy. A prompt is an instruction.
Some examples
- Role: “You are a sales assistant for x”
- Rules: Never ask for passwords. If unsure, say so
- Output Format: Return JSON with these fields.
- Tone: Concise, Friendly, technical, etc
## Context Engineering
Context engineering is about feeding the model with required information along with the prompt. It could be the history of the conversation, or adding files, media, etc.
In a very basic chatbot, the history is already included as part of the context everytime you prompt the model to do something . The single thread of back and forth between you and the model is always sent to the model every time you ask a question. Slightly more advanced chatbots like ChatGPT do additional context engineering such as adding relevant bits of text from other conversations based on your query, get information from a website, etc.
### Who does the prompt engineering and context engineering?
As AI users, we most often are doing a bit of both. When you construct a question, you’re engineering the prompt. When you add a file, or reference image, you’re engineering the context.
All the AI apps, whether it’s a customer support chatbot, ChatGPT app, Cursor, Lovable, or even RabbitHoles AI, the apps do context and prompt enhancements on top of your prompt and context. This mostly happens behind the scenes. The important thing to know is that the degree of control over context and prompt engineering varies across different kinds of apps built for different usecases.
This is where we need to understand the difference between a linear chat versus non-linear chat
## TL;DR
* Prompt engineering = how you ask (roles, rules, tone, format). It’s the instruction layer.
* Context engineering = what the model knows while answering (chat history, files, retrieved info). It’s the information layer.
* Both users and apps do these—apps often add hidden instructions and extra context behind the scenes.
## RabbitHoles AI is now Slashspace AI (https://www.slashspace.ai/blog/rabbitholes-is-now-slashspace)
Published: 2026-05-19
This is a bittersweet moment: RabbitHoles AI is becoming Slashspace AI. Many of you found us through the RabbitHoles name, and for a long time, it captured exactly what we were building. But it's time to change as we evolve along with AI market. We're rebranding to Slashspace AI.
This is a bittersweet moment: RabbitHoles AI is becoming Slashspace AI.
Many of you found us through the RabbitHoles name, and for a long time, it captured exactly what we were building. But it's time to change as we evolve along with AI market. We're rebranding to Slashspace AI.
When I first launched, the idea was to have branching conversations inorder to go into rabbitholes about topics that I wanted to learn about. It resonated with many of you. A year and a half later, the AI landscape has changed. Models have become more capable, users have become more sophisticated, and branching conversations alone no longer capture the full opportunity.
The name RabbitHoles always carried a sense of curiosity and exploration. But it also suggested something optional; a side quest. What we're building now is meant to be the main quest: the place where AI-native users do their most important work.The product is a UX challenger, challenging the conventional UX of chat window interactions with AI.
When I pitched RabbitHoles to new people, most think it's a nice to have tool that can be used someday when they need something. But this doesn't capture the full vision. What we are building is not a nice-to-have research tool. It is a core workstation for AI-native users. Independent knowledge workers like solopreneurs, and researchers.
In this direction, we're evolving to implement more agentic features and making the canvas first experience further more intelligent. This means a lot of tweaks to the core UX, and also new features.
The name comes from two ideas:
Slash: inspired by slash commands, fast actions, and direct interaction.Space: the infinite canvas where your thinking, agents, research, and workflows can live.
Slashspace becomes your deep work space. Every day you sit down for deep work, this becomes your default app. Your primary work bench. We're also renaming canvases to spaces. These spaces become your context spaces that can be consumed by other agents as well. More on this coming soon.
Over the next few weeks, we'll be launching new features that move us closer to this vision. Thank you to everyone who believed in RabbitHoles. Now, welcome to Slashspace.
## Understanding Tokens and Context For Beginners (https://www.slashspace.ai/blog/understanding-tokens-and-context)
Published: 2025-12-09
Tokens are the basic numerical units that all AI models use to process and understand text
## Tokens
At the most fundamental level, AI systems operate through mathematical calculations. Without going too deep, here is the simplest way to understand tokens:
Every word, and sometimes spaces or special characters, gets converted into a numerical representation when you send text to an AI model. For example, the sentence “What is a Blackhole?” becomes 6 tokens. The exact conversion process is outside the scope of this post, but you can try it out yourself using the tokenizer tool at [https://platform.openai.com/tokenizer](https://platform.openai.com/tokenizer).
Tokenizer demo showing how a sentence is converted into tokens
In simple terms, tokens are the basic numerical units that all AI models use to process and understand text.
## Context
AI models do not have memory. Instead, they have something similar to temporary computer memory, often compared to RAM. This is called a context window. The context window determines the maximum amount of tokens the model can handle at one time. Context is measured in tokens. So if a model has a context window of 250,000 tokens, your entire prompt (input) + the output tokens for each generation must fit within that limit.
Context window demo showing how the context window is used to limit the amount of text the model can handle at one time
The prompt + output should not exceed the context window.
### What makes a prompt?
In a chatbot conversation, every message in your history contributes to the prompt. Many people assume the model only reads the last message, but actually, the full chat history plus your latest message plus system instructions, and any attached files all combine to form the complete prompt. Each time you press send, the model reads everything in the conversation so far along with any new content.
---
# Frequently Asked Questions
## What is Slashspace?
Slashspace is an AI canvas for deep work. Instead of juggling a million chat sessions and apps, you do all your thinking in one place, with multiple connected AI conversations, files, and agents that share context across the canvas.
## How does Slashspace work?
Each canvas is scoped to a single agenda or project. You add files, run multiple AI chats, and use agents that can see everything on the canvas. Conversations branch and share context, so your AI always has the full picture.
## Why can't I just use Claude Code, Cursor, or Codex?
Those tools are great, but they're built around a single linear session and a single vendor. Slashspace is different in a few ways that matter:
- **No spatial canvas.** Your thinking is trapped in one long chat. There's no space to lay out, connect, and revisit ideas.
- **You're at the mercy of one provider's limits and pricing.** Intelligence should be pluggable, not rented from a single vendor.
- **You can't easily switch models mid-session.** Moving to another provider's model in the middle of your work isn't simple.
- **You lose your data if you lose or cancel your subscription.** Slashspace is local-first, so your work stays yours.
## What AI models can I use?
You can use any model from OpenAI, Anthropic, Google, Perplexity, xAI, OpenRouter, or run local models via Ollama.
## Can I control the system prompt and model settings?
Yes. System prompts and model settings can be configured per conversation or at the provider level.
## Where is my data stored?
Your data stays on your device. Slashspace is local-first and creates a real file system on your computer, where each canvas is its own folder holding your conversations and files, unless you opt-in for rag indexing.
## Doesn't this use more tokens?
Not really, and over time you'll likely use fewer.
- The difference per session is small. Across your work you tend to use fewer tokens overall, because you lose less to context rot and re-prompting for the same thing.
- Nodes can be scoped to precise context by connecting only the nodes that matter. That gives you far better context engineering, so the model spends tokens on what's actually relevant.
## Why do I need past chats once I'm done with them?
- Past chats pay off over time. You often solve similar problems across different projects, or across different phases of the same project.
- You also save time and tokens by not regenerating what you've already generated.
## What was RabbitHoles AI?
We rebranded from RabbitHoles AI to Slashspace. It's the same product underneath, but with a new name that captures our vision for the product.