Skip to main content
Glama
dreamd

dreamd

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

dreamd memory server -- search and append agent memory (events + lessons).

WHEN TO CALL search_nodes

  • At the start of the current task, with the user's request as the query

  • Session start on any domain you have worked in before (language, framework, project area)

  • Before reasoning from scratch on a topic; you may already have a relevant note

  • Use 2-4 keywords matching the current task

  • Hits may be raw events (source=episodic) or consolidated lessons (source=semantic); there is no layer filter

  • If a hit overlaps the task, quote one line and its id. If the search is empty, say nothing about memory

WHEN TO CALL append_node

  • When the user corrects you or states a decision; put those same words in content

  • End of session: capture discoveries, constraints, and non-obvious patterns

  • Mid-session: anything that would have saved 10+ minutes if known at the start

  • One precise node beats several vague ones

skill_action FORMAT

  • Lowercase [a-z0-9_] segments joined by "::" -- no dots, hyphens, or slashes

  • Examples: "rust::async::tokio", "echos::audit_pattern", "python::benchmark"

  • Max 256 bytes

SCORES (0-10)

  • importance: how broadly applicable across sessions (8+ changes behavior on familiar domains)

  • pain: how disruptive if unknown (8+ causes bugs, rework, or failed attempts)

  • Call GET /api/v1/preferences at session start to read per-user thresholds

client_dedup_key

  • Set when the same learning could be written twice in a session

  • Use a stable slug: "session:YYYY-MM-DD:skill.topic"

DO NOT STORE

  • Task status, progress notes, or ephemeral in-session state

  • Anything directly readable from docs, source, or git log

  • Conversation summaries or role-play context

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
append_nodeA

Append a raw episodic event -- use when: the user corrects you, the user states a decision, note that, remember, log this, save this lesson. Writes AGENT_LEARNINGS.jsonl, not LESSONS.md; lessons come from the dream cycle. Put the user's own words in content. One precise event beats several vague ones.

search_nodesA

Search memory (events + lessons) at the start of the current task -- use when: the user's request, recall, did we discuss, what did we decide, previously decided. Hits mix raw events (source=episodic, recent/specific) and consolidated lessons (source=semantic, recurring patterns), ranked together by BM25 × salience. There is no layer argument. Factor citations are on GET /api/v1/recall?explain=1 only; this tool does not take explain. Pass plain words from the user's request: a colon is query syntax, and a skill_action pasted as the query fails.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.3/5.0

Scored across 2 tools

Disambiguation4/5

append_node (write an episodic event) and search_nodes (read events + lessons) are clearly opposite operations with explicit 'use when' triggers that prevent misselection. The shared abstract noun 'node' and the embedded HTTP-API references (recall?explain=1) add minor noise but do not create real overlap.

Naming Consistency5/5

Both tools follow the same verb_noun snake_case pattern and share the '_node' resource suffix, making the pair predictable and symmetric (write vs. read).

Tool Count3/5

Two tools is on the thin side for a memory server; the write and recall pair covers the core loop but leaves nothing for management operations. Borderline rather than inappropriate.

Completeness3/5

The essential write-then-recall lifecycle is present, and lessons are intentionally produced by the dream cycle rather than a tool. However there is no way to delete/forget a bad memory, update or correct an event, or fetch a specific node by id, which are notable gaps for a memory domain.

Maintenance

ActivityNo data
ResponsivenessOutdated data