@aitne-sh/aitne 0.1.7 → 0.1.9
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 +256 -833
- package/agent-assets/agent-profiles/_safety.md +52 -20
- package/agent-assets/agent-profiles/browser-task.md +108 -0
- package/agent-assets/agent-profiles/conversational.md +3 -3
- package/agent-assets/agent-profiles/profile-importer.md +3 -3
- package/agent-assets/agent-profiles/routine-fetch-window.md +30 -19
- package/agent-assets/agent-profiles/routine.md +4 -3
- package/agent-assets/agents/context-index-reconcile/agent.md +52 -0
- package/agent-assets/agents/evening-review/agent.md +53 -0
- package/agent-assets/agents/hourly-check/agent.md +62 -0
- package/agent-assets/agents/monthly-review/agent.md +55 -0
- package/agent-assets/agents/morning-routine/agent.md +78 -0
- package/agent-assets/agents/roadmap-maintenance/agent.md +52 -0
- package/agent-assets/agents/skill-curation/agent.md +52 -0
- package/agent-assets/agents/user-profile-sweep-evening/agent.md +48 -0
- package/agent-assets/agents/user-profile-sweep-morning/agent.md +53 -0
- package/agent-assets/agents/weekly-review/agent.md +51 -0
- package/agent-assets/docs/concepts/agent-day.md +18 -11
- package/agent-assets/docs/concepts/auth-health.md +56 -10
- package/agent-assets/docs/concepts/backends-and-tiers.md +110 -41
- package/agent-assets/docs/concepts/costs-and-quotas.md +74 -19
- package/agent-assets/docs/concepts/delegated-mode.md +193 -75
- package/agent-assets/docs/concepts/memory-model.md +79 -34
- package/agent-assets/docs/concepts/observations.md +61 -11
- package/agent-assets/docs/concepts/process-keys.md +66 -17
- package/agent-assets/docs/concepts/routines.md +77 -32
- package/agent-assets/docs/concepts/safety-and-execution.md +50 -21
- package/agent-assets/docs/concepts/safety-model.md +62 -37
- package/agent-assets/docs/concepts/skills.md +38 -17
- package/agent-assets/docs/features/integrations/browser-history.md +195 -0
- package/agent-assets/docs/features/integrations/calendar.md +40 -30
- package/agent-assets/docs/features/integrations/git.md +20 -9
- package/agent-assets/docs/features/integrations/github.md +93 -35
- package/agent-assets/docs/features/integrations/mail.md +60 -17
- package/agent-assets/docs/features/integrations/notion.md +51 -11
- package/agent-assets/docs/features/integrations/obsidian.md +35 -7
- package/agent-assets/docs/features/lifestyle/git.md +45 -44
- package/agent-assets/docs/features/lifestyle/reading.md +50 -22
- package/agent-assets/docs/features/lifestyle/receipts.md +66 -21
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +91 -14
- package/agent-assets/docs/features/memory-files/agent-journal.md +111 -50
- package/agent-assets/docs/features/memory-files/projects.md +75 -15
- package/agent-assets/docs/features/memory-files/roadmap.md +55 -10
- package/agent-assets/docs/features/memory-files/schedule.md +113 -70
- package/agent-assets/docs/features/memory-files/today.md +47 -21
- package/agent-assets/docs/features/memory-files/user-profile.md +67 -31
- package/agent-assets/docs/features/messaging/bang-commands.md +115 -28
- package/agent-assets/docs/features/messaging/dashboard-chat.md +43 -21
- package/agent-assets/docs/features/messaging/discord.md +46 -4
- package/agent-assets/docs/features/messaging/overview.md +40 -19
- package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +94 -27
- package/agent-assets/docs/features/messaging/slack.md +79 -14
- package/agent-assets/docs/features/messaging/telegram.md +25 -6
- package/agent-assets/docs/features/messaging/whatsapp.md +79 -14
- package/agent-assets/docs/features/operations/activity-and-conversations.md +45 -16
- package/agent-assets/docs/features/operations/approvals.md +53 -15
- package/agent-assets/docs/features/operations/backend-routing.md +75 -16
- package/agent-assets/docs/features/operations/cost-tracking.md +90 -17
- package/agent-assets/docs/features/operations/managed-chromium.md +221 -0
- package/agent-assets/docs/features/operations/notifications.md +58 -11
- package/agent-assets/docs/features/operations/quiet-hours.md +63 -40
- package/agent-assets/docs/features/operations/schedule-approaching.md +59 -16
- package/agent-assets/docs/features/routines/custom-routines.md +97 -23
- package/agent-assets/docs/features/routines/evening-review.md +75 -22
- package/agent-assets/docs/features/routines/hourly-check.md +150 -30
- package/agent-assets/docs/features/routines/morning-routine.md +60 -33
- package/agent-assets/docs/features/routines/weekly-review.md +65 -20
- package/agent-assets/docs/features/wiki/commands.md +37 -16
- package/agent-assets/docs/features/wiki/cost-and-approval.md +240 -0
- package/agent-assets/docs/features/wiki/dashboard.md +255 -0
- package/agent-assets/docs/features/wiki/overview.md +80 -12
- package/agent-assets/docs/features/wiki/search.md +248 -0
- package/agent-assets/docs/features/wiki/workspaces.md +254 -0
- package/agent-assets/docs/getting-started/01-what-is-this.md +64 -32
- package/agent-assets/docs/getting-started/02-first-steps.md +28 -10
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +42 -21
- package/agent-assets/docs/getting-started/04-first-day.md +52 -20
- package/agent-assets/docs/glossary.md +285 -21
- package/agent-assets/docs/guides/add-a-custom-routine.md +74 -22
- package/agent-assets/docs/guides/backup-and-restore.md +92 -14
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +62 -25
- package/agent-assets/docs/guides/build-your-wiki.md +33 -6
- package/agent-assets/docs/guides/change-which-model-handles-x.md +70 -9
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +80 -15
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +32 -9
- package/agent-assets/docs/guides/import-knowledge-file.md +60 -39
- package/agent-assets/docs/guides/install-and-run.md +64 -19
- package/agent-assets/docs/guides/maintain-wiki-health.md +41 -10
- package/agent-assets/docs/guides/migrate-machines.md +86 -18
- package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +119 -59
- package/agent-assets/docs/guides/pause-the-agent.md +71 -22
- package/agent-assets/docs/guides/reinstall-cleanly.md +102 -17
- package/agent-assets/docs/guides/setup-wizard.md +126 -56
- package/agent-assets/docs/guides/switch-default-backend.md +72 -17
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +31 -10
- package/agent-assets/docs/reference/api.md +162 -23
- package/agent-assets/docs/reference/cli-commands.md +55 -15
- package/agent-assets/docs/reference/config.md +246 -39
- package/agent-assets/docs/reference/disallowed-tools.md +42 -10
- package/agent-assets/docs/reference/keyboard-shortcuts.md +47 -10
- package/agent-assets/docs/reference/knowledge-layout.md +620 -0
- package/agent-assets/docs/reference/process-keys.md +126 -20
- package/agent-assets/docs/reference/skills.md +62 -18
- package/agent-assets/docs/troubleshooting/auth-failed.md +53 -19
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +96 -22
- package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +94 -20
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +77 -22
- package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +87 -22
- package/agent-assets/docs/troubleshooting/observation-not-detected.md +85 -21
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +36 -6
- package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +128 -51
- package/agent-assets/docs/troubleshooting/wiki-write-failed.md +33 -11
- package/agent-assets/optimizer-skills/drift-analysis/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/knowledge-map/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/skill-curation/SKILL.md +2 -2
- package/agent-assets/sandbox/linux/aitne-chromium.apparmor +91 -0
- package/agent-assets/sandbox/macos/aitne-chromium.sb +156 -0
- package/agent-assets/skills/agent-actions/SKILL.md +122 -0
- package/agent-assets/skills/agent-create/SKILL.md +149 -0
- package/agent-assets/skills/attach/SKILL.md +3 -4
- package/agent-assets/skills/browser-history/SKILL.md +198 -0
- package/agent-assets/skills/browser-history-respond/SKILL.md +106 -0
- package/agent-assets/skills/browser-task/SKILL.md +169 -0
- package/agent-assets/skills/context/SKILL.md +45 -463
- package/agent-assets/skills/context/curation.json +2 -2
- package/agent-assets/skills/context/references/api.md +232 -0
- package/agent-assets/skills/context/references/required-frontmatter.md +73 -0
- package/agent-assets/skills/context/references/snapshot-files.md +103 -0
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +4 -4
- package/agent-assets/skills/docs-search/SKILL.md +17 -16
- package/agent-assets/skills/external-services/SKILL.delegated.claude.md +14 -26
- package/agent-assets/skills/external-services/SKILL.delegated.codex.md +14 -26
- package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +14 -26
- package/agent-assets/skills/external-services/SKILL.md +9 -262
- package/agent-assets/skills/external-services/SKILL.native.claude.md +6 -7
- package/agent-assets/skills/external-services/SKILL.native.codex.md +8 -9
- package/agent-assets/skills/external-services/SKILL.native.gemini.md +5 -6
- package/agent-assets/skills/external-services/references/calendar-apple.md +97 -0
- package/agent-assets/skills/external-services/references/calendar-google.md +72 -0
- package/agent-assets/skills/external-services/references/calendar-outlook.md +36 -0
- package/agent-assets/skills/external-services/references/github.md +17 -0
- package/agent-assets/skills/external-services/references/obsidian.md +49 -0
- package/agent-assets/skills/external-services/references/skills-crud.md +27 -0
- package/agent-assets/skills/gmail-lifestyle/SKILL.md +151 -0
- package/agent-assets/skills/gmail-lifestyle/references/receipts-api.md +93 -0
- package/agent-assets/skills/gmail-lifestyle/references/travel-bookings-api.md +75 -0
- package/agent-assets/skills/mail/SKILL.delegated.claude.md +15 -6
- package/agent-assets/skills/mail/SKILL.delegated.codex.md +9 -5
- package/agent-assets/skills/mail/SKILL.delegated.gemini.md +9 -5
- package/agent-assets/skills/mail/SKILL.md +9 -114
- package/agent-assets/skills/mail/SKILL.native.claude.md +1 -1
- package/agent-assets/skills/mail/SKILL.native.codex.md +1 -1
- package/agent-assets/skills/mail/SKILL.native.gemini.md +1 -1
- package/agent-assets/skills/mail/references/api.md +110 -0
- package/agent-assets/skills/mail/references/examples.md +70 -0
- package/agent-assets/skills/mail/references/providers.md +8 -8
- package/agent-assets/skills/managed-tasks/SKILL.md +472 -0
- package/agent-assets/skills/managed-tasks/references/errors.md +73 -0
- package/agent-assets/skills/managed-tasks/references/output-path.md +75 -0
- package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +86 -0
- package/agent-assets/skills/management-policy/SKILL.md +54 -125
- package/agent-assets/skills/management-policy/curation.json +1 -1
- package/agent-assets/skills/management-policy/references/policy-workflow.md +101 -0
- package/agent-assets/skills/management-policy/seeds/policy-file-shape.seed.json +1 -1
- package/agent-assets/skills/notify/SKILL.md +10 -82
- package/agent-assets/skills/notify/references/priority.md +65 -0
- package/agent-assets/skills/notion/SKILL.delegated.claude.md +2 -2
- package/agent-assets/skills/notion/SKILL.delegated.codex.md +2 -2
- package/agent-assets/skills/notion/SKILL.delegated.gemini.md +2 -2
- package/agent-assets/skills/notion/SKILL.md +6 -10
- package/agent-assets/skills/notion/SKILL.native.claude.md +11 -8
- package/agent-assets/skills/notion/SKILL.native.codex.md +10 -6
- package/agent-assets/skills/notion/SKILL.native.gemini.md +10 -6
- package/agent-assets/skills/observations/SKILL.md +25 -14
- package/agent-assets/skills/project-doc/SKILL.md +2 -6
- package/agent-assets/skills/project-doc/curation.json +3 -3
- package/agent-assets/skills/project-doc/seeds/project-shape.seed.json +7 -4
- package/agent-assets/skills/project-doc/seeds/slug-grammar.seed.json +3 -3
- package/agent-assets/skills/reading/SKILL.md +12 -2
- package/agent-assets/skills/reading/references/reading-taste.md +2 -2
- package/agent-assets/skills/roadmap/SKILL.md +43 -141
- package/agent-assets/skills/roadmap/curation.json +1 -1
- package/agent-assets/skills/roadmap/references/api.md +100 -0
- package/agent-assets/skills/roadmap/references/cross-check.md +80 -0
- package/agent-assets/skills/roadmap/references/migration.md +56 -0
- package/agent-assets/skills/roadmap/references/preparation-timeline.md +2 -2
- package/agent-assets/skills/roadmap/seeds/entry-types.seed.json +1 -1
- package/agent-assets/skills/schedule/SKILL.md +76 -104
- package/agent-assets/skills/schedule/references/batch.md +93 -0
- package/agent-assets/skills/schedule/references/errors.md +217 -0
- package/agent-assets/skills/schedule/references/model-selection.md +96 -0
- package/agent-assets/skills/schedule/references/recurrence-rule.md +86 -0
- package/agent-assets/skills/scheduled-managed-task/SKILL.md +59 -51
- package/agent-assets/skills/today/SKILL.md +32 -62
- package/agent-assets/skills/today/curation.json +3 -3
- package/agent-assets/skills/today/references/agent-plan-lifecycle.md +114 -0
- package/agent-assets/skills/today/seeds/section-shape.seed.json +1 -1
- package/agent-assets/skills/user-interview/SKILL.md +23 -67
- package/agent-assets/skills/user-interview/references/op-briefing.md +51 -0
- package/agent-assets/skills/user-interview/references/op-morning.md +59 -0
- package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +9 -1
- package/agent-assets/skills/user-profile/SKILL.md +54 -74
- package/agent-assets/skills/user-profile/curation.json +2 -2
- package/agent-assets/skills/user-profile/references/character-preferences.md +83 -0
- package/agent-assets/skills/user-profile/seeds/routing-table.seed.json +8 -8
- package/agent-assets/skills/user-profile/seeds/topic-files.seed.json +30 -2
- package/agent-assets/skills/wiki/wiki-ask/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-compile/SKILL.md +4 -5
- package/agent-assets/skills/wiki/wiki-connect/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-graduate/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-ingest/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-lint/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-trace/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-vault-rules/SKILL.md +0 -1
- package/agent-assets/system-prompts/routine-fetch-window.md +78 -0
- package/agent-assets/system-prompts/skill-index-instruction.md +26 -0
- package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +20 -11
- package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +18 -9
- package/agent-assets/task-flows/_partials/capture-user-info.md +24 -0
- package/agent-assets/task-flows/_partials/confirm-subflow.md +68 -0
- package/agent-assets/task-flows/_partials/dm-intent.long-horizon.md +35 -0
- package/agent-assets/task-flows/_partials/dm-intent.project.md +391 -0
- package/agent-assets/task-flows/_partials/mail-acquire.gmail.md +20 -11
- package/agent-assets/task-flows/_partials/mail-acquire.outlook_mail.md +18 -9
- package/agent-assets/task-flows/_partials/notion-acquire.notion.md +26 -15
- package/agent-assets/task-flows/browser_task.md +84 -0
- package/agent-assets/task-flows/github.assigned.md +1 -1
- package/agent-assets/task-flows/github.pull_request.review_requested.md +2 -2
- package/agent-assets/task-flows/github.workflow_run.failed.md +2 -2
- package/agent-assets/task-flows/knowledge.import.md +15 -15
- package/agent-assets/task-flows/message.received.dm.md +20 -17
- package/agent-assets/task-flows/message.received.dm_first.md +11 -15
- package/agent-assets/task-flows/routine.custom.md +6 -4
- package/agent-assets/task-flows/routine.evening_review.md +46 -170
- package/agent-assets/task-flows/routine.fetch_window.md +19 -14
- package/agent-assets/task-flows/routine.hourly_check.md +27 -15
- package/agent-assets/task-flows/routine.hourly_check.triage.md +1 -1
- package/agent-assets/task-flows/routine.monthly_review.md +67 -25
- package/agent-assets/task-flows/routine.morning_routine_journal.md +135 -0
- package/agent-assets/task-flows/routine.morning_routine_today.md +673 -0
- package/agent-assets/task-flows/routine.research_cluster_update.md +35 -0
- package/agent-assets/task-flows/routine.research_dispatch.md +38 -0
- package/agent-assets/task-flows/routine.research_offer_dm.md +125 -0
- package/agent-assets/task-flows/routine.research_wiki_summary.md +53 -0
- package/agent-assets/task-flows/routine.roadmap_refresh.md +68 -23
- package/agent-assets/task-flows/routine.today_refresh.md +4 -4
- package/agent-assets/task-flows/routine.user_profile_sweep.md +19 -20
- package/agent-assets/task-flows/routine.weekly_review.md +370 -86
- package/agent-assets/task-flows/schedule.approaching.md +0 -1
- package/agent-assets/task-flows/scheduled.dm.md +13 -13
- package/agent-assets/task-flows/scheduled.task.md +9 -9
- package/agent-assets/task-flows/setup.initial.md +171 -251
- package/agent-assets/task-flows/setup.update.md +2 -2
- package/agent-assets/task-flows/wiki.ingest_url.md +1 -1
- package/agent-assets/templates/README.md +27 -20
- package/agent-assets/templates/_index.md +42 -26
- package/agent-assets/templates/_manifest.json +34 -99
- package/agent-assets/templates/{user → identity}/_index.md +1 -1
- package/agent-assets/templates/identity/expertise.md +9 -0
- package/agent-assets/templates/identity/goals.md +9 -0
- package/agent-assets/templates/identity/people.md +13 -0
- package/agent-assets/templates/identity/personal.md +9 -0
- package/agent-assets/templates/{user → identity}/profile.md +2 -2
- package/agent-assets/templates/identity/work.md +9 -0
- package/agent-assets/templates/{dossiers → knowledge/dossiers}/_index.md +2 -2
- package/agent-assets/templates/{projects → plans/projects}/_active.base +1 -1
- package/agent-assets/templates/policies/_index.md +21 -0
- package/agent-assets/templates/{rules → policies}/journal-export.md +1 -1
- package/agent-assets/templates/policies/journal-format.md +168 -0
- package/agent-assets/templates/{rules/policies → policies/management-captures}/_index.md +2 -2
- package/agent-assets/templates/{rules → policies}/management.md +3 -3
- package/agent-assets/templates/{rules → policies}/mcp.md +1 -1
- package/agent-assets/templates/{rules → policies}/redaction.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/_index.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/evening.md +2 -2
- package/agent-assets/templates/{routines → policies/routines}/hourly.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/monthly.md +2 -2
- package/bin/aitne.mjs +21 -5
- package/package.json +5 -4
- package/scripts/commands/doctor.mjs +63 -5
- package/scripts/commands/run-now.mjs +187 -0
- package/scripts/commands/verify.mjs +264 -0
- package/scripts/lib/ports.d.mts +27 -0
- package/scripts/lib/ports.mjs +36 -0
- package/scripts/lib/read-api-token.mjs +176 -0
- package/scripts/start.mjs +2 -1
- package/agent-assets/docs/features/lifestyle/travel-time.md +0 -52
- package/agent-assets/docs/features/routines/monthly-review.md +0 -65
- package/agent-assets/skills/management-task-modify/SKILL.md +0 -203
- package/agent-assets/skills/management-task-register/SKILL.md +0 -330
- package/agent-assets/skills/management-task-stop/SKILL.md +0 -166
- package/agent-assets/skills/receipts/SKILL.md +0 -134
- package/agent-assets/skills/travel/SKILL.md +0 -132
- package/agent-assets/skills/travel-time/SKILL.md +0 -158
- package/agent-assets/task-flows/routine.morning_routine.md +0 -322
- package/agent-assets/task-flows/routine.morning_routine_initial.md +0 -204
- package/agent-assets/templates/context-index.md +0 -42
- package/agent-assets/templates/rules/_index.md +0 -19
- package/agent-assets/templates/rules/journal-format.md +0 -61
- package/agent-assets/templates/user/expertise.md +0 -7
- package/agent-assets/templates/user/goals.md +0 -7
- package/agent-assets/templates/user/people.md +0 -7
- package/agent-assets/templates/user/personal.md +0 -7
- package/agent-assets/templates/user/work.md +0 -7
- /package/agent-assets/templates/{agent/journal.md → journal/agent.md} +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/evening.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/hourly.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/monthly.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/morning.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/roadmap.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/weekly.md +0 -0
- /package/agent-assets/templates/{projects → plans/projects}/_index.md +0 -0
- /package/agent-assets/templates/{roadmap.md → plans/roadmap.md} +0 -0
- /package/agent-assets/templates/{routines → policies/routines}/morning.md +0 -0
- /package/agent-assets/templates/{routines → policies/routines}/weekly.md +0 -0
- /package/agent-assets/templates/{agent → state}/profile-questions.md +0 -0
- /package/agent-assets/templates/{today.md → state/today.md} +0 -0
|
@@ -7,63 +7,130 @@ aliases:
|
|
|
7
7
|
- magic phrase
|
|
8
8
|
- pairing
|
|
9
9
|
- owner pairing
|
|
10
|
+
- pair my messaging account
|
|
10
11
|
category: features
|
|
11
12
|
summary: |
|
|
12
|
-
Pair
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
Pair a messaging account to Aitne so the daemon knows which DM channel
|
|
14
|
+
belongs to you, the owner. Slack and Discord use a one-time "magic
|
|
15
|
+
phrase" you DM from the app; Telegram uses a QR / deep-link token;
|
|
16
|
+
WhatsApp links the device by scanning a QR. All of them bind the channel
|
|
17
|
+
to your owner identity so nobody else can impersonate you.
|
|
15
18
|
section: messaging
|
|
16
19
|
tags:
|
|
17
20
|
- core
|
|
18
21
|
- messaging
|
|
19
22
|
- pairing
|
|
20
23
|
- safety
|
|
24
|
+
- setup
|
|
21
25
|
status: stable
|
|
22
|
-
ask_examples:
|
|
23
|
-
- How do I pair my Telegram account?
|
|
24
|
-
- What is the magic phrase?
|
|
25
|
-
- Can someone else impersonate me?
|
|
26
26
|
locale: en-US
|
|
27
27
|
created: 2026-04-25
|
|
28
|
-
updated: 2026-
|
|
28
|
+
updated: 2026-05-28
|
|
29
29
|
keywords:
|
|
30
30
|
- pairing
|
|
31
31
|
- magic phrase
|
|
32
|
-
- owner
|
|
32
|
+
- owner channel
|
|
33
|
+
- QR pairing
|
|
34
|
+
- impersonation
|
|
35
|
+
ask_examples:
|
|
36
|
+
- How do I pair my Telegram account?
|
|
37
|
+
- What is the magic phrase?
|
|
38
|
+
- Can someone else impersonate me as the owner?
|
|
39
|
+
- Why didn't my pairing DM work?
|
|
40
|
+
ui_anchors:
|
|
41
|
+
- /connections/messaging
|
|
33
42
|
related:
|
|
34
43
|
- features/messaging/overview
|
|
44
|
+
- features/messaging/slack
|
|
45
|
+
- features/messaging/telegram
|
|
46
|
+
- features/messaging/discord
|
|
47
|
+
- features/messaging/whatsapp
|
|
48
|
+
- troubleshooting/messaging-not-pairing
|
|
35
49
|
---
|
|
36
50
|
|
|
37
51
|
# Pairing and Magic Phrase
|
|
38
52
|
|
|
39
|
-
## In
|
|
53
|
+
## In one sentence
|
|
54
|
+
|
|
55
|
+
The dashboard hands you a one-time secret (a typed phrase, a QR code, or
|
|
56
|
+
a deep link, depending on the platform); you send or scan it from the
|
|
57
|
+
messaging app you want to pair; the daemon records that channel as your
|
|
58
|
+
owner channel.
|
|
59
|
+
|
|
60
|
+
## Why pairing exists
|
|
61
|
+
|
|
62
|
+
The agent only talks to one person — you, the owner. Pairing is how the
|
|
63
|
+
daemon learns which DM channel is yours.
|
|
64
|
+
|
|
65
|
+
- **Impersonation protection.** A random bot or stranger can't open a DM
|
|
66
|
+
and claim the owner role without the secret. Only someone who can see
|
|
67
|
+
the dashboard can complete the pairing.
|
|
68
|
+
- **One identity, many channels.** Pair Slack, Telegram, Discord, and
|
|
69
|
+
WhatsApp separately; all of them map to the same owner identity. A DM
|
|
70
|
+
to any paired channel reaches the agent, and notifications can go out on
|
|
71
|
+
whichever channels you've configured.
|
|
72
|
+
|
|
73
|
+
## How each platform pairs
|
|
74
|
+
|
|
75
|
+
Pairing starts the same way everywhere — open
|
|
76
|
+
**Connections → Messaging** (`/connections/messaging`), find the
|
|
77
|
+
platform's card, and click its pairing button. What you do next depends
|
|
78
|
+
on the platform.
|
|
79
|
+
|
|
80
|
+
| Platform | Mechanism | What you do |
|
|
81
|
+
|---|---|---|
|
|
82
|
+
| **Slack** | Magic phrase | Dashboard shows a 4-word phrase (e.g. `apple-banana-cherry-date`). DM that phrase to the bot, by itself. |
|
|
83
|
+
| **Discord** | Magic phrase | Same as Slack — DM the displayed phrase to the bot. |
|
|
84
|
+
| **Telegram** | QR / deep link | Dashboard shows a QR code that opens a `https://t.me/<bot>?start=<token>` link. Tap **START** in Telegram. |
|
|
85
|
+
| **WhatsApp** | Device QR | Dashboard shows a QR code; scan it from WhatsApp on your phone (Linked Devices). |
|
|
86
|
+
|
|
87
|
+
### The magic phrase (Slack, Discord)
|
|
40
88
|
|
|
41
|
-
The dashboard
|
|
42
|
-
|
|
43
|
-
|
|
89
|
+
The dashboard generates a short, memorable phrase of four lowercase words
|
|
90
|
+
joined by hyphens, drawn from a 64-word list (24 bits of entropy). You DM
|
|
91
|
+
that exact phrase to the bot. Matching is tolerant — it ignores case,
|
|
92
|
+
punctuation, and emoji — but the phrase must be **sent by itself**. If you
|
|
93
|
+
wrap it in a sentence ("my phrase is apple-banana-cherry-date"), the agent
|
|
94
|
+
will reply asking you to send the phrase on its own.
|
|
44
95
|
|
|
45
|
-
|
|
96
|
+
The phrase is single-use and expires after **5 minutes**. If it lapses,
|
|
97
|
+
regenerate a fresh one from the dashboard.
|
|
46
98
|
|
|
47
|
-
|
|
48
|
-
to be the operator without the phrase.
|
|
49
|
-
- Multiple paired channels (e.g. Telegram + Slack) all map to the
|
|
50
|
-
same owner identity.
|
|
99
|
+
### Token pairing (Telegram, WhatsApp)
|
|
51
100
|
|
|
52
|
-
|
|
101
|
+
Telegram and WhatsApp don't use a typed phrase:
|
|
53
102
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
103
|
+
- **Telegram** encodes a high-entropy, single-use token in a QR / deep
|
|
104
|
+
link. Tapping **START** sends `/start <token>` to the bot, which
|
|
105
|
+
promotes you to owner. The token is matched exactly and also expires
|
|
106
|
+
after 5 minutes.
|
|
107
|
+
- **WhatsApp** uses WhatsApp's own linked-device flow — you scan a QR from
|
|
108
|
+
your phone to attach the daemon as a device. Set the owner phone number
|
|
109
|
+
first, then click **Pair device** and scan.
|
|
57
110
|
|
|
58
|
-
## Where in the
|
|
111
|
+
## Where in the dashboard
|
|
59
112
|
|
|
60
|
-
|
|
113
|
+
**Connections → Messaging** (`/connections/messaging`) is the single
|
|
114
|
+
pairing surface. Each platform has its own card with a step-by-step setup
|
|
115
|
+
(create the app / paste tokens / pair) and a live status indicator that
|
|
116
|
+
flips to "paired" once the channel is bound.
|
|
61
117
|
|
|
62
|
-
## When
|
|
118
|
+
## When something goes wrong
|
|
63
119
|
|
|
64
|
-
- Phrase expired
|
|
65
|
-
|
|
120
|
+
- **Phrase or token expired.** The window is 5 minutes. Regenerate from the
|
|
121
|
+
dashboard and try again.
|
|
122
|
+
- **"Send the pairing phrase by itself" reply.** You wrapped the phrase in
|
|
123
|
+
other text. Send just the four words.
|
|
124
|
+
- **DM was sent in a group.** Pairing — and all agent messaging — only works
|
|
125
|
+
in direct messages. Group chats are out of scope by design.
|
|
126
|
+
- **Still not pairing?** See
|
|
127
|
+
[Messaging not pairing](../../troubleshooting/messaging-not-pairing.md).
|
|
66
128
|
|
|
67
129
|
## Related
|
|
68
130
|
|
|
69
131
|
- [Messaging Overview](overview.md)
|
|
132
|
+
- [Slack setup](slack.md)
|
|
133
|
+
- [Telegram setup](telegram.md)
|
|
134
|
+
- [Discord setup](discord.md)
|
|
135
|
+
- [WhatsApp setup](whatsapp.md)
|
|
136
|
+
- [Messaging not pairing (troubleshooting)](../../troubleshooting/messaging-not-pairing.md)
|
|
@@ -3,49 +3,114 @@ schema_version: 1
|
|
|
3
3
|
slug: features/messaging/slack
|
|
4
4
|
title: Slack
|
|
5
5
|
id: slack
|
|
6
|
+
aliases:
|
|
7
|
+
- slack bot
|
|
8
|
+
- slack adapter
|
|
9
|
+
- slack pairing
|
|
10
|
+
- slack DM
|
|
6
11
|
category: features
|
|
7
12
|
summary: |
|
|
8
|
-
|
|
9
|
-
into Aitne,
|
|
13
|
+
Connect a Slack workspace by creating a bot app with Socket Mode,
|
|
14
|
+
pasting a bot token and an app-level token into Aitne, then DMing
|
|
15
|
+
the magic phrase to pair yourself as owner.
|
|
10
16
|
section: messaging
|
|
11
17
|
tags:
|
|
12
18
|
- messaging
|
|
13
|
-
-
|
|
19
|
+
- integrations
|
|
20
|
+
- slack
|
|
21
|
+
- pairing
|
|
14
22
|
status: stable
|
|
15
23
|
ask_examples:
|
|
16
24
|
- How do I pair Slack?
|
|
25
|
+
- Why does the agent need two Slack tokens?
|
|
17
26
|
- Can the agent listen in shared channels?
|
|
18
27
|
locale: en-US
|
|
19
28
|
created: 2026-04-25
|
|
20
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-05-28
|
|
30
|
+
keywords:
|
|
31
|
+
- slack
|
|
32
|
+
- socket mode
|
|
33
|
+
- bot token
|
|
34
|
+
- app token
|
|
35
|
+
- magic phrase
|
|
36
|
+
- owner channel
|
|
37
|
+
- messaging adapter
|
|
21
38
|
related:
|
|
22
39
|
- features/messaging/overview
|
|
23
40
|
- features/messaging/pairing-and-magic-phrase
|
|
41
|
+
ui_anchors:
|
|
42
|
+
- /connections/messaging
|
|
43
|
+
config_keys:
|
|
44
|
+
- primaryPlatform
|
|
45
|
+
- slackOwnerUserId
|
|
24
46
|
---
|
|
25
47
|
|
|
26
48
|
# Slack
|
|
27
49
|
|
|
28
50
|
## In One Sentence
|
|
29
51
|
|
|
30
|
-
A Slack bot user becomes the agent's surface in your workspace
|
|
31
|
-
|
|
52
|
+
A Slack bot user becomes the agent's surface in your workspace: DMs to
|
|
53
|
+
the bot are owner messages, and `@`-mentions of the bot in channels are
|
|
54
|
+
mention events — but only from the one paired owner.
|
|
32
55
|
|
|
33
56
|
## What It Does
|
|
34
57
|
|
|
35
|
-
- Listens for DMs (owner reactive path).
|
|
36
|
-
- Listens for
|
|
37
|
-
- Sends notifications to
|
|
58
|
+
- Listens for **DMs** to the bot (owner reactive path).
|
|
59
|
+
- Listens for **`@`-mentions of the bot** in channels you've added it to.
|
|
60
|
+
- Sends notifications back to your owner DM.
|
|
38
61
|
|
|
39
|
-
|
|
62
|
+
The adapter runs over Slack **Socket Mode** (a WebSocket), so Aitne does
|
|
63
|
+
not need a public inbound URL or webhook endpoint.
|
|
40
64
|
|
|
41
|
-
-
|
|
42
|
-
|
|
65
|
+
## Single-Owner Scope
|
|
66
|
+
|
|
67
|
+
Aitne is a single-owner agent by design. Only messages from the paired
|
|
68
|
+
owner are processed; everything else is dropped silently. Multi-person
|
|
69
|
+
DMs (`mpim`) are rejected outright, so a mention inside a group thread
|
|
70
|
+
never produces a reply visible to non-owners.
|
|
71
|
+
|
|
72
|
+
A channel mention only fires when the message text contains the bot's
|
|
73
|
+
actual user reference (e.g. `<@U0123ABCD>`, rendered as `@YourBotName`).
|
|
74
|
+
A plain text string like `@personalagent` is not a real Slack mention and
|
|
75
|
+
will not trigger anything.
|
|
76
|
+
|
|
77
|
+
## Setup
|
|
78
|
+
|
|
79
|
+
Everything happens under **Connections → Messaging** in the dashboard
|
|
80
|
+
(the Slack card). There are three steps:
|
|
81
|
+
|
|
82
|
+
1. **Create the Slack app.** Click *Open Slack app builder* — Aitne
|
|
83
|
+
pre-fills the manifest with the right scopes and Socket Mode enabled.
|
|
84
|
+
Create the app and install it to your workspace.
|
|
85
|
+
2. **Paste two tokens.** Slack issues two tokens for a Socket Mode app:
|
|
86
|
+
- a **bot token** (`xoxb-...`) — the bot's identity and API access, and
|
|
87
|
+
- an **app-level token** (`xapp-...`) — authorizes the Socket Mode
|
|
88
|
+
WebSocket connection.
|
|
89
|
+
|
|
90
|
+
Paste both, then use *Test token* to confirm Aitne can reach the bot.
|
|
91
|
+
3. **Pair with the magic phrase.** Click *Generate pairing phrase*, then
|
|
92
|
+
DM that exact phrase to the bot from your own Slack account. The first
|
|
93
|
+
account that sends the matching phrase becomes the owner. See
|
|
94
|
+
[Pairing and the Magic Phrase](pairing-and-magic-phrase.md) for how
|
|
95
|
+
the challenge works.
|
|
96
|
+
|
|
97
|
+
To route notifications to Slack by default, set Slack as your primary
|
|
98
|
+
platform (`primaryPlatform`). The owner's Slack user id is stored as
|
|
99
|
+
`slackOwnerUserId` once pairing succeeds.
|
|
43
100
|
|
|
44
101
|
## When Something Goes Wrong
|
|
45
102
|
|
|
46
|
-
- Bot
|
|
47
|
-
|
|
103
|
+
- **Bot never responds to a DM.** Confirm both tokens are saved and *Test
|
|
104
|
+
token* succeeds. A failing app-level token (`xapp-`) means the Socket
|
|
105
|
+
Mode connection never opens, so no events arrive.
|
|
106
|
+
- **Mentions in a channel are ignored.** Make sure the bot has been added
|
|
107
|
+
to that channel, and that you're mentioning the bot itself (autocomplete
|
|
108
|
+
`@YourBotName`), not typing a plain word.
|
|
109
|
+
- **Pairing phrase isn't accepted.** Send the phrase by itself, with no
|
|
110
|
+
surrounding sentence — a wrapped phrase won't match. See the pairing
|
|
111
|
+
doc for the full rules.
|
|
48
112
|
|
|
49
113
|
## Related
|
|
50
114
|
|
|
51
115
|
- [Messaging Overview](overview.md)
|
|
116
|
+
- [Pairing and the Magic Phrase](pairing-and-magic-phrase.md)
|
|
@@ -12,15 +12,25 @@ summary: |
|
|
|
12
12
|
section: messaging
|
|
13
13
|
tags:
|
|
14
14
|
- messaging
|
|
15
|
-
-
|
|
16
|
-
-
|
|
15
|
+
- integrations
|
|
16
|
+
- telegram
|
|
17
17
|
status: stable
|
|
18
|
+
config_keys:
|
|
19
|
+
- telegramOwnerChatId
|
|
20
|
+
ui_anchors:
|
|
21
|
+
- /connections/messaging
|
|
18
22
|
ask_examples:
|
|
19
23
|
- How do I pair Telegram?
|
|
20
24
|
- Where do I get a Telegram bot token?
|
|
21
25
|
locale: en-US
|
|
22
26
|
created: 2026-04-25
|
|
23
|
-
updated: 2026-
|
|
27
|
+
updated: 2026-05-28
|
|
28
|
+
keywords:
|
|
29
|
+
- telegram
|
|
30
|
+
- telegram bot
|
|
31
|
+
- bot token
|
|
32
|
+
- telegram pairing
|
|
33
|
+
- messaging adapter
|
|
24
34
|
related:
|
|
25
35
|
- features/messaging/pairing-and-magic-phrase
|
|
26
36
|
- features/messaging/overview
|
|
@@ -35,12 +45,14 @@ token, type the magic phrase.
|
|
|
35
45
|
|
|
36
46
|
## What It Does
|
|
37
47
|
|
|
38
|
-
- Acts as the agent's reactive surface for incoming DMs.
|
|
39
|
-
-
|
|
48
|
+
- Acts as the agent's reactive surface for your incoming direct messages (owner DMs only — group chats are ignored).
|
|
49
|
+
- Delivers the agent's outbound notifications and replies back to the same Telegram chat.
|
|
40
50
|
|
|
41
51
|
## When It Runs / How It Is Triggered
|
|
42
52
|
|
|
43
|
-
|
|
53
|
+
Before pairing, nothing listens. Once you paste the bot token and complete
|
|
54
|
+
magic-phrase pairing, Aitne long-polls Telegram's Bot API continuously for new
|
|
55
|
+
direct messages.
|
|
44
56
|
|
|
45
57
|
## Where in the Dashboard
|
|
46
58
|
|
|
@@ -57,7 +69,14 @@ Continuously listening to Telegram's long-polling API once paired.
|
|
|
57
69
|
|
|
58
70
|
- Bot replied to in a group instead of a DM: group chats are filtered
|
|
59
71
|
out by design; the agent only listens to direct messages.
|
|
72
|
+
- No reply at all after DMing the magic phrase: confirm the bot has a username
|
|
73
|
+
set via @BotFather (/setname) — the daemon refuses to build the pairing deep
|
|
74
|
+
link otherwise.
|
|
75
|
+
- Pairing never completes: re-check the token in Connections → Messaging →
|
|
76
|
+
Telegram, then DM the magic phrase from your own account. See
|
|
77
|
+
[Pairing & Magic Phrase](pairing-and-magic-phrase.md).
|
|
60
78
|
|
|
61
79
|
## Related
|
|
62
80
|
|
|
63
81
|
- [Pairing & Magic Phrase](pairing-and-magic-phrase.md)
|
|
82
|
+
- [Messaging Overview](overview.md)
|
|
@@ -3,46 +3,111 @@ schema_version: 1
|
|
|
3
3
|
slug: features/messaging/whatsapp
|
|
4
4
|
title: WhatsApp
|
|
5
5
|
id: whatsapp
|
|
6
|
+
aliases:
|
|
7
|
+
- whatsapp bot
|
|
8
|
+
- whatsapp adapter
|
|
9
|
+
- whatsapp pairing
|
|
10
|
+
- whatsapp linked device
|
|
6
11
|
category: features
|
|
7
12
|
summary: |
|
|
8
|
-
|
|
9
|
-
|
|
13
|
+
Link WhatsApp by scanning a QR code with your phone, the same way the
|
|
14
|
+
WhatsApp desktop app links. No Cloud API, business account, or webhook
|
|
15
|
+
is involved. Once linked, DMs to your own number are owner messages and
|
|
16
|
+
flow exactly like Telegram.
|
|
10
17
|
section: messaging
|
|
11
18
|
tags:
|
|
12
19
|
- messaging
|
|
13
|
-
-
|
|
20
|
+
- whatsapp
|
|
21
|
+
- integrations
|
|
22
|
+
- pairing
|
|
14
23
|
status: stable
|
|
15
24
|
ask_examples:
|
|
16
25
|
- Can I use WhatsApp with Aitne?
|
|
17
|
-
- How do I
|
|
26
|
+
- How do I link WhatsApp by scanning a QR code?
|
|
27
|
+
- Why does WhatsApp say the device is unlinked?
|
|
18
28
|
locale: en-US
|
|
19
29
|
created: 2026-04-25
|
|
20
|
-
updated: 2026-
|
|
30
|
+
updated: 2026-05-28
|
|
31
|
+
keywords:
|
|
32
|
+
- whatsapp
|
|
33
|
+
- qr code
|
|
34
|
+
- linked devices
|
|
35
|
+
- owner phone
|
|
36
|
+
- e.164
|
|
37
|
+
- messaging adapter
|
|
38
|
+
- baileys
|
|
21
39
|
related:
|
|
22
40
|
- features/messaging/overview
|
|
41
|
+
- features/messaging/pairing-and-magic-phrase
|
|
42
|
+
config_keys:
|
|
43
|
+
- whatsappEnabled
|
|
44
|
+
- whatsappOwnerPhone
|
|
45
|
+
- whatsappAuthDir
|
|
46
|
+
ui_anchors:
|
|
47
|
+
- /connections/messaging
|
|
23
48
|
---
|
|
24
49
|
|
|
25
50
|
# WhatsApp
|
|
26
51
|
|
|
27
52
|
## In One Sentence
|
|
28
53
|
|
|
29
|
-
|
|
30
|
-
|
|
54
|
+
Link WhatsApp by scanning a QR code with your phone — the same flow as
|
|
55
|
+
WhatsApp's own desktop/web app — and DMs to your number become owner
|
|
56
|
+
messages that flow exactly like Telegram.
|
|
31
57
|
|
|
32
|
-
##
|
|
58
|
+
## How It Works
|
|
33
59
|
|
|
34
|
-
|
|
35
|
-
|
|
60
|
+
Aitne connects to WhatsApp as a **linked device** (the multi-device feature
|
|
61
|
+
in the WhatsApp mobile app), not through the WhatsApp Cloud API or a paid
|
|
62
|
+
bridge such as Twilio. There is no business account, no bot token, and no
|
|
63
|
+
inbound webhook to expose:
|
|
36
64
|
|
|
37
|
-
|
|
65
|
+
- You scan a QR code once to link the daemon as a device on your account.
|
|
66
|
+
- Incoming WhatsApp messages arrive over the linked-device connection.
|
|
67
|
+
- The agent replies and sends notifications back through the same channel.
|
|
68
|
+
- It is **owner-only**: only DMs involving your one configured number are
|
|
69
|
+
accepted. Self-DMs you send from another linked device are also accepted,
|
|
70
|
+
so you can talk to the agent from your own number without a second account.
|
|
71
|
+
All other senders are dropped.
|
|
38
72
|
|
|
39
|
-
|
|
73
|
+
## Setup
|
|
74
|
+
|
|
75
|
+
You configure WhatsApp from the dashboard — there is no `aitne` CLI command
|
|
76
|
+
for it.
|
|
77
|
+
|
|
78
|
+
1. Go to **Connections → Messaging → WhatsApp**.
|
|
79
|
+
2. Set the **Owner phone** in E.164 format (e.g. `+818012345678`). This is
|
|
80
|
+
required before you can enable WhatsApp.
|
|
81
|
+
3. (Optional) Set the **Auth dir** — where the linked-device credentials are
|
|
82
|
+
stored. Defaults to `~/.personal-agent/whatsapp/auth`.
|
|
83
|
+
4. Click **Enable WhatsApp**, then **Pair device**. A QR code appears.
|
|
84
|
+
5. On your phone: open **WhatsApp → Settings → Linked Devices → Link a
|
|
85
|
+
device**, and scan the QR code.
|
|
86
|
+
|
|
87
|
+
Once the status shows connected, message your own number and the agent
|
|
88
|
+
responds.
|
|
89
|
+
|
|
90
|
+
### Configuration keys
|
|
91
|
+
|
|
92
|
+
| Key | Meaning |
|
|
93
|
+
|---|---|
|
|
94
|
+
| `whatsappEnabled` | Master on/off (default `false`). |
|
|
95
|
+
| `whatsappOwnerPhone` | Owner number in E.164 format. Validated; must start with `+` and 8–15 digits. |
|
|
96
|
+
| `whatsappAuthDir` | Directory holding linked-device credentials. |
|
|
40
97
|
|
|
41
98
|
## When Something Goes Wrong
|
|
42
99
|
|
|
43
|
-
-
|
|
44
|
-
|
|
100
|
+
- **QR code expired.** Each QR is short-lived and rotates. Click **Refresh
|
|
101
|
+
QR** in the dashboard to get a new one, then scan it.
|
|
102
|
+
- **WhatsApp says the device is unlinked**, or pairing keeps failing. Click
|
|
103
|
+
**Reset connection** in the dashboard. This wipes the cached pairing data
|
|
104
|
+
in the auth dir so you can scan a fresh QR from scratch.
|
|
105
|
+
- **Session logged out.** If WhatsApp logs the device out (account banned,
|
|
106
|
+
device conflict, or you unlinked it from the phone), the connection stops
|
|
107
|
+
retrying and surfaces an error. Use **Reset connection**, then **Pair
|
|
108
|
+
device** again.
|
|
45
109
|
|
|
46
110
|
## Related
|
|
47
111
|
|
|
48
112
|
- [Messaging Overview](overview.md)
|
|
113
|
+
- [Pairing and the Magic Phrase](pairing-and-magic-phrase.md)
|
|
@@ -18,6 +18,7 @@ tags:
|
|
|
18
18
|
- core
|
|
19
19
|
- operations
|
|
20
20
|
- audit
|
|
21
|
+
- dashboard
|
|
21
22
|
status: stable
|
|
22
23
|
ask_examples:
|
|
23
24
|
- Where can I see what the agent did today?
|
|
@@ -25,7 +26,7 @@ ask_examples:
|
|
|
25
26
|
- How do I find why a routine failed?
|
|
26
27
|
locale: en-US
|
|
27
28
|
created: 2026-04-25
|
|
28
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-05-28
|
|
29
30
|
keywords:
|
|
30
31
|
- activity
|
|
31
32
|
- conversations
|
|
@@ -36,6 +37,12 @@ related:
|
|
|
36
37
|
- features/operations/notifications
|
|
37
38
|
- features/operations/cost-tracking
|
|
38
39
|
- features/operations/backend-routing
|
|
40
|
+
config_keys:
|
|
41
|
+
- executeTimeoutMinutes
|
|
42
|
+
process_keys:
|
|
43
|
+
- routine.morning_routine
|
|
44
|
+
api_endpoints:
|
|
45
|
+
- POST /api/system/purge-history
|
|
39
46
|
ui_anchors:
|
|
40
47
|
- /
|
|
41
48
|
- /activity
|
|
@@ -54,7 +61,7 @@ detail lives one click deeper under Conversations.
|
|
|
54
61
|
|
|
55
62
|
Activity is the unified view of:
|
|
56
63
|
|
|
57
|
-
- **Routines**: morning, evening, weekly,
|
|
64
|
+
- **Routines**: morning, evening, weekly, hourly fires.
|
|
58
65
|
- **Reactive sessions**: DMs, dashboard chat, mentions.
|
|
59
66
|
- **Background actions**: notifications sent, mail labeled, schedule
|
|
60
67
|
files written.
|
|
@@ -62,15 +69,16 @@ Activity is the unified view of:
|
|
|
62
69
|
|
|
63
70
|
Each row links to the underlying conversation when one exists.
|
|
64
71
|
|
|
65
|
-
##
|
|
72
|
+
## How It Works
|
|
66
73
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
74
|
+
Activity has no trigger of its own — it is a read-only projection.
|
|
75
|
+
Every other event in the system writes to it as a side effect, landing
|
|
76
|
+
in three SQLite tables: `agent_actions` (what happened), and
|
|
77
|
+
`conversation_sessions` + `messages` (what was said).
|
|
70
78
|
|
|
71
|
-
## What
|
|
79
|
+
## What You See
|
|
72
80
|
|
|
73
|
-
- A timeline filterable by event type, ProcessKey, backend, outcome.
|
|
81
|
+
- A timeline filterable by event type, ProcessKey, backend, and outcome.
|
|
74
82
|
- Per-row cost, token counts, and turn count.
|
|
75
83
|
- A direct link to the message transcript for any session.
|
|
76
84
|
|
|
@@ -81,21 +89,42 @@ written to as a side-effect of every other event in the system
|
|
|
81
89
|
- **Conversations (`/conversations/<id>`)** opens a single session's
|
|
82
90
|
message-by-message transcript.
|
|
83
91
|
|
|
92
|
+
To read the morning routine's full reply, open Activity, filter to the
|
|
93
|
+
`routine.morning_routine` row, and click through to its conversation —
|
|
94
|
+
the transcript holds the agent's complete output, not just the summary
|
|
95
|
+
that reached your DM.
|
|
96
|
+
|
|
84
97
|
## Configuration
|
|
85
98
|
|
|
86
99
|
There is nothing to configure on the Activity view itself; what shows
|
|
87
100
|
up is a function of which routines are enabled and which integrations
|
|
88
|
-
are connected.
|
|
89
|
-
|
|
101
|
+
are connected.
|
|
102
|
+
|
|
103
|
+
Retention is unlimited locally — the SQLite database keeps every row
|
|
104
|
+
forever. To prune history without losing your configuration, use
|
|
105
|
+
`POST /api/system/purge-history` (it clears `agent_actions`,
|
|
106
|
+
`conversation_sessions`, and `messages` but leaves settings and the
|
|
107
|
+
context vault intact). To wipe everything, `aitne uninstall --wipe-data`
|
|
108
|
+
removes the whole `~/.personal-agent` data directory after a `WIPE`
|
|
109
|
+
confirmation.
|
|
90
110
|
|
|
91
111
|
## When Something Goes Wrong
|
|
92
112
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
113
|
+
To find why a routine failed, open Activity, filter the outcome to
|
|
114
|
+
**failed**, and open the offending row. Its outcome label tells you the
|
|
115
|
+
failure class; the linked conversation shows the exact error and the
|
|
116
|
+
turn it happened on.
|
|
117
|
+
|
|
118
|
+
Common outcome labels:
|
|
119
|
+
|
|
120
|
+
- **"timed out"** — a backend or SDK hang. `executeTimeoutMinutes`
|
|
121
|
+
(`/settings/models`) is the wall-clock cap.
|
|
122
|
+
- **"fallback"** — the main backend failed and routing moved to the
|
|
123
|
+
fallback; the detail carries the `BackendQuotaError` or
|
|
124
|
+
`BackendDecisiveFailure` that triggered it.
|
|
125
|
+
- **"blocked_absolute"** — the absolute-block layer refused a tool call.
|
|
126
|
+
The detail names which tool and why (logged as
|
|
127
|
+
`agent_actions.action_type='blocked_absolute'`).
|
|
99
128
|
|
|
100
129
|
## Related
|
|
101
130
|
|