Voicetree is a desktop application that turns a Markdown vault into a graph you work inside. It has two primitives: nodes and edges. A node is a Markdown file, a folder of nodes, or a terminal-based coding agent such as Claude Code, Codex, OpenCode, or Gemini; edges are wikilinks between file paths. Agents live on the graph beside their tasks, plans, and progress updates, and rich Markdown editors open in place by hovering a node.
Spawning an agent on a node makes that node's contents its task and hands it every node within an adjustable radius, plus semantic search against local embeddings. Retrieval is therefore scoped to what is spatially nearby rather than a full conversation history, which the project ties to published findings on performance degradation between short focused prompts and very long ones. Agents can decompose a task into subgraphs and spawn parallel child terminals along the dependency graph; those subagents are native terminals, so their output stays visible.
A small local-only API and a vt CLI cover the same operations for humans and agents: CRUD over an in-memory Markdown hypergraph database, agent context state including messages between agents, lifecycle hooks for automations, graph search, visualization and navigation (ASCII for agents, a rendered view for people), and orchestration calls such as running an agent on a node with the surrounding local graph as context. Because both sides share one API, the system can restructure itself at runtime.
A voice mode captures ideas hands-free by turning speech into a structured mindmap. Files stay on the machine as plain Markdown, and AI features are off by default; when they are used, content goes to third-party APIs for processing. The application started as an Obsidian plugin and is now a standalone Electron app that opens existing Obsidian vaults, with builds for macOS, Windows, and Linux, a Docker image that keeps agents off the host filesystem, and a browser mode in development. It is marked early beta and licensed BSL 1.1, converting to Apache 2.0 after four years.
Features
- Agents as graph nodes: terminal coding agents sit on the canvas next to their tasks and progress
- Radius-scoped context: an agent receives every node within a configurable distance, plus semantic search over local embeddings
- Recursive decomposition: agents build subgraphs and spawn parallel child terminals along the dependency graph
- Shared memory: people and agents read and write the same graph, so context does not have to be restated
- Agent-first API and CLI: hypergraph CRUD, inter-agent messages, lifecycle hooks, search, and orchestration calls
- Spatial recall: the layout preserves where work was left, across many concurrent agent terminals
- Voice mode: speech-to-graph capture that turns spoken thinking into structured nodes
- Local-first files: plain Markdown in an existing Obsidian vault, with AI features off by default
- Sandboxed option: a Docker image runs the app with agents isolated from the host filesystem
- Cross-platform: macOS, Windows, and Linux builds, with a browser mode in development
