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 required daemon, no external memory backend. The MCP server and browser viewer are optional local read surfaces.

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.38.1.tar.gz (1.3 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.38.1-py3-none-any.whl (609.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: daimon_briefing-0.38.1.tar.gz
  • Upload date:
  • Size: 1.3 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.38.1.tar.gz
Algorithm Hash digest
SHA256 4fedbd92e5ed5a5f26e7458b3b7a7653f017d0b7787dd0ec7b2c9b6d9614bc90
MD5 bc03a93659cf5ec93b242b85bf98450b
BLAKE2b-256 5f13748738ce6c764e64bcf0ec6412e61fad47658da536ff788e492a1e3e4cff

See more details on using hashes here.

Provenance

The following attestation bundles were made for daimon_briefing-0.38.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.38.1-py3-none-any.whl.

File metadata

File hashes

Hashes for daimon_briefing-0.38.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2e25373ff59b6d360097058d3c181fc1eee2eb1a9ff07c69193d31e7ba622901
MD5 c41fbc521e149ccf69de72a89d5864eb
BLAKE2b-256 c06d6c3d72b1dd2d9f7be3408838d7ec51ec8ef66f5578b9f4835968e4e95c1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for daimon_briefing-0.38.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.45.0

2 files

0.44.0

2 files

0.43.0

2 files

0.42.0

2 files

0.41.1

2 files

0.41.0

2 files

0.40.0

2 files

0.39.0

2 files

This release

0.38.1 This release

2 files

0.38.0

2 files

0.37.1

2 files

0.37.0

2 files

0.36.0

2 files

0.35.0

2 files

0.34.0

2 files

0.33.0

2 files

0.32.1

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

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page