Skip to main content

Overview

CommandDescriptionCost
naive memory add <content>Add a new memory entryFree
naive memory listList all stored memoriesFree
naive memory removeRemove a memory by matching textFree

How It Works

Memories persist across agent sessions and are injected into agent context automatically. They map to Hermes’ MEMORY.md and USER.md files. Important: Hermes owns the memory files. When you use naive memory add, the content is sent as a message to the CEO agent, which naturally incorporates it into its memory. The sidecar then mirrors the updated MEMORY.md to the datastore for read access via naive memory list.

Memory Targets

TargetFilePurpose
memoryMEMORY.mdFactual knowledge the agent should retain (company info, procedures, etc.)
userUSER.mdUser interaction preferences (communication style, timezone, formatting)

Add a Memory

naive memory add --target memory "Our primary domain is example.com"
naive memory add --target user "User is based in EST timezone"
naive memory add --target memory "Tech stack: Next.js, the managed database, payments" --agent-id engineer-1

Options

FlagRequiredDescription
--target <type>Yesmemory (agent facts) or user (user preferences)
--agent-id <id>NoSpecific agent to store memory for (default: current agent)

Output

{
  "success": true,
  "action": "memory.add",
  "result": { "status": "memory_requested", "run": { "run_id": "run-abc-123" } },
  "hints": [
    "Memory sent to CEO for incorporation (target: memory)",
    "This will be included in agent context for future runs"
  ]
}
Memory writes go through the CEO agent — Hermes owns MEMORY.md. The CEO incorporates your content naturally into its memory during its next turn. Use naive memory list after a few seconds to verify it was stored.

List Memories

naive memory list
naive memory list --agent-id ceo-1
naive memory list --target user

Options

FlagDescription
--agent-id <id>Filter by agent ID
--target <type>Filter by target type: memory or user

Remove a Memory

Searches for the first memory containing the --text substring and removes it.
naive memory remove --target memory --text "brand color"
naive memory remove --target user --text "timezone"
naive memory remove --target memory --text "payments" --agent-id ceo-1

Options

FlagRequiredDescription
--target <type>Yesmemory or user
--text <substring>YesText to match
--agent-id <id>NoSpecific agent’s memories to search

Typical Workflow

# 1. Store company facts
naive memory add --target memory "Our company brand color is #FF6B00"
naive memory add --target memory "We use Naive payments, account ID: acct_123"

# 2. Set user preferences
naive memory add --target user "User prefers concise bullet-point responses"
naive memory add --target user "Always address the user as 'Chief'"

# 3. Review stored memories
naive memory list

# 4. Remove outdated info
naive memory remove --target memory --text "brand color"