Daimon
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
Release files for daimon-briefing 0.48.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| daimon_briefing-0.48.0.tar.gz | 1.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| daimon_briefing-0.48.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.7 MB
Release files / daimon_briefing-0.48.0.tar.gz
| Download URL | daimon_briefing-0.48.0.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b2b3e41d12ab1e90036392fa5543ce2a6ab1081c94629856baa9c99719cf9d8f
|
|
BLAKE2b-256 checksum How to use checksums |
dcb797c605db8662e2b6047c409b32ba4f97f31a0f964070a9b63d5a655b867c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.
Transparency logRelease files / daimon_briefing-0.48.0-py3-none-any.whl
| Download URL | daimon_briefing-0.48.0-py3-none-any.whl |
|---|---|
| Size | 862.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
390c1b77d5c10483595a0799bd08415eac949c0a172bc36a5a7b51d955705ff7
|
|
BLAKE2b-256 checksum How to use checksums |
bbd69e6cfdedee0bf7d48e1839340ec28e7099c53edfac22d2bf922ddc485696
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.
Transparency log