pi-morph-plugin
Pi extension for Morph SDK — Fast Apply, WarpGrep, Public Repo Context, and Compaction
Package details
Install pi-morph-plugin from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-morph-plugin- Package
pi-morph-plugin- Version
1.0.1- Published
- Jun 15, 2026
- Downloads
- not available
- Author
- monotykamary
- License
- MIT
- Types
- extension, prompt
- Size
- 61 KB
- Dependencies
- 2 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./extensions"
],
"prompts": [
"./prompts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
🌀 pi-morph-plugin
Fast Apply, WarpGrep, Compaction & Repo Context via Morph
10,500+ tok/s code editing, agentic search, and 25,000+ tok/s compression for pi.
Quick Start
1. Get a Morph API key
Sign up at morphllm.com/dashboard and configure it:
Option A: Environment variable (recommended for quick setup)
export MORPH_API_KEY="sk-..."
Add this to your shell profile (~/.zshrc, ~/.bashrc, etc.) so it persists.
Option B: auth.json (recommended for persistent config)
Add to ~/.pi/agent/auth.json:
{
"morph": { "type": "api_key", "key": "sk-..." }
}
The environment variable takes priority over auth.json.
2. Install the plugin
pi install https://github.com/morphllm/pi-morph-plugin
Or install locally in your project:
pi install -l https://github.com/morphllm/pi-morph-plugin
3. Start Pi
pi
You should see morph_edit, warpgrep_codebase_search, and warpgrep_github_search in the available tools. Compaction runs automatically when context exceeds the threshold.
Tools
Fast Apply (morph_edit)
10,500+ tok/s code merging. The LLM writes partial snippets with lazy markers (// ... existing code ...), Morph merges them into the full file.
Best for large files (300+ lines) and multiple scattered changes. For small exact replacements, use Pi's built-in edit tool.
WarpGrep (warpgrep_codebase_search)
Fast agentic codebase search. Runs multi-turn ripgrep + file reads to find relevant code contexts. Sub-6s per query. Best for exploratory queries ("how does X work?", "where is Y handled?").
Public Repo Context (warpgrep_github_search)
Search public GitHub repositories without cloning. Pass an owner/repo or GitHub URL and a search query. Returns relevant file contexts from Morph's indexed public repo search.
Compaction
Context compression via the Morph Compact API. When Pi's built-in compaction triggers (context exceeds threshold), this extension intercepts it and uses the Morph Compact API instead of default LLM summarization. Compresses in ~250ms at 25,000+ tok/s.
Configuration
All configuration is via environment variables.
| Variable | Default | Description |
|---|---|---|
MORPH_API_KEY |
required | Your Morph API key |
MORPH_COMPACT_RATIO |
0.3 |
Target compression ratio (0.05-1.0, lower = more aggressive) |
MORPH_COMPACT_PRESERVE_RECENT |
1 |
Number of recent messages to keep uncompacted |
MORPH_COMPACT |
true |
Set false to disable compaction |
MORPH_EDIT |
true |
Set false to disable Fast Apply |
MORPH_WARPGREP |
true |
Set false to disable WarpGrep |
MORPH_WARPGREP_GITHUB |
true |
Set false to disable public repo search |
Pi's compaction threshold is configured in ~/.pi/agent/settings.json or .pi/settings.json:
{
"compaction": {
"enabled": true,
"reserveTokens": 16384,
"keepRecentTokens": 20000
}
}
Development
npm install
To test locally:
pi -e ./extensions/index.ts
Or symlink into your pi extensions directory:
ln -s $(pwd)/extensions/index.ts ~/.pi/agent/extensions/morph-plugin.ts