Multiple Brains
Each brain is a self-contained knowledge vault focused on a domain. You can connect multiple brains so the research agent searches across all of them.
Configuration
All connected brains are listed in brains.yaml at the project root:
brains:
- name: "Business Strategy"
path: "brain/"
type: local
description: "Lean Startup, Zero to One, Good to Great"
- name: "Psychology"
path: "brain-psychology/"
type: local
description: "Thinking Fast and Slow, Influence, Flow"
- name: "Philosophy"
path: "https://someone.github.io/philosophy-brain/"
type: published
description: "Ethics, epistemology, logic"Adding a brain
Local brain (on your disk)
/dist:brains add /path/to/brain-name/
The system verifies the path, reads _index.md, counts sources, and adds it to brains.yaml.
Published brain (someone else’s, via URL)
/dist:brains add https://someone.github.io/their-brain/
Fetches agent.json, reads the manifest, and adds to brains.yaml. Published brains are read-only — you query them but don’t modify them.
Clone a published brain locally
/dist:brains clone https://someone.github.io/their-brain/
The system fetches key pages (index, source indexes, bridges, analytics) and saves them locally. This gives you offline access for research. Note: chunks are not included (the publisher may have copyrighted source material).
How research uses multiple brains
When you ask a question without specifying a brain:
/dist:research what is the relationship between accountability and governance?
The research agent:
- Reads
brains.yaml— finds 2 local brains - Searches both: Business brain has claims about decision-making frameworks, Psychology brain has claims about cognitive biases
- Prefixes findings with brain name:
**[Business Strategy]** Decision-making under uncertainty requires validated learning...
**[Psychology]** System 1 thinking leads to predictable judgment errors...
- Synthesizes across brains — finds structural parallels
- Reports which brain contributed what
Specifying a single brain
/dist:research in brain-psychology/: what causes decision fatigue?
The agent searches only that brain.
Cross-brain concept mapping and analytics
The concept-mapper and analytics agents need file-level access — they read entity files and claim frontmatter directly. This means they work on local brains only.
Mapping two local brains
/dist:map-concepts brain/ and brain-psychology/
The concept-mapper reads entities from both brains’ sources/*/entities/ directories and finds cross-domain connections. The agents don’t change — they just receive paths from two brains instead of one.
Running analytics across brains
/dist:analytics all brains
The analytics agent reads claims from all local brains and produces cross-brain reports: which brains share concepts, how argument styles differ, where knowledge overlaps.
What about published brains?
Published brains are query-only — the research agent can search them via WebFetch, but concept-mapper and analytics cannot run on them directly.
The solution: clone first, then map.
/dist:brains clone https://someone.github.io/their-brain/
# → downloads claims, entities, bridges into brain-{name}/
# → adds to brains.yaml as type: local
/dist:map-concepts brain/ and brain-{name}/
# → works because both are now local files
The clone won’t have chunks (copyrighted source text stays with the publisher), but it has everything the concept-mapper and analytics agents need.
Agent capabilities by brain type
| Agent | Local brain | Published brain | Cloned brain |
|---|---|---|---|
| Research | Full search (Grep + Read) | WebFetch query (agent.json → pages) | Full search |
| Concept-mapper | Full mapping | Cannot (no file access) | Full mapping |
| Analytics | Full analysis | Cannot (no file access) | Full analysis |
| Bridge-builder | Full bridging | Cannot | Full bridging |
| Verify | Full (if chunks present) | Cannot | Cannot (no chunks) |
Rule of thumb: If you just want to ask questions → add as published. If you want to deeply analyze and connect → clone it first.
Brain types
| Type | How it works | Research | Map & Analyze | Verify |
|---|---|---|---|---|
| local | Files on disk | Full | Full | Yes (if chunks) |
| published | URL + agent.json | WebFetch query | Clone first | No |
| cloned | Downloaded from published | Full | Full | No (no chunks) |
Sharing your brain
To make your brain available to others:
- Publish with Quartz:
/dist:publish - This generates a static site +
agent.jsonmanifest - Share the URL — anyone can add it to their
brains.yaml - They can query it via research agent, or clone it to run concept-mapper/analytics
Published brains don’t include chunks/ — your copyrighted source material stays private. The claims, entities, bridges, and analytics are what gets shared.
Use cases for multiple brains
- Personal + professional: One brain for books you read, another for work-related regulatory documents
- Team knowledge: Each team member publishes their brain, everyone clones each other’s for cross-brain mapping
- Domain separation: Keep philosophy, science, and business in separate brains that can still cross-reference
- Before/after: Clone someone’s brain, add your own sources, run concept-mapper to see what your additions connect to
- Collaborative research: Two researchers each build a brain on related topics, clone each other’s, run analytics to find where their knowledge overlaps and diverges