pi-morph-plugin

Pi extension for Morph SDK — Fast Apply, WarpGrep, Public Repo Context, and Compaction

Packages

Package details

extensionprompt

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.

pi extension license



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

License

MIT