Skip to main content

Daimon

codecov

Your AI coding agent forgets everything between sessions. Daimon writes a small cognitive checkpoint when a session ends, then renders a "while you were away" briefing when the next one starts — so the agent resumes from a faithful record of where you left off instead of a confident guess. Everything runs locally: per-project JSON checkpoints plus a derived SQLite index, no server, no external memory backend.

Every briefing item carries a trust class. ✓ verbatim items are pinned to an exact quote from the transcript and are never reworded. ~ inferred items are the agent's own conclusions and are allowed to evolve. Items carried from older sessions are tagged [carried]. Knowing which memories are quotes and which are guesses is the whole point.

Install

pip install daimon-briefing
# or, as an isolated tool:
uv tool install daimon-briefing

Add the [pretty] extra for rich tables and panels in status/brief (plain text works without it):

uv tool install 'daimon-briefing[pretty]'

The installed command is daimon. Requires Python 3.10+, stdlib-only at runtime.

Connect an LLM (one time)

Writing a checkpoint needs an LLM endpoint. If the claude CLI is on your PATH you are zero-config — daimon configure prints ✓ ready and you are done. Otherwise point it at any OpenAI-compatible endpoint:

daimon configure --backend litellm \
  --base-url https://generativelanguage.googleapis.com/v1beta/openai \
  --api-key <YOUR-KEY> --model gemini-2.5-flash

daimon configure --test    # send one tiny prompt and confirm the backend works

Or point it at a headless LLM CLI you already have installed:

daimon configure --backend command --command "mycli -p"

Some CLIs don't read the prompt from stdin — the Devin CLI takes it as a flag pointing at a file. --input controls how the prompt reaches the command (stdin default, arg appends it as the final argument, file:<flag> writes it to a tempfile and passes <flag> <path>):

daimon configure --backend command --command "devin -p" --input "file:--prompt-file"

Config lives in ~/.daimon/env (hooks run with the host's inherited environment, not your shell profile). Kill switch: DAIMON_DISABLE=1.

Hook up your host

Claude Code (plugin — recommended):

/plugin marketplace add Daily-Nerd/daimon
/plugin install daimon@daimon

The plugin registers the SessionStart/SessionEnd hooks itself.

Windsurf (and other hosts that ship packaged hooks):

daimon hooks install windsurf    # copies the hook script + prints the registration snippet
daimon hooks list                # hosts with packaged hook scripts

Codex and other hosts use the manual hook installer from a repository clone — see the GitHub docs.

Then end a session → a checkpoint is written; start the next → the briefing appears.

Quickstart without a host

The CLI also works on any plain-text or markdown transcript, no host required:

daimon serialize path/to/transcript.md   # transcript → checkpoint
daimon brief                             # render the "while you were away" briefing
daimon status                            # did the last checkpoint get written?

Teach your agent the protocol

Hooks capture your sessions; the skill teaches the agent on the other side to read the briefing at session start and treat verbatim items as immutable quotes:

daimon skill install claude    # also: codex, windsurf, cursor, gemini
daimon skill list              # which scopes each host supports

Commands

Command What it does
daimon brief Render the "while you were away" briefing from the latest checkpoint
daimon status Checkpoint presence/age + last capture outcome; reports failures honestly
daimon recall <terms> Full-text search over your whole checkpoint history
daimon resolve <item> Mark a checkpoint item resolved so it stops carrying forward
daimon reverify <item> Evidence-gated reopen of a resolved item
daimon refute <action> Author, ratify, search, guard, revise, or overturn scoped negative knowledge
daimon heal [--force] Re-serialize the most recent failed session, if it can be done safely; --force ignores a prior retry marker to re-heal a retry-exhausted session
daimon stats Local usage + capture aggregates (nothing is transmitted)
daimon configure Detect/repair the LLM backend
daimon hooks install <host> Install packaged host hook scripts
daimon skill install <host> Install the agent skill for a host

Run daimon --help or daimon <command> --help for the full surface, including code anchors (daimon anchor) and opt-in team memory (daimon team).

Docs

Full documentation, architecture, and the research trail live in the GitHub repository: https://github.com/Daily-Nerd/daimon

License: Apache-2.0 · Org: Daily-Nerd

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

daimon_briefing-0.32.1.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

daimon_briefing-0.32.1-py3-none-any.whl (541.6 kB view details)

Uploaded Python 3

File details

Details for the file daimon_briefing-0.32.1.tar.gz.

File metadata

  • Download URL: daimon_briefing-0.32.1.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for daimon_briefing-0.32.1.tar.gz
Algorithm Hash digest
SHA256 2625597eb8d8748d918a686ff28a3266d76e4760543fa0ee855739a419bac9c3
MD5 ae8c83e94ac84f17f12d3b2206ef3d2c
BLAKE2b-256 60fde6f5b4d64253c3fc84bfc5e41a94981ddc8d29f26687e457d8f103c514d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for daimon_briefing-0.32.1.tar.gz:

Publisher: release.yml on Daily-Nerd/daimon

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file daimon_briefing-0.32.1-py3-none-any.whl.

File metadata

File hashes

Hashes for daimon_briefing-0.32.1-py3-none-any.whl
Algorithm Hash digest
SHA256 21e6f23a4aba94fce97ed7087ce013b5c31d8d497c973e00a468374b707a0d52
MD5 0986a242724269789b2967791e69ee6d
BLAKE2b-256 5d6c5d60c048229d9041da65268dd3fae2c499b93635eaf4f4657ac78147a2d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for daimon_briefing-0.32.1-py3-none-any.whl:

Publisher: release.yml on Daily-Nerd/daimon

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.33.0

2 files

This release

0.32.1 This release

2 files

0.32.0

2 files

0.31.0

2 files

0.30.2

2 files

0.30.1

2 files

0.30.0

2 files

0.29.0

2 files

0.28.0

2 files

0.27.0

2 files

0.26.0

2 files

0.25.0

2 files

0.24.0

2 files

0.23.0

2 files

0.22.1

2 files

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.1

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.3

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.1

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page