@aitne-sh/aitne 0.1.3 → 0.1.4
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 +151 -147
- package/agent-assets/agent-profiles/conversational.md +23 -1
- package/agent-assets/agent-profiles/observer.md +15 -0
- package/agent-assets/agent-profiles/routine-fetch-window.md +128 -0
- package/agent-assets/agent-profiles/routine.md +16 -0
- package/agent-assets/agent-profiles/task.md +15 -0
- package/agent-assets/docs/concepts/auth-health.md +25 -9
- package/agent-assets/docs/concepts/backends-and-tiers.md +40 -4
- package/agent-assets/docs/concepts/costs-and-quotas.md +87 -25
- package/agent-assets/docs/concepts/delegated-mode.md +7 -13
- package/agent-assets/docs/concepts/memory-model.md +14 -1
- package/agent-assets/docs/concepts/observations.md +19 -1
- package/agent-assets/docs/concepts/process-keys.md +5 -0
- package/agent-assets/docs/concepts/routines.md +22 -10
- package/agent-assets/docs/concepts/safety-model.md +3 -8
- package/agent-assets/docs/concepts/skills.md +36 -1
- package/agent-assets/docs/features/integrations/calendar.md +74 -3
- package/agent-assets/docs/features/integrations/git.md +4 -4
- package/agent-assets/docs/features/integrations/github.md +75 -107
- package/agent-assets/docs/features/lifestyle/git.md +169 -22
- package/agent-assets/docs/features/messaging/overview.md +10 -1
- package/agent-assets/docs/features/routines/morning-routine.md +1 -1
- package/agent-assets/docs/getting-started/01-what-is-this.md +30 -12
- package/agent-assets/docs/getting-started/02-first-steps.md +15 -4
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +17 -2
- package/agent-assets/docs/guides/install-and-run.md +10 -1
- package/agent-assets/docs/guides/setup-wizard.md +43 -6
- package/agent-assets/docs/guides/switch-default-backend.md +7 -3
- package/agent-assets/docs/reference/skills.md +10 -1
- package/agent-assets/docs/troubleshooting/auth-failed.md +27 -8
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +35 -12
- package/agent-assets/skills/context/SKILL.md +6 -0
- package/agent-assets/skills/external-services/SKILL.md +4 -0
- package/agent-assets/skills/external-services/SKILL.native.claude.md +320 -0
- package/agent-assets/skills/external-services/SKILL.native.codex.md +243 -0
- package/agent-assets/skills/external-services/SKILL.native.gemini.md +237 -0
- package/agent-assets/skills/mail/SKILL.md +42 -14
- package/agent-assets/skills/mail/SKILL.native.claude.md +175 -0
- package/agent-assets/skills/mail/SKILL.native.codex.md +165 -0
- package/agent-assets/skills/mail/SKILL.native.gemini.md +169 -0
- package/agent-assets/skills/management-task-modify/SKILL.md +2 -1
- package/agent-assets/skills/management-task-stop/SKILL.md +2 -2
- package/agent-assets/skills/notify/SKILL.md +4 -4
- package/agent-assets/skills/notion/SKILL.md +6 -0
- package/agent-assets/skills/notion/SKILL.native.claude.md +202 -0
- package/agent-assets/skills/notion/SKILL.native.codex.md +166 -0
- package/agent-assets/skills/notion/SKILL.native.gemini.md +167 -0
- package/agent-assets/skills/observations/SKILL.md +7 -0
- package/agent-assets/skills/project-doc/SKILL.md +6 -0
- package/agent-assets/skills/reading/SKILL.md +2 -0
- package/agent-assets/skills/roadmap/SKILL.md +7 -0
- package/agent-assets/skills/today/SKILL.md +7 -0
- package/agent-assets/skills/user-interview/SKILL.md +1 -1
- package/agent-assets/skills/user-profile/SKILL.md +7 -0
- package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +119 -0
- package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +101 -0
- package/agent-assets/task-flows/_partials/mail-acquire.gmail.md +113 -0
- package/agent-assets/task-flows/_partials/mail-acquire.outlook_mail.md +97 -0
- package/agent-assets/task-flows/_partials/notion-acquire.notion.md +104 -0
- package/agent-assets/task-flows/git.project.refresh_architecture.md +24 -1
- package/agent-assets/task-flows/message.received.dm.md +3 -0
- package/agent-assets/task-flows/message.received.dm.native.claude.md +76 -0
- package/agent-assets/task-flows/message.received.dm.native.codex.md +57 -0
- package/agent-assets/task-flows/message.received.dm.native.gemini.md +70 -0
- package/agent-assets/task-flows/message.received.dm_first.md +3 -0
- package/agent-assets/task-flows/message.received.dm_first.native.claude.md +56 -0
- package/agent-assets/task-flows/message.received.dm_first.native.codex.md +48 -0
- package/agent-assets/task-flows/message.received.dm_first.native.gemini.md +54 -0
- package/agent-assets/task-flows/routine.evening_review.md +28 -1
- package/agent-assets/task-flows/routine.fetch_window.md +93 -0
- package/agent-assets/task-flows/routine.hourly_check.md +44 -5
- package/agent-assets/task-flows/routine.monthly_review.md +13 -2
- package/agent-assets/task-flows/routine.morning_routine.md +55 -42
- package/agent-assets/task-flows/routine.morning_routine_initial.md +37 -38
- package/agent-assets/task-flows/routine.roadmap_refresh.md +38 -46
- package/agent-assets/task-flows/routine.today_refresh.md +53 -96
- package/agent-assets/task-flows/routine.weekly_review.md +40 -17
- package/agent-assets/task-flows/scheduled.dm.md +13 -11
- package/agent-assets/task-flows/scheduled.task.md +2 -2
- package/agent-assets/task-flows/setup.initial.md +5 -4
- package/agent-assets/task-flows/setup.update.md +1 -1
- package/agent-assets/templates/README.md +13 -6
- package/package.json +4 -4
- package/scripts/regen-skill-fixtures.mjs +39 -0
- package/agent-assets/task-flows/routine.hourly_check.delegated.claude.md +0 -405
- package/agent-assets/task-flows/routine.hourly_check.delegated.codex.md +0 -400
- package/agent-assets/task-flows/routine.hourly_check.delegated.gemini.md +0 -404
|
@@ -10,12 +10,17 @@ aliases:
|
|
|
10
10
|
- daily git management
|
|
11
11
|
- git triggers
|
|
12
12
|
- repo polling cadence
|
|
13
|
+
- refresh architecture
|
|
14
|
+
- architecture refresh
|
|
15
|
+
- repository overview
|
|
16
|
+
- repository readme mirror
|
|
13
17
|
category: features
|
|
14
18
|
summary: |
|
|
15
19
|
The /git page (sidebar: My Life › Git) is the per-repository control
|
|
16
20
|
surface: override polling cadence, define event-driven triggers, and
|
|
17
|
-
enable daily git management
|
|
18
|
-
|
|
21
|
+
enable daily git management — a deep AI-generated architecture
|
|
22
|
+
analysis (refreshable on demand), a per-day journal of activity, a
|
|
23
|
+
mirrored copy of the source README, and a curated overview document.
|
|
19
24
|
section: lifestyle
|
|
20
25
|
tags:
|
|
21
26
|
- lifestyle
|
|
@@ -23,6 +28,7 @@ tags:
|
|
|
23
28
|
- github
|
|
24
29
|
- automation
|
|
25
30
|
- observation
|
|
31
|
+
- architecture
|
|
26
32
|
status: stable
|
|
27
33
|
ask_examples:
|
|
28
34
|
- What is the My Life › Git page for?
|
|
@@ -30,11 +36,17 @@ ask_examples:
|
|
|
30
36
|
- Does daily git management need a local clone?
|
|
31
37
|
- Can the agent poll a GitHub repo with no local checkout?
|
|
32
38
|
- What's the difference between Polling, Triggers, and Daily git management?
|
|
39
|
+
- What does the Refresh architecture button do?
|
|
40
|
+
- When does the agent regenerate the Architecture section?
|
|
41
|
+
- Does the agent read my README on every scan?
|
|
42
|
+
- Where does the README mirror get written?
|
|
33
43
|
- Where does the daily journal get written?
|
|
34
44
|
- What happens if a scan fails repeatedly?
|
|
45
|
+
- Can I run Architecture refresh on a schedule?
|
|
46
|
+
- How much does one Architecture refresh cost?
|
|
35
47
|
locale: en-US
|
|
36
48
|
created: 2026-05-05
|
|
37
|
-
updated: 2026-05-
|
|
49
|
+
updated: 2026-05-07
|
|
38
50
|
keywords:
|
|
39
51
|
- my life
|
|
40
52
|
- git
|
|
@@ -44,10 +56,14 @@ keywords:
|
|
|
44
56
|
- daily git management
|
|
45
57
|
- overview
|
|
46
58
|
- journal
|
|
59
|
+
- architecture
|
|
60
|
+
- readme mirror
|
|
61
|
+
- refresh architecture
|
|
47
62
|
related:
|
|
48
63
|
- features/integrations/git
|
|
49
64
|
- features/integrations/github
|
|
50
65
|
- features/routines/hourly-check
|
|
66
|
+
- guides/refresh-repository-architecture
|
|
51
67
|
- concepts/observations
|
|
52
68
|
ui_anchors:
|
|
53
69
|
- /git
|
|
@@ -62,14 +78,17 @@ config_keys:
|
|
|
62
78
|
|
|
63
79
|
A per-repository control panel for everything Git/GitHub: tighten the
|
|
64
80
|
polling cadence on a single repo, attach event-driven triggers, and
|
|
65
|
-
opt in to **daily git management**
|
|
66
|
-
|
|
81
|
+
opt in to **daily git management** — a curated `overview.md` whose
|
|
82
|
+
**Architecture section is generated by an AI agent that reads the
|
|
83
|
+
whole repository**, plus a per-day activity journal and a verbatim
|
|
84
|
+
mirror of the source README.
|
|
67
85
|
|
|
68
86
|
## What It Does
|
|
69
87
|
|
|
70
88
|
The page lists every repository registered on
|
|
71
89
|
**Connections → Repositories** and exposes three collapsible sections
|
|
72
|
-
per repo
|
|
90
|
+
per repo (now **all open by default** so the controls are visible at
|
|
91
|
+
a glance):
|
|
73
92
|
|
|
74
93
|
1. **Polling** — overrides the global `gitPollIntervalSeconds` for
|
|
75
94
|
this repository alone. Useful when one repo is high-traffic and
|
|
@@ -81,14 +100,87 @@ per repo:
|
|
|
81
100
|
task-flow defaults, not in place of them. Each trigger has a
|
|
82
101
|
workdir mode (`local-clone` or `ephemeral`); local-clone triggers
|
|
83
102
|
require the repository to have a `localPath`.
|
|
84
|
-
3. **Daily git management** — opt-in per repo.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
103
|
+
3. **Daily git management** — opt-in per repo. Enabling it does three
|
|
104
|
+
distinct kinds of work, on different cadences:
|
|
105
|
+
- On the first **Run init now** click, writes the curated
|
|
106
|
+
`git/<slug>/overview.md` skeleton, mirrors the source `README.*`
|
|
107
|
+
to `git/<slug>/README.md`, and **automatically queues a
|
|
108
|
+
one-shot Architecture refresh** so the AI agent fills in the
|
|
109
|
+
deep Architecture section for you.
|
|
110
|
+
- Once a day, the `repository-management-cron` observer iterates
|
|
111
|
+
enabled rows and writes `git/<slug>/journal/YYYY-MM-DD.md` if
|
|
112
|
+
there was activity, plus a one-line entry under
|
|
113
|
+
`## Daily Activity Log` in `overview.md`.
|
|
114
|
+
- **Refresh architecture** (the button) re-runs the Architecture
|
|
115
|
+
analysis on demand. Use it when the codebase has moved enough
|
|
116
|
+
that the existing Architecture section is stale (a major refactor,
|
|
117
|
+
a new package, a switched framework). There is no automatic
|
|
118
|
+
schedule for this — it runs only when you click.
|
|
89
119
|
|
|
90
120
|
The agent never pushes, amends, or force-resets. Read-only by design.
|
|
91
121
|
|
|
122
|
+
## Architecture Section — Deep AI Analysis
|
|
123
|
+
|
|
124
|
+
The `## Architecture` block of `git/<slug>/overview.md` is wrapped in
|
|
125
|
+
`<!-- architecture:start -->` / `<!-- architecture:end -->` markers
|
|
126
|
+
and contains a **module map, runtime shape, data flow, persistence
|
|
127
|
+
model, integrations, build pipeline, and design choices** produced by
|
|
128
|
+
a Sonnet-class agent that reads the actual code.
|
|
129
|
+
|
|
130
|
+
**When it's generated**
|
|
131
|
+
|
|
132
|
+
- **First time** — automatically queued the moment you click
|
|
133
|
+
**Run init now**. Returns immediately with `architectureScheduleId`;
|
|
134
|
+
the agent runs in the background (typically 30 s – 2 min) and
|
|
135
|
+
replaces the placeholder block with real analysis.
|
|
136
|
+
- **On demand** — click **Refresh architecture** any time. The daemon
|
|
137
|
+
re-copies the source README into the slug directory before queueing
|
|
138
|
+
the agent run, so the mirror stays in sync with what the agent
|
|
139
|
+
actually reads.
|
|
140
|
+
- **Never automatically** — there is no weekly/monthly cron that
|
|
141
|
+
refreshes Architecture. This is by design: each refresh costs one
|
|
142
|
+
Sonnet session, and the analysis is durable across daily journal
|
|
143
|
+
appends. If you want a recurring refresh, click the button on
|
|
144
|
+
whatever cadence makes sense for the repo (after a big refactor,
|
|
145
|
+
before a release, etc.).
|
|
146
|
+
|
|
147
|
+
**Idempotency**
|
|
148
|
+
|
|
149
|
+
If you click **Refresh architecture** while a previous refresh is
|
|
150
|
+
still pending or running, the API returns 409 with the existing
|
|
151
|
+
schedule id rather than spawning a parallel session — you cannot burn
|
|
152
|
+
quota by double-clicking.
|
|
153
|
+
|
|
154
|
+
**Surgical writes**
|
|
155
|
+
|
|
156
|
+
The agent never rewrites the whole `overview.md`. It submits only the
|
|
157
|
+
new Architecture body via the chokepoint
|
|
158
|
+
`PUT /api/repositories/:id/architecture-section`; the daemon performs
|
|
159
|
+
the marker-bracketed replacement so other sections (Notable Changes,
|
|
160
|
+
Daily Activity Log, Open Threads) are preserved verbatim. Every write
|
|
161
|
+
also snapshots the previous Architecture body to `md_file_snapshots`
|
|
162
|
+
for recovery.
|
|
163
|
+
|
|
164
|
+
## README Mirror
|
|
165
|
+
|
|
166
|
+
`git/<slug>/README.md` is a **mechanical verbatim copy** of the
|
|
167
|
+
repository's `README.*` (whichever extension exists, with `.md`
|
|
168
|
+
preferred). It is refreshed on:
|
|
169
|
+
|
|
170
|
+
- Every **Run init now** (initial mirror).
|
|
171
|
+
- Every **Refresh architecture** click (so the mirror tracks what the
|
|
172
|
+
agent just analyzed).
|
|
173
|
+
|
|
174
|
+
It is **not** refreshed on the daily scan — the file rarely changes
|
|
175
|
+
and a daily mirror would just churn `md_file_snapshots`. If you want
|
|
176
|
+
a fresh mirror without re-running architecture analysis, you can
|
|
177
|
+
re-run init.
|
|
178
|
+
|
|
179
|
+
The mirror's purpose is to give the dashboard's `/knowledge` viewer
|
|
180
|
+
and any retrospective tooling a stable copy of the README *as it
|
|
181
|
+
existed at the time of the last refresh*, even after the upstream
|
|
182
|
+
README is rewritten.
|
|
183
|
+
|
|
92
184
|
## When It Runs / How It Is Triggered
|
|
93
185
|
|
|
94
186
|
- **Polling** runs continuously on the per-repo cadence (or the global
|
|
@@ -99,25 +191,60 @@ The agent never pushes, amends, or force-resets. Read-only by design.
|
|
|
99
191
|
which iterates the `repository_management` table once an hour and
|
|
100
192
|
emits a `scheduled.task` (`git.project.update`) for any enabled row
|
|
101
193
|
whose `last_scan_at` is more than 24 hours old.
|
|
194
|
+
- **Architecture refresh** (`git.project.refresh_architecture`) is
|
|
195
|
+
enqueued only on:
|
|
196
|
+
- Manual **Run init now** (auto-enqueue, first time only).
|
|
197
|
+
- Manual **Refresh architecture** click.
|
|
198
|
+
|
|
199
|
+
No cron, no observer fires this. The cron-driven implicit init
|
|
200
|
+
(when daily scan creates a missing skeleton) deliberately does NOT
|
|
201
|
+
auto-enqueue.
|
|
102
202
|
|
|
103
203
|
## What It Outputs
|
|
104
204
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
205
|
+
Per repository, under `<contextDir>/git/<slug>/`:
|
|
206
|
+
|
|
207
|
+
| File | Source | Refresh cadence |
|
|
208
|
+
|---|---|---|
|
|
209
|
+
| `overview.md` | Daemon (skeleton + Notable Changes + journal log) + Agent (Architecture section) | Skeleton on init; Architecture on init/refresh; daily entry appended on each scan |
|
|
210
|
+
| `README.md` | Verbatim copy of `<repo>/README.*` | Every init + every architecture refresh |
|
|
211
|
+
| `journal/YYYY-MM-DD.md` | Daemon (commits + PR/workflow observations + diff stat) | Once per day per repo, when activity exists |
|
|
212
|
+
|
|
213
|
+
Polling additionally produces `observation` rows in the database;
|
|
214
|
+
triggers spawn autonomous sessions whose task-flow is selected by the
|
|
215
|
+
trigger's process key.
|
|
112
216
|
|
|
113
217
|
## Where in the Dashboard
|
|
114
218
|
|
|
115
|
-
- **My Life → Git** (`/git`) — this page.
|
|
219
|
+
- **My Life → Git** (`/git`) — this page. Polling, Triggers, and Daily
|
|
220
|
+
git management are now all expanded by default.
|
|
116
221
|
- **Connections → Repositories** (`/connections/repositories`) —
|
|
117
|
-
register a repo (link a `localPath` and/or `owner/repo`),
|
|
118
|
-
|
|
222
|
+
register a repo (link a `localPath` and/or `owner/repo`), rename,
|
|
223
|
+
set `local-only`, delete. The model-binding cards visible on this
|
|
224
|
+
page now cover only the **`git.project.init`**, **`git.project.update`**,
|
|
225
|
+
and **`git.project.retemplate`** processes — the per-event
|
|
226
|
+
GitHub cards (`github.assigned`, `github.security_alert`,
|
|
227
|
+
`github.pull_request.review_requested`, `github.workflow_run.failed`)
|
|
228
|
+
were folded back into the default routing. To pin a different model
|
|
229
|
+
for any of those, use **Settings → Models** instead.
|
|
119
230
|
- **Knowledge** (`/knowledge?path=git/<slug>/overview`) — quick links
|
|
120
|
-
on each
|
|
231
|
+
on each Daily-git-management panel open the generated overview, the
|
|
232
|
+
current day's journal, and (after the architecture refresh
|
|
233
|
+
completes) the AI-rich Architecture section in context.
|
|
234
|
+
|
|
235
|
+
## UI polish (2026-05-07)
|
|
236
|
+
|
|
237
|
+
- The Daily git management toggle is now a styled switch instead of a
|
|
238
|
+
raw checkbox — same behavior, more legible state.
|
|
239
|
+
- Init / Refresh architecture / Run today's scan now buttons surface
|
|
240
|
+
inline confirmation messages (green) on success and inline error
|
|
241
|
+
messages (red) on failure, instead of the previous silent return.
|
|
242
|
+
- The button order on the panel is **Run init now → Refresh
|
|
243
|
+
architecture → Run today's scan now**, matching the lifecycle order
|
|
244
|
+
(one-time skeleton → one-time deep analysis → daily increments).
|
|
245
|
+
- The Polling, Triggers, and Daily git management collapsibles all
|
|
246
|
+
open by default so a freshly-loaded `/git` page exposes every
|
|
247
|
+
per-repo control without an extra click.
|
|
121
248
|
|
|
122
249
|
## Configuration
|
|
123
250
|
|
|
@@ -127,6 +254,7 @@ The agent never pushes, amends, or force-resets. Read-only by design.
|
|
|
127
254
|
| Per-repo polling override | `/git` → Polling | Stored on the repository row; null means "use global". |
|
|
128
255
|
| Triggers | `/git` → Triggers | Per-repo, multiple. Each has match conditions, workdir mode, process key. |
|
|
129
256
|
| Daily git management toggle | `/git` → Daily git management | Stored in `repository_management` table. Requires `localPath`. |
|
|
257
|
+
| Architecture refresh model | `/settings/models` (process key `git.project.refresh_architecture`) | Defaults to Sonnet. Pin to a different model per backend if you want Opus-grade analysis instead. |
|
|
130
258
|
|
|
131
259
|
## Local Clone Requirement
|
|
132
260
|
|
|
@@ -148,6 +276,10 @@ repository has a `localPath`:
|
|
|
148
276
|
`listManagementDueForScan` query filters on `r.local_path IS NOT
|
|
149
277
|
NULL`, so even a stale `enabled = 1` row will not fire without a
|
|
150
278
|
local path.
|
|
279
|
+
- **Architecture refresh** also requires a `localPath` — the agent
|
|
280
|
+
reads source files directly from disk. The button is disabled with
|
|
281
|
+
the same "No local clone" message until you link one on
|
|
282
|
+
**Connections → Repositories**.
|
|
151
283
|
|
|
152
284
|
## When Something Goes Wrong
|
|
153
285
|
|
|
@@ -166,9 +298,24 @@ repository has a `localPath`:
|
|
|
166
298
|
(check `Last scan`-style timestamps), and remember the agent's own
|
|
167
299
|
writes are filtered out (see `AgentWriteTracker`) — make sure the
|
|
168
300
|
commit was authored by you.
|
|
301
|
+
- **Architecture section still shows the placeholder text** (`_Architecture
|
|
302
|
+
analysis pending..._`) several minutes after init. Open
|
|
303
|
+
**Activity**, filter for `git.project.refresh_architecture`, and
|
|
304
|
+
inspect the latest run. Common causes: the agent crashed before
|
|
305
|
+
calling the chokepoint, or the backend session is still running on
|
|
306
|
+
a slow network. Click **Refresh architecture** to retry.
|
|
307
|
+
- **"Refresh architecture" returns 409 `already_in_flight`.** A
|
|
308
|
+
previous refresh is still pending or running for this repo. Wait
|
|
309
|
+
for it to complete (Activity → `git.project.refresh_architecture`)
|
|
310
|
+
before clicking again.
|
|
311
|
+
- **The README mirror went out of date** after the source repo's
|
|
312
|
+
README was rewritten. Click **Refresh architecture** (which also
|
|
313
|
+
re-copies the README) or **Run init now** on the repo.
|
|
169
314
|
|
|
170
315
|
## Related
|
|
171
316
|
|
|
317
|
+
- [Refresh repository architecture](../../guides/refresh-repository-architecture.md)
|
|
318
|
+
— focused walkthrough of the Refresh architecture button.
|
|
172
319
|
- [Git integration](../integrations/git.md) — the underlying observer
|
|
173
320
|
contract and `gitPollIntervalSeconds` semantics.
|
|
174
321
|
- [GitHub integration](../integrations/github.md) — remote-side data
|
|
@@ -25,7 +25,7 @@ ask_examples:
|
|
|
25
25
|
- Why didn't I get a notification?
|
|
26
26
|
locale: en-US
|
|
27
27
|
created: 2026-04-25
|
|
28
|
-
updated: 2026-04
|
|
28
|
+
updated: 2026-05-04
|
|
29
29
|
keywords:
|
|
30
30
|
- messaging
|
|
31
31
|
- dm
|
|
@@ -34,6 +34,8 @@ keywords:
|
|
|
34
34
|
- slack
|
|
35
35
|
- discord
|
|
36
36
|
- whatsapp
|
|
37
|
+
- voice
|
|
38
|
+
- audio
|
|
37
39
|
related:
|
|
38
40
|
- features/messaging/pairing-and-magic-phrase
|
|
39
41
|
- features/messaging/telegram
|
|
@@ -41,6 +43,7 @@ related:
|
|
|
41
43
|
- features/messaging/discord
|
|
42
44
|
- features/messaging/whatsapp
|
|
43
45
|
- features/messaging/dashboard-chat
|
|
46
|
+
- features/messaging/voice-attachments
|
|
44
47
|
- features/operations/notifications
|
|
45
48
|
- features/operations/quiet-hours
|
|
46
49
|
ui_anchors:
|
|
@@ -65,6 +68,10 @@ notification fires.
|
|
|
65
68
|
the same way (group chat is filtered out by design — DMs only).
|
|
66
69
|
- **Outbound notifications**: routines and observations fire alerts
|
|
67
70
|
back through the same channel.
|
|
71
|
+
- **Voice attachments**: when the platform attaches audio (Telegram
|
|
72
|
+
voice notes, WhatsApp voice messages, etc.), the daemon transcribes
|
|
73
|
+
it locally with Whisper before handing the turn to the agent. See
|
|
74
|
+
[Voice Attachments](voice-attachments.md).
|
|
68
75
|
- **Magic-phrase pairing**: the operator types a one-time phrase to
|
|
69
76
|
bind their account to the agent (anti-impersonation).
|
|
70
77
|
|
|
@@ -107,5 +114,7 @@ adapter and the dispatcher both check).
|
|
|
107
114
|
## Related
|
|
108
115
|
|
|
109
116
|
- [Pairing & Magic Phrase](pairing-and-magic-phrase.md)
|
|
117
|
+
- [Voice Attachments](voice-attachments.md) — local Whisper
|
|
118
|
+
transcription for inbound audio.
|
|
110
119
|
- [Dashboard Chat](dashboard-chat.md) — the in-browser equivalent.
|
|
111
120
|
- [Notifications](../operations/notifications.md)
|
|
@@ -115,7 +115,7 @@ during the setup wizard's first day. After the first run, only
|
|
|
115
115
|
|
|
116
116
|
- The most common failure is **morning routine did not run** because the daemon was offline at the trigger window. The next launch picks the run up via the catch-up scheduler if it is still the same agent day.
|
|
117
117
|
- A failed morning routine emits a fallback-success notification when the secondary backend caught the run, or a fallback-failed notification (high priority) when both failed.
|
|
118
|
-
- Heavy-tier quota exhaustion
|
|
118
|
+
- Heavy-tier quota exhaustion is the second most common cause: a provider rate limit on your `ANTHROPIC_API_KEY`, or — when running on the subscription fallback — the rolling Opus window of the underlying Claude plan. Switch the routine's model to a different heavy-tier option in Settings → Models or wait for the provider window to refresh.
|
|
119
119
|
|
|
120
120
|
## Related
|
|
121
121
|
|
|
@@ -6,8 +6,9 @@ id: what-is-this
|
|
|
6
6
|
category: getting-started
|
|
7
7
|
summary: |
|
|
8
8
|
Aitne is a local-first proactive personal AI agent. It runs
|
|
9
|
-
as a daemon on your own machine,
|
|
10
|
-
|
|
9
|
+
as a daemon on your own machine, calls Claude / Codex / Gemini via
|
|
10
|
+
API keys you register (with the local CLI's subscription auth as a
|
|
11
|
+
fallback), and stores all memory as plain Markdown files.
|
|
11
12
|
section: getting-started
|
|
12
13
|
tags:
|
|
13
14
|
- core
|
|
@@ -32,9 +33,10 @@ related:
|
|
|
32
33
|
# What is Aitne?
|
|
33
34
|
|
|
34
35
|
Aitne is a local-first personal AI agent. It runs as a long-running
|
|
35
|
-
daemon on your own machine,
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
daemon on your own machine, drives Claude Code, Codex CLI, or Gemini
|
|
37
|
+
CLI via provider API keys you register (with the CLI's local
|
|
38
|
+
subscription login as a fallback), and keeps all of its memory as
|
|
39
|
+
plain Markdown files under `~/.personal-agent/`.
|
|
38
40
|
|
|
39
41
|
Unlike a chat assistant that only responds when you type, Aitne also
|
|
40
42
|
runs on its own — on a schedule, in reaction to changes it sees in
|
|
@@ -128,16 +130,30 @@ an opaque vector store.
|
|
|
128
130
|
|
|
129
131
|
→ [Memory Model](../concepts/memory-model.md)
|
|
130
132
|
|
|
131
|
-
###
|
|
133
|
+
### Drive Claude Code / Codex / Gemini via API keys
|
|
134
|
+
|
|
135
|
+
Aitne drives Claude Code, Codex CLI, and Gemini CLI on your behalf.
|
|
136
|
+
The recommended setup is to register a provider API key for each
|
|
137
|
+
backend you want to use — this matches what Anthropic, OpenAI, and
|
|
138
|
+
Google document for headless / programmatic agent use, and gives you
|
|
139
|
+
predictable per-call billing that is unambiguously permitted.
|
|
140
|
+
|
|
141
|
+
- Claude — `ANTHROPIC_API_KEY` (via Claude Code)
|
|
142
|
+
- Codex — `OPENAI_API_KEY` (via Codex CLI)
|
|
143
|
+
- Gemini — `GEMINI_API_KEY` / `GOOGLE_API_KEY` (via Gemini CLI)
|
|
144
|
+
|
|
145
|
+
If you skip the API key, Aitne falls back to whatever local
|
|
146
|
+
subscription login the CLI already has on your machine (`claude`,
|
|
147
|
+
`codex login`, `gemini auth`). This fallback works mechanically, but
|
|
148
|
+
most providers do not officially support running automated agents on
|
|
149
|
+
a personal subscription — Anthropic currently prohibits using the
|
|
150
|
+
Claude Agent SDK with a Claude Pro / Max subscription. The dashboard
|
|
151
|
+
surfaces a warning whenever a backend is running on subscription
|
|
152
|
+
auth.
|
|
132
153
|
|
|
133
|
-
You can point Aitne at one or more of your existing subscriptions.
|
|
134
154
|
Each kind of work (heavy reasoning vs. a quick reply) is mapped to a
|
|
135
155
|
backend; you can change the mapping any time.
|
|
136
156
|
|
|
137
|
-
- Claude (via Claude Code)
|
|
138
|
-
- Codex (via Codex CLI)
|
|
139
|
-
- Gemini (via Gemini CLI)
|
|
140
|
-
|
|
141
157
|
→ [Backends and Tiers](../concepts/backends-and-tiers.md) ·
|
|
142
158
|
[Costs and Quotas](../concepts/costs-and-quotas.md) ·
|
|
143
159
|
[Backend Routing](../features/operations/backend-routing.md)
|
|
@@ -166,7 +182,9 @@ backend; you can change the mapping any time.
|
|
|
166
182
|
- **An IDE plugin**: Claude Code is one of its backends, but the
|
|
167
183
|
agent daemon is the surface, not the editor.
|
|
168
184
|
- **A separate subscription**: Aitne itself does not bill you; you
|
|
169
|
-
pay your LLM provider directly
|
|
185
|
+
pay your LLM provider directly via the API key you register (or via
|
|
186
|
+
the CLI's local subscription auth, if you opt into the fallback
|
|
187
|
+
path).
|
|
170
188
|
|
|
171
189
|
## Where to Start
|
|
172
190
|
|
|
@@ -18,12 +18,13 @@ ask_examples:
|
|
|
18
18
|
- Do I have to connect every integration?
|
|
19
19
|
locale: en-US
|
|
20
20
|
created: 2026-04-27
|
|
21
|
-
updated: 2026-04
|
|
21
|
+
updated: 2026-05-04
|
|
22
22
|
related:
|
|
23
23
|
- getting-started/01-what-is-this
|
|
24
24
|
- getting-started/03-what-can-this-do
|
|
25
25
|
- getting-started/04-first-day
|
|
26
26
|
- guides/setup-wizard
|
|
27
|
+
- guides/use-cloud-providers
|
|
27
28
|
---
|
|
28
29
|
|
|
29
30
|
# First Steps in the Dashboard
|
|
@@ -49,9 +50,19 @@ in (a backend, a messaging pair). Run through it once, top to bottom.
|
|
|
49
50
|
the daemon claims you as the owner. See
|
|
50
51
|
[Messaging Overview](../features/messaging/overview.md) for the
|
|
51
52
|
list of supported apps and what each one does well.
|
|
52
|
-
3. **Pick a main backend and
|
|
53
|
-
for "think hard" turns
|
|
54
|
-
|
|
53
|
+
3. **Pick a main backend and register an API key.** Pick the LLM
|
|
54
|
+
the agent uses for "think hard" turns (Claude / Codex / Gemini)
|
|
55
|
+
and paste a provider API key — the supported way to run a
|
|
56
|
+
headless agent. If you skip the key, the daemon falls back to
|
|
57
|
+
whatever subscription login the matching CLI already has on your
|
|
58
|
+
machine; the dashboard surfaces a warning when this happens
|
|
59
|
+
because most providers do not support running agents on a
|
|
60
|
+
personal subscription. The same picker also lets you point the
|
|
61
|
+
backend at a cloud provider (Bedrock / Vertex / Foundry / Azure
|
|
62
|
+
OpenAI / Gemini-Vertex) instead of the direct API key — see
|
|
63
|
+
[Use a Cloud Provider for Models](../guides/use-cloud-providers.md).
|
|
64
|
+
Defaults are sensible and can be changed later from
|
|
65
|
+
`/settings/models`. Background:
|
|
55
66
|
[Backends and Tiers](../concepts/backends-and-tiers.md).
|
|
56
67
|
4. **Skip integrations you do not need yet.** Mail, calendar, git,
|
|
57
68
|
Notion, Obsidian are all optional and re-runnable any time from
|
|
@@ -19,13 +19,15 @@ ask_examples:
|
|
|
19
19
|
- How does the agent reach out to me?
|
|
20
20
|
locale: en-US
|
|
21
21
|
created: 2026-04-27
|
|
22
|
-
updated: 2026-04
|
|
22
|
+
updated: 2026-05-04
|
|
23
23
|
related:
|
|
24
24
|
- getting-started/01-what-is-this
|
|
25
25
|
- getting-started/02-first-steps
|
|
26
26
|
- getting-started/04-first-day
|
|
27
27
|
- concepts/routines
|
|
28
28
|
- concepts/memory-model
|
|
29
|
+
- features/messaging/voice-attachments
|
|
30
|
+
- features/operations/skill-self-optimization
|
|
29
31
|
---
|
|
30
32
|
|
|
31
33
|
# What This App Can Do
|
|
@@ -47,10 +49,13 @@ review writes a journal entry; weekly and monthly summaries roll up.
|
|
|
47
49
|
|
|
48
50
|
DM the agent from Telegram, Slack, Discord, WhatsApp, or the
|
|
49
51
|
dashboard's own chat. It answers, remembers, and can DM you back when
|
|
50
|
-
something comes up.
|
|
52
|
+
something comes up. Voice notes are transcribed locally with Whisper
|
|
53
|
+
so you can talk to it the same way you'd type.
|
|
51
54
|
|
|
52
55
|
- [Messaging Overview](../features/messaging/overview.md) — supported
|
|
53
56
|
apps and how pairing works.
|
|
57
|
+
- [Voice Attachments](../features/messaging/voice-attachments.md) —
|
|
58
|
+
local transcription of inbound audio.
|
|
54
59
|
- [Dashboard Chat](../features/messaging/dashboard-chat.md) — the
|
|
55
60
|
in-dashboard chat surface.
|
|
56
61
|
|
|
@@ -102,6 +107,16 @@ operations keep the agent from doing anything you don't want.
|
|
|
102
107
|
- [Quiet Hours](../features/operations/quiet-hours.md) — when it
|
|
103
108
|
stays silent.
|
|
104
109
|
|
|
110
|
+
## Get sharper over time
|
|
111
|
+
|
|
112
|
+
A background self-optimization loop watches how your knowledge layout
|
|
113
|
+
drifts (new folders, schema tweaks, vocabulary changes) and refines
|
|
114
|
+
specific skill sections to match. The original SKILL.md files are
|
|
115
|
+
never rewritten — overlays are reversible.
|
|
116
|
+
|
|
117
|
+
- [Skill Self-Optimization](../features/operations/skill-self-optimization.md)
|
|
118
|
+
— the loop, the cadence, and the dashboard surface.
|
|
119
|
+
|
|
105
120
|
## Related
|
|
106
121
|
|
|
107
122
|
- [Your First Day](04-first-day.md) — what to expect when the agent
|
|
@@ -39,7 +39,16 @@ through the setup wizard.
|
|
|
39
39
|
## Prerequisites
|
|
40
40
|
|
|
41
41
|
- Node ≥ 22, pnpm 10.x.
|
|
42
|
-
- A
|
|
42
|
+
- A provider API key for at least one backend you intend to use:
|
|
43
|
+
Anthropic (`ANTHROPIC_API_KEY`), OpenAI (`OPENAI_API_KEY`), or
|
|
44
|
+
Google (`GEMINI_API_KEY` / `GOOGLE_API_KEY`). API keys are the
|
|
45
|
+
recommended and provider-supported way to run Aitne. If you skip
|
|
46
|
+
the key, Aitne falls back to the corresponding CLI's local
|
|
47
|
+
subscription login (`claude`, `codex login`, `gemini auth`); see
|
|
48
|
+
[Costs and Quotas](../concepts/costs-and-quotas.md) for the trade-
|
|
49
|
+
offs and the provider policies that apply.
|
|
50
|
+
- The CLI binary for whichever backend you pick (Claude Code, Codex
|
|
51
|
+
CLI, or Gemini CLI) installed on `PATH`.
|
|
43
52
|
- ~200 MB of disk for the daemon's local state.
|
|
44
53
|
|
|
45
54
|
## Steps
|
|
@@ -10,7 +10,8 @@ aliases:
|
|
|
10
10
|
category: guides
|
|
11
11
|
summary: |
|
|
12
12
|
Walks through the setup wizard step by step: profile, time axis,
|
|
13
|
-
|
|
13
|
+
backend selection and API-key registration, messaging pairing,
|
|
14
|
+
integrations, execution mode.
|
|
14
15
|
tags:
|
|
15
16
|
- setup
|
|
16
17
|
status: stable
|
|
@@ -20,16 +21,20 @@ ask_examples:
|
|
|
20
21
|
- Do I have to connect every integration to start?
|
|
21
22
|
locale: en-US
|
|
22
23
|
created: 2026-04-25
|
|
23
|
-
updated: 2026-04
|
|
24
|
+
updated: 2026-05-04
|
|
24
25
|
keywords:
|
|
25
26
|
- setup
|
|
26
27
|
- wizard
|
|
27
28
|
- first run
|
|
29
|
+
- cloud providers
|
|
30
|
+
- bedrock
|
|
31
|
+
- vertex
|
|
28
32
|
related:
|
|
29
33
|
- getting-started/01-what-is-this
|
|
30
34
|
- getting-started/02-first-steps
|
|
31
35
|
- getting-started/04-first-day
|
|
32
36
|
- concepts/safety-and-execution
|
|
37
|
+
- guides/use-cloud-providers
|
|
33
38
|
ui_anchors:
|
|
34
39
|
- /setup
|
|
35
40
|
---
|
|
@@ -61,10 +66,42 @@ Set your timezone and `dayBoundaryHour` (default 04:00). See
|
|
|
61
66
|
[Agent Day](../concepts/agent-day.md) for why the boundary is not
|
|
62
67
|
midnight.
|
|
63
68
|
|
|
64
|
-
### Step 3 — Backends and
|
|
65
|
-
|
|
66
|
-
Pick a main backend (Claude / Codex / Gemini)
|
|
67
|
-
|
|
69
|
+
### Step 3 — Backends and API Keys
|
|
70
|
+
|
|
71
|
+
Pick a main backend (Claude / Codex / Gemini), verify the CLI is
|
|
72
|
+
installed, and register a provider API key for it. The wizard uses
|
|
73
|
+
the per-backend API-key panel to store the key in the OS keychain;
|
|
74
|
+
the daemon mirrors it into `process.env` so the SDK / CLI subprocess
|
|
75
|
+
picks it up.
|
|
76
|
+
|
|
77
|
+
The provider dropdown picks one of:
|
|
78
|
+
|
|
79
|
+
- **Claude** — `anthropic` (direct), `bedrock` (Amazon Bedrock),
|
|
80
|
+
`vertex` (Google Vertex AI), `foundry` (Microsoft Foundry).
|
|
81
|
+
- **Codex** — `openai` (direct), `azure-openai` (Azure OpenAI; the
|
|
82
|
+
daemon writes a managed `config.toml` under `<dataDir>/codex-home/`
|
|
83
|
+
so your personal `~/.codex/` is untouched).
|
|
84
|
+
- **Gemini** — `google` (direct AI Studio key), `gemini-vertex`
|
|
85
|
+
(Vertex AI).
|
|
86
|
+
|
|
87
|
+
For non-direct providers, the form re-renders with the cloud-specific
|
|
88
|
+
fields (region, project ID, AWS auth mode, deployment names, …). See
|
|
89
|
+
[Use a Cloud Provider for Models](use-cloud-providers.md) for the
|
|
90
|
+
full per-provider field reference.
|
|
91
|
+
|
|
92
|
+
API key (or cloud-provider) registration is the recommended path
|
|
93
|
+
because it is what Anthropic, OpenAI, and Google document for
|
|
94
|
+
headless / programmatic agent use. Skipping the key is allowed —
|
|
95
|
+
the daemon falls back to the backend's local CLI login
|
|
96
|
+
(subscription auth) — but the dashboard flags the fallback because
|
|
97
|
+
most providers do not officially support running automated agents on
|
|
98
|
+
a personal subscription. Anthropic in particular currently prohibits
|
|
99
|
+
using the Claude Agent SDK with a Claude Pro / Max subscription.
|
|
100
|
+
|
|
101
|
+
Per-process model bindings are seeded with fixed defaults (Sonnet for
|
|
102
|
+
owner-facing work, Haiku for delegated/simple polling); subscription-
|
|
103
|
+
plan registration has been removed. You can change the bindings or
|
|
104
|
+
the credentials any time on `/settings/models`.
|
|
68
105
|
|
|
69
106
|
### Step 4 — Execution Mode
|
|
70
107
|
|
|
@@ -18,11 +18,12 @@ ask_examples:
|
|
|
18
18
|
- How do I make my morning routine use Gemini?
|
|
19
19
|
locale: en-US
|
|
20
20
|
created: 2026-04-25
|
|
21
|
-
updated: 2026-04
|
|
21
|
+
updated: 2026-05-04
|
|
22
22
|
related:
|
|
23
23
|
- concepts/backends-and-tiers
|
|
24
24
|
- features/operations/backend-routing
|
|
25
25
|
- guides/change-which-model-handles-x
|
|
26
|
+
- guides/use-cloud-providers
|
|
26
27
|
---
|
|
27
28
|
|
|
28
29
|
# Switch the Default Backend
|
|
@@ -34,8 +35,11 @@ ProcessKey to a different one.
|
|
|
34
35
|
|
|
35
36
|
## Prerequisites
|
|
36
37
|
|
|
37
|
-
- The new backend
|
|
38
|
-
or
|
|
38
|
+
- The new backend has an API key registered on `/settings/models`
|
|
39
|
+
(`anthropic` / `openai` / `google`, or one of the cloud-provider
|
|
40
|
+
options for that backend). API keys are the supported path; if no
|
|
41
|
+
key is set, the daemon falls back to whatever subscription login
|
|
42
|
+
the CLI already has — the dashboard will flag it.
|
|
39
43
|
|
|
40
44
|
## Steps
|
|
41
45
|
|
|
@@ -17,9 +17,10 @@ ask_examples:
|
|
|
17
17
|
- What does the docs-search skill do?
|
|
18
18
|
locale: en-US
|
|
19
19
|
created: 2026-04-25
|
|
20
|
-
updated: 2026-04
|
|
20
|
+
updated: 2026-05-04
|
|
21
21
|
related:
|
|
22
22
|
- concepts/skills
|
|
23
|
+
- features/operations/skill-self-optimization
|
|
23
24
|
---
|
|
24
25
|
|
|
25
26
|
# Built-in Skills
|
|
@@ -48,3 +49,11 @@ related:
|
|
|
48
49
|
The source of truth is each skill's `SKILL.md` under
|
|
49
50
|
`agent-assets/skills/<slug>/`. The `description` field in that file's
|
|
50
51
|
frontmatter is what the dispatcher uses for runtime skill selection.
|
|
52
|
+
|
|
53
|
+
A subset of these skills' sections (knowledge layout, routing
|
|
54
|
+
tables, search recipes, etc.) is also refined at runtime through
|
|
55
|
+
JSON **overlays** maintained by the skill-curation loop. The seed
|
|
56
|
+
files in `agent-assets/skills/` are never rewritten — overlays are
|
|
57
|
+
applied at session-init by the SkillsCompiler and live under
|
|
58
|
+
`<dataDir>/overlays/<skill>/<section-id>.json`. See
|
|
59
|
+
[Skill Self-Optimization](../features/operations/skill-self-optimization.md).
|