Memory API
22개 메모리 엔드포인트에 대한 완전한 참조: 저장, 회상, 검색, 의미론적 검색, 동기화, 감사 등.
Memory API
Memory API는 Synapse의 핵심입니다. 구조화된 메모리를 저장, 검색, 검색 및 관리하기 위한 22개의 엔드포인트를 제공합니다. 모든 엔드포인트는 인증을 위해 Mind Key가 필요합니다.
카테고리
메모리는 8개 카테고리로 구성됩니다:
| 카테고리 | 사용 사례 |
|---|---|
identity |
사용자 이름, 역할, 연락처 정보, 자신에 대한 선호도 |
preference |
좋아함, 싫어함, 작업 스타일, 커뮤니케이션 선호도 |
fact |
검증 가능한 사실 (프로젝트 세부 정보, 날짜, URL) |
project |
프로젝트 상태, 마일스톤, 아키텍처 |
skill |
사용자가 잘하는 것 |
mistake |
과거 오류 — 반복 방지 |
context |
세션 관련 컨텍스트 |
note |
기타 노트 |
우선순위
low— 알면 좋음normal— 기본값high— 중요critical— 절대 잊으면 안 됨 (사용자 정체성, 법적 정보)
핵심 엔드포인트
GET /memory/recall
모든 메모리를 LLM에 최적화된 일반 텍스트로 반환합니다. 모든 세션 시작 시 호출하십시오.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/recall응답 (text/plain):
Mind: Michael's Mind
Memories: 12 total (10 verified)
[001] identity (CRITICAL)
user_name
Michael Schäfer
Tags: person, identity
...POST /memory
새 메모리를 저장하거나 기존 메모리를 업데이트합니다 (동일한 카테고리 + 키 = 업데이트).
curl -X POST https://synapse.schaefer.zone/memory \
-H "Authorization: Bearer YOUR_MIND_KEY" \
-H "Content-Type: application/json" \
-d '{
"category": "fact",
"key": "user_name",
"content": "The user's name is Michael Schäfer",
"tags": ["person", "identity"],
"priority": "critical"
}'응답: { "id": "mem_001", "status": "stored" }
GET /memory
선택적 필터로 메모리를 나열합니다.
# All memories (JSON)
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory?limit=50&offset=0"
# Filter by category
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory?category=project"
# Filter by tag
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory?tag=docker"PUT /memory/:id
ID로 특정 메모리를 업데이트합니다.
curl -X PUT https://synapse.schaefer.zone/memory/mem_001 \
-H "Authorization: Bearer YOUR_MIND_KEY" \
-H "Content-Type: application/json" \
-d '{"content": "Updated content", "priority": "high"}'DELETE /memory/:id
단일 메모리를 삭제합니다.
curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/mem_001검색 엔드포인트
GET /memory/search
FTS5를 사용한 전문 검색입니다.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/search?q=docker+swarm"FTS5 구문:
- 여러 단어 = AND:
docker swarm - 구문:
"docker swarm" - 접두사:
docker* - 불린:
docker OR kubernetes - 제외:
docker -swarm
GET /memory/semantic-search
임베딩을 사용한 개념 검색입니다 (FTS5보다 느리지만 의미를 이해함).
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/semantic-search?q=container+orchestration"키워드가 일치하지 않더라도 쿼리와 의미론적으로 유사한 메모리를 반환합니다. X가 다르게 설명된 "X에 대한 메모리 찾기"에 유용합니다.
GET /memory/by-tag
태그로 메모리를 나열합니다.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/by-tag?tag=docker"GET /memory/related/:id
특정 메모리와 관련된 메모리를 찾습니다 (공유 태그 기준).
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/related/mem_001동기화 및 Diff
GET /memory/diff
증분 동기화 — 타임스탬프 이후 변경된 메모리를 반환합니다.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/diff?since=1700000000"응답: { "added": [...], "updated": [...], "deleted": [...] }
POST /memory/sync
다른 인스턴스에서 diff를 적용합니다 (자체 호스팅 동기화용).
curl -X POST https://synapse.schaefer.zone/memory/sync \
-H "Authorization: Bearer YOUR_MIND_KEY" \
-H "Content-Type: application/json" \
-d '{"added": [...], "updated": [...], "deleted": [...]}'대량 작업
POST /memory/bulk-delete
ID로 여러 메모리를 삭제합니다.
curl -X POST https://synapse.schaefer.zone/memory/bulk-delete \
-H "Authorization: Bearer YOUR_MIND_KEY" \
-H "Content-Type: application/json" \
-d '{"ids": ["mem_001", "mem_002", "mem_003"]}'POST /memory/embed-batch
아직 임베딩이 없는 메모리의 임베딩을 생성합니다 (의미론적 검색용).
curl -X POST https://synapse.schaefer.zone/memory/embed-batch \
-H "Authorization: Bearer YOUR_MIND_KEY" \
-H "Content-Type: application/json" \
-d '{"limit": 100}'GET /memory/embed-batch-status
임베딩 생성 진행 상황을 확인합니다.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/embed-batch-status검증
메모리에는 verified 플래그가 있습니다. 에이전트가 저장한 메모리는
기본적으로 미검증(source=agent)이며, 사람이 저장한 메모리는
검증됨(source=user)입니다.
POST /memory/verify
메모리를 검증됨으로 표시합니다 (Mind Key가 아닌 JWT 필요).
curl -X POST https://synapse.schaefer.zone/memory/mem_001/verify \
-H "Authorization: Bearer YOUR_JWT"POST /memory/unverify
메모리를 미검증으로 표시합니다 (JWT 필요).
curl -X POST https://synapse.schaefer.zone/memory/mem_001/unverify \
-H "Authorization: Bearer YOUR_JWT"GET /memory/unverified
사용자 검증 대기 중인 메모리를 나열합니다.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/unverified?limit=100"통계 및 감사
GET /memory/stats
현재 마인드에 대한 집계 통계입니다.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/stats반환: { "total": 12, "verified": 10, "unverified": 2, "by_category": {...}, "by_priority": {...} }
GET /memory/audit
상태를 변경하는 모든 작업의 감사 로그입니다.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/audit?limit=100&action=store"GET /memory/contradictions
저장된 메모리의 잠재적 모순을 감지합니다.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/contradictionsGET /memory/expiring
만료일이 다가오는 메모리를 나열합니다.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/expiring?within=7d"상태 및 내보내기
GET /memory/health
메모리 시스템의 빠른 상태 확인입니다.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/healthGET /memory/mind-export
모든 메모리의 전체 JSON 내보내기입니다 (백업용).
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/mind-export > backup.jsonPOST /memory/compact
유사한 메모리를 압축합니다 (자동 요약).
curl -X POST https://synapse.schaefer.zone/memory/compact \
-H "Authorization: Bearer YOUR_MIND_KEY" \
-H "Content-Type: application/json" \
-d '{"dry_run": true}'