Egon Notebooks

The Egon Journal

Egon Notebooks does not aim to be an "AI therapist". Rather, we believe that journaling, in combination with human connection and support, is a more sustainable long-term self-help approach that also doesn't risk developing parasocial relationships with AI. The egon-journal CLI adds structured journaling to your Egon graph. Write daily entries linked to the content you already have and follow guided programs — without any data leaving your device. When you have a few weeks of entries, turn them into private reports.

Getting started

For now, the Egon journal is a suite of CLI commands. You need Python 3.13+ and uv. Clone the repository and install:

git clone https://github.com/egon-notebooks/egon-journal cd egon-journal uv sync

Configure your local graph directories by copying the example env file:

cp .env.example .env

Open .env and set the three paths:

EGON_JOURNAL_DIR=/path/to/your/graph/journal EGON_SUMMARIES_DIR=/path/to/your/graph/summaries EGON_GRAPH_DIR=/path/to/your/graph

You can create new daily entries directly in Logseq or Obsidian. Logseq even creates a new daily entry every day automatically. Or you can create your first journal entry yourself:

uv run egon new-entry # today uv run egon new-entry --open # open immediately in $EDITOR

Entries are named Journal — YYYY-MM-DD.md and written as plain Markdown with YAML frontmatter. They land in EGON_JOURNAL_DIR and sit alongside your content nodes in Obsidian or Logseq. The more journal entries you have, the better Egon Notebooks will understand you.

Prompts and programs

Journaling prompts are short, topic-linked questions that sit as nodes in your graph alongside the content they refer to. Structured programs are time-bounded sequences — each day is a node that frames a reading and a reflection.

# Generate all prompt nodes uv run egon generate-prompts # List available programs uv run egon list-programs # Generate a specific program uv run egon generate-program --name "14-Day Sleep Improvement" # Generate all programs uv run egon generate-all-programs

Weekly and monthly summaries

Summary nodes give each week or month a structured reflection: overall tone, recurring themes, one thing noticed, and what to carry forward. Fill them in by hand or use a local AI tool to draft them from your entries.

uv run egon new-summary --period week uv run egon new-summary --period month

Exporting entries as LLM context

The export command aggregates your recent journal entries into a single Markdown document, ordered by date. This is useful when you want to feed your journal into the LLM of your choice to do some self-reflection — paste the file into a conversation and ask it to surface recurring themes, blind spots, or questions worth journaling about next.

uv run egon export-context # last 3 months, printed to stdout uv run egon export-context --months 6 uv run egon export-context --output context.md

The export is a plain local file — nothing is sent anywhere by Egon itself. Keep in mind that whatever you paste into a hosted LLM leaves your device, so prefer a local model if your entries are sensitive.

Reports

Your entries — together with your Apple Health data, if you like — can be turned into private, interactive reports on mood, stress, personality, sleep and activity. See the Reports page for what's included, an example report and how to generate your own.

Next steps

  • See what your entries can tell you on the Reports page
  • Browse the Registry to download content packs to read alongside your entries
  • Follow the Getting Started guide to set up your Obsidian or Logseq vault
  • View the full source on GitHub