Add provider layer (src/providers/) with LLMService interface, complexity-based model router (light/standard/heavy tiers), provider registry, Anthropic and Ollama implementations. Update settings UI with provider config and model routing. Update drafter, context, commands for multi-provider support. Migrate settings from old apiKey/model to new per-provider format. 81 new provider tests (244 total, all passing).
9.3 KiB
Getting Started with PENNY
This guide walks you through installing PENNY, connecting it to the Anthropic API, and processing your first annotation.
1. Install the Plugin
Option A: Community Plugin Browser
- Open Obsidian and go to Settings > Community plugins.
- If prompted, turn off Restricted mode.
- Click Browse.
- Search for PENNY.
- Click Install, then Enable.
Option B: Manual Install
Use this if PENNY is not yet in the community browser or you want to install from source.
- Go to the releases page.
- Download three files:
main.js,manifest.json, andstyles.css. - In your vault's root folder, navigate to
.obsidian/plugins/. Ifplugins/does not exist, create it. - Create a new folder called
pennyinsideplugins/. - Copy the three downloaded files into
.obsidian/plugins/penny/. - Restart Obsidian (or reload without cache: Ctrl/Cmd + Shift + R on desktop).
- Go to Settings > Community plugins, find PENNY in the list, and toggle it on.
2. Configure an LLM Provider
PENNY supports multiple LLM providers. You need at least one.
Option A: Anthropic (Claude API -- Cloud)
Best for: highest-quality prose revision, voice matching, complex scenes.
- Go to console.anthropic.com.
- Create an account or sign in.
- Navigate to API Keys and click Create Key.
- Copy the key. You will not be able to see it again.
- In Obsidian, go to Settings > PENNY > Providers.
- Paste the key into the Anthropic API key field.
- Click Test Anthropic connection to verify.
Pricing note: Anthropic charges per token. PENNY makes one API call per annotation (not per chapter). A typical revision pass on a chapter with 5 annotations costs roughly $0.50-$2.00 depending on the model and context size. See API Costs for detailed estimates.
Which plan? Any Anthropic API plan works. There is no minimum tier requirement. You load credits and pay for what you use.
Option B: Ollama (Local Models -- Free)
Best for: privacy, zero cost, offline work, simple edits.
- Install Ollama from ollama.com. It runs on macOS, Linux, and Windows.
- Pull a model. Open a terminal and run:
Other good choices:
ollama pull llama3.2mistral,deepseek-coder,gemma2. See Ollama's model library for the full list. - Ollama starts automatically after install. Verify it is running:
ollama list - In Obsidian, go to Settings > PENNY > Providers.
- The Ollama endpoint defaults to
http://localhost:11434. Change this only if Ollama runs on a different host or port. - Click Test Ollama connection to verify. PENNY will list your locally available models.
No API key needed for local Ollama. If you use a remote/hosted Ollama instance that requires authentication, enter the key in the optional Ollama API key field.
Option C: Both (Hybrid Routing)
You can configure both providers and use model routing to send different tasks to different models. For example:
- Light tasks (CUT, PACING) go to a fast local Ollama model (free)
- Heavy tasks (REWRITE, DIALOG, CHARACTER) go to Claude Opus (best quality)
Set this up in Settings > PENNY > Model Routing after configuring both providers. See Configuration for details.
3. Choose Your Model
- In Obsidian, go to Settings > PENNY > Model Routing.
- By default, Use same model for all tiers is on. Pick a provider and model from the dropdowns.
- If you want different models for different annotation types, turn the toggle off and configure each tier separately.
API keys and endpoints are stored locally in your vault's plugin data (.obsidian/plugins/penny/data.json). They are never sent anywhere except the configured provider endpoints.
4. Set Up Your Project
You have two options: start from scratch or configure PENNY for an existing vault.
Option A: Start a New Project
Run the PENNY: Initialize project command from the command palette (Ctrl/Cmd + P).
A wizard walks you through setup:
- Project name -- The name of your novel or series. PENNY creates a root folder with this name.
- Number of books -- How many books in the series (default: 1).
- Chapters per book -- How many chapter files to scaffold (default: 20).
- Include templates? -- Whether to create reusable templates for chapters, characters, locations, etc.
- POV and tense -- First or third person, past or present tense. PENNY pre-fills your style guide with these choices.
PENNY creates the full directory structure:
Your Novel/
00-series/ Series bible, arc, themes, timeline
01-world/ World-building
02-characters/ Character sheets
03-plot/ Outlines per book
04-drafts/ Prose chapters (versioned)
05-wiki/ Living knowledge base
06-reference/ Style guide, voice tests, research
07-reviews/ Review notes from PENNY
templates/ Reusable file templates
PENNY.md Project-level configuration
Each scaffolded file includes section headings and guidance prompts so you know what to put where.
Option B: Configure for an Existing Vault
If you already have chapters and notes in your vault, you do not need to reorganize. Tell PENNY where things are.
- Go to Settings > PENNY > Project Structure.
- Set paths to match your vault layout:
- Drafts folder -- Where your chapter files live (e.g.,
04-draftsorchaptersordrafts/book-1) - Style guide -- Path to your style guide file (e.g.,
reference/style-guide.md) - Character sheets folder -- Where character files are (e.g.,
characters) - Plot outlines folder -- Where your outlines are (e.g.,
outline)
- Drafts folder -- Where your chapter files live (e.g.,
All paths are relative to the vault root. Leave any path blank to disable that context source.
- If your chapter files are flat (e.g.,
ch-01.mdinstead ofch-01/ch-01.v1.md), run PENNY: Migrate chapters to convert them to the versioned folder structure. See Versioning for details.
5. Your First Annotation
Open a chapter file -- either one you wrote or one of the scaffolded templates -- and add some prose. Then add an annotation.
Step by step:
-
Open a chapter file (e.g.,
04-drafts/book-1/ch-01/ch-01.v1.md). -
Write some prose below the
<!-- Prose begins below -->marker. For example:The lab was quiet. She sat at the desk and looked at the screen. -
Add an annotation directly after the passage you want revised:
The lab was quiet. She sat at the desk and looked at the screen. %% REWRITE: Add sensory detail -- the hum of the servers, the blue glow of monitors, the smell of old coffee. Make it feel like 3am. %% -
Save the file.
That is it. The annotation is an Obsidian comment (%% ... %%) with a tag (REWRITE) and your instruction.
6. Your First Revision
- With the chapter file open, press Ctrl/Cmd + P to open the command palette.
- Type "PENNY" and select PENNY: Process this chapter.
- PENNY reads the file, finds all annotations, assembles context from your project files (style guide, character sheets, outline, etc.), and sends each annotation to Claude for processing.
- Wait for the status bar to show completion. For a single annotation, this typically takes 10-30 seconds.
What happens:
- PENNY creates a new version of the chapter. If you were editing
ch-01.v1.md, the output isch-01.v2.mdin the same folder. - The
.versionfile in the chapter folder updates from1to2. - Processed annotations are removed from the new version and replaced with revision markers:
%% REVISED(v2): [REWRITE] "Added sensory detail to lab scene" -- 18 words -> 52 words %% - Any
NOTEorRESEARCHannotations are kept in the new version unchanged. - A review note is written to
07-reviews/book-1/ch-01.v2-review.mdwith a summary of changes, word counts, and voice compliance flags.
7. Understanding the Output
The new version file
Open ch-01.v2.md. You will see:
- Updated frontmatter (
agent_version: 2, updatedwordcount,agent_annotations_pendingreflecting any remaining annotations). - The revised prose where your annotated passage was.
- Revision markers (
%% REVISED(v2): ... %%) showing what changed. - Any
NOTEorRESEARCHannotations still in place.
The review note
Open 07-reviews/book-1/ch-01.v2-review.md. It contains:
- Timestamp and annotation counts.
- A summary of each annotation that was processed (tag, instruction, word count before and after).
- Flags for any
RESEARCHorPLOTannotations that need your attention. - Voice compliance results: dialogue-to-narration ratio, long narration sentences, internal monologue detection.
The status bar
The bottom-left of Obsidian shows PENNY's status: PENNY: 0 annotations in ch-01 (v2). This updates as you add annotations and process chapters.
Next Steps
- Read the Annotation Guide to learn all the annotation tags and how to write effective instructions.
- Read Voice Enforcement to set up voice rules and tests so PENNY matches your prose style.
- Read Configuration to understand every setting.