Setup
1. Quick start
Ask your agent to install Enzyme and set it up for your notes. Review the proposed settings together, then try a useful question and check the sources behind the answer.
Let your agent set it up
Open your Markdown notes folder in Claude Code, Codex, or another agent with terminal access. Paste this prompt. If your agent is open elsewhere, give it the path to your notes.
Set up Enzyme for the Markdown notes folder I have open. If you cannot identify it, ask me for its path.
Install Enzyme if needed using https://raw.githubusercontent.com/byenzyme/enzyme/main/install.sh, and install the instructions for this agent. Read and follow the installed enzyme-workspace-setup skill.
You may use Enzyme's online service to suggest settings from my notes and prepare search. Show me what you propose to include or exclude, and let me correct it before building the local search index.
Then answer one useful question using my notes, with links to the sources, and suggest a question I can ask next. Keep my existing notes in place and unchanged. Ask separately before any cleanup, model download, or recurring task. You’ll review the settings, then try a real question with answers linked to your notes. No cleanup required.
Prefer to install it yourself? Use the terminal commands below, then paste the same prompt. Hermes and OpenClaw are experimental; see Supported runtimes.
Catalyst generation uses Enzyme hosted credits/auth by default.
Bring your own OpenAI/OpenRouter/OpenAI-compatible or local
provider only when you intentionally pass --use-env-llm. At query-time, Enzyme retrieves locally from the compiled
index.
2. Prove it worked
A useful first run should help the agent onboard itself to context about a real project or meeting-prep. Enzyme should help your agent recover unresolved commitments, prior decisions, and adjacent notes from your own markdown.
- Success: your agent answers a real project or meeting-prep question and cites notes you recognize as the right ones, including some you would not have thought to search for.
- Failure: obvious keyword matches, generic summaries, or notes that feel adjacent but not useful. Tell your agent what it missed; it can adjust the settings and rebuild.
Using Hermes Agent? ▼
Start Hermes from the workspace root that contains the markdown you want Enzyme to index. The Enzyme CLI owns local indexing and refresh; Hermes uses the installed skill to know when to call it.
Install the CLI, then run
enzyme install hermes from the workspace root before starting Hermes.
Ask Hermes to set up Enzyme for the workspace. It should preserve the existing markdown structure and show you when memory is ready to use.
Existing Obsidian conventions matter: inbox folders, daily notes, people/contact pages, tags, wikilinks, and date frontmatter are retrieval signal. Enzyme can propose frontmatter or people-page backfills, but it should show the exact files before changing them.
See Hermes Agent + Enzyme for the exact flow.
What does setup write? ▼
Enzyme builds a local semantic graph for your markdown and exposes a CLI to efficiently query it for context. At setup time, it interprets the structure of your workspace and persists this to a configuration that you can modify.
| Command | Writes |
|---|---|
| install.sh | Installs ~/.local/bin/enzyme and
removes legacy Enzyme installs and MCP entries.
Leaves ~/.enzyme in place. No note
content is sent. |
| enzyme install codex | AGENTS.md plus .agents/skills/enzyme-workspace-setup/SKILL.md and .agents/skills/enzyme/SKILL.md.
Use this for Codex and generic AGENTS.md-aware
agents such as Pi. |
| enzyme install claude | AGENTS.md, .claude/skills/enzyme-workspace-setup/SKILL.md, .claude/skills/enzyme/SKILL.md,
and a CLAUDE.md import of @AGENTS.md. |
| enzyme install hermes/openclaw | Experimental agent instructions plus global skill
files under ~/.hermes/skills/enzyme/ or
~/.openclaw/skills/enzyme/. |
See Data flow & trust for reset/uninstall details and provider boundaries, and Supported runtimes for the runtime matrix.
3. Install from the terminal
$ enzyme install codex
# or: enzyme install claude
# experimental: enzyme install hermes / openclaw
Then paste the setup prompt into your agent. Enzyme installs the agent instructions; your agent follows them to propose settings, review them with you, and answer from your notes.
Questions
Does it only work with Obsidian? ▼
No. Obsidian works well because its vaults are plain markdown with links, tags, folders, and timestamps. Enzyme can also index any markdown folder with enough accumulated structure to learn from.
Do I need to organize first? ▼
No. Enzyme works with whatever structure exists — half-used tags, links that go nowhere, inconsistent folders. Incomplete organization is still signal. Even 20-30 documents is enough to compile a useful graph.
When should I not use Enzyme? ▼
Use exact search, grep, or Obsidian search when you know the name, date, tag, filename, or phrase. Use a plain vector/RAG tool when you only need semantic passage search over mostly unstructured documents. Use a managed memory API if your first need is a hosted backend for app-user memories.
Enzyme is strongest when your markdown has enough prose and handles — folders, tags, wikilinks, dates, frontmatter, project notes, meeting notes, or decision logs — for an agent to prep from source-grounded context.
Do I need an account or credits? ▼
By default, enzyme init
and enzyme refresh
use Enzyme hosted credits/auth for catalyst generation. They
ignore inherited OPENAI_*
and OPENROUTER_*
env vars so an existing personal key is not used accidentally.
Bring your own OpenAI/OpenRouter/OpenAI-compatible
provider only when you intend to bill through that
provider: set the env vars and run enzyme init --use-env-llm
or enzyme refresh --use-env-llm.
Query-time retrieval from the local index is local. The provider/credit path is for generating catalysts during init or refresh.
What gets sent to the cloud? ▼
During enzyme init or enzyme refresh, selected excerpts are sent to an LLM for catalyst
generation. Your raw files stay on your device. Nothing is
stored on Enzyme's servers.
The default path uses Enzyme hosted credits/auth and
ignores inherited personal LLM env keys. If you explicitly
pass
--use-env-llm
with your own API key, excerpts go directly to the provider
you configure. Hosted-credit excerpts are sent to OpenRouter (a US-based model provider). Enzyme does not store your raw
files or log your note content. See privacy for details.
Using local or self-hosted models ▼
Set OPENAI_API_KEY or OPENROUTER_API_KEY
to use your own provider, then pass
--use-env-llm
on enzyme init
or enzyme refresh. Base URL and model overrides are optional; if you only
set model/base without a key, that is an incomplete
env-provider config.
export OPENAI_API_KEY="sk-..."
enzyme init --use-env-llm
# Custom OpenAI-compatible endpoint
export OPENAI_API_KEY="sk-..."
export OPENAI_BASE_URL="https://openrouter.ai/api/v1"
export OPENAI_MODEL="google/gemini-3-flash-preview"
enzyme init --use-env-llm
For local servers (LM Studio, Ollama, vLLM) that don't require authentication, use a placeholder key:
export OPENAI_API_KEY="not-needed"
export OPENAI_BASE_URL="http://localhost:1234/v1"
export OPENAI_MODEL="qwen/qwen3-8b"
enzyme init --use-env-llm
# Ollama
export OPENAI_API_KEY="not-needed"
export OPENAI_BASE_URL="http://localhost:11434/v1"
export OPENAI_MODEL="qwen3:8b"
enzyme init --use-env-llm
When your env provider is active, enzyme init --use-env-llm prints the resolved model, base URL, and a masked key so you
can confirm it's using your provider. Without
--use-env-llm, Enzyme stays on hosted credits/auth even if those env
vars exist.
Provider compatibility: Enzyme uses the OpenAI chat completions format. Most providers work out of the box. Tested providers include OpenRouter, OpenAI-compatible endpoints, Azure OpenAI, Together AI, Groq, LM Studio, Ollama, and vLLM.