@aitne-sh/aitne 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/agent-assets/agent-profiles/background-task.md +8 -1
- package/agent-assets/agent-profiles/routine-fetch-window.md +11 -0
- package/agent-assets/agents/evening-review/agent.md +6 -2
- package/agent-assets/agents/lesson-maintenance/agent.md +56 -0
- package/agent-assets/agents/morning-routine/agent.md +10 -6
- package/agent-assets/agents/source-librarian/agent.md +51 -0
- package/agent-assets/docs/concepts/agent-day.md +15 -15
- package/agent-assets/docs/concepts/auth-health.md +10 -7
- package/agent-assets/docs/concepts/backends-and-tiers.md +34 -23
- package/agent-assets/docs/concepts/costs-and-quotas.md +10 -10
- package/agent-assets/docs/concepts/delegated-mode.md +18 -18
- package/agent-assets/docs/concepts/memory-model.md +25 -24
- package/agent-assets/docs/concepts/observations.md +27 -19
- package/agent-assets/docs/concepts/process-keys.md +25 -26
- package/agent-assets/docs/concepts/routines.md +18 -17
- package/agent-assets/docs/concepts/safety-and-execution.md +20 -17
- package/agent-assets/docs/concepts/safety-model.md +16 -15
- package/agent-assets/docs/concepts/skills.md +7 -4
- package/agent-assets/docs/features/integrations/browser-history.md +52 -47
- package/agent-assets/docs/features/integrations/calendar.md +7 -7
- package/agent-assets/docs/features/integrations/git.md +15 -13
- package/agent-assets/docs/features/integrations/github.md +12 -10
- package/agent-assets/docs/features/integrations/mail.md +47 -45
- package/agent-assets/docs/features/integrations/notion.md +15 -11
- package/agent-assets/docs/features/integrations/obsidian.md +27 -23
- package/agent-assets/docs/features/lifestyle/git.md +7 -8
- package/agent-assets/docs/features/lifestyle/reading.md +11 -8
- package/agent-assets/docs/features/lifestyle/receipts.md +21 -22
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +9 -9
- package/agent-assets/docs/features/memory-files/agent-journal.md +12 -10
- package/agent-assets/docs/features/memory-files/agent-lessons.md +46 -21
- package/agent-assets/docs/features/memory-files/projects.md +13 -14
- package/agent-assets/docs/features/memory-files/roadmap.md +16 -15
- package/agent-assets/docs/features/memory-files/schedule.md +10 -10
- package/agent-assets/docs/features/memory-files/today.md +18 -18
- package/agent-assets/docs/features/memory-files/user-profile.md +17 -17
- package/agent-assets/docs/features/messaging/bang-commands.md +15 -15
- package/agent-assets/docs/features/messaging/dashboard-chat.md +8 -7
- package/agent-assets/docs/features/messaging/discord.md +7 -5
- package/agent-assets/docs/features/messaging/overview.md +14 -14
- package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +12 -12
- package/agent-assets/docs/features/messaging/slack.md +9 -8
- package/agent-assets/docs/features/messaging/telegram.md +7 -7
- package/agent-assets/docs/features/messaging/whatsapp.md +6 -6
- package/agent-assets/docs/features/operations/activity-and-conversations.md +9 -9
- package/agent-assets/docs/features/operations/approvals.md +13 -12
- package/agent-assets/docs/features/operations/backend-routing.md +38 -37
- package/agent-assets/docs/features/operations/browser-tasks.md +63 -57
- package/agent-assets/docs/features/operations/cost-tracking.md +5 -5
- package/agent-assets/docs/features/operations/managed-chromium.md +23 -22
- package/agent-assets/docs/features/operations/notifications.md +15 -15
- package/agent-assets/docs/features/operations/quiet-hours.md +14 -15
- package/agent-assets/docs/features/operations/schedule-approaching.md +16 -14
- package/agent-assets/docs/features/routines/activity-scan.md +14 -11
- package/agent-assets/docs/features/routines/custom-routines.md +9 -7
- package/agent-assets/docs/features/routines/evening-review.md +6 -7
- package/agent-assets/docs/features/routines/morning-routine.md +23 -22
- package/agent-assets/docs/features/routines/weekly-review.md +57 -51
- package/agent-assets/docs/features/wiki/commands.md +28 -22
- package/agent-assets/docs/features/wiki/cost-and-approval.md +28 -23
- package/agent-assets/docs/features/wiki/dashboard.md +22 -24
- package/agent-assets/docs/features/wiki/overview.md +17 -25
- package/agent-assets/docs/features/wiki/search.md +15 -17
- package/agent-assets/docs/features/wiki/workspaces.md +55 -56
- package/agent-assets/docs/getting-started/01-what-is-this.md +4 -5
- package/agent-assets/docs/getting-started/02-first-steps.md +12 -13
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +7 -7
- package/agent-assets/docs/getting-started/04-first-day.md +4 -5
- package/agent-assets/docs/glossary.md +21 -19
- package/agent-assets/docs/guides/add-a-custom-routine.md +17 -12
- package/agent-assets/docs/guides/backup-and-restore.md +19 -16
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +57 -62
- package/agent-assets/docs/guides/build-your-wiki.md +11 -12
- package/agent-assets/docs/guides/change-which-model-handles-x.md +30 -28
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +30 -29
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +30 -32
- package/agent-assets/docs/guides/import-knowledge-file.md +9 -10
- package/agent-assets/docs/guides/install-and-run.md +9 -10
- package/agent-assets/docs/guides/maintain-wiki-health.md +10 -10
- package/agent-assets/docs/guides/migrate-machines.md +16 -14
- package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +12 -13
- package/agent-assets/docs/guides/pause-the-agent.md +25 -25
- package/agent-assets/docs/guides/reinstall-cleanly.md +13 -12
- package/agent-assets/docs/guides/setup-wizard.md +10 -12
- package/agent-assets/docs/guides/switch-default-backend.md +9 -9
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +9 -11
- package/agent-assets/docs/pages/activity.md +76 -0
- package/agent-assets/docs/pages/agents.md +78 -0
- package/agent-assets/docs/pages/analytics.md +70 -0
- package/agent-assets/docs/pages/browser.md +73 -0
- package/agent-assets/docs/pages/chat.md +67 -0
- package/agent-assets/docs/pages/connections.md +78 -0
- package/agent-assets/docs/pages/git.md +73 -0
- package/agent-assets/docs/pages/knowledge.md +75 -0
- package/agent-assets/docs/pages/overview.md +90 -0
- package/agent-assets/docs/pages/reading.md +65 -0
- package/agent-assets/docs/pages/settings.md +77 -0
- package/agent-assets/docs/pages/tasks.md +74 -0
- package/agent-assets/docs/pages/wiki.md +73 -0
- package/agent-assets/docs/reference/api.md +18 -17
- package/agent-assets/docs/reference/cli-commands.md +13 -10
- package/agent-assets/docs/reference/config.md +40 -35
- package/agent-assets/docs/reference/disallowed-tools.md +18 -17
- package/agent-assets/docs/reference/keyboard-shortcuts.md +6 -8
- package/agent-assets/docs/reference/knowledge-layout.md +10 -10
- package/agent-assets/docs/reference/process-keys.md +20 -22
- package/agent-assets/docs/reference/skills.md +18 -16
- package/agent-assets/docs/troubleshooting/auth-failed.md +13 -11
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +10 -10
- package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +26 -24
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +8 -9
- package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +19 -18
- package/agent-assets/docs/troubleshooting/observation-not-detected.md +14 -15
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +28 -26
- package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +35 -34
- package/agent-assets/docs/troubleshooting/wiki-write-failed.md +21 -24
- package/agent-assets/playbooks/markdown-note.md +43 -0
- package/agent-assets/playbooks/monitoring.md +29 -0
- package/agent-assets/playbooks/research.md +47 -0
- package/agent-assets/skills/agent-create/SKILL.md +71 -32
- package/agent-assets/skills/agent-create/references/prompt-frame-extended.md +132 -0
- package/agent-assets/skills/agent-create/references/prompt-frame.md +125 -0
- package/agent-assets/skills/background-task/SKILL.md +13 -8
- package/agent-assets/skills/background-task-reply/SKILL.md +2 -2
- package/agent-assets/skills/board/SKILL.md +92 -0
- package/agent-assets/skills/browser-history/SKILL.md +3 -3
- package/agent-assets/skills/browser-history-respond/SKILL.md +3 -3
- package/agent-assets/skills/browser-task/SKILL.md +4 -2
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +2 -1
- package/agent-assets/skills/schedule/SKILL.md +21 -18
- package/agent-assets/skills/schedule/references/batch.md +1 -1
- package/agent-assets/skills/schedule/references/model-selection.md +1 -1
- package/agent-assets/skills/schedule/references/prompt-frame.md +125 -0
- package/agent-assets/skills/sources/SKILL.md +68 -0
- package/agent-assets/skills/sources/curation.json +21 -0
- package/agent-assets/skills/sources/seeds/filing-rules.seed.json +25 -0
- package/agent-assets/skills/sources/seeds/source-collections.seed.json +20 -0
- package/agent-assets/skills/task/SKILL.md +82 -0
- package/agent-assets/task-flows/background_task.md +29 -3
- package/agent-assets/task-flows/message.received.dm.md +1 -1
- package/agent-assets/task-flows/routine.activity_scan.md +17 -2
- package/agent-assets/task-flows/routine.evening_review.md +72 -11
- package/agent-assets/task-flows/routine.fetch_window.md +21 -0
- package/agent-assets/task-flows/routine.monthly_review.md +3 -1
- package/agent-assets/task-flows/routine.morning_routine_today.md +26 -7
- package/agent-assets/task-flows/routine.source_maintenance.md +50 -0
- package/agent-assets/task-flows/scheduled.dm.md +29 -16
- package/agent-assets/templates/_manifest.json +1 -0
- package/agent-assets/templates/knowledge/sources/_index.md +19 -0
- package/package.json +4 -4
|
@@ -13,9 +13,7 @@ summary: |
|
|
|
13
13
|
and the operator all read and append to it during the day.
|
|
14
14
|
section: memory-files
|
|
15
15
|
tags:
|
|
16
|
-
- core
|
|
17
16
|
- memory
|
|
18
|
-
- today
|
|
19
17
|
status: stable
|
|
20
18
|
ask_examples:
|
|
21
19
|
- What is in today.md?
|
|
@@ -23,7 +21,7 @@ ask_examples:
|
|
|
23
21
|
- Why does today.md keep getting rewritten?
|
|
24
22
|
locale: en-US
|
|
25
23
|
created: 2026-04-25
|
|
26
|
-
updated: 2026-
|
|
24
|
+
updated: 2026-07-01
|
|
27
25
|
keywords:
|
|
28
26
|
- today
|
|
29
27
|
- day plan
|
|
@@ -48,9 +46,10 @@ context_files:
|
|
|
48
46
|
|
|
49
47
|
## In One Sentence
|
|
50
48
|
|
|
51
|
-
The single live file for the current agent day
|
|
52
|
-
|
|
53
|
-
day
|
|
49
|
+
The single live file for the current agent day (the window the agent
|
|
50
|
+
treats as "today") — its plan, log, tasks, and hand-off. The morning
|
|
51
|
+
routine rebuilds it fresh each day; everything else during the day only
|
|
52
|
+
appends to it.
|
|
54
53
|
|
|
55
54
|
## What It Does
|
|
56
55
|
|
|
@@ -58,12 +57,12 @@ today.md holds six sections, written in this order:
|
|
|
58
57
|
|
|
59
58
|
- **User Schedule** — the day's calendar events.
|
|
60
59
|
- **User Tasks** — today's external tasks plus agent-tracked to-dos.
|
|
61
|
-
- **Agent Plan** — what the agent
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
- **Agent Notes** —
|
|
66
|
-
inbox triage.
|
|
60
|
+
- **Agent Plan** — what the agent means to work on today. The morning
|
|
61
|
+
routine turns each row into a schedule entry; a later session that day
|
|
62
|
+
can add rows for new signals or drop a row whose reason no longer
|
|
63
|
+
holds.
|
|
64
|
+
- **Agent Notes** — upcoming items and date-specific memos pulled in from
|
|
65
|
+
inbox triage (the sorting of new incoming items).
|
|
67
66
|
- **Agent Log** — what actually happened, appended throughout the day.
|
|
68
67
|
- **Handoff** — what carries over to tomorrow.
|
|
69
68
|
|
|
@@ -73,17 +72,18 @@ today.md holds six sections, written in this order:
|
|
|
73
72
|
rotates the previous day's file to `state/yesterday.md`).
|
|
74
73
|
- The **activity scan** routes new observations into the right section
|
|
75
74
|
and appends short status lines under Agent Log.
|
|
76
|
-
- The **evening review**
|
|
75
|
+
- The **evening review** closes out the file — it updates Agent Log and
|
|
77
76
|
the Handoff section. (The daily journal itself is written the next
|
|
78
77
|
morning, from the rotated file.)
|
|
79
78
|
|
|
80
79
|
## How It Is Written
|
|
81
80
|
|
|
82
|
-
The agent never edits today.md with a file tool.
|
|
83
|
-
the daemon's context API — `PUT`/`PATCH /api/context/state/today`
|
|
84
|
-
canonical, class-prefixed path). A `today-write-lock`
|
|
85
|
-
during the morning routine: while the lock is
|
|
86
|
-
`state/today` must carry the `X-Lock-Id` header or
|
|
81
|
+
The agent never edits today.md with a file tool. Every write goes
|
|
82
|
+
through the daemon's context API — `PUT`/`PATCH /api/context/state/today`
|
|
83
|
+
(the canonical, class-prefixed path). A `today-write-lock` forces writes
|
|
84
|
+
to happen one at a time during the morning routine: while the lock is
|
|
85
|
+
held, any write to `state/today` must carry the `X-Lock-Id` header, or
|
|
86
|
+
it is rejected.
|
|
87
87
|
|
|
88
88
|
## Where in the Dashboard
|
|
89
89
|
|
|
@@ -18,8 +18,6 @@ summary: |
|
|
|
18
18
|
section: memory-files
|
|
19
19
|
tags:
|
|
20
20
|
- memory
|
|
21
|
-
- profile
|
|
22
|
-
- core
|
|
23
21
|
status: stable
|
|
24
22
|
ask_examples:
|
|
25
23
|
- What is identity/profile.md?
|
|
@@ -27,7 +25,7 @@ ask_examples:
|
|
|
27
25
|
- Will the agent change my profile without asking?
|
|
28
26
|
locale: en-US
|
|
29
27
|
created: 2026-04-25
|
|
30
|
-
updated: 2026-
|
|
28
|
+
updated: 2026-07-01
|
|
31
29
|
keywords:
|
|
32
30
|
- user profile
|
|
33
31
|
- identity/profile.md
|
|
@@ -55,19 +53,21 @@ context_files:
|
|
|
55
53
|
|
|
56
54
|
## In One Sentence
|
|
57
55
|
|
|
58
|
-
A
|
|
59
|
-
|
|
56
|
+
A steady profile of you. The agent reads it at the start of every
|
|
57
|
+
session and quietly adds durable facts — things that stay true, like
|
|
58
|
+
your role or your manager's name — that you mention in DMs.
|
|
60
59
|
|
|
61
60
|
## What It Does
|
|
62
61
|
|
|
63
62
|
- Captures who you are, what you do, and who matters in your life.
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
- Anchors a set of companion slices in the `identity/`
|
|
67
|
-
|
|
63
|
+
- Sits at the top of every session prompt, so the agent keeps the same
|
|
64
|
+
baseline understanding of you from one message to the next.
|
|
65
|
+
- Anchors a set of companion files — called slices — in the `identity/`
|
|
66
|
+
directory, one per topic:
|
|
68
67
|
`identity/people.md`, `identity/work.md`, `identity/expertise.md`,
|
|
69
|
-
`identity/personal.md`, `identity/goals.md`. The agent loads these
|
|
70
|
-
|
|
68
|
+
`identity/personal.md`, `identity/goals.md`. The agent loads these
|
|
69
|
+
only when it needs them, instead of packing everything into every
|
|
70
|
+
prompt.
|
|
71
71
|
|
|
72
72
|
> Older docs and exports may call these files `user/profile.md`,
|
|
73
73
|
> `user/people.md`, and so on. `user/` is a legacy alias for
|
|
@@ -77,11 +77,11 @@ silently appends durable facts you state in DMs.
|
|
|
77
77
|
## When It Runs / How It Is Triggered
|
|
78
78
|
|
|
79
79
|
- **Read continuously** — loaded at the start of every session.
|
|
80
|
-
- **Written** silently,
|
|
81
|
-
fact about yourself in a DM ("remember that…", "I'm a…",
|
|
82
|
-
manager is…"), and during the profile sweep routine
|
|
83
|
-
(`routine.user_profile_sweep`), which catches facts the
|
|
84
|
-
capture missed and
|
|
80
|
+
- **Written** silently, within the same reply, when you state a
|
|
81
|
+
durable fact about yourself in a DM ("remember that…", "I'm a…",
|
|
82
|
+
"my manager is…"), and during the profile sweep routine
|
|
83
|
+
(`routine.user_profile_sweep`), which catches facts that the
|
|
84
|
+
in-chat capture missed and files them into the right
|
|
85
85
|
`identity/*.md` slice.
|
|
86
86
|
|
|
87
87
|
The agent never edits these files directly. It writes through the
|
|
@@ -106,7 +106,7 @@ To tell the agent a durable fact about yourself, just say it in a DM:
|
|
|
106
106
|
> remember that my manager is Priya and we sync every Monday at 10am
|
|
107
107
|
|
|
108
108
|
The agent silently appends a line to the relevant slice (here
|
|
109
|
-
`identity/people.md`)
|
|
109
|
+
`identity/people.md`) right away, and recalls it in future
|
|
110
110
|
sessions.
|
|
111
111
|
|
|
112
112
|
## When Something Goes Wrong
|
|
@@ -23,10 +23,8 @@ summary: |
|
|
|
23
23
|
and list every command.
|
|
24
24
|
section: messaging
|
|
25
25
|
tags:
|
|
26
|
-
- core
|
|
27
26
|
- messaging
|
|
28
27
|
- operations
|
|
29
|
-
- bang-commands
|
|
30
28
|
status: stable
|
|
31
29
|
ask_examples:
|
|
32
30
|
- How do I pause the agent from my phone?
|
|
@@ -37,7 +35,7 @@ ask_examples:
|
|
|
37
35
|
- How do I accept a research-cluster offer?
|
|
38
36
|
locale: en-US
|
|
39
37
|
created: 2026-05-12
|
|
40
|
-
updated: 2026-
|
|
38
|
+
updated: 2026-07-01
|
|
41
39
|
keywords:
|
|
42
40
|
- bang command
|
|
43
41
|
- "!stop"
|
|
@@ -70,10 +68,12 @@ process_keys:
|
|
|
70
68
|
|
|
71
69
|
# Bang Commands
|
|
72
70
|
|
|
73
|
-
DM the agent a short word
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
71
|
+
DM the agent a short word that starts with `!` — the `!` symbol is
|
|
72
|
+
nicknamed a "bang," which is where these commands get their name — and
|
|
73
|
+
the daemon (the always-on local background service) answers it directly.
|
|
74
|
+
No AI model runs, so there is no cost and no chat session is opened. Use
|
|
75
|
+
bang commands to pause the agent, check spend, look at recent failures,
|
|
76
|
+
manage research clusters, and list every command.
|
|
77
77
|
|
|
78
78
|
## Who Can Use Them
|
|
79
79
|
|
|
@@ -89,9 +89,9 @@ Pair your messaging app first; see
|
|
|
89
89
|
| Command | What it does |
|
|
90
90
|
|---|---|
|
|
91
91
|
| `!help` | List every registered command — built-ins plus enabled user commands. |
|
|
92
|
-
| `!stop` | Pause cron-driven autonomous work
|
|
92
|
+
| `!stop` | Pause cron-driven (scheduled) autonomous work: activity scan, the morning / evening / weekly routines, and scheduled tasks. Runs already in progress are **not** aborted. |
|
|
93
93
|
| `!start` | Resume autonomous work after `!stop`. |
|
|
94
|
-
| `!close` | Close the active DM session for the current routing tuple so the next DM starts a fresh conversation. |
|
|
94
|
+
| `!close` | Close the active DM session for the current routing tuple (this platform + channel + thread) so the next DM starts a fresh conversation. |
|
|
95
95
|
|
|
96
96
|
### Tasks (detached background / browser work)
|
|
97
97
|
|
|
@@ -206,12 +206,12 @@ were hidden.
|
|
|
206
206
|
|
|
207
207
|
## How They Behave
|
|
208
208
|
|
|
209
|
-
- **Exact match for atomic commands**
|
|
210
|
-
each `!cost <backend>` variant is its
|
|
211
|
-
**prefix match for parameterised ones**
|
|
212
|
-
(`!research accept <slug>`, `!compile @work
|
|
213
|
-
|
|
214
|
-
`"!stop\nignore me"` payload cannot spoof a command.
|
|
209
|
+
- **Exact match for atomic commands** — single words like `!stop`,
|
|
210
|
+
`!cost`, and `!checks`, where each `!cost <backend>` variant is its
|
|
211
|
+
own exact-match entry — and **prefix match for parameterised ones**
|
|
212
|
+
that take an argument (`!research accept <slug>`, `!compile @work
|
|
213
|
+
full`). Anything that spans more than one line falls through to the
|
|
214
|
+
agent path, so a `"!stop\nignore me"` payload cannot spoof a command.
|
|
215
215
|
- **DM only.** Bangs typed into a shared channel are ignored.
|
|
216
216
|
- **No agent cost on built-ins.** No LLM is invoked for the
|
|
217
217
|
daemon-side commands; one `bang_command` row is appended to
|
|
@@ -16,7 +16,6 @@ summary: |
|
|
|
16
16
|
messaging app.
|
|
17
17
|
section: messaging
|
|
18
18
|
tags:
|
|
19
|
-
- core
|
|
20
19
|
- messaging
|
|
21
20
|
- dashboard
|
|
22
21
|
status: stable
|
|
@@ -26,7 +25,7 @@ ask_examples:
|
|
|
26
25
|
- Why are my dashboard chat replies different from my Telegram replies?
|
|
27
26
|
locale: en-US
|
|
28
27
|
created: 2026-04-25
|
|
29
|
-
updated: 2026-
|
|
28
|
+
updated: 2026-07-01
|
|
30
29
|
keywords:
|
|
31
30
|
- chat
|
|
32
31
|
- dashboard
|
|
@@ -55,13 +54,14 @@ ui_anchors:
|
|
|
55
54
|
|
|
56
55
|
## In One Sentence
|
|
57
56
|
|
|
58
|
-
`/chat` is a
|
|
59
|
-
|
|
57
|
+
`/chat` is a DM with the agent that lives in your browser — a fully
|
|
58
|
+
featured chat, separate from any paired messaging app.
|
|
60
59
|
|
|
61
60
|
## What It Does
|
|
62
61
|
|
|
63
|
-
- **Real-time** message stream over SSE
|
|
64
|
-
|
|
62
|
+
- **Real-time** message stream over SSE (Server-Sent Events, a live
|
|
63
|
+
one-way feed from the daemon to your browser) — the same
|
|
64
|
+
conversational experience as a paired DM, but in the browser.
|
|
65
65
|
- **Tool progress** rendered inline (which tool, which file, which
|
|
66
66
|
endpoint) so you can watch the agent work.
|
|
67
67
|
- **Session history** persisted to SQLite (`scope='dashboard_chat'`)
|
|
@@ -79,7 +79,7 @@ persisted under the chat session.
|
|
|
79
79
|
|
|
80
80
|
Like a DM, `dashboard.chat` is a **reactive** ProcessKey: it runs on
|
|
81
81
|
demand when you send, never on a schedule. Its default tier is
|
|
82
|
-
**medium** (Claude Sonnet
|
|
82
|
+
**medium** (Claude Sonnet 5 by default) — the same tier as
|
|
83
83
|
`message.dm`.
|
|
84
84
|
|
|
85
85
|
## Where in the Dashboard
|
|
@@ -113,3 +113,4 @@ demand when you send, never on a schedule. Its default tier is
|
|
|
113
113
|
- [Messaging Overview](overview.md)
|
|
114
114
|
- [Backends and Tiers](../../concepts/backends-and-tiers.md)
|
|
115
115
|
- [Process Keys](../../concepts/process-keys.md)
|
|
116
|
+
- [Keyboard Shortcuts](../../reference/keyboard-shortcuts.md)
|
|
@@ -26,7 +26,7 @@ ui_anchors:
|
|
|
26
26
|
- /connections/messaging
|
|
27
27
|
locale: en-US
|
|
28
28
|
created: 2026-04-25
|
|
29
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-07-01
|
|
30
30
|
keywords:
|
|
31
31
|
- discord
|
|
32
32
|
- bot token
|
|
@@ -44,8 +44,9 @@ related:
|
|
|
44
44
|
|
|
45
45
|
## In One Sentence
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
Aitne talks to you through a Discord bot you create. Set the bot up in
|
|
48
|
+
Discord's developer portal, then link it to yourself by sending it a
|
|
49
|
+
direct message.
|
|
49
50
|
|
|
50
51
|
## How to Set Up
|
|
51
52
|
|
|
@@ -57,8 +58,9 @@ installing the bot in the developer portal.
|
|
|
57
58
|
DM or mention text without it.
|
|
58
59
|
4. Invite the bot to any servers where you want mentions to work.
|
|
59
60
|
5. Paste the token under **Connections → Messaging → Discord**.
|
|
60
|
-
6.
|
|
61
|
-
pairing.
|
|
61
|
+
6. From your own Discord account, DM the bot the magic phrase (the
|
|
62
|
+
short one-time pairing code Aitne shows you) to finish pairing. See
|
|
63
|
+
[Pairing & Magic Phrase](pairing-and-magic-phrase.md).
|
|
62
64
|
|
|
63
65
|
## What It Does
|
|
64
66
|
|
|
@@ -16,7 +16,6 @@ summary: |
|
|
|
16
16
|
agent uses the same channel to send notifications back.
|
|
17
17
|
section: messaging
|
|
18
18
|
tags:
|
|
19
|
-
- core
|
|
20
19
|
- messaging
|
|
21
20
|
- integrations
|
|
22
21
|
- pairing
|
|
@@ -29,7 +28,7 @@ ask_examples:
|
|
|
29
28
|
- Can I send the agent a voice note?
|
|
30
29
|
locale: en-US
|
|
31
30
|
created: 2026-04-25
|
|
32
|
-
updated: 2026-
|
|
31
|
+
updated: 2026-07-01
|
|
33
32
|
keywords:
|
|
34
33
|
- messaging
|
|
35
34
|
- dm
|
|
@@ -66,17 +65,17 @@ config_keys:
|
|
|
66
65
|
|
|
67
66
|
# Messaging Overview
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
notification fires. Voice notes are transcribed locally with Whisper
|
|
68
|
+
Direct messages (DMs) from a paired messaging app are Aitne's main way
|
|
69
|
+
to talk with you: you message it, it answers; it messages you back when
|
|
70
|
+
a notification fires. Voice notes are transcribed locally with Whisper,
|
|
72
71
|
so you can talk to the agent the same way you'd type.
|
|
73
72
|
|
|
74
73
|
## What It Does
|
|
75
74
|
|
|
76
75
|
- **Reactive DMs**: the agent answers every direct message you send.
|
|
77
76
|
- **@-mentions (Slack and Discord)**: @-mentioning the agent inside a
|
|
78
|
-
shared channel routes to the `message.mention`
|
|
79
|
-
answered the same way as a DM. Telegram and WhatsApp
|
|
77
|
+
shared channel routes to the `message.mention` process key and is
|
|
78
|
+
answered the same way as a DM. Telegram and WhatsApp ignore all non-DM
|
|
80
79
|
traffic (no group support).
|
|
81
80
|
- **Outbound notifications**: routines and observations fire alerts
|
|
82
81
|
back through the same channel.
|
|
@@ -94,16 +93,17 @@ so you can talk to the agent the same way you'd type.
|
|
|
94
93
|
|
|
95
94
|
Aitne serves exactly one owner. Any message that does not come from a
|
|
96
95
|
paired owner channel is dropped — group chats, multi-user Slack DMs
|
|
97
|
-
(`mpim`), and unrecognized senders never reach the agent.
|
|
98
|
-
defense in depth:
|
|
99
|
-
the owner channel
|
|
96
|
+
(`mpim`), and unrecognized senders never reach the agent. Two layers
|
|
97
|
+
enforce this independently (defense in depth): the messaging adapter
|
|
98
|
+
and the dispatcher each check the owner channel on their own.
|
|
100
99
|
|
|
101
100
|
## When It Runs / How It Is Triggered
|
|
102
101
|
|
|
103
|
-
- The messaging adapter for each connected platform
|
|
104
|
-
|
|
105
|
-
Discord, WhatsApp
|
|
106
|
-
-
|
|
102
|
+
- The messaging adapter for each connected platform watches for
|
|
103
|
+
incoming messages — Telegram by long-polling (repeatedly asking the
|
|
104
|
+
server for updates), Slack, Discord, and WhatsApp by holding an
|
|
105
|
+
always-open WebSocket connection.
|
|
106
|
+
- An incoming DM dispatches to the `message.dm` process key.
|
|
107
107
|
- An incoming mention dispatches to `message.mention`.
|
|
108
108
|
- Notifications fire as a side-effect of routines and observations
|
|
109
109
|
reaching the notifier (subject to quiet hours and rate limits).
|
|
@@ -17,7 +17,6 @@ summary: |
|
|
|
17
17
|
to your owner identity so nobody else can impersonate you.
|
|
18
18
|
section: messaging
|
|
19
19
|
tags:
|
|
20
|
-
- core
|
|
21
20
|
- messaging
|
|
22
21
|
- pairing
|
|
23
22
|
- safety
|
|
@@ -25,7 +24,7 @@ tags:
|
|
|
25
24
|
status: stable
|
|
26
25
|
locale: en-US
|
|
27
26
|
created: 2026-04-25
|
|
28
|
-
updated: 2026-
|
|
27
|
+
updated: 2026-07-01
|
|
29
28
|
keywords:
|
|
30
29
|
- pairing
|
|
31
30
|
- magic phrase
|
|
@@ -86,23 +85,24 @@ on the platform.
|
|
|
86
85
|
|
|
87
86
|
### The magic phrase (Slack, Discord)
|
|
88
87
|
|
|
89
|
-
The dashboard generates a short, memorable phrase
|
|
90
|
-
joined by hyphens, drawn from a 64-word list
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
88
|
+
The dashboard generates a short, memorable phrase: four lowercase words
|
|
89
|
+
joined by hyphens, drawn from a 64-word list. That makes it easy to type
|
|
90
|
+
but hard to guess (24 bits of entropy). You DM that exact phrase to the
|
|
91
|
+
bot. Matching is forgiving — it ignores case, punctuation, and emoji — but
|
|
92
|
+
you have to send the phrase **by itself**. If you wrap it in a sentence
|
|
93
|
+
("my phrase is apple-banana-cherry-date"), the agent replies asking you to
|
|
94
|
+
send just the phrase on its own.
|
|
95
95
|
|
|
96
|
-
The phrase
|
|
97
|
-
|
|
96
|
+
The phrase works once and expires after **5 minutes**. If it runs out,
|
|
97
|
+
generate a fresh one from the dashboard.
|
|
98
98
|
|
|
99
99
|
### Token pairing (Telegram, WhatsApp)
|
|
100
100
|
|
|
101
101
|
Telegram and WhatsApp don't use a typed phrase:
|
|
102
102
|
|
|
103
|
-
- **Telegram**
|
|
103
|
+
- **Telegram** hides a hard-to-guess, one-time token inside the QR / deep
|
|
104
104
|
link. Tapping **START** sends `/start <token>` to the bot, which
|
|
105
|
-
promotes you to owner. The token
|
|
105
|
+
promotes you to owner. The token has to match exactly and also expires
|
|
106
106
|
after 5 minutes.
|
|
107
107
|
- **WhatsApp** uses WhatsApp's own linked-device flow — you scan a QR from
|
|
108
108
|
your phone to attach the daemon as a device. Set the owner phone number
|
|
@@ -17,7 +17,6 @@ section: messaging
|
|
|
17
17
|
tags:
|
|
18
18
|
- messaging
|
|
19
19
|
- integrations
|
|
20
|
-
- slack
|
|
21
20
|
- pairing
|
|
22
21
|
status: stable
|
|
23
22
|
ask_examples:
|
|
@@ -26,7 +25,7 @@ ask_examples:
|
|
|
26
25
|
- Can the agent listen in shared channels?
|
|
27
26
|
locale: en-US
|
|
28
27
|
created: 2026-04-25
|
|
29
|
-
updated: 2026-
|
|
28
|
+
updated: 2026-07-01
|
|
30
29
|
keywords:
|
|
31
30
|
- slack
|
|
32
31
|
- socket mode
|
|
@@ -49,18 +48,20 @@ config_keys:
|
|
|
49
48
|
|
|
50
49
|
## In One Sentence
|
|
51
50
|
|
|
52
|
-
|
|
53
|
-
the
|
|
54
|
-
|
|
51
|
+
You add a Slack bot user to your workspace, and that bot is how you talk
|
|
52
|
+
to the agent: DMs you send the bot are treated as owner messages, and
|
|
53
|
+
`@`-mentions of the bot in channels are treated as mentions — but only
|
|
54
|
+
when they come from the one paired owner.
|
|
55
55
|
|
|
56
56
|
## What It Does
|
|
57
57
|
|
|
58
|
-
- Listens for **DMs** to the bot
|
|
58
|
+
- Listens for **DMs** to the bot — your direct messages to the agent.
|
|
59
59
|
- Listens for **`@`-mentions of the bot** in channels you've added it to.
|
|
60
60
|
- Sends notifications back to your owner DM.
|
|
61
61
|
|
|
62
|
-
The adapter
|
|
63
|
-
|
|
62
|
+
The adapter connects to Slack over **Socket Mode**, a WebSocket (a
|
|
63
|
+
persistent two-way link Slack opens to Aitne). Because Slack does the
|
|
64
|
+
reaching-out, Aitne needs no public inbound URL or webhook endpoint.
|
|
64
65
|
|
|
65
66
|
## Single-Owner Scope
|
|
66
67
|
|
|
@@ -13,7 +13,6 @@ section: messaging
|
|
|
13
13
|
tags:
|
|
14
14
|
- messaging
|
|
15
15
|
- integrations
|
|
16
|
-
- telegram
|
|
17
16
|
status: stable
|
|
18
17
|
config_keys:
|
|
19
18
|
- telegramOwnerChatId
|
|
@@ -24,7 +23,7 @@ ask_examples:
|
|
|
24
23
|
- Where do I get a Telegram bot token?
|
|
25
24
|
locale: en-US
|
|
26
25
|
created: 2026-04-25
|
|
27
|
-
updated: 2026-
|
|
26
|
+
updated: 2026-07-01
|
|
28
27
|
keywords:
|
|
29
28
|
- telegram
|
|
30
29
|
- telegram bot
|
|
@@ -45,14 +44,15 @@ token, scan the pairing QR code.
|
|
|
45
44
|
|
|
46
45
|
## What It Does
|
|
47
46
|
|
|
48
|
-
-
|
|
49
|
-
-
|
|
47
|
+
- Receives your incoming direct messages so the agent can react to them (owner DMs only — group chats are ignored).
|
|
48
|
+
- Sends the agent's notifications and replies back to the same Telegram chat.
|
|
50
49
|
|
|
51
50
|
## When It Runs / How It Is Triggered
|
|
52
51
|
|
|
53
|
-
Before pairing, nothing listens. Once you paste the bot token and
|
|
54
|
-
QR
|
|
55
|
-
direct
|
|
52
|
+
Before pairing, nothing listens. Once you paste the bot token and finish pairing
|
|
53
|
+
(scan the QR code or tap the deep link), Aitne continuously long-polls Telegram's
|
|
54
|
+
Bot API — it keeps an open request that returns the moment a new direct message
|
|
55
|
+
arrives.
|
|
56
56
|
|
|
57
57
|
## Where in the Dashboard
|
|
58
58
|
|
|
@@ -17,7 +17,6 @@ summary: |
|
|
|
17
17
|
section: messaging
|
|
18
18
|
tags:
|
|
19
19
|
- messaging
|
|
20
|
-
- whatsapp
|
|
21
20
|
- integrations
|
|
22
21
|
- pairing
|
|
23
22
|
status: stable
|
|
@@ -27,7 +26,7 @@ ask_examples:
|
|
|
27
26
|
- Why does WhatsApp say the device is unlinked?
|
|
28
27
|
locale: en-US
|
|
29
28
|
created: 2026-04-25
|
|
30
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-07-01
|
|
31
30
|
keywords:
|
|
32
31
|
- whatsapp
|
|
33
32
|
- qr code
|
|
@@ -57,10 +56,11 @@ messages that flow exactly like Telegram.
|
|
|
57
56
|
|
|
58
57
|
## How It Works
|
|
59
58
|
|
|
60
|
-
Aitne connects to WhatsApp as a **linked device**
|
|
61
|
-
in the WhatsApp mobile app
|
|
62
|
-
bridge such as Twilio. There is no
|
|
63
|
-
inbound webhook
|
|
59
|
+
Aitne connects to WhatsApp as a **linked device** — the same "linked
|
|
60
|
+
devices" feature in the WhatsApp mobile app that powers WhatsApp Web. It does
|
|
61
|
+
not use the WhatsApp Cloud API or a paid bridge such as Twilio. There is no
|
|
62
|
+
business account, no bot token, and no inbound webhook (a public URL that
|
|
63
|
+
WhatsApp would call) to expose:
|
|
64
64
|
|
|
65
65
|
- You scan a QR code once to link the daemon as a device on your account.
|
|
66
66
|
- Incoming WhatsApp messages arrive over the linked-device connection.
|
|
@@ -15,7 +15,6 @@ summary: |
|
|
|
15
15
|
answer "what happened" and "what was said".
|
|
16
16
|
section: operations
|
|
17
17
|
tags:
|
|
18
|
-
- core
|
|
19
18
|
- operations
|
|
20
19
|
- audit
|
|
21
20
|
- dashboard
|
|
@@ -26,7 +25,7 @@ ask_examples:
|
|
|
26
25
|
- How do I find why a routine failed?
|
|
27
26
|
locale: en-US
|
|
28
27
|
created: 2026-04-25
|
|
29
|
-
updated: 2026-
|
|
28
|
+
updated: 2026-07-01
|
|
30
29
|
keywords:
|
|
31
30
|
- activity
|
|
32
31
|
- conversations
|
|
@@ -53,9 +52,9 @@ ui_anchors:
|
|
|
53
52
|
|
|
54
53
|
## In One Sentence
|
|
55
54
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
detail lives one click deeper under Conversations.
|
|
55
|
+
The agent logs every session, action, and outcome to a local SQLite
|
|
56
|
+
database and shows them as the Activity timeline; the matching
|
|
57
|
+
message-by-message detail lives one click deeper under Conversations.
|
|
59
58
|
|
|
60
59
|
## What It Does
|
|
61
60
|
|
|
@@ -71,10 +70,11 @@ Each row links to the underlying conversation when one exists.
|
|
|
71
70
|
|
|
72
71
|
## How It Works
|
|
73
72
|
|
|
74
|
-
Activity
|
|
75
|
-
Every other event in the system writes to
|
|
76
|
-
in three SQLite tables: `agent_actions`
|
|
77
|
-
`conversation_sessions`
|
|
73
|
+
Activity never runs anything on its own — it only mirrors what already
|
|
74
|
+
happened (a read-only view). Every other event in the system writes to
|
|
75
|
+
it as a side effect, landing in three SQLite tables: `agent_actions`
|
|
76
|
+
(what happened), plus `conversation_sessions` and `messages` (what was
|
|
77
|
+
said).
|
|
78
78
|
|
|
79
79
|
## What You See
|
|
80
80
|
|
|
@@ -9,12 +9,11 @@ aliases:
|
|
|
9
9
|
- human in the loop
|
|
10
10
|
category: features
|
|
11
11
|
summary: |
|
|
12
|
-
A few high-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
A few high-impact actions queue as approvals. The action blocks
|
|
13
|
+
until you click Approve on the dashboard Overview page; the
|
|
14
|
+
approval card stays visible there regardless of quiet hours.
|
|
15
15
|
section: operations
|
|
16
16
|
tags:
|
|
17
|
-
- core
|
|
18
17
|
- safety
|
|
19
18
|
- operations
|
|
20
19
|
status: stable
|
|
@@ -24,7 +23,7 @@ ask_examples:
|
|
|
24
23
|
- Where do I approve a pending action?
|
|
25
24
|
locale: en-US
|
|
26
25
|
created: 2026-04-25
|
|
27
|
-
updated: 2026-
|
|
26
|
+
updated: 2026-07-01
|
|
28
27
|
keywords:
|
|
29
28
|
- approval
|
|
30
29
|
- approve tier
|
|
@@ -47,9 +46,10 @@ api_endpoints:
|
|
|
47
46
|
|
|
48
47
|
## In One Sentence
|
|
49
48
|
|
|
50
|
-
A small set of high-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
A small set of high-impact actions — the ones that could cause
|
|
50
|
+
real harm if they ran by mistake — queue as approvals. The agent
|
|
51
|
+
waits for you to click **Approve** on the dashboard before it runs
|
|
52
|
+
one.
|
|
53
53
|
|
|
54
54
|
## How It Works
|
|
55
55
|
|
|
@@ -84,10 +84,11 @@ Deny asks for confirmation before discarding the item.
|
|
|
84
84
|
## When Something Goes Wrong
|
|
85
85
|
|
|
86
86
|
- **A stale approval you never answered:** a pending approval is
|
|
87
|
-
discarded once the agent day rolls over
|
|
88
|
-
|
|
89
|
-
day turns. If that happens, redo
|
|
90
|
-
(for example, re-send the DM or
|
|
87
|
+
discarded once the agent day rolls over — the moment "today"
|
|
88
|
+
resets, at 04:00 local time by default. It is marked skipped
|
|
89
|
+
rather than replayed after the day turns. If that happens, redo
|
|
90
|
+
the request that triggered it (for example, re-send the DM or
|
|
91
|
+
re-run the routine).
|
|
91
92
|
|
|
92
93
|
## Related
|
|
93
94
|
|