Dreaming loop
Every morning at 06:30 in your timezone, Han AI runs a reflection pass against your recent conversations and captured profile, and emits zero to three insights. High-confidence ones come to you on Telegram; the rest stay logged.
What it does
Runs an LLM call with the emit_dream schema, producing up to three structured insights with a confidence score each. Insights at confidence 0.6 or higher are posted to you; everything is appended to the log either way.
| Field | Value |
|---|---|
| Schedule | 06:30 daily, your tenant timezone |
| Schema | emit_dream |
| Insights per run | 0–3 |
| Posting threshold | confidence ≥ 0.6 |
| Log path | /var/hanai/state/dreams.jsonl |
When Han AI uses it
Automatically, every morning. You do not invoke it manually under normal use — though you can force a run from the operator side via scripts/dream-now.js.
What an insight looks like
An insight is a short, decision-grade observation. Not a summary, not a to-do — a thing the AI noticed that you might not have. For example:
- A pattern across the last week’s conversations that suggests a priority shift.
- A gap between something you said you cared about and where your attention actually went.
- A risk that has come up twice in different framings.
Limits
- It is not a daily digest. Some mornings produce zero insights — that is the design.
- Low-confidence insights are deliberately suppressed. The threshold protects against noise.
- Insights are based only on what Han AI has seen — your conversations, your profile, and the documents you’ve shared.
Why a confidence gate
Notifications you can ignore stop being notifications. The 0.6 threshold means a posted insight has earned its interruption.