Merge branch 'main' into docs/vitepress-site
This commit is contained in:
@@ -40,6 +40,7 @@ export default withMermaid(
|
||||
{ text: 'MCP Integration', link: '/guide/mcp-integration' },
|
||||
{ text: 'Claude Code Plugin', link: '/guide/claude-code' },
|
||||
{ text: 'Gemini CLI', link: '/guide/gemini-cli' },
|
||||
{ text: 'OpenClaw Skill', link: '/guide/openclaw' },
|
||||
{ text: 'Local Models', link: '/guide/local-models' },
|
||||
{ text: 'Auto-Save Hooks', link: '/guide/hooks' },
|
||||
{ text: 'Configuration', link: '/guide/configuration' },
|
||||
|
||||
@@ -7,33 +7,43 @@ Ancient Greek orators memorized entire speeches by placing ideas in rooms of an
|
||||
Your conversations are organized into a navigable hierarchy:
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph wing_person["WING: Person"]
|
||||
graph LR
|
||||
classDef wingPerson fill:#1e1b4b,stroke:#4f46e5,color:#e0e7ff,stroke-width:2px,rx:8px,ry:8px;
|
||||
classDef wingProject fill:#164e63,stroke:#06b6d4,color:#cffafe,stroke-width:2px,rx:8px,ry:8px;
|
||||
classDef room fill:#312e81,stroke:#6366f1,color:#e0e7ff,stroke-width:1px,rx:4px,ry:4px;
|
||||
classDef closet fill:#3b0764,stroke:#8b5cf6,color:#f3e8ff,stroke-width:1px,rx:4px,ry:4px;
|
||||
classDef drawer fill:#0f766e,stroke:#14b8a6,color:#ccfbf1,stroke-width:1px,rx:4px,ry:4px;
|
||||
classDef tunnel_link stroke:#8b5cf6,stroke-width:2px,stroke-dasharray: 5 5;
|
||||
|
||||
subgraph W1 [WING: Person]
|
||||
direction TB
|
||||
RA["Room A"] -- hall --> RB["Room B"]
|
||||
RA --> CA["Closet"]
|
||||
CA --> DA["Drawer (verbatim)"]
|
||||
RA["Room A"]
|
||||
RB["Room B"]
|
||||
CA["Closet"]
|
||||
DA["Drawer (verbatim)"]
|
||||
|
||||
RA -- "hall" --> RB
|
||||
RA --> CA --> DA
|
||||
end
|
||||
|
||||
subgraph wing_project["WING: Project"]
|
||||
subgraph W2 [WING: Project]
|
||||
direction TB
|
||||
RA2["Room A"] -- hall --> RC["Room C"]
|
||||
RA2 --> CA2["Closet"]
|
||||
CA2 --> DA2["Drawer (verbatim)"]
|
||||
RA2["Room A"]
|
||||
RC["Room C"]
|
||||
CA2["Closet"]
|
||||
DA2["Drawer (verbatim)"]
|
||||
|
||||
RA2 -- "hall" --> RC
|
||||
RA2 --> CA2 --> DA2
|
||||
end
|
||||
|
||||
RA -.->|tunnel| RA2
|
||||
RA <==> |tunnel bridge| RA2
|
||||
|
||||
style wing_person fill:#1e1b4b,stroke:#4f46e5,color:#e0e7ff
|
||||
style wing_project fill:#164e63,stroke:#06b6d4,color:#cffafe
|
||||
style RA fill:#312e81,stroke:#6366f1,color:#e0e7ff
|
||||
style RB fill:#312e81,stroke:#6366f1,color:#e0e7ff
|
||||
style CA fill:#3b0764,stroke:#8b5cf6,color:#f3e8ff
|
||||
style DA fill:#0f766e,stroke:#14b8a6,color:#ccfbf1
|
||||
style RA2 fill:#155e75,stroke:#22d3ee,color:#cffafe
|
||||
style RC fill:#155e75,stroke:#22d3ee,color:#cffafe
|
||||
style CA2 fill:#3b0764,stroke:#8b5cf6,color:#f3e8ff
|
||||
style DA2 fill:#0f766e,stroke:#14b8a6,color:#ccfbf1
|
||||
class W1 wingPerson;
|
||||
class W2 wingProject;
|
||||
class RA,RB,RA2,RC room;
|
||||
class CA,CA2 closet;
|
||||
class DA,DA2 drawer;
|
||||
```
|
||||
|
||||
## Components
|
||||
|
||||
@@ -8,6 +8,10 @@ Install MemPalace from PyPI:
|
||||
pip install mempalace
|
||||
```
|
||||
|
||||
::: danger Security Warning
|
||||
The domain `mempalace.tech` is a **brand-squatting site** not affiliated with this project. It is known to run ad-redirects and potential malware. The official MemPalace distribution is only available via this [GitHub repository](https://github.com/milla-jovovich/mempalace) and [PyPI](https://pypi.org/project/mempalace/). Never install binaries or scripts from unofficial domains.
|
||||
:::
|
||||
|
||||
### Requirements
|
||||
|
||||
- Python 3.9+
|
||||
|
||||
@@ -4,6 +4,14 @@ MemPalace provides 19 tools through the [Model Context Protocol (MCP)](https://m
|
||||
|
||||
## Setup
|
||||
|
||||
### Setup Helper
|
||||
|
||||
MemPalace includes a setup helper that prints the exact configuration commands for your environment:
|
||||
|
||||
```bash
|
||||
mempalace mcp
|
||||
```
|
||||
|
||||
### Manual Connection
|
||||
|
||||
```bash
|
||||
@@ -27,6 +35,7 @@ Claude calls `mempalace_search` automatically, gets verbatim results, and answer
|
||||
MemPalace works with any tool that supports MCP:
|
||||
|
||||
- **Claude Code** — native via plugin or manual MCP
|
||||
- **OpenClaw** — via official skill, see [OpenClaw Skill](/guide/openclaw)
|
||||
- **ChatGPT** — via MCP bridge
|
||||
- **Cursor** — native MCP support
|
||||
- **Gemini CLI** — see [Gemini CLI guide](/guide/gemini-cli)
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
# OpenClaw Skill
|
||||
|
||||
MemPalace provides an official skill for [OpenClaw](https://github.com/openclaw/openclaw), making it trivial to give your ClawHub agents complete access to the palace's declarative memory and knowledge graph.
|
||||
|
||||
## Installation
|
||||
|
||||
The skill is built right into the `integrations/openclaw` directory of MemPalace.
|
||||
|
||||
You can add MemPalace as an MCP server to OpenClaw via the CLI:
|
||||
|
||||
```bash
|
||||
openclaw mcp set mempalace '{"command":"python3","args":["-m","mempalace.mcp_server"]}'
|
||||
```
|
||||
|
||||
Or by directly editing your OpenClaw configuration:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"mempalace": {
|
||||
"command": "python3",
|
||||
"args": ["-m", "mempalace.mcp_server"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## How It Works
|
||||
|
||||
Once connected, OpenClaw agents receive all 19 tools along with the **Memory Protocol**—a strict behavioral guide indicating they should:
|
||||
1. **Never guess**: Query `mempalace_search` or `mempalace_kg_query` before confidently answering.
|
||||
2. **Keep an agent diary**: Maintain continuity between sessions by writing to `mempalace_diary_write`.
|
||||
3. **Manage the Knowledge Graph**: Update declarative facts when things change using `mempalace_kg_add` and `mempalace_kg_invalidate`.
|
||||
|
||||
By connecting OpenClaw to MemPalace, you get both autonomous code execution and persistent, high-recall memory in the same workflow.
|
||||
@@ -128,6 +128,15 @@ mempalace repair
|
||||
|
||||
Creates a backup at `<palace_path>.backup` before rebuilding.
|
||||
|
||||
## `mempalace mcp`
|
||||
|
||||
Helper command that outputs setup syntax (like `claude mcp add...`) to connect MemPalace to your AI client, automatically handling paths.
|
||||
|
||||
```bash
|
||||
mempalace mcp
|
||||
mempalace mcp --palace ~/.custom-palace
|
||||
```
|
||||
|
||||
## `mempalace hook`
|
||||
|
||||
Run hook logic for Claude Code / Codex integration.
|
||||
|
||||
@@ -68,7 +68,7 @@ Check if content already exists in the palace before filing.
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `content` | string | **Yes** | Content to check |
|
||||
| `threshold` | number | No | Similarity threshold 0–1 (default: 0.9) |
|
||||
| `threshold` | number | No | Similarity threshold 0–1 (default: 0.85–0.87) |
|
||||
|
||||
**Returns:** `{ is_duplicate, matches: [{ id, wing, room, similarity, content }] }`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user