c35686c9e1
End-user installs now lead with `uv tool install mempalace`, with `pip install mempalace` kept as a fallback. Dev/contributor docs lead with `uv sync --extra dev` and `uv run` for tests/benchmarks/lint, with the equivalent pip recipe kept inline. The shipped `/mempalace:init` skill instructions (mempalace/instructions/init.md) try `uv tool install` first when uv is on PATH, then fall back through the pip variants. Adds a .python-version pin at 3.12 because the lockfile's onnxruntime==1.24.3 only ships wheels for Python >=3.11; without the pin, `uv sync` on a host where uv prefers 3.10 fails with no source distribution available, which would make the documented command a footgun. pyproject's `requires-python = ">=3.9"` is unchanged — pip users on 3.9/3.10 are unaffected. Files updated: README.md, CONTRIBUTING.md, CLAUDE.md, the gemini-cli guide and example, the .claude-plugin / .codex-plugin READMEs, the mempalace SKILL, the openclaw SKILL, tools/save.md, the three benchmarks docs, and the corresponding website mirrors.
2.4 KiB
2.4 KiB
Gemini CLI
MemPalace works natively with Gemini CLI, which handles the MCP server and save hooks automatically.
Prerequisites
- Python 3.9+
- Gemini CLI installed and configured
Installation
We recommend uv — it creates and manages the
virtual environment for you:
# Clone the repository
git clone https://github.com/MemPalace/mempalace.git
cd mempalace
# Create the venv and install MemPalace + dependencies
uv sync
This produces a .venv/ directory with the project installed in editable
mode. If you prefer plain pip, the equivalent is:
python3 -m venv .venv
.venv/bin/pip install -e .
Initialize the Palace
uv run python -m mempalace init .
Identity and Project Configuration (Optional)
You can optionally create or edit:
~/.mempalace/identity.txt— plain text describing your role and focus./mempalace.yaml— per-project MemPalace configuration created bymempalace init./entities.json— per-project entity mappings used by AAAK compression
Connect to Gemini CLI
Register MemPalace as an MCP server:
gemini mcp add --scope user mempalace \
-- /absolute/path/to/mempalace/.venv/bin/python -m mempalace.mcp_server
::: warning
Use the absolute path to the Python binary so the server starts from any
working directory. The -- separator prevents Gemini from parsing
-m mempalace.mcp_server as its own flags.
:::
Enable Auto-Saving
Add a PreCompress hook to ~/.gemini/settings.json:
{
"hooks": {
"PreCompress": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "/absolute/path/to/mempalace/hooks/mempal_precompact_hook.sh"
}
]
}
]
}
}
Make sure the hook scripts are executable:
chmod +x hooks/*.sh
Usage
Once connected, Gemini CLI will automatically:
- Start the MemPalace server on launch
- Use
mempalace_searchto find relevant past discussions - Use the
PreCompresshook to save memories before context compression
Manual Mining
Mine existing code or docs:
uv run python -m mempalace mine /path/to/your/project
Verification
In a Gemini CLI session:
/mcp list— verifymempalaceisCONNECTED/hooks panel— verify thePreCompresshook is active