Skip to content

Commit 51e2484

Browse files
Pandaclaude
andcommitted
feat: OpenClaw integration support with per-skill memory isolation
- Add comprehensive OpenClaw documentation and workflow guides - Add Linux one-line install script (curl | bash) - Add example GitHub PR reviewer skill - Add llms.txt for AI agent documentation - Update README with OpenClaw quick start (English & Chinese) - Add per-skill memory isolation using context parameter This release focuses on making aimemo the go-to memory solution for OpenClaw skills, with zero-dependency installation and complete isolation. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 8a43989 commit 51e2484

9 files changed

Lines changed: 3207 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.4.0] - 2026-02-20
9+
10+
### Added
11+
12+
- **OpenClaw Integration Documentation**
13+
- [OpenClaw Integration Guide](docs/openclaw-integration.md) with 5-minute setup
14+
- [OpenClaw Workflow](docs/openclaw-workflow.md) with complete architecture diagrams
15+
- Per-skill memory isolation using `context` parameter
16+
- Comparison with other memory solutions (Cognee, memsearch, Supermemory)
17+
18+
- **Linux Support**
19+
- One-line install script (`install.sh`) for Linux amd64/arm64
20+
- Automatic architecture detection
21+
- Post-install instructions and troubleshooting
22+
- Native static binaries (CGO_ENABLED=0)
23+
24+
- **Example OpenClaw Skill**
25+
- Complete GitHub PR reviewer skill ([examples/openclaw-github-pr-reviewer/](examples/openclaw-github-pr-reviewer/))
26+
- Demonstrates code style preference learning
27+
- Shows pattern recognition across sessions
28+
- Includes debugging and customization guide
29+
30+
- **AI Agent Documentation**
31+
- `llms.txt` file following [llmstxt.org](https://llmstxt.org/) specification
32+
- Machine-readable project documentation
33+
- Optimized for AI agent consumption
34+
- Includes all tools, commands, and integration guides
35+
36+
### Improved
37+
38+
- **README Updates (English & Chinese)**
39+
- Added OpenClaw Quick Start section
40+
- Added Linux one-line installation option
41+
- Added per-skill memory isolation explanation
42+
- Added file system layout diagrams
43+
- Added comparison table with alternative solutions
44+
45+
- **Documentation Structure**
46+
- Created `docs/` directory for comprehensive guides
47+
- Created `examples/` directory for working skill implementations
48+
- Improved navigation with clear section hierarchy
49+
50+
### Changed
51+
52+
- Quick Start section now shows both Homebrew and curl installation methods
53+
- Client Support section reorganized for better clarity
54+
55+
### Technical
56+
57+
- Verified Linux amd64/arm64 build compatibility
58+
- Tested context parameter creates isolated databases correctly
59+
- Confirmed pure Go SQLite (modernc.org/sqlite) works on Linux
60+
- Validated goreleaser configuration for multi-platform releases
61+
62+
## [0.3.0] - 2026-02-17
63+
64+
### Added
65+
66+
- Initial public release
67+
- MCP stdio server implementation
68+
- Five core memory tools: `memory_context`, `memory_store`, `memory_search`, `memory_forget`, `memory_link`
69+
- SQLite + FTS5 full-text search with BM25 ranking
70+
- Importance scoring (recency + access frequency)
71+
- Context parameter for memory isolation
72+
- CLI tools for human inspection and management
73+
- Configuration system (global and per-project)
74+
- WAL mode for concurrent access
75+
- Journal entry support
76+
- Entity and observation management
77+
- Tag-based organization
78+
- Relationship linking
79+
- Export/import (Markdown and JSON)
80+
- Client support for Claude Code, Cursor, Windsurf, Cline, Continue, Zed
81+
- Homebrew formula for macOS installation
82+
- Comprehensive README documentation (English and Chinese)
83+
- MIT License
84+
85+
### Technical
86+
87+
- Go 1.22+ required
88+
- Zero runtime dependencies
89+
- Single binary distribution
90+
- Pure Go SQLite via modernc.org/sqlite
91+
- MCP protocol version 2024-11-05
92+
- 5-second timeout per MCP call
93+
- < 2000 token schema overhead
94+
95+
---
96+
97+
## Release Links
98+
99+
- [v0.4.0](https://github.com/MyAgentHubs/aimemo/releases/tag/v0.4.0) - OpenClaw Integration Release
100+
- [v0.3.0](https://github.com/MyAgentHubs/aimemo/releases/tag/v0.3.0) - Initial Release

README.md

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ $ claude "let's keep working on the payment service"
4545

4646
```bash
4747
# 1. Install
48+
# Linux/macOS (one-line install):
49+
curl -sSL https://raw.githubusercontent.com/MyAgentHubs/aimemo/main/install.sh | bash
50+
51+
# Or macOS via Homebrew:
4852
brew install MyAgentHubs/tap/aimemo
4953

5054
# 2. Initialize memory for your project (run from project root)
@@ -56,6 +60,10 @@ claude mcp add-json aimemo-memory '{"command":"aimemo","args":["serve"]}'
5660

5761
Restart Claude Code. On the next session, Claude will automatically load project context.
5862

63+
### Quick Start for OpenClaw
64+
65+
If you're using OpenClaw skills, see the [OpenClaw Integration](#-openclaw-integration) section below for per-skill memory isolation.
66+
5967
## 🔧 How It Works
6068

6169
`aimemo serve` runs as a stdio MCP server; Claude Code manages the process lifecycle, so there is nothing to keep alive yourself. When Claude starts a session it calls `memory_context` to load relevant prior context; as it works it calls `memory_store` and `memory_link` to record decisions and relationships. You can call `aimemo search`, `aimemo list`, or `aimemo get` at any time to read or edit the same data from your terminal. Everything lives in a SQLite database inside `.aimemo/`, discovered by walking up from the current directory — the same way Git finds `.git/`.
@@ -157,6 +165,138 @@ This project uses aimemo for persistent memory across sessions.
157165
- Do not store secrets, credentials, or PII.
158166
```
159167

168+
## 🦞 OpenClaw Integration
169+
170+
aimemo solves OpenClaw's "remembers everything but understands none" problem with **per-skill memory isolation** and **zero infrastructure**.
171+
172+
### Why aimemo for OpenClaw?
173+
174+
**The Problem:**
175+
- OpenClaw's native Markdown memory gets worse the more you use it
176+
- Skills share memory, causing cross-contamination
177+
- Context compression loses important context
178+
179+
**The Solution:**
180+
-**Zero dependencies** — Single Go binary, no Docker/Node.js/databases
181+
-**Per-skill isolation** — Each skill gets its own memory database
182+
-**Actually works** — BM25 search + importance scoring finds what matters
183+
-**Local-first** — All data stays on your machine
184+
185+
**vs Other Solutions:**
186+
187+
| | aimemo | Cognee | memsearch | Supermemory |
188+
|---|--------|---------|-----------|-------------|
189+
| **Dependencies** | Zero | Neo4j/Kuzu | Milvus | Cloud service |
190+
| **Installation** | 30 sec | Complex | Complex | Sign up required |
191+
| **Skill isolation** | Built-in | Manual | Manual | N/A |
192+
| **Linux support** | ✅ Native ||| N/A |
193+
194+
### 5-Minute Setup
195+
196+
```bash
197+
# 1. Install (Linux amd64/arm64)
198+
curl -sSL https://raw.githubusercontent.com/MyAgentHubs/aimemo/main/install.sh | bash
199+
200+
# 2. Register MCP server with OpenClaw
201+
claude mcp add-json aimemo-memory '{"command":"aimemo","args":["serve"]}'
202+
203+
# Or add to ~/.openclaw/openclaw.json:
204+
# {
205+
# "mcpServers": {
206+
# "aimemo-memory": {
207+
# "command": "/usr/local/bin/aimemo",
208+
# "args": ["serve"]
209+
# }
210+
# }
211+
# }
212+
213+
# 3. Initialize workspace memory
214+
cd ~/.openclaw/workspace
215+
aimemo init
216+
217+
# 4. Restart OpenClaw Gateway
218+
# Linux: systemctl --user restart openclaw-gateway
219+
# macOS: launchctl stop com.openclaw.gateway && launchctl start com.openclaw.gateway
220+
```
221+
222+
### Per-Skill Memory Isolation
223+
224+
Each skill gets its own isolated memory by using the `context` parameter:
225+
226+
**In your SKILL.md:**
227+
```markdown
228+
---
229+
name: my-skill
230+
description: A skill with persistent memory
231+
---
232+
233+
# My Skill
234+
235+
## Instructions
236+
237+
When doing work:
238+
239+
1. **Load memory FIRST**:
240+
```
241+
memory_context({context: "my-skill"})
242+
```
243+
244+
2. Do your task with loaded context
245+
246+
3. **Store learnings**:
247+
```
248+
memory_store({
249+
context: "my-skill",
250+
entities: [{
251+
name: "preferences",
252+
entityType: "config",
253+
observations: ["User prefers snake_case"]
254+
}]
255+
})
256+
```
257+
258+
**CRITICAL**: Always pass `context: "my-skill"` to prevent memory pollution.
259+
```
260+
261+
**Result:**
262+
```
263+
~/.openclaw/workspace/.aimemo/
264+
├── memory.db # Shared/default (no context)
265+
├── memory-skill-a.db # Skill A's isolated memory
266+
├── memory-skill-b.db # Skill B's isolated memory
267+
└── memory-skill-c.db # Skill C's isolated memory
268+
```
269+
270+
### Complete Example
271+
272+
See [`examples/openclaw-github-pr-reviewer/`](examples/openclaw-github-pr-reviewer/) for a full working skill that:
273+
- Reviews GitHub PRs
274+
- Learns code style preferences
275+
- Remembers patterns across sessions
276+
- Stores feedback for improvement
277+
278+
### Documentation
279+
280+
- **[OpenClaw Integration Guide](docs/openclaw-integration.md)** — Step-by-step setup
281+
- **[OpenClaw Workflow](docs/openclaw-workflow.md)** — Architecture deep-dive
282+
- **[Example Skill](examples/openclaw-github-pr-reviewer/)** — Complete implementation
283+
284+
### Debugging
285+
286+
```bash
287+
# List a skill's memory
288+
aimemo list --context my-skill
289+
290+
# Search within a skill
291+
aimemo search "keyword" --context my-skill
292+
293+
# Export for inspection
294+
aimemo export --context my-skill --format json > memory.json
295+
296+
# Get database stats
297+
aimemo stats --context my-skill
298+
```
299+
160300
## 🖥 Client Support
161301

162302
aimemo works with any MCP-compatible AI coding client. The server command is always `aimemo serve`.

0 commit comments

Comments
 (0)