memoria-vault - Full Setup Guide¶
Repo: eranroseman/memoria-vault | ⭐ 4 Author: eranroseman | Language: Python License: MIT
memoria-vault is a research operating system for Obsidian. It deploys seven specialized AI agents - Researcher, Summarizer, Linker, Critic, Archivist, Publisher, and Orchestrator - that operate on your Obsidian vault, turning passive notes into an active research laboratory.
Prerequisites¶
- Python 3.11+
- Obsidian vault (local)
- LLM API key (OpenAI, Anthropic, or local Ollama)
- Hermes Agent or any shell-capable agent (for agent integration)
Installation¶
git clone https://github.com/eranroseman/memoria-vault.git
cd memoria-vault
pip install -r requirements.txt
Configuration¶
1. Vault Path¶
Edit config.yaml:
vault:
path: "~/Documents/Obsidian/MyVault" # Absolute path to your vault
exclude:
- ".obsidian/"
- ".trash/"
- "_templates/"
- "archive/"
2. LLM Configuration¶
llm:
provider: "openai" # or "anthropic", "ollama"
model: "gpt-4o"
api_key: "${OPENAI_API_KEY}"
# For Ollama (local):
# provider: "ollama"
# model: "llama3.1:8b"
# base_url: "http://localhost:11434"
3. Agent Configuration¶
Each of the seven agents can be configured independently:
agents:
researcher:
model: "gpt-4o" # Uses more capable model for research
max_sources_per_query: 5
temperature: 0.3
summarizer:
model: "gpt-4o-mini" # Lighter model for summarization
max_output_tokens: 500
style: "concise" # or "detailed", "bullet-points"
linker:
model: "gpt-4o-mini"
similarity_threshold: 0.7
max_links_per_note: 5
critic:
model: "gpt-4o"
temperature: 0.7 # Higher temp for creative criticism
critique_style: "socratic" # or "direct", "steelman"
archivist:
model: "gpt-4o-mini"
auto_organize: true
folder_structure: "para" # or "flat", "zettle", "custom"
publisher:
model: "gpt-4o-mini"
output_formats: ["markdown", "html", "pdf"]
template_dir: "./templates/publish/"
orchestrator:
model: "gpt-4o"
max_concurrent_agents: 3
workflow_timeout_minutes: 30
The Seven Agents¶
1. Researcher¶
Reads and extracts information from external sources (URLs, PDFs, APIs) and writes findings into your vault.
# Command
python3 memoria.py research "What are the latest advances in RAG architectures?"
# What it does:
# 1. Searches the web / your configured sources
# 2. Reads and extracts key findings
# 3. Creates a structured note in your vault
2. Summarizer¶
Distills long notes or source materials into concise summaries.
python3 memoria.py summarize "Research/RAG Survey 2026.md"
# Output: Adds a "## Summary" section to the note
3. Linker¶
Connects ideas across notes by identifying relationships and creating bidirectional links.
python3 memoria.py link "Research/RAG Survey 2026.md"
# Output: Identifies related notes and adds [[wikilinks]]
4. Critic¶
Challenges assumptions, finds gaps, and provides counter-arguments.
python3 memoria.py critique "Projects/Q4 Strategy.md"
# Output: Adds a "## Critique" section with challenges and gaps
5. Archivist¶
Organizes and maintains the vault - tags, folders, naming conventions, deduplication.
python3 memoria.py archive
# Output: Reorganizes vault, suggests merges, fixes naming
6. Publisher¶
Formats notes for external sharing - blog posts, reports, presentations.
python3 memoria.py publish "Research/RAG Survey 2026.md" --format html
# Output: Creates Research/RAG Survey 2026.html
7. Orchestrator¶
Coordinates multi-agent workflows. Runs the full research pipeline.
python3 memoria.py orchestrate "Deep dive into transformer alternatives"
# Output: Orchestrates Researcher → Summarizer → Linker → Critic → Publisher
Usage Patterns¶
Pattern 1: One-Shot Research¶
# Full pipeline on a single topic
python3 memoria.py orchestrate "State of AI agents in 2026"
Pattern 2: Incremental Enrichment¶
# Research first
python3 memoria.py research "Mamba architecture"
# Link to existing notes
python3 memoria.py link "Research/Mamba.md"
# Get critical feedback
python3 memoria.py critique "Research/Mamba.md"
# Publish when ready
python3 memoria.py publish "Research/Mamba.md"
Pattern 3: Vault Maintenance¶
# Weekly organization
python3 memoria.py archive
# Find orphan notes (no incoming links)
python3 memoria.py orphans
# Find stale notes (not modified in 90 days)
python3 memoria.py stale --days 90
Integration with Hermes Agent¶
As a Hermes Skill¶
# Link into Hermes skills
mkdir -p ~/.hermes/skills/memoria-vault
ln -s $(pwd)/memoria.py ~/.hermes/skills/memoria-vault/
# Hermes can now invoke:
# "Research AI agent frameworks and add findings to my Obsidian vault"
# "Summarize my meeting notes from this week"
# "Find connections between RAG and agent architectures in my vault"
Cron-Based Automation¶
# Daily vault maintenance at 2 AM
hermes cron create \
--name "memoria-daily-archive" \
--schedule "0 2 * * *" \
--command "cd ~/memoria-vault && python3 memoria.py archive"
# Weekly research digest
hermes cron create \
--name "memoria-weekly-digest" \
--schedule "0 9 * * 1" \
--command "cd ~/memoria-vault && python3 memoria.py orchestrate 'Weekly AI research digest'"
Troubleshooting¶
"Vault path not found"¶
Make sure the path is absolute and uses ~ expansion:
vault:
path: "/home/username/Documents/Obsidian/MyVault" # Use absolute path
"Orchestrator timed out"¶
The default timeout is 30 minutes. For large research tasks:
agents:
orchestrator:
workflow_timeout_minutes: 60
"Linker created too many links"¶
Adjust the similarity threshold:
agents:
linker:
similarity_threshold: 0.85 # Higher = fewer, higher-quality links
max_links_per_note: 3 # Hard cap per note
"API rate limited"¶
The orchestrator can run agents sequentially to avoid rate limits:
agents:
orchestrator:
max_concurrent_agents: 1 # Sequential execution
request_delay_seconds: 2 # Pause between LLM calls
Security Notes¶
- The agents read from and write to YOUR vault. Test on a copy first.
- LLM API calls send note content to the provider. Use local Ollama for sensitive vaults.
- The
archivistagent can reorganize your vault. Always review its suggestions before applying. - Back up your vault before running memoria-vault for the first time.
Guide last updated: July 4, 2026 | Repo | Report issue
Integration with CorpusIQ¶
CorpusIQ is the connector layer that lets AI assistants read the systems a business already runs on - accounting, payments, CRM, email, files and analytics - and answer with the source named. It is read-only by design: it retrieves data and never writes to, or acts in, a connected system, which is what makes it safe to point at live accounts.
This page is part of the CorpusIQ directory, the reference we maintain for the MCP server and agent-skill ecosystem. Run alongside CorpusIQ, a third-party server like this one can be combined with a company's own business data in a single answer.