2.8 KiB
2.8 KiB
| name | description | user_invocable | arg_hint | builtin |
|---|---|---|---|---|
| remember | Save something to persistent memory with auto-embedding. Use when user says "/remember X" or asks to remember something important. | true | [critical:] [[tag1,tag2]:] content to remember | true |
/remember
Save to persistent memory across sessions. Shared between all agents (claude-code, opencode, clawdbot). Memories are auto-embedded for semantic search via the Signet daemon.
syntax
/remember <content>
/remember critical: <content>
/remember [tag1,tag2]: <content>
/remember critical: [tag1,tag2]: <content>
examples
/remember nicholai prefers tabs over spaces
/remember critical: never push directly to main
/remember [voice,tts]: qwen model needs 12GB VRAM minimum
/remember [signet,architecture]: agent profile lives at ~/.agents/
implementation
Use the Signet CLI (requires running daemon):
signet remember "<content>" -w <agent-name>
Options:
-w, --who <who>— who is remembering (default: "user")-t, --tags <tags>— comma-separated tags-i, --importance <n>— importance 0-1 (default: 0.7)--critical— mark as pinned (importance=1.0, never decays)
where <agent-name> is one of: claude-code, opencode, clawdbot
The daemon automatically:
- detects
critical:prefix → pins memory (importance=1.0, never decays) - parses
[tags]:prefix → explicit tags - infers type from keywords (prefer→preference, decided→decision, etc.)
- generates embedding via configured provider (Ollama/OpenAI)
- stores in SQLite + embeddings table
fallback (daemon not running)
If the daemon is unavailable, fall back to the Python script:
python ~/.agents/memory/scripts/memory.py save \
--mode explicit --who <agent-name> --project "$(pwd)" \
--content "<content>"
Check daemon status: signet status or curl -s http://localhost:3850/health
type inference
| keyword in content | inferred type |
|---|---|
| prefer/likes/want | preference |
| decided/agreed | decision |
| learned/discovered | learning |
| never/always/must | rule |
| bug/issue/broken | issue |
| (default) | fact |
response
The daemon returns JSON:
{
"id": "uuid",
"type": "preference",
"tags": "coding",
"pinned": false,
"importance": 0.8,
"content": "nicholai prefers tabs over spaces",
"embedded": true
}
confirmation
After saving, confirm to the user:
✓ Saved: "nicholai prefers tabs over spaces"
type: preference | embedded
For critical:
✓ Saved (pinned): "never push directly to main"
type: rule | importance: 1.0 | embedded
If embedding failed (daemon running but Ollama/OpenAI unavailable):
✓ Saved: "content..." (keyword search only — embedding unavailable)