~ / rigs / theprodsde / agent-memory-sdk

theprodsde/agent-memory-sdk

Memory for AI agents that knows when NOT to answer — every lookup returns replay, restore, verify, or none with an explainable score. SQLite/FTS5, optional vectors, MCP server.

↗ GitHub ★ 0 mit updated 17d ago project Claude Code
share on X
ARCHETYPE
Minimalist
Lean instructions, few tools, tiny context tax. Lets the model think.
CONTEXT TAX · EVERY TURN
~0 tokens
Featherweight · median rig: 2.3k · breakdown
GUARDRAILS
1/5
No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit theprodsde/agent-memory-sdk/.claude ./rig-agent-memory-sdk  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

This rig commits no guardrails. Here is the community baseline instead — the deny/ask rules most often found across all 7,204 rigs:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(**/.env)",
      "Read(~/.ssh/**)",
      "Bash(rm -rf *)",
      "Read(**/*.pem)",
      "Bash(rm -rf /)",
      "Bash(git push --force:*)",
      "Bash(sudo *)",
      "Read(.env)",
      "Bash(rm -rf /*)",
      "Read(./.env.*)",
      "Read(~/.aws/**)",
      "Bash(git push --force*)",
      "Bash(rm -rf:*)",
      "Read(**/*.key)",
      "Read(**/.env.*)",
      "Bash(sudo:*)",
      "Bash(git reset --hard*)",
      "Bash(git reset --hard:*)",
      "Read(.env.*)"
    ],
    "ask": [
      "Bash(git push:*)",
      "Bash(git push *)",
      "Bash(git commit:*)",
      "Bash(rm *)",
      "Bash(rm:*)",
      "Bash(git rebase *)",
      "Bash(wget *)",
      "Bash(npm publish:*)",
      "Bash(git commit *)",
      "Bash(gh pr merge *)"
    ]
  }
}

Permissions

deny (0)
—
ask (0)
—
allow (82)
Bash(.venv/bin/python -m pytest tests/ -q)
Bash(~/theprodsde/agent-memory-sdk/.venv/bin/python -)
Bash(cd ~/theprodsde/agent-memory-sdk)
Bash(mktemp -d)
Bash(.venv/bin/agent-memory --data-dir __TRACKED_VAR__/evalmem eval)
Bash(.venv/bin/mypy agent_memory/ --ignore-missing-imports)
Bash(git ls-remote *)
Bash(.venv/bin/python -c ' *)
Bash(.venv/bin/pip show *)
Bash(git reset *)
Bash(.venv/bin/python -m pytest tests/ -q -x)
Bash(.venv/bin/python -m pytest tests/test_mcp_server.py -q)
Bash(.venv/bin/python -m pytest tests/test_scale.py -q)
Bash(.venv/bin/agent-memory --data-dir __CMDSUB_OUTPUT__/evalmem eval)
Bash(.venv/bin/python -c "import sqlite_vec, fastembed; print\('sqlite-vec + fastembed installed'\)")
Bash(.venv/bin/python -m pytest tests/test_v03.py::test_ttl_expires_memory -q)
Bash(.venv/bin/python -m pytest tests/test_semantic_sqlite.py -q)
Bash(.venv/bin/mypy agent_memory/ mcp_server/)
Bash(gh run *)
Bash(curl -s "https://api.github.com/repos/theprodsde/agent-memory-sdk/actions/runs?per_page=3")
Bash(python3 -c ' *)
Bash(curl -s "https://api.github.com/repos/theprodsde/agent-memory-sdk/actions/runs/35580496528/jobs?per_page=20")
Bash(python3 -c "import tomllib,sys; d=tomllib.loads\(sys.stdin.read\(\)\); print\('TOML parses OK'\); print\('deps:', d['project']['dependencies']\)")
Bash(vhs mini.tape)
Bash(asciinema --version)
Bash(agg --version)
Bash(asciinema rec *)
Bash(agg --font-size 16 /tmp/demo.cast docs/assets/demo.gif)
Bash(ffmpeg -y -loglevel error -sseof -1 -i docs/assets/demo.gif -update 1 -vframes 1 /tmp/frame_last.png)
Bash(ffmpeg -y -loglevel error -i docs/assets/demo.gif -vf "select=eq\(n\\,350\)" -vframes 1 /private/tmp/f350.png)
Bash(curl -s https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json)
Bash(.venv/bin/mypy mcp_server/)
Bash(ffmpeg -y -loglevel error -i docs/assets/demo.gif -vf "select=eq\(n\\,140\)" -vframes 1 /private/tmp/g140.png)
Bash(ffmpeg -y -loglevel error -i docs/assets/demo.gif -vf "select=eq\(n\\,295\)" -vframes 1 /private/tmp/g295.png)
Bash(.venv/bin/mypy agent_memory/)
Bash(git bundle *)
Bash(cp .claude/settings.json /tmp/claude-settings-backup.json)
Bash(uv pip *)
Bash(python -m pytest tests/test_confidence.py tests/test_multiagent.py tests/test_graph.py -v --tb=short)
Bash(python -c "import sys; print\(sys.path\)")
Bash(python -c "import site; print\(site.getsitepackages\(\)\)")
Bash(python -c "import chromadb; print\('chromadb OK'\)")
Bash(python -m venv .venv)
Bash(.venv/bin/python -m pytest tests/test_confidence.py tests/test_multiagent.py tests/test_graph.py tests/test_redis_store.py tests/test_api.py -v --tb=short)
Bash(.venv/bin/python -m pytest tests/ -v --tb=short --ignore=tests/test_postgres_store.py --ignore=tests/test_semantic_sqlite.py)
Bash(.venv/bin/python -m pytest tests/ --ignore=tests/test_postgres_store.py --ignore=tests/test_semantic_sqlite.py -q --tb=short)
Bash(gh project *)
Bash(.venv/bin/python -m pytest tests/test_benchmarks.py tests/test_adapters.py tests/test_graph.py tests/test_confidence.py tests/test_multiagent.py -v --tb=sh
Bash(chmod +x ~/theprodsde/agent-memory-sdk/scripts/setup-github.sh)
Bash(.venv/bin/python -m pytest tests/ --ignore=tests/test_postgres_store.py --ignore=tests/test_semantic_sqlite.py -v --tb=long)
Bash(.venv/bin/playwright install *)
Bash(AGENT_MEMORY_DIR=/tmp/agent_memory_demo .venv/bin/streamlit run ~/theprodsde/agent-memory-sdk/agent_memory/dashboard/app.py --server.port 8501 --server.hea
Bash(echo "PID=$!")
Bash(curl -s http://localhost:8501/)
Bash(ffmpeg -y -i /tmp/dashboard_capture3/dashboard_demo.webm -vf fps=6,scale=960:-1:flags=lanczos,palettegen=max_colors=96:stats_mode=diff /tmp/palette_opt.png
Bash(ffmpeg -y -i /tmp/dashboard_capture3/dashboard_demo.webm -i /tmp/palette_opt.png -filter_complex 'fps=6,scale=960:-1:flags=lanczos[x];[x][1:v]paletteuse=di
Bash(curl -s http://localhost:8501/healthz)
Bash(.venv/bin/python scripts/seed_demo.py --data-dir /tmp/agent_memory_demo)
Bash(AGENT_MEMORY_DIR=/tmp/agent_memory_demo .venv/bin/streamlit run agent_memory/dashboard/app.py --server.port 8503 --server.headless true --server.address lo
Bash(curl -sf http://localhost:8503/)

Similar rigs

copied ✓