Memory API
อ้างอิงครบถ้วนสำหรับ 22 memory endpoint: store, recall, search, semantic search, sync, audit และอื่น ๆ
Memory API
Memory API เป็นหัวใจของ Synapse ให้บริการ 22 endpoint สำหรับจัดเก็บ, ดึง, ค้นหา, และจัดการ memory ที่มีโครงสร้าง endpoint ทั้งหมดต้องใช้ Mind Key สำหรับการยืนยันตัวตน
Categories
memory ถูกจัดเป็น 8 category:
| Category | กรณีใช้งาน |
|---|---|
identity |
ชื่อผู้ใช้, role, ข้อมูลติดต่อ, ค่ากำหนดเกี่ยวกับตนเอง |
preference |
สิ่งที่ชอบ/ไม่ชอบ, สไตล์การทำงาน, ค่ากำหนดการสื่อสาร |
fact |
fact ที่ตรวจสอบได้ (รายละเอียดโปรเจกต์, วันที่, URL) |
project |
สถานะโปรเจกต์, milestone, architecture |
skill |
สิ่งที่ผู้ใช้ทำได้ดี |
mistake |
error ในอดีต — หลีกเลี่ยงการทำซ้ำ |
context |
context ที่เกี่ยวข้องกับ session |
note |
note อื่น ๆ |
Priorities
low— รู้ไว้ก็ดีnormal— ค่าเริ่มต้นhigh— สำคัญcritical— ต้องไม่ลืมเด็ดขาด (ตัวตนผู้ใช้, ข้อมูลทางกฎหมาย)
Core Endpoints
GET /memory/recall
ส่งกลับ memory ทั้งหมดในรูปแบบ plain text ที่ปรับให้เหมาะกับ LLM เรียกสิ่งนี้ที่จุดเริ่มต้นของทุก session
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/recallResponse (text/plain):
Mind: Michael's Mind
Memories: 12 total (10 verified)
[001] identity (CRITICAL)
user_name
Michael Schäfer
Tags: person, identity
...POST /memory
จัดเก็บ memory ใหม่หรืออัปเดต memory ที่มีอยู่ (category + key เดียวกัน = อัปเดต)
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"
}'Response: { "id": "mem_001", "status": "stored" }
GET /memory
รายการ memory พร้อม filter ที่เลือกได้
# 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
อัปเดต memory เฉพาะตาม 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
ลบ memory เดียว
curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/mem_001Search Endpoints
GET /memory/search
Full-text search โดยใช้ FTS5
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/search?q=docker+swarm"ไวยากรณ์ FTS5:
- หลายคำ = AND:
docker swarm - Phrase:
"docker swarm" - Prefix:
docker* - Boolean:
docker OR kubernetes - Exclude:
docker -swarm
GET /memory/semantic-search
การค้นหาเชิงแนวคิดโดยใช้ embeddings (ช้ากว่า FTS5 แต่เข้าใจความหมาย)
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/semantic-search?q=container+orchestration"ส่งกลับ memory ที่คล้ายเชิง semantic กับ query แม้ไม่มี keyword ตรงกัน มีประโยชน์สำหรับ "ค้นหา memory เกี่ยวกับ X" โดยที่ X ถูกอธิบายต่างกัน
GET /memory/by-tag
รายการ memory ตาม tag
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/by-tag?tag=dockerGET /memory/related/:id
ค้นหา memory ที่เกี่ยวข้องกับ memory เฉพาะ (ผ่าน tag ที่ใช้ร่วมกัน)
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/related/mem_001Sync & Diff
GET /memory/diff
Sync แบบ incremental — ส่งกลับ memory ที่เปลี่ยนแปลงตั้งแต่ timestamp
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/diff?since=1700000000"Response: { "added": [...], "updated": [...], "deleted": [...] }
POST /memory/sync
นำ diff จาก instance อื่นมาใช้ (สำหรับ self-hosted sync)
curl -X POST https://synapse.schaefer.zone/memory/sync \
-H "Authorization: Bearer YOUR_MIND_KEY" \
-H "Content-Type: application/json" \
-d '{"added": [...], "updated": [...], "deleted": [...]}'การดำเนินการแบบ Bulk
POST /memory/bulk-delete
ลบ memory หลายรายการตาม 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
สร้าง embeddings สำหรับ memory ที่ยังไม่มี (สำหรับ semantic search)
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
ตรวจสอบความคืบหน้าการสร้าง embedding
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/embed-batch-statusการยืนยัน
memory มี flag verified memory ที่จัดเก็บโดย agent จะเป็น unverified โดยค่าเริ่มต้น (source=agent); memory ที่จัดเก็บโดย human จะเป็น verified (source=user)
POST /memory/verify
ทำเครื่องหมาย memory ว่า verified (ต้องใช้ JWT ไม่ใช่ Mind Key)
curl -X POST https://synapse.schaefer.zone/memory/mem_001/verify \
-H "Authorization: Bearer YOUR_JWT"POST /memory/unverify
ทำเครื่องหมาย memory ว่า unverified (ต้องใช้ JWT)
curl -X POST https://synapse.schaefer.zone/memory/mem_001/unverify \
-H "Authorization: Bearer YOUR_JWT"GET /memory/unverified
รายการ memory ที่รอการยืนยันจาก human
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/unverified?limit=100"Statistics & Audit
GET /memory/stats
สถิติรวมสำหรับ mind ปัจจุบัน
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
Audit log ของการดำเนินการที่เปลี่ยนแปลงสถานะทั้งหมด
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/audit?limit=100&action=store"GET /memory/contradictions
ตรวจหา contradiction ที่อาจเกิดขึ้นใน memory ที่จัดเก็บไว้
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/contradictionsGET /memory/expiring
รายการ memory ที่มีวันหมดอายุใกล้เข้ามา
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/expiring?within=7d"Health & Export
GET /memory/health
Health check อย่างรวดเร็วสำหรับระบบ memory
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/healthGET /memory/mind-export
JSON export แบบเต็มของ memory ทั้งหมด (สำหรับสำรองข้อมูล)
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/mind-export > backup.jsonPOST /memory/compact
รวบรวม memory ที่คล้ายกัน (auto-summarization)
curl -X POST https://synapse.schaefer.zone/memory/compact \
-H "Authorization: Bearer YOUR_MIND_KEY" \
-H "Content-Type: application/json" \
-d '{"dry_run": true}'