HN 표시: Mnemo – 여러 에이전트가 사용할 수 있는 프로젝트용 범용 로컬 브레인

hackernews | | 📰 뉴스
#ai 딜 #claude #cli #letta #mem0 #로컬 메모리 #에이전트
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

Mnemo는 개발자가 터미널에서 에이전트의 장기 기억을 직접 관리할 수 있도록 돕는 로컬 우선 CLI 도구로, Mem0와 Letta 등 서로 다른 프레임워크의 데이터를 통합하여 덤프, 비교, 이관 및 검색이 가능합니다. 이 도구는 단순화된 스키마와 버전 관리 기능을 통해 특정 벤더에 종속되지 않고 에이전트의 지식을 소유하고 싶은 사용자에게 적합하며, TF-IDF 검색과 신뢰도 색상 코딩 같은 11가지 풍부한 명령어를 제공합니다. 또한 MCP 및 FastAPI 서버 기능을 포함하고 있어 확장성과 호환성을 모두 갖춘 것이 특징입니다.

본문

Local-first agent memory CLI — dump, diff, migrate, and query memories across Mem0, Letta, and your local filesystem. Agents are finally getting good long‑term memory, but every framework (Mem0, Letta, Supermemory, custom Postgres) stores it differently. mnemo is a git‑like CLI for agent memory: you can dump, diff, migrate, and query what your agents know, all from your terminal, using a simple normalized schema and local‑first files. It’s designed for developers who want to own their agent’s “brain” instead of locking it into a single vendor. Inspired by Mnemosyne (Greek goddess of memory), mnemo is a portable CLI for managing agent memory: capture facts, version-control dumps, compare snapshots, and sync to cloud memory providers — all from your terminal. - 16 CLI commands with rich --help and tab-completion - Normalized schema — facts with {entity, attribute, value, source, timestamp, confidence, metadata.tags} - Multi-provider — local JSON, Mem0, Letta (stubs → real APIs with optional deps) - TF-IDF search — mnemo recall "query" with zero external ML deps, filterable by--tag - Rich tables — confidence color-coded (🟢 ≥0.8, 🟡 ≥0.5, 🔴 | Initialize agent directory + config | mnemo add --fact "text" --agent | Add a memory fact (--entity , --attribute , --tag supported) | mnemo dump --agent [--source mem0|letta] | Dump memories to JSON | mnemo load --file dump.json --agent | Load dump into local/Mem0/Letta | mnemo ls [--agent all] | List agents and fact counts | mnemo show --agent | Display agent's latest memories (--format pretty|json|plain ) | mnemo diff --agent-a --agent-b | Diff two agents (or diff a.json b.json ) | mnemo recall "query" [--tag ] | TF-IDF search across all agents, optional tag filter | mnemo search "query" [--limit 10] [--tag ] | Alias for recall with higher default limit | mnemo retract --agent | Remove a fact by ID or 8-char prefix | mnemo edit --agent | Edit value/attribute/confidence of an existing fact | mnemo migrate --dump f.json --target mem0 --agent name | Migrate between providers | mnemo serve --agent [--port 8080] [--stdio] [--read-only] | MCP server — HTTP (JSON-RPC 2.0) or stdio for Claude Desktop / Cursor | mnemo ui [--agent ] [--port 7742] [--read-only] | Open web dashboard — all agents overview, per-agent facts/search/diff/import/export | mnemo remote add --agent | Add a named remote (s3://, r2://, file://) | mnemo remote list --agent | List configured remotes | mnemo remote remove --agent | Remove a remote | mnemo push [--remote origin] --agent | Push local memory to remote | mnemo pull [--remote origin] --agent | Pull and merge remote memory into local | mnemo-agent/ ├── src/mnemo/ │ ├── __init__.py # version │ ├── cli.py # Click CLI (all commands) │ ├── models.py # Pydantic: Fact, AgentDump, MnemoConfig │ ├── storage.py # Local file I/O (JSON, YAML, credentials) │ ├── search.py # TF-IDF search + diff engine │ ├── remotes.py # Push/pull backends: FileBackend, S3Backend │ ├── server.py # FastAPI MCP server (HTTP + JSON-RPC 2.0) + multi-agent UI server │ ├── stdio_server.py # stdio MCP transport (Claude Desktop / Cursor) │ ├── static/ │ │ └── ui.html # Single-file web dashboard (Alpine.js + Tailwind CDN) │ └── adapters/ │ ├── mem0_adapter.py # Mem0 API → normalized facts │ └── letta_adapter.py # Letta API → normalized facts ├── tests/ │ ├── test_cli.py # CLI command tests │ ├── test_remote.py # Remote backends, merge, push/pull tests │ ├── test_server.py # MCP server: JSON-RPC 2.0, tools, stdio transport │ └── fixtures/ │ └── job_prep_sample.json ├── config.yaml # Sample agent config ├── pyproject.toml └── requirements.txt { "agent": "job-prep", "dump_ts": "2026-03-21T23:00Z", "source": "manual", "version": "1", "facts": [ { "id": "uuid", "entity": "Joshua", "attribute": "tech_stack", "value": "React, Node, Supabase, Vercel", "source": "chat|tool|manual|mem0|letta|import", "timestamp": "2026-03-21T20:00Z", "confidence": 0.95, "metadata": {} } ] } { "agent": "advisor-prep", "facts": [ { "id": "uuid-1", "entity": "advisor-prep-agent", "attribute": "project_summary", "value": "CLI + agent that helps students prep for advisor meetings using UBC context.", "source": "manual", "timestamp": "2026-03-22T01:00Z", "confidence": 0.9, "metadata": { "tags": ["summary", "high-level"] } }, { "id": "uuid-2", "entity": "advisor-prep-agent", "attribute": "decision", "value": "Chose Supabase over Firebase for auth due to better Postgres integration.", "source": "manual", "timestamp": "2026-03-22T01:05Z", "confidence": 0.95, "metadata": { "tags": ["decision", "auth"], "ticket": "ADR-001" } }, { "id": "uuid-3", "entity": "advisor-prep-agent", "attribute": "stack", "value": "Next.js, React, Node, Supabase, Vercel.", "source": "manual", "timestamp": "2026-03-22T01:10Z", "confidence": 1.0, "metadata": { "tags": ["stack"] } } ] } mnemo implements the MCP 2024-11-05 spec and supports two transports. Add to ~/.claude/claude_desktop_config.json : { "mcpServers": { "mnemo-job-prep": { "command": "mnem

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →