Monet – AI 에이전트 팀을 위한 오픈 소스 공유 메모리

hackernews | | 📦 오픈소스
#오픈소스
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

시니어 개발자의 운영 노하우를 팀 전체의 공유 메모리로 전환하여 AI 에이전트 팀의 성과를 극대화하는 오픈소스 플랫폼 'Monet'이 공개되었습니다. 이 도구는 세션과 팀원 간에 지속되는 공유 메모리 계층을 제공하며, MCP 지원과 테넌트 격리 기능을 갖추고 있습니다.

본문

Senior developers get better AI results — not because of better prompts, but because of accumulated operational know-how. Monet captures that intelligence as shared memory, so your entire team benefits from the same AI expertise. Monet is an open-source, multi-tenant memory platform for AI agents. It gives your agent team a shared memory layer that persists across sessions, agents, and team members — with native MCP support and true tenant isolation. | The Problem | How Monet Helps | |---|---| | Agents lose context between sessions | Memories persist and are searchable across sessions | | Senior dev AI know-how stays with individuals | Operational intelligence is captured and shared with the team | | Each agent starts from scratch | Agents inherit accumulated team knowledge from day one | | No visibility into what agents remember | Dashboard UI for memory inspection and audit trails | - 🧠 Shared Memory for Agent Teams — Agents read and write to a shared memory layer scoped by group, user, or private access - 🔌 Native MCP Support — Connect any MCP-compatible agent with a single endpoint: /mcp/:tenantSlug - 🏢 True Multi-Tenant Isolation — PostgreSQL schema-level isolation per tenant, ready for SaaS and MSP use cases - 📊 Dashboard UI — Setup, tenant administration, and memory inspection at a glance - 🔍 Semantic Search — pgvector-powered embedding search with automatic enrichment (summaries, tags, vectors) - 📋 Audit Trail — Append-only audit logs with DB-level protection for compliance and observability - 🏠 Self-Hosted — Run on your infrastructure. No cloud lock-in. Your data stays yours. Monet organizes memories by type and scope, matching how teams actually think: Memory Types: decision · pattern · issue · preference · fact · procedure Memory Scopes: | Scope | Who Sees It | Use Case | |---|---|---| group | All agents in the group | Shared team knowledge, best practices | user | Agents serving a specific user | User-specific context and preferences | private | Only the authoring agent | Agent-specific working notes | ┌─────────────────────────────────────────────┐ │ Tenant │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ Agent A │ │ Agent B │ │ Agent C │ │ │ │ (Support) │ │ (Support) │ │ (Billing) │ │ │ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────────────────────────────────┐ │ │ │ Shared Memory Layer │ │ │ │ │ │ │ │ 🔵 group scope → visible to all │ │ │ │ 🟡 user scope → per-user context │ │ │ │ 🔴 private scope → agent-only │ │ │ └─────────────────────────────────────────┘ │ └─────────────────────────────────────────────┘ git clone https://github.com/team-monet/monet.git cd monet pnpm install cp .env.local-dev.example .env.local-dev pnpm local:up Then follow the full local setup guide: Once Monet is running, connect any MCP-compatible agent: { "mcpServers": { "monet": { "url": "http://localhost:3301/mcp/your-tenant", "headers": { "Authorization": "Bearer your-agent-api-key" } } } } Your agent now has access to these memory tools: | Tool | What It Does | |---|---| memory_store | Store a new memory (decision, pattern, issue, preference, fact, procedure) | memory_search | Search memories by semantic query, tags, or type | memory_fetch | Fetch full memory content by ID | memory_update | Update an existing memory with optimistic concurrency | memory_delete | Delete a memory (author-restricted) | memory_promote_scope | Promote a memory's visibility (e.g., private → group) | memory_mark_outdated | Mark a memory as outdated | memory_list_tags | List all tags used across memories | # Store a memory curl -X POST http://localhost:3301/api/tenants/acme/memories \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "content": "Always use pagination for list endpoints. Limit default is 50.", "memoryType": "pattern", "memoryScope": "group", "tags": ["api", "best-practice", "pagination"] }' # Search memories curl "http://localhost:3301/api/tenants/acme/memories?query=pagination+best+practice&limit=5" \ -H "Authorization: Bearer $API_KEY" Monet runs as a straightforward service stack designed for self-hosted deployment: ┌─────────────┐ ┌──────────────┐ │ Dashboard │ │ API Service │── /api/tenants/:slug/... │ (Next.js) │ │ │── /mcp/:slug └─────────────┘ └──────┬───────┘ │ ┌───────────────┼───────────────┐ │ │ │ ┌────▼────┐ ┌──────▼──────┐ ┌───▼───┐ │ PostgreSQL │ │ OIDC Auth │ │ Enrich │ │ + pgvector │ │ (Keycloak) │ │ Pipeline│ └───────────┘ └─────────────┘ └────────┘ Core design decisions: - Tenant-qualified routing — every request is scoped to a tenant via URL path - Schema isolation — per-tenant PostgreSQL schemas ( tenant_ ) withSET LOCAL search_path - MCP as a first-class citizen — dedicated endpoint, session lifecycle management, tool schema registry - Enrichment pipeline — automatic summary, tag extraction, and vector embedding on every memory write Read the full architecture overview: docs/architecture.md → Monet is designed for single-host Docker Compose deployment — no Kubernetes required: cp .env.runtime.example .env.runtime docker compose -f docker-compose.runtime.yml up -d | Guide | What You'll Find | |---|---| | Local Development | Set up a local dev environment | | Production Deployment | Deploy Monet to production | | Tenant Management | Create and manage tenants | | Platform Administration | Platform setup and admin workflows | | Architecture Overview | System design, data model, MCP internals | | Observability | Monitoring, logging, health checks | | Backup & Restore | Data backup and recovery procedures | | Migration & Upgrade | Version upgrades and schema migrations | We welcome contributions! Start here: Please report vulnerabilities through private GitHub advisories (not public issues/PRs): Monet is licensed under the Apache License 2.0. See LICENSE.

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

공유

관련 저널 읽기

전체 보기 →