Skip to main content

Variables API

用于 LLM 状态的快速键值存储 — 计数器、标志位、最后访问时间戳、部分进度。


Variables API

Variables API 是用于临时状态的快速键值存储。与记忆(被索引、可搜索、结构化)不同,变量针对快速读写做了优化 — 非常适合计数器、标志位和会话状态。

端点

POST /var

设置或更新变量。

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

获取单个变量。

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

响应:

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

GET /var

列出所有变量。

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

DELETE /var/:key

删除变量。

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

何时使用变量、何时使用记忆

用例 使用
用户名、偏好 Memory(可搜索、结构化)
上次会话时间戳 Variable(临时状态)
计数器(例如已发送消息数) Variable(频繁更新)
工作流状态(“5 步中已完成 3 步”) Variable(短暂状态)
长篇项目笔记 Memory(全文索引)
可复用脚本 Script 存储(命名、版本化)

常见模式

跟踪上次会话

# 会话结束时
curl -X POST .../var -d '{"key": "last_session_at", "value": "'$(date -Iseconds)'"}'

# 会话开始时
LAST=$(curl .../var/last_session_at | jq -r .value)
curl .../memory/diff?since=$(date -d "$LAST" +%s)

计数器模式

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

功能开关

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

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

下一步