Sulcus Memory Skill
Sulcus is a cognitive memory system for AI agents — not a simple key-value store. Every memory is automatically scored, classified, graph-linked, and subject to thermodynamic decay. The system learns what matters and keeps it accessible.
What Sulcus Is
- - Thermodynamic memory — memories have heat that decays over time and interaction patterns. High-utility memories stay hot; irrelevant ones cool and disappear.
- Apache AGE knowledge graph — temporal graph over all stored memories. Entities and relationships are extracted automatically. Graph queries reveal connections across time.
- SIU v2 pipeline — every
memory_store fires: SIVU (utility scoring) → SICU (type classification) → SILU (entity extraction) → AGE graph update → trigger evaluation. - Curator (sleep cycle) — background process that reclassifies, consolidates, summarizes, and re-vectorizes memories. No manual cleanup needed.
- Reactive triggers — rules that fire automatically on memory events. Useful for auto-pinning important facts, notifying on key recalls, or chaining memory actions.
Memory Lifecycle
Storing
CODEBLOCK0
Recalling
CODEBLOCK1
Memory Types — Choose Carefully
Decay rates differ significantly. Wrong type = memory disappears too fast or lingers too long.
| Type | Decay | Use For |
|---|
| INLINECODE1 | Fast | Events, sessions, one-off observations |
| INLINECODE2 |
Slow | Concepts, relationships, domain knowledge |
|
preference | Slower | User preferences, opinions, style choices |
|
fact | Slow | Stable factual knowledge, ground truth |
|
procedural | Slowest | How-tos, processes, workflows, playbooks |
Best practices:
- - Store user preferences as
preference — they survive long and surface reliably - Store how-tos and processes as
procedural — these should never decay quickly - Store facts as
fact — stable, slow decay, always available - Use
episodic for events and session context — fast decay is correct here - Use
semantic for domain concepts and relationships
Interaction-Based Decay
Sulcus supports 3 decay modes (configured server-side):
- - Time-only — classic: memory cools based on wall-clock time since last access
- Interaction-only — memories decay per agent interaction, not time; great for high-frequency agents
- Hybrid (default) — combination of both; high-utility memories (high SIVU score) resist decay
The Hybrid mode is the right default. High-utility memories (procedural, fact, high-SIVU) decay slowly. Low-utility noise (episodic, low-SIVU) cools quickly and gets consolidated.
Trigger System
Triggers fire automatically on server-side memory events. You can evaluate them explicitly with evaluate_triggers.
Events:
- -
on_store — fires when a memory is stored - INLINECODE16 — fires when a memory is recalled
- INLINECODE17 — fires when a memory's heat is boosted
- INLINECODE18 — fires when a memory cools below a threshold
Actions:
- -
notify — emit a notification event to the agent - INLINECODE20 — raise heat on matching memories
- INLINECODE21 — prevent a memory from decaying
- INLINECODE22 — add a tag to a memory
- INLINECODE23 — mark a memory as superseded
- INLINECODE24 — call an external URL with memory context
- INLINECODE25 — trigger another trigger
Curator (Sleep Cycle)
The curator is a background process that runs independently of agent activity:
- - Reclassifies memories where SICU confidence is low
- Consolidates near-duplicate memories (merges or deprecates)
- Summarizes clusters of episodic memories into semantic nodes
- Re-vectorizes memories whose embeddings are stale
- Resolves conflicts detected by the conflict detection system (v2.3.0+)
You don't need to trigger the curator — it runs on a schedule. Use consolidate to manually initiate a consolidation pass when needed.
Confidence Levels (v2.3.0+)
Every memory carries a confidence level:
- -
observed (default) — directly observed fact or event - INLINECODE28 — derived from other memories or reasoning
- INLINECODE29 — explicitly stated by user or system
The conflict detection system flags memory pairs with high similarity but contradictory content. Use memory_status to inspect open conflicts.
Tool Reference
| Tool | What It Does |
|---|
| INLINECODE31 | Store a memory. SIU pipeline fires automatically. |
| INLINECODE32 |
Semantic search with relevance weighting. |
|
memory_status | Backend status, hot nodes, decay mode, curator state, open conflicts. |
|
memory_delete | Delete by ID. Optional SIVU training to reject similar content. |
|
consolidate | Merge and prune cold memories below a heat threshold. |
|
export_markdown | Export all namespace memories as Markdown. |
|
import_markdown | Import memories from a Markdown document. |
|
evaluate_triggers | Evaluate reactive triggers against an event + context. |
|
trigger_feedback | Submit feedback to improve trigger accuracy (SITU scoring). |
Usage Patterns
Start of session
memory_recall(query="[current task or project]", limit=5)
Surface relevant context before starting work.
Capturing preferences
CODEBLOCK3
Capturing a process
CODEBLOCK4
After compaction/reset
The plugin auto-captures a session summary on compaction (
captureOnCompaction=true) and reset (
captureOnReset=true). These fire automatically — no manual action needed.
Periodic cleanup
consolidate(min_heat=0.1)
Run occasionally to merge near-duplicates and prune cold noise.
Troubleshooting
- - Plugin not responding — ensure
openclaw-sulcus is installed and enabled in ~/.openclaw/openclaw.json. Run openclaw gateway restart after config changes. - No cloud sync —
serverUrl and apiKey required. Get a key at sulcus.ca. Without them, plugin runs local-only. - Local mode —
sulcus-local binary manages embedded PostgreSQL. Check memory_status to confirm backend mode. - Memories not persisting — verify namespace matches across sessions (
agentId / namespace in config). - Memories decaying too fast — check decay mode via
memory_status. Switch to Hybrid mode server-side, or use procedural/fact types for long-lived knowledge. - Conflicts detected — use
memory_status to inspect. The curator will attempt auto-resolution; use memory_delete + memory_store to manually resolve.
脑沟记忆技能
脑沟是AI智能体的认知记忆系统——并非简单的键值存储。每条记忆都会被自动评分、分类、建立图谱链接,并经历热力学衰减。系统会学习什么重要并保持其可访问性。
脑沟是什么
- - 热力学记忆——记忆具有热度,会随时间及交互模式衰减。高效用记忆保持热度;无关记忆冷却并消失。
- Apache AGE知识图谱——所有存储记忆的时序图谱。实体和关系被自动提取。图谱查询揭示跨时间的连接。
- SIU v2流水线——每次memory_store触发:SIVU(效用评分)→ SICU(类型分类)→ SILU(实体提取)→ AGE图谱更新 → 触发器评估。
- 策展人(睡眠周期)——后台进程,负责重新分类、整合、总结和重新向量化记忆。无需手动清理。
- 反应式触发器——在记忆事件上自动触发的规则。适用于自动固定重要事实、在关键回忆时通知或串联记忆操作。
记忆生命周期
存储
memorystore(content, memorytype)
→ SIVU评分效用(0–1)
→ SICU分类类型(如未指定)
→ SILU提取实体和关系
→ 创建/更新AGE图谱节点
→ 评估触发器(on_store)
→ 记忆持久化,包含热度、置信度、来源
回忆
memory_recall(query, limit)
→ 语义嵌入搜索
→ 相关性评分 = 相似度 × 0.7 + 热度 × 0.3
→ 回忆增强应用(热度 += 增强增量)
→ 评估触发器(on_recall)
→ 图谱上下文与结果一同提供
记忆类型——谨慎选择
衰减率差异显著。类型错误=记忆消失过快或存留过久。
| 类型 | 衰减 | 用途 |
|---|
| episodic | 快 | 事件、会话、一次性观察 |
| semantic |
慢 | 概念、关系、领域知识 |
| preference | 较慢 | 用户偏好、意见、风格选择 |
| fact | 慢 | 稳定的事实知识、基本事实 |
| procedural | 最慢 | 操作方法、流程、工作流、剧本 |
最佳实践:
- - 将用户偏好存储为preference——它们存留时间长且可靠地浮现
- 将操作方法和流程存储为procedural——这些绝不应快速衰减
- 将事实存储为fact——稳定、慢衰减、始终可用
- 对事件和会话上下文使用episodic——此处快速衰减是正确的
- 对领域概念和关系使用semantic
基于交互的衰减
脑沟支持3种衰减模式(服务器端配置):
- - 仅时间——经典模式:记忆根据自上次访问以来的实际时间冷却
- 仅交互——记忆按智能体交互次数衰减,而非时间;适用于高频智能体
- 混合(默认)——两者结合;高效用记忆(高SIVU评分)抵抗衰减
混合模式是合适的默认选项。高效用记忆(procedural、fact、高SIVU)缓慢衰减。低效用噪音(episodic、低SIVU)快速冷却并被整合。
触发器系统
触发器在服务器端记忆事件上自动触发。您可以使用evaluate_triggers显式评估它们。
事件:
- - onstore——存储记忆时触发
- onrecall——回忆记忆时触发
- onboost——记忆热度提升时触发
- ondecay——记忆冷却低于阈值时触发
操作:
- - notify——向智能体发出通知事件
- boost——提升匹配记忆的热度
- pin——防止记忆衰减
- tag——为记忆添加标签
- deprecate——标记记忆为已取代
- webhook——使用记忆上下文调用外部URL
- chain——触发另一个触发器
策展人(睡眠周期)
策展人是独立于智能体活动运行的后台进程:
- - 重新分类SICU置信度低的记忆
- 整合近似重复的记忆(合并或弃用)
- 总结情景记忆簇为语义节点
- 重新向量化嵌入已过时的记忆
- 解决冲突检测系统检测到的冲突(v2.3.0+)
您无需触发策展人——它按计划运行。需要时使用consolidate手动启动整合过程。
置信度级别(v2.3.0+)
每条记忆都带有置信度级别:
- - observed(默认)——直接观察到的事实或事件
- inferred——从其他记忆或推理中推导得出
- asserted——由用户或系统明确陈述
冲突检测系统标记相似度高但内容矛盾的记忆对。使用memory_status检查未解决的冲突。
工具参考
| 工具 | 功能 |
|---|
| memorystore | 存储记忆。SIU流水线自动触发。 |
| memoryrecall |
带相关性加权的语义搜索。 |
| memory_status | 后端状态、热点节点、衰减模式、策展人状态、未解决冲突。 |
| memory_delete | 按ID删除。可选的SIVU训练以拒绝相似内容。 |
| consolidate | 合并并修剪热度低于阈值的冷记忆。 |
| export_markdown | 将所有命名空间记忆导出为Markdown。 |
| import_markdown | 从Markdown文档导入记忆。 |
| evaluate_triggers | 针对事件+上下文评估反应式触发器。 |
| trigger_feedback | 提交反馈以改进触发器准确性(SITU评分)。 |
使用模式
会话开始
memory_recall(query=[当前任务或项目], limit=5)
开始工作前浮现相关上下文。
捕获偏好
memorystore(content=用户偏好TypeScript严格模式, memorytype=preference)
捕获流程
memorystore(content=部署流程:构建 → 测试 → 打标签 → 推送 → 通知 #发布, memorytype=procedural)
压缩/重置后
插件在压缩(captureOnCompaction=true)和重置(captureOnReset=true)时自动捕获会话摘要。这些自动触发——无需手动操作。
定期清理
consolidate(min_heat=0.1)
偶尔运行以合并近似重复并修剪冷噪音。
故障排除
- - 插件无响应——确保openclaw-sulcus已安装并在~/.openclaw/openclaw.json中启用。配置更改后运行openclaw gateway restart。
- 无云同步——需要serverUrl和apiKey。在sulcus.ca获取密钥。没有它们,插件仅本地运行。
- 本地模式——sulcus-local二进制管理嵌入式PostgreSQL。检查memorystatus以确认后端模式。
- 记忆未持久化——验证跨会话的命名空间匹配(配置中的agentId/namespace)。
- 记忆衰减过快——通过memorystatus检查衰减模式。在服务器端切换到混合模式,或对长期知识使用procedural/fact类型。
- 检测到冲突——使用memorystatus检查。策展人将尝试自动解决;使用memorydelete + memorystore手动解决。