Files
my-pi/hippo-memory-pi/README.md
T

78 lines
2.6 KiB
Markdown

# Hippo Memory - Pi Extension
> **my-pi packaging note:** this official source is bundled and loaded directly by the root package; do not copy it to another Pi extension directory. Use the root `install.sh`, `update.sh`, and `uninstall.sh` prompts to manage the matching global CLI. Upstream's original manual instructions are retained below for reference.
Biologically-inspired memory for [Pi coding agent](https://github.com/badlogic/pi-mono). Memories decay by default, retrieval strengthens them, errors stick longer, and sleep consolidation compresses episodes into patterns.
## Install
```bash
# Install hippo CLI
npm install -g hippo-memory
# Init hippo in your project (or scan all repos)
hippo init
# or: hippo init --scan ~
# Copy extension to Pi's extensions directory
cp -r extensions/pi-extension ~/.pi/agent/extensions/hippo-memory
```
Or for project-level:
```bash
cp -r extensions/pi-extension .pi/extensions/hippo-memory
```
## What it does
| Automatic | When |
|---|---|
| Injects memory context | Session start |
| Captures tool errors | After any failed tool call |
| Learns from git | On `hippo sleep` (session end) |
| Consolidates memories | On `hippo sleep` (session end) |
| Shares to global store | On `hippo sleep` (session end) |
Error capture has three filters to prevent memory pollution:
1. Noise pattern filter (timeouts, ECONNREFUSED, etc.)
2. Per-session rate limit (max 5 error memories)
3. Per-session deduplication
## Tools
The extension registers 5 tools for the LLM:
| Tool | Description |
|---|---|
| `hippo_recall` | Search memories by topic |
| `hippo_remember` | Store a new memory |
| `hippo_outcome` | Report if memories were helpful |
| `hippo_status` | Check memory health |
| `hippo_context` | Smart context from git state |
## Config
Edit the `DEFAULT_CONFIG` object at the top of `index.ts`:
```typescript
const DEFAULT_CONFIG = {
budget: 4000, // Token budget for recall
contextBudget: 1500, // Token budget for auto-context
framing: 'observe', // observe | suggest | assert
autoContext: true, // Inject context at session start
autoLearn: true, // Capture tool errors
autoSleep: true, // Run consolidation on exit
maxErrorsPerSession: 5, // Error capture rate limit
};
```
## Requirements
- `hippo-memory` CLI installed globally: `npm install -g hippo-memory`
- `.hippo/` initialized in your project: `hippo init`
- Pi coding agent
## How it differs from the OpenClaw plugin
Same core behavior. The Pi extension uses Pi's event system (`session_start`, `tool_result`, `session_shutdown`) instead of OpenClaw's hook system. Both use `execFileSync` with args arrays (no shell injection).