한국어 README: README.ko.md
Transform raw memos into structured notes using Claude. Works with your existing Claude Code login (Pro/Max) or with an Anthropic API key.
You scribble fragmented notes during a meeting or a quick thought. You want them turned into proper meeting minutes, a 1:1 summary, a decision record, or your own template — without leaving Obsidian and without copy-pasting into a chat.
excaVelo takes:
- your pre-set context (who you are, what team, what project),
- any per-note context you added,
- the raw memo body,
- a template you choose,
and produces a clean, structured note via Claude. The raw memo is preserved.
- Install excaVelo from Obsidian Community Plugins (or load it as an unpacked plugin during development).
- Choose one of:
- Claude Code CLI (recommended) — if you already use Claude Code on the desktop with a Pro/Max subscription, the plugin auto-detects and uses it. No API key needed.
- Anthropic API key — paste a key from
console.anthropic.com. Pay-per-token. Works on mobile. - OpenAI-compatible endpoint — point at OpenAI, Ollama, LM Studio, Groq, Together, OpenRouter, etc.
- Fill in Default context in settings — one paragraph about who you are and what you work on.
- Open any note, type a raw memo, and run excaVelo: Transform note... from the command palette (or click the wand icon in the ribbon).
- Pick a template. Review the preview. Save as new file, append below, or copy.
Drop a [!context] callout anywhere in the note. The plugin extracts it and adds
it to the LLM prompt; the rest of the note becomes the raw memo.
> [!context]
> Today is a 1:1 with Park, infra team senior.
> Topic: migration risk assessment.
- migration phases — risk
- A: blue-green, B: incremental
- Park prefers B (simpler rollback)
- need a decision by TuesdayTemplates are plain markdown files under excaVelo/templates/ in your vault.
Edit them, add new ones, share them. The format is documented in
docs/templates-format.md. Five starter templates
are copied in on first run:
meeting-minutes— participants, discussion, decisions, action items1on1— themes, decisions, watch items, tone signaldaily-memo— highlights, grouped notes, actions, open questionsdecision-record— ADR-style recordbrainstorm— clustered themes, strong candidates, next steps
The plugin spawns your installed claude CLI as a subprocess. Auth lives in
Claude Code (claude login), so the plugin never sees a key. Works with personal
Claude Pro accounts and with team-shared Claude Max accounts.
Requires: Claude Code installed and logged in. Desktop only — on mobile, excaVelo transparently falls back to the Anthropic API key path (a one-time notice tells you).
A note on Anthropic terms: spawning your own logged-in claude CLI is
mechanically the same as running it yourself in a terminal. excaVelo does not
redistribute any Anthropic licence and stores no Anthropic credentials. Using
Claude Code as a backend for another tool is not a documented use case in
Anthropic's product docs — use the CLI path knowing that, or pick the API key
path instead.
Standard pattern. Get a key at console.anthropic.com, paste into settings.
Pay-per-token billing — separate from any Claude.ai subscription. Works on
mobile and desktop.
For OpenAI itself, or any local / hosted server that speaks the OpenAI Chat Completions shape (Ollama, LM Studio, Groq, Together, OpenRouter, vLLM, Fireworks, Mistral, ...).
- Your API key (when used) is stored locally in
data.jsoninside your Obsidian plugin folder. It is never sent anywhere except to the provider you configured. - When using Claude Code CLI, the plugin only spawns a local subprocess. No keys or tokens are stored by the plugin.
- No telemetry, no analytics, no remote logging.
- Network requests are made only when you trigger a transform — never on install, settings open, or vault scan.
If your vault includes an excavelo.json at root, the plugin enables smart
defaults — output paths and frontmatter that match the structure of Karpathy-style
LLM Wiki vaults (raw/, wiki/sources/). See
docs/architecture.md for the config schema.
pnpm install
pnpm dev # esbuild watch
pnpm build # production build
Uses pnpm (declared in packageManager). If you don't have it: npm i -g pnpm or corepack enable.
Symlink (or copy) the build output (main.js, manifest.json, styles.css)
into a test vault's .obsidian/plugins/excavelo/ to try it.
Architecture overview: docs/architecture.md.
Provider implementation notes: docs/adapters.md.
Template format: docs/templates-format.md.
Developer spec: CLAUDE.md.
MIT. See LICENSE.