Skip to main content

Variables API

Key-value store ที่รวดเร็วสำหรับสถานะ LLM — counter, flag, last-seen timestamp, ความคืบหน้าบางส่วน


Variables API

Variables API เป็น key-value store ที่รวดเร็วสำหรับสถานะชั่วคราว ต่างจาก memory (ซึ่งถูก index, ค้นหาได้ และมีโครงสร้าง) ตรงที่ variable ถูกปรับให้เหมาะกับการอ่าน/เขียนรวดเร็ว — เหมาะสำหรับ counter, flag และสถานะ session

Endpoints

POST /var

ตั้งหรืออัปเดต variable

curl -X POST https://synapse.schaefer.zone/var \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{"key": "last_session_at", "value": "2026-06-27T14:00:00Z"}'

GET /var/:key

ดึง variable เดียว

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/var/last_session_at

Response:

{ "key": "last_session_at", "value": "2026-06-27T14:00:00Z", "updated_at": "..." }

GET /var

รายการ variable ทั้งหมด

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/var

DELETE /var/:key

ลบ variable

curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/var/last_session_at

เมื่อใดควรใช้ Variables vs Memory

กรณีใช้งาน ใช้
ชื่อผู้ใช้, ค่ากำหนด Memory (searchable, structured)
Last session timestamp Variable (ephemeral state)
Counter (เช่น ข้อความที่ส่ง) Variable (frequent updates)
สถานะ workflow ("step 3 of 5 done") Variable (transient)
Note โปรเจกต์แบบยาว Memory (full-text indexed)
Script ที่ใช้ซ้ำ Script store (named, versioned)

รูปแบบทั่วไป

ติดตาม session ล่าสุด

# At session end
curl -X POST .../var -d '{"key": "last_session_at", "value": "'$(date -Iseconds)'"}'

# At session start
LAST=$(curl .../var/last_session_at | jq -r .value)
curl .../memory/diff?since=$(date -d "$LAST" +%s)

รูปแบบ Counter

# Increment
N=$(curl .../var/api_calls | jq -r .value)
curl -X POST .../var -d "{\"key\": \"api_calls\", \"value\": $((N+1))}"

Feature flag

curl -X POST .../var -d '{"key": "feature_x_enabled", "value": "true"}'

# Check
ENABLED=$(curl .../var/feature_x_enabled | jq -r .value)
if [ "$ENABLED" = "true" ]; then ... fi

ขั้นตอนถัดไป

  • Memory API — สำหรับข้อมูลที่มีโครงสร้างและค้นหาได้
  • Cron & Scheduler