@aitne-sh/aitne 0.1.12 → 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/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 +7 -2
- 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 +21 -13
- 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 +7 -6
- 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 +22 -21
- package/agent-assets/docs/features/routines/weekly-review.md +57 -51
- package/agent-assets/docs/features/wiki/commands.md +27 -21
- package/agent-assets/docs/features/wiki/cost-and-approval.md +28 -23
- package/agent-assets/docs/features/wiki/dashboard.md +21 -23
- 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 +3 -4
- 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 +17 -16
- 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 +55 -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 +11 -12
- 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 +9 -11
- 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/skills/agent-create/SKILL.md +39 -5
- package/agent-assets/skills/background-task/SKILL.md +9 -4
- package/agent-assets/skills/board/SKILL.md +8 -9
- package/agent-assets/skills/browser-task/SKILL.md +2 -0
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +2 -1
- package/agent-assets/skills/schedule/SKILL.md +6 -5
- 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 +5 -2
- 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 +8 -3
- package/agent-assets/templates/_manifest.json +1 -0
- package/agent-assets/templates/knowledge/sources/_index.md +19 -0
- package/package.json +4 -4
|
@@ -17,7 +17,6 @@ summary: |
|
|
|
17
17
|
this directory, so re-register them after a restore.
|
|
18
18
|
section: backup-and-restore
|
|
19
19
|
tags:
|
|
20
|
-
- guides
|
|
21
20
|
- operations
|
|
22
21
|
- backup
|
|
23
22
|
status: stable
|
|
@@ -27,7 +26,7 @@ ask_examples:
|
|
|
27
26
|
- Why are my API keys gone after restoring a backup?
|
|
28
27
|
locale: en-US
|
|
29
28
|
created: 2026-04-25
|
|
30
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-07-01
|
|
31
30
|
keywords:
|
|
32
31
|
- backup
|
|
33
32
|
- restore
|
|
@@ -46,12 +45,12 @@ related:
|
|
|
46
45
|
|
|
47
46
|
## Goal
|
|
48
47
|
|
|
49
|
-
|
|
50
|
-
restore later — on this machine or a
|
|
48
|
+
Save everything Aitne keeps on disk into a single tar archive (a `.tgz`
|
|
49
|
+
file) that you can restore later — on this machine or a new one.
|
|
51
50
|
|
|
52
51
|
## What's in the backup (and what isn't)
|
|
53
52
|
|
|
54
|
-
Everything Aitne
|
|
53
|
+
Everything Aitne saves lives under `PA_DATA_DIR` (default
|
|
55
54
|
`~/.personal-agent`), so backing up that one directory captures it all:
|
|
56
55
|
|
|
57
56
|
- `data/personal_agent.db` — sessions, actions, observations, FTS index
|
|
@@ -72,8 +71,9 @@ Both are re-added through the dashboard after restore.
|
|
|
72
71
|
|
|
73
72
|
## Steps
|
|
74
73
|
|
|
75
|
-
1. **Stop the daemon**
|
|
76
|
-
the
|
|
74
|
+
1. **Stop the daemon** (Aitne's background service). This flushes any
|
|
75
|
+
pending database writes to disk — the SQLite write-ahead log is
|
|
76
|
+
checkpointed — so your snapshot is a clean, consistent copy:
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
79
|
aitne stop
|
|
@@ -95,7 +95,8 @@ Both are re-added through the dashboard after restore.
|
|
|
95
95
|
```
|
|
96
96
|
|
|
97
97
|
Schema migrations run automatically on the first boot (see below), so
|
|
98
|
-
an older
|
|
98
|
+
Aitne upgrades an older database to the current shape without extra
|
|
99
|
+
steps.
|
|
99
100
|
|
|
100
101
|
4. **Re-register secrets and re-pair messaging** through the dashboard —
|
|
101
102
|
they were never in the tar.
|
|
@@ -109,16 +110,18 @@ Both are re-added through the dashboard after restore.
|
|
|
109
110
|
## If It Fails
|
|
110
111
|
|
|
111
112
|
- **Schema mismatch on restore.** Aitne ships forward-only schema
|
|
112
|
-
migrations
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
(
|
|
113
|
+
migrations — they only ever upgrade a database, never downgrade it —
|
|
114
|
+
and applies them automatically at boot (see
|
|
115
|
+
[Schema Migration](../glossary.md#schema-migration)), so a restored
|
|
116
|
+
database from an older daemon version usually just works: the migration
|
|
117
|
+
runner brings it up to the current shape on the next start. Only fall
|
|
118
|
+
back to dropping the database (see
|
|
119
|
+
[Reinstall Cleanly](reinstall-cleanly.md)) if the daemon refuses to
|
|
120
|
+
start *after* you've checked the log (`aitne logs`) for a real
|
|
121
|
+
migration error.
|
|
119
122
|
- **The agent can't reach its backends after restore.** That's the
|
|
120
123
|
missing keychain secrets — re-add your API keys in the dashboard
|
|
121
|
-
(Step 4). The
|
|
124
|
+
(Step 4). The database and context restore fine without them.
|
|
122
125
|
|
|
123
126
|
## Moving to a different machine?
|
|
124
127
|
|
|
@@ -15,7 +15,6 @@ summary: |
|
|
|
15
15
|
to tune the threshold.
|
|
16
16
|
section: budget-and-cost-for-wiki
|
|
17
17
|
tags:
|
|
18
|
-
- guides
|
|
19
18
|
- wiki
|
|
20
19
|
- cost
|
|
21
20
|
- approval
|
|
@@ -27,7 +26,7 @@ ask_examples:
|
|
|
27
26
|
- What does the pre-compile snapshot do?
|
|
28
27
|
locale: en-US
|
|
29
28
|
created: 2026-05-12
|
|
30
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-07-01
|
|
31
30
|
keywords:
|
|
32
31
|
- wiki budget
|
|
33
32
|
- wiki cost
|
|
@@ -56,92 +55,86 @@ ui_anchors:
|
|
|
56
55
|
|
|
57
56
|
# Wiki Budgets and Cost
|
|
58
57
|
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
This is the operator's walkthrough for keeping wiki spending under
|
|
59
|
+
control. For the deep mechanics — exactly how the estimate is
|
|
60
|
+
computed and how the approval gate decides — see
|
|
61
|
+
[features/wiki/cost-and-approval](../features/wiki/cost-and-approval.md).
|
|
61
62
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
The wiki gives you three cost knobs, all in **Settings → Wiki**
|
|
64
|
+
(`/settings/wiki`):
|
|
65
|
+
|
|
66
|
+
1. **Per-command model picker** — one model per wiki process. The
|
|
67
|
+
picker covers `wiki.ingest_url`, `wiki.compile`, and `wiki.ask`,
|
|
68
|
+
plus the operational trio `wiki.lint`, `wiki.trace`, and
|
|
69
|
+
`wiki.connect`. Each starts on your main backend at the medium
|
|
70
|
+
tier. If you ingest a lot of URLs, drop `wiki.ingest_url` to a lite
|
|
71
|
+
tier to save money.
|
|
68
72
|
2. **Per-process budget cap** (`max_budget_usd` on each row). The
|
|
69
|
-
dispatcher's per-session budget envelope
|
|
73
|
+
dispatcher's per-session budget envelope enforces it.
|
|
70
74
|
3. **Per-workspace `!compile full` approval threshold** (default
|
|
71
|
-
$2.00, range $0–$100). The
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
$2.00, range $0–$100). The estimator brackets the likely spend at
|
|
76
|
+
0.5× / 1× / 2× the estimated input-token count; if the worst-case
|
|
77
|
+
(2×) number crosses the threshold, `!compile full` asks for
|
|
78
|
+
approval instead of running on its own.
|
|
75
79
|
|
|
76
80
|
## What the Estimator Does
|
|
77
81
|
|
|
78
82
|
`!compile full` is the most expensive wiki command because a full
|
|
79
|
-
rebuild touches every raw note.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
Per-file token approximation is script-aware: ~4 characters per token
|
|
91
|
-
for Latin/prose, ~1.5 for majority-CJK files, with a 200-token floor
|
|
92
|
-
per file so empty or one-line stubs still account for the fixed
|
|
93
|
-
per-call overhead (system prompt, skills bundle, tool docs). The unit
|
|
94
|
-
cost (`$0.003` per 1k tokens) matches Claude Sonnet 5's ~$3 /
|
|
95
|
-
Mtoken standard input price. (An introductory $2 / Mtoken rate runs
|
|
83
|
+
rebuild touches every raw note. Before it runs, a small piece of
|
|
84
|
+
plain JavaScript estimates the cost — it never spawns an agent, since
|
|
85
|
+
spawning one just to estimate would itself burn budget. It walks the
|
|
86
|
+
`10_raw/` layer, approximates each file's token count from its size on
|
|
87
|
+
disk, and reports a low/high bracket so you can weigh a worst case
|
|
88
|
+
before you approve. For the exact character-to-token ratios and the
|
|
89
|
+
0.5× / 2× bracket math, see
|
|
90
|
+
[features/wiki/cost-and-approval](../features/wiki/cost-and-approval.md).
|
|
91
|
+
|
|
92
|
+
The unit cost (`$0.003` per 1k tokens) matches Claude Sonnet 5's ~$3
|
|
93
|
+
/ Mtoken standard input price. (An introductory $2 / Mtoken rate runs
|
|
96
94
|
through 2026-08-31; the estimate lists the standard rate, while the
|
|
97
95
|
SDK's billed `total_cost_usd` reflects the intro price during the
|
|
98
|
-
window.)
|
|
96
|
+
window.)
|
|
99
97
|
|
|
100
98
|
> The dashboard surfaces the top raw files by estimated token count,
|
|
101
99
|
> so you can see which sources dominate the bill before approving.
|
|
102
|
-
> An older flat heuristic (`raw_count × 1500 tokens`) survives as an
|
|
103
|
-
> opt-in fallback for deterministic banner copy, but the default is
|
|
104
|
-
> the per-file character scan described above.
|
|
105
100
|
|
|
106
101
|
## Where the Gate Fires
|
|
107
102
|
|
|
108
|
-
- **Below threshold**: the compile runs
|
|
109
|
-
completion DM with actual spend.
|
|
110
|
-
- **Above threshold**: the
|
|
111
|
-
row with `task_type='approval'`, DMs you the
|
|
112
|
-
The request shows up as an **Approvals** card
|
|
113
|
-
page (`/`); the `/settings/wiki` page also
|
|
114
|
-
|
|
115
|
-
and the scheduler picks it up — only
|
|
116
|
-
snapshot
|
|
103
|
+
- **Below threshold**: the compile runs on its own, and you get a
|
|
104
|
+
completion DM with the actual spend.
|
|
105
|
+
- **Above threshold**: the compile pauses. It inserts an
|
|
106
|
+
`agent_schedule` row with `task_type='approval'`, DMs you the
|
|
107
|
+
estimate, and waits. The request shows up as an **Approvals** card
|
|
108
|
+
on the dashboard home page (`/`); the `/settings/wiki` page also
|
|
109
|
+
points you there. When you click **Approve**, the row flips to
|
|
110
|
+
`task_type='approved_task'` and the scheduler picks it up — only
|
|
111
|
+
then does Aitne take the pre-compile git snapshot (see below) and
|
|
112
|
+
start the compile session.
|
|
117
113
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
spawned.
|
|
114
|
+
Changed your mind? Click **Deny** on the approval card. The row flips
|
|
115
|
+
to `skipped`, no git commit is made, and no agent session runs.
|
|
121
116
|
|
|
122
117
|
## Git Pre-Compile Snapshot
|
|
123
118
|
|
|
124
119
|
On an external workspace that is a git repo and has **Auto-commit
|
|
125
|
-
before `!compile full`** enabled, Aitne
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
git
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
before the compile session starts. The commit message is
|
|
135
|
-
deterministic so you can roll back with `git reset --hard HEAD~1` if
|
|
136
|
-
the compile produces a surprise. The `--no-verify` flag is not used —
|
|
137
|
-
your pre-commit hooks run as normal.
|
|
120
|
+
before `!compile full`** enabled, Aitne commits the vault
|
|
121
|
+
(`git add -A && git commit`) just before the compile session starts,
|
|
122
|
+
giving you a rollback point. If the compile produces a surprise,
|
|
123
|
+
`git reset --hard HEAD~1` puts the vault back. A dirty working tree
|
|
124
|
+
refuses the operation entirely — commit or stash first, then re-run.
|
|
125
|
+
The commit runs your normal pre-commit hooks (the `--no-verify` flag
|
|
126
|
+
is not used).
|
|
138
127
|
|
|
139
128
|
The estimate DM tells you which snapshot path applies:
|
|
140
129
|
**"will commit before compile starts"** (clean repo), **"not taken
|
|
141
130
|
(no git repo)"**, **"disabled by setting"** (auto-commit off), or
|
|
142
131
|
**"not applicable"** for internal-mode workspaces — those recover via
|
|
143
132
|
`md_file_snapshots` instead of git. When no git backup will be taken,
|
|
144
|
-
you can
|
|
133
|
+
you can add one yourself before approving.
|
|
134
|
+
|
|
135
|
+
For the full state-by-state table of what the snapshot gate does in
|
|
136
|
+
each workspace configuration, see
|
|
137
|
+
[features/wiki/cost-and-approval](../features/wiki/cost-and-approval.md).
|
|
145
138
|
|
|
146
139
|
## Tuning the Threshold
|
|
147
140
|
|
|
@@ -14,7 +14,6 @@ summary: |
|
|
|
14
14
|
notes, and ask a question against the vault.
|
|
15
15
|
section: build-your-wiki
|
|
16
16
|
tags:
|
|
17
|
-
- guide
|
|
18
17
|
- wiki
|
|
19
18
|
- knowledge
|
|
20
19
|
status: stable
|
|
@@ -24,7 +23,7 @@ ask_examples:
|
|
|
24
23
|
- How do I compile my ingested notes into wiki articles?
|
|
25
24
|
locale: en-US
|
|
26
25
|
created: 2026-05-12
|
|
27
|
-
updated: 2026-
|
|
26
|
+
updated: 2026-07-01
|
|
28
27
|
keywords:
|
|
29
28
|
- wiki
|
|
30
29
|
- build wiki
|
|
@@ -53,14 +52,14 @@ prerequisites:
|
|
|
53
52
|
|
|
54
53
|
## Goal
|
|
55
54
|
|
|
56
|
-
|
|
57
|
-
article, and
|
|
55
|
+
Turn on the internal wiki, capture a URL, compile it into a wiki
|
|
56
|
+
article, and ask a question about the result.
|
|
58
57
|
|
|
59
58
|
## Prerequisites
|
|
60
59
|
|
|
61
60
|
- A paired messaging channel (Telegram, Slack, Discord, WhatsApp, or
|
|
62
61
|
dashboard chat) — see
|
|
63
|
-
[Pairing and the Magic Phrase](../messaging/pairing-and-magic-phrase.md).
|
|
62
|
+
[Pairing and the Magic Phrase](../features/messaging/pairing-and-magic-phrase.md).
|
|
64
63
|
- The daemon is running and the dashboard is reachable.
|
|
65
64
|
|
|
66
65
|
## Where you'll work in the dashboard
|
|
@@ -71,8 +70,8 @@ browsing lives under **My Life**.
|
|
|
71
70
|
|
|
72
71
|
- **My Life → Wiki** (`/wiki`) — your main entry point. Shows
|
|
73
72
|
workspace stats, the compiled `_index.md`, and recent activity. When
|
|
74
|
-
the wiki is not enabled yet, this page
|
|
75
|
-
|
|
73
|
+
the wiki is not enabled yet, this page shows an **Enable Wiki**
|
|
74
|
+
button instead.
|
|
76
75
|
- **Setup → Settings → Wiki** (`/settings/wiki`) — workspace creation,
|
|
77
76
|
internal/external mode, per-command model selectors, budgets,
|
|
78
77
|
archive / delete.
|
|
@@ -101,8 +100,8 @@ you enable a workspace, so you do not need to remember the URL.
|
|
|
101
100
|
number of URLs queued.
|
|
102
101
|
5. Wait for the per-URL completion DMs (parallel mode) or the single
|
|
103
102
|
summary reply (serial mode).
|
|
104
|
-
6. Run `!compile` to
|
|
105
|
-
compile session
|
|
103
|
+
6. Run `!compile` to turn your raw captures into wiki articles. The
|
|
104
|
+
compile session writes `20_wiki/<slug>.md` files and updates
|
|
106
105
|
`20_wiki/_index.md`.
|
|
107
106
|
7. Ask a question: `!ask What did this source say about X?`. The
|
|
108
107
|
answer is written to `30_outputs/<YYYY-MM-DD>-<slug>.md` with
|
|
@@ -115,9 +114,9 @@ returns the command list.
|
|
|
115
114
|
## What to Try Next
|
|
116
115
|
|
|
117
116
|
- **Send multiple URLs at once**: `!ingest https://a.com, https://b.com`
|
|
118
|
-
|
|
119
|
-
`/settings/wiki` when you
|
|
120
|
-
|
|
117
|
+
processes them in parallel (all at once) by default. Switch to serial
|
|
118
|
+
mode on `/settings/wiki` when you want them handled one at a time, for
|
|
119
|
+
predictable ordering and request pacing.
|
|
121
120
|
- **Point at an existing Obsidian vault** instead of the daemon-owned
|
|
122
121
|
root — see [Use An Existing Obsidian Vault](use-an-existing-obsidian-vault.md).
|
|
123
122
|
- **Tune the budget** for `wiki.compile` and `wiki.ingest_url` from
|
|
@@ -14,7 +14,6 @@ summary: |
|
|
|
14
14
|
reasoning, or run a routine on Codex while Claude stays the default.
|
|
15
15
|
section: change-which-model-handles-x
|
|
16
16
|
tags:
|
|
17
|
-
- guide
|
|
18
17
|
- backends
|
|
19
18
|
- operations
|
|
20
19
|
- routing
|
|
@@ -25,7 +24,7 @@ ask_examples:
|
|
|
25
24
|
- Can I change the model for just one ProcessKey?
|
|
26
25
|
locale: en-US
|
|
27
26
|
created: 2026-04-25
|
|
28
|
-
updated: 2026-
|
|
27
|
+
updated: 2026-07-01
|
|
29
28
|
keywords:
|
|
30
29
|
- per-process model
|
|
31
30
|
- /settings/models
|
|
@@ -54,50 +53,53 @@ config_keys:
|
|
|
54
53
|
|
|
55
54
|
## Goal
|
|
56
55
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
delegated routine onto Gemini
|
|
56
|
+
Change the backend or model tier for a **single** ProcessKey — the label
|
|
57
|
+
the agent gives to one kind of work, such as `routine.evening_review` —
|
|
58
|
+
without touching the global default. Reach for this when one job needs a
|
|
59
|
+
stronger (or cheaper) model than the shipped default: pin the evening
|
|
60
|
+
review to Opus (high tier), or push a noisy delegated routine onto Gemini
|
|
61
|
+
to save your Claude quota.
|
|
62
62
|
|
|
63
63
|
## Steps
|
|
64
64
|
|
|
65
65
|
1. Open `/settings/models`.
|
|
66
66
|
2. Find the ProcessKey row in the per-process table (e.g.
|
|
67
67
|
`routine.evening_review`).
|
|
68
|
-
3. Set its **main backend** and **tier** explicitly.
|
|
68
|
+
3. Set its **main backend** and **tier** explicitly. Each tier picks a
|
|
69
69
|
model class — `lite` → Haiku-class, `medium` → Sonnet-class,
|
|
70
|
-
`high` → Opus-class.
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
`high` → Opus-class. You can also set a **fallback** backend to use if
|
|
71
|
+
the main one is unavailable.
|
|
72
|
+
4. Save. The row is now marked operator-edited, so it keeps your pin
|
|
73
|
+
through a defaults reset — only an install-time `force` re-seed
|
|
74
|
+
overwrites it.
|
|
74
75
|
|
|
75
76
|
## Concrete Example
|
|
76
77
|
|
|
77
78
|
To give the evening review deeper reasoning, set
|
|
78
79
|
`routine.evening_review` → main `claude`, tier `high`. The next evening
|
|
79
|
-
run
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
run then uses **Opus 4.8** instead of the default Sonnet 5. The run's
|
|
81
|
+
budget scales with the tier too — high tier carries a larger turn and
|
|
82
|
+
cost envelope than medium.
|
|
82
83
|
|
|
83
84
|
## Verification
|
|
84
85
|
|
|
85
|
-
- The next
|
|
86
|
-
the
|
|
86
|
+
- The next time that ProcessKey runs, its **Activity** event detail
|
|
87
|
+
shows the new backend and model (after fallback resolution).
|
|
87
88
|
|
|
88
89
|
## Caveats
|
|
89
90
|
|
|
90
|
-
- **`dashboard.docs_qa` is tier-locked to `medium`** —
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
- **High tier is opt-in,
|
|
94
|
-
|
|
95
|
-
`delegated_task_heavy`,
|
|
96
|
-
config flag.
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
higher model in the
|
|
91
|
+
- **`dashboard.docs_qa` is tier-locked to `medium`** — the router
|
|
92
|
+
ignores a high or lite pin on that row. It also takes its backend from
|
|
93
|
+
whatever `message.dm` is pinned to.
|
|
94
|
+
- **High tier is opt-in, never auto-selected.** No shipped surface
|
|
95
|
+
defaults to high. The only `high`-tagged ProcessKey out of the box is
|
|
96
|
+
`delegated_task_heavy`, and that stays behind the
|
|
97
|
+
`delegatedTaskHeavyEnabled` config flag. You can still pin any *other*
|
|
98
|
+
ProcessKey to high here.
|
|
99
|
+
- **Codex and Gemini ship no separate high model.** On those backends
|
|
100
|
+
the high tier falls back to the medium model, so pinning them to high
|
|
101
|
+
changes nothing unless you also pick a specific higher model in the
|
|
102
|
+
row.
|
|
101
103
|
- To change the backend for *every* ProcessKey at once, use the global
|
|
102
104
|
default instead — see Related.
|
|
103
105
|
|
|
@@ -17,7 +17,6 @@ summary: |
|
|
|
17
17
|
use an app password.
|
|
18
18
|
section: connect-a-new-mail-account
|
|
19
19
|
tags:
|
|
20
|
-
- guide
|
|
21
20
|
- mail
|
|
22
21
|
- integrations
|
|
23
22
|
status: stable
|
|
@@ -27,7 +26,7 @@ ask_examples:
|
|
|
27
26
|
- How do I connect an Outlook mailbox?
|
|
28
27
|
locale: en-US
|
|
29
28
|
created: 2026-04-25
|
|
30
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-07-01
|
|
31
30
|
keywords:
|
|
32
31
|
- mail
|
|
33
32
|
- imap
|
|
@@ -62,17 +61,17 @@ and search it.
|
|
|
62
61
|
|
|
63
62
|
## Supported providers
|
|
64
63
|
|
|
65
|
-
The mail registry
|
|
66
|
-
`outlook`, `yahoo`, `icloud`. It
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
The mail registry supports exactly four provider kinds — `gmail`,
|
|
65
|
+
`outlook`, `yahoo`, `icloud`. It sticks to these hosted providers on
|
|
66
|
+
purpose, so there is no separate "generic IMAP server" kind. Each kind
|
|
67
|
+
signs in differently:
|
|
69
68
|
|
|
70
69
|
| Provider | How it connects |
|
|
71
70
|
|---|---|
|
|
72
|
-
| **Gmail** |
|
|
73
|
-
| **Outlook** | OAuth
|
|
74
|
-
| **Yahoo** | App password (IMAP). |
|
|
75
|
-
| **iCloud** | App password (IMAP). |
|
|
71
|
+
| **Gmail** | Uses the same primary Google sign-in you set up for the app (`/config/google-auth`). Adding extra Gmail accounts beyond that main Google identity isn't supported yet. |
|
|
72
|
+
| **Outlook** | OAuth (a browser sign-in flow). A headless machine — one with no browser, such as a server you reach over SSH — falls back to a device code you type in instead. |
|
|
73
|
+
| **Yahoo** | App password (connects over IMAP). |
|
|
74
|
+
| **iCloud** | App password (connects over IMAP). |
|
|
76
75
|
|
|
77
76
|
## Prerequisites
|
|
78
77
|
|
|
@@ -87,39 +86,41 @@ kind authenticates differently:
|
|
|
87
86
|
2. Click "Add account" and pick the provider kind.
|
|
88
87
|
3. Authenticate for that kind:
|
|
89
88
|
- **Gmail** — connect the primary Google account from the setup or
|
|
90
|
-
connections flow (`/config/google-auth`). It then
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
connections flow (`/config/google-auth`). It then shows up in your
|
|
90
|
+
mail view automatically; you do not add it as a separate mail
|
|
91
|
+
account.
|
|
93
92
|
- **Outlook** — step through the OAuth browser flow. On a headless
|
|
94
|
-
machine (SSH
|
|
95
|
-
code
|
|
93
|
+
machine (one you reach over SSH or WSL, with no browser of its
|
|
94
|
+
own), use the device-code fallback, which shows a code to type in
|
|
95
|
+
at a verification URL.
|
|
96
96
|
- **Yahoo / iCloud** — paste the email address and the app password.
|
|
97
|
-
4. Save.
|
|
98
|
-
setting (`enabledMailProviders`);
|
|
99
|
-
you flip its **Enable** toggle on the mail card.
|
|
100
|
-
5. The
|
|
101
|
-
180 seconds,
|
|
97
|
+
4. Save. The account saves whether or not its provider is turned on in
|
|
98
|
+
the enabled-providers setting (`enabledMailProviders`); it goes live
|
|
99
|
+
only when you flip its **Enable** toggle on the mail card.
|
|
100
|
+
5. The agent picks up the account on the next mail poll (by default
|
|
101
|
+
every 180 seconds, which you can change with
|
|
102
|
+
`mailPollIntervalSeconds`).
|
|
102
103
|
|
|
103
104
|
## Verification
|
|
104
105
|
|
|
105
|
-
- The account row turns healthy on the auth-health card.
|
|
106
|
+
- The account row turns healthy (green) on the auth-health card.
|
|
106
107
|
- The mail count updates on `/connections/mail`.
|
|
107
108
|
|
|
108
109
|
## If It Fails
|
|
109
110
|
|
|
110
|
-
- **Outlook OAuth never returns** — the
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
redirect; on a headless host switch to the device-code flow instead.
|
|
111
|
+
- **Outlook OAuth never returns** — the sign-in flow opens a temporary
|
|
112
|
+
local port on `127.0.0.1`, so a fixed-port redirect mismatch isn't
|
|
113
|
+
the cause. Check that the browser actually opened and finished the
|
|
114
|
+
redirect; on a headless host, switch to the device-code flow instead.
|
|
114
115
|
- **Outlook add returns "client config missing"** — set the Outlook
|
|
115
116
|
client config (`PUT /api/config/mail/outlook/client-config`) before
|
|
116
|
-
|
|
117
|
+
you add the account.
|
|
117
118
|
- **Yahoo / iCloud login rejected** — re-check the address and the app
|
|
118
|
-
password (not your normal account password);
|
|
119
|
+
password (not your normal account password); generate a fresh app
|
|
119
120
|
password if it still fails.
|
|
120
121
|
- **Adding a second Gmail account fails** — only the primary Google
|
|
121
|
-
identity is supported today;
|
|
122
|
-
|
|
122
|
+
identity is supported today; extra Gmail accounts aren't available
|
|
123
|
+
yet.
|
|
123
124
|
|
|
124
125
|
## Related
|
|
125
126
|
|
|
@@ -16,10 +16,7 @@ summary: |
|
|
|
16
16
|
<b>` to find bridges between two domains.
|
|
17
17
|
section: guides
|
|
18
18
|
tags:
|
|
19
|
-
- guides
|
|
20
19
|
- wiki
|
|
21
|
-
- exploration
|
|
22
|
-
- bang-commands
|
|
23
20
|
status: stable
|
|
24
21
|
ask_examples:
|
|
25
22
|
- How do I trace an idea across the wiki?
|
|
@@ -30,7 +27,7 @@ ask_examples:
|
|
|
30
27
|
- How do I run !trace against a non-default wiki workspace?
|
|
31
28
|
locale: en-US
|
|
32
29
|
created: 2026-05-12
|
|
33
|
-
updated: 2026-
|
|
30
|
+
updated: 2026-07-01
|
|
34
31
|
keywords:
|
|
35
32
|
- "!trace"
|
|
36
33
|
- "!connect"
|
|
@@ -55,35 +52,36 @@ ui_anchors:
|
|
|
55
52
|
|
|
56
53
|
# Explore Your Wiki with `!trace` and `!connect`
|
|
57
54
|
|
|
58
|
-
`!trace` and `!connect` are the two wiki exploration commands.
|
|
59
|
-
|
|
60
|
-
your raw or wiki notes. Think of them as cited essays
|
|
61
|
-
what your wiki
|
|
55
|
+
`!trace` and `!connect` are the two wiki exploration commands. Each
|
|
56
|
+
one writes a single new document to `30_outputs/` and never changes
|
|
57
|
+
your raw or wiki notes. Think of them as short, cited essays built
|
|
58
|
+
only from what your wiki already contains.
|
|
62
59
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
`!
|
|
67
|
-
|
|
60
|
+
You send both as bang commands (a message that starts with `!`) in a
|
|
61
|
+
direct message to the agent. Both also accept an optional leading
|
|
62
|
+
`@<workspace>` token to point at a wiki workspace other than your
|
|
63
|
+
default — for example `!trace @research formal methods` or
|
|
64
|
+
`!connect @research category theory, distributed systems`. Leave the
|
|
65
|
+
token off and the command runs against your default workspace.
|
|
68
66
|
|
|
69
67
|
## `!trace <topic>` — Time-Based Exploration
|
|
70
68
|
|
|
71
69
|
Use `!trace` when you want to see **how thinking about a topic has
|
|
72
|
-
evolved**. The wiki agent searches every layer,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
framing.
|
|
70
|
+
evolved**. The wiki agent searches every layer, puts the matches in
|
|
71
|
+
time order (preferring dates written inside a note over the file's
|
|
72
|
+
last-modified time), and groups them into two-to-five phases, each
|
|
73
|
+
holding a stretch where the framing stayed roughly the same.
|
|
76
74
|
|
|
77
75
|
```
|
|
78
76
|
!trace quantum computing
|
|
79
77
|
!trace formal methods in distributed systems
|
|
80
78
|
```
|
|
81
79
|
|
|
82
|
-
The topic is free-form prose.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
topic.
|
|
80
|
+
The topic is free-form prose. Before it builds the output filename,
|
|
81
|
+
the skill maps your wording to its standard form using
|
|
82
|
+
`90_meta/taxonomy.md`, so `!trace quantum computing` and
|
|
83
|
+
`!trace quantum-computing` produce the same filename when
|
|
84
|
+
`quantum-computing` is your canonical topic.
|
|
87
85
|
|
|
88
86
|
### Output
|
|
89
87
|
|
|
@@ -117,9 +115,9 @@ says so directly. No padding, no speculation.
|
|
|
117
115
|
Use `!connect` to find honest overlaps between two domains in
|
|
118
116
|
your wiki. The agent surfaces four kinds of bridges:
|
|
119
117
|
|
|
120
|
-
1. **Shared terminology** — terms that mean the same (or
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
1. **Shared terminology** — terms that mean the same (or clearly
|
|
119
|
+
different) things in each domain, sorted out against
|
|
120
|
+
`90_meta/taxonomy.md`.
|
|
123
121
|
2. **Common references** — the same URL, author, or wiki note
|
|
124
122
|
linked from both sides.
|
|
125
123
|
3. **Structural analogies** — recurring patterns of reasoning or
|
|
@@ -153,16 +151,16 @@ The output lands at:
|
|
|
153
151
|
```
|
|
154
152
|
|
|
155
153
|
The double-hyphen (`--`) separates the two canonical slugs in the
|
|
156
|
-
filename. Each report
|
|
157
|
-
each side — a
|
|
158
|
-
bridge.
|
|
154
|
+
filename. Each report only counts a bridge when it has at least one
|
|
155
|
+
supporting note from each side — a match found on just one side
|
|
156
|
+
becomes a bridging candidate, not a bridge.
|
|
159
157
|
|
|
160
158
|
### Honest "No Connection" Reports
|
|
161
159
|
|
|
162
|
-
If your wiki
|
|
163
|
-
|
|
164
|
-
sections and a `## Summary` that says so plainly.
|
|
165
|
-
|
|
160
|
+
If your wiki holds nothing in common between the two domains, the
|
|
161
|
+
report is still written — with `_(none)_` filling the empty
|
|
162
|
+
sections and a `## Summary` that says so plainly. An empty result
|
|
163
|
+
is useful in itself: it tells you where the wiki has gaps.
|
|
166
164
|
|
|
167
165
|
### `!connect` Does Not Create Wiki Notes
|
|
168
166
|
|