Skip to content

strawpot/dial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dial

Default file-based memory provider for StrawPot.

Two memory layers — Event Memory and a unified Knowledge store — using local JSON/JSONL files. Zero external dependencies.

Quick Start

# strawpot.toml
memory = "dial"

How It Works

  • EM — Append-only event log per session. Fully automatic. Events are consolidated (deduped by task), ranked by relevance to the current task, and failures are prioritised.
  • Knowledge (SM) — Facts and conventions, always included. Scoped to global, project, or role.
  • Knowledge (RM) — Domain-specific entries, included only when the task keywords match.

Knowledge is scoped at three levels:

Scope Example
Global "Always use conventional commits"
Project "This project uses pytest"
Role "Check migration dir before modifying models"

Agents write knowledge via the denden remember RPC during execution:

denden send '{"remember": {"content": "This project uses pytest", "scope": "project"}}'
denden send '{"remember": {"content": "Payments API needs idempotency keys", "keywords": ["payment", "stripe"]}}'

Entries are deduplicated and written directly to the knowledge store.

Agents can query stored knowledge on-demand via the recall RPC:

denden send '{"recall": {"query": "testing framework", "scope": "project", "maxResults": 5}}'

Results are scored by keyword relevance and returned sorted best-first.

See DESIGN.md for architecture details.

License

MIT

About

Default memory layer for StrawPot

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages