@aitne-sh/aitne 0.1.7 → 0.1.8
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 +195 -829
- package/agent-assets/agent-profiles/_safety.md +49 -17
- package/agent-assets/agent-profiles/profile-importer.md +1 -1
- package/agent-assets/agent-profiles/routine.md +4 -3
- package/agent-assets/docs/concepts/agent-day.md +6 -1
- package/agent-assets/docs/concepts/auth-health.md +10 -1
- package/agent-assets/docs/concepts/backends-and-tiers.md +74 -40
- package/agent-assets/docs/concepts/costs-and-quotas.md +25 -5
- package/agent-assets/docs/concepts/delegated-mode.md +147 -68
- package/agent-assets/docs/concepts/memory-model.md +9 -4
- package/agent-assets/docs/concepts/observations.md +13 -1
- package/agent-assets/docs/concepts/process-keys.md +20 -5
- package/agent-assets/docs/concepts/routines.md +38 -20
- package/agent-assets/docs/concepts/safety-model.md +30 -13
- package/agent-assets/docs/concepts/skills.md +12 -7
- package/agent-assets/docs/features/integrations/calendar.md +1 -1
- package/agent-assets/docs/features/integrations/git.md +2 -2
- package/agent-assets/docs/features/integrations/github.md +9 -2
- package/agent-assets/docs/features/integrations/mail.md +1 -1
- package/agent-assets/docs/features/integrations/notion.md +34 -6
- package/agent-assets/docs/features/integrations/obsidian.md +7 -2
- package/agent-assets/docs/features/lifestyle/git.md +4 -7
- package/agent-assets/docs/features/lifestyle/receipts.md +17 -2
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +15 -0
- package/agent-assets/docs/features/lifestyle/travel-time.md +7 -1
- package/agent-assets/docs/features/memory-files/agent-journal.md +2 -2
- package/agent-assets/docs/features/memory-files/projects.md +6 -0
- package/agent-assets/docs/features/memory-files/roadmap.md +5 -0
- package/agent-assets/docs/features/memory-files/today.md +1 -0
- package/agent-assets/docs/features/memory-files/user-profile.md +6 -0
- package/agent-assets/docs/features/messaging/bang-commands.md +20 -10
- package/agent-assets/docs/features/messaging/discord.md +12 -1
- package/agent-assets/docs/features/messaging/overview.md +10 -7
- package/agent-assets/docs/features/messaging/slack.md +13 -1
- package/agent-assets/docs/features/messaging/telegram.md +7 -1
- package/agent-assets/docs/features/messaging/whatsapp.md +12 -1
- package/agent-assets/docs/features/operations/activity-and-conversations.md +2 -2
- package/agent-assets/docs/features/operations/approvals.md +6 -0
- package/agent-assets/docs/features/operations/backend-routing.md +7 -0
- package/agent-assets/docs/features/operations/cost-tracking.md +6 -0
- package/agent-assets/docs/features/operations/notifications.md +6 -0
- package/agent-assets/docs/features/operations/schedule-approaching.md +22 -9
- package/agent-assets/docs/features/routines/custom-routines.md +10 -4
- package/agent-assets/docs/features/routines/evening-review.md +1 -1
- package/agent-assets/docs/features/routines/hourly-check.md +1 -1
- package/agent-assets/docs/features/routines/morning-routine.md +24 -15
- package/agent-assets/docs/features/routines/weekly-review.md +38 -12
- package/agent-assets/docs/features/wiki/commands.md +11 -0
- package/agent-assets/docs/features/wiki/overview.md +13 -3
- package/agent-assets/docs/getting-started/01-what-is-this.md +32 -11
- package/agent-assets/docs/getting-started/02-first-steps.md +17 -4
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +21 -11
- package/agent-assets/docs/getting-started/04-first-day.md +14 -0
- package/agent-assets/docs/glossary.md +65 -12
- package/agent-assets/docs/guides/add-a-custom-routine.md +12 -0
- package/agent-assets/docs/guides/backup-and-restore.md +16 -2
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +6 -0
- package/agent-assets/docs/guides/build-your-wiki.md +14 -0
- package/agent-assets/docs/guides/change-which-model-handles-x.md +7 -0
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +16 -0
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +6 -0
- package/agent-assets/docs/guides/import-knowledge-file.md +11 -0
- package/agent-assets/docs/guides/install-and-run.md +20 -4
- package/agent-assets/docs/guides/maintain-wiki-health.md +6 -0
- package/agent-assets/docs/guides/migrate-machines.md +13 -1
- package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +9 -0
- package/agent-assets/docs/guides/pause-the-agent.md +12 -4
- package/agent-assets/docs/guides/reinstall-cleanly.md +19 -4
- package/agent-assets/docs/guides/setup-wizard.md +20 -9
- package/agent-assets/docs/guides/switch-default-backend.md +10 -1
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +5 -0
- package/agent-assets/docs/reference/api.md +29 -1
- package/agent-assets/docs/reference/cli-commands.md +22 -3
- package/agent-assets/docs/reference/config.md +37 -5
- package/agent-assets/docs/reference/disallowed-tools.md +13 -0
- package/agent-assets/docs/reference/keyboard-shortcuts.md +13 -0
- package/agent-assets/docs/reference/process-keys.md +70 -20
- package/agent-assets/docs/reference/skills.md +27 -9
- package/agent-assets/docs/troubleshooting/auth-failed.md +7 -2
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +13 -1
- package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +10 -0
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +11 -0
- package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +9 -4
- package/agent-assets/docs/troubleshooting/observation-not-detected.md +12 -0
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +7 -1
- package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +5 -0
- package/agent-assets/docs/troubleshooting/wiki-write-failed.md +5 -0
- package/agent-assets/optimizer-skills/drift-analysis/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/skill-curation/SKILL.md +2 -2
- package/agent-assets/skills/agent-actions/SKILL.md +122 -0
- package/agent-assets/skills/attach/SKILL.md +1 -2
- package/agent-assets/skills/context/SKILL.md +36 -454
- package/agent-assets/skills/context/references/api.md +220 -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 +1 -1
- package/agent-assets/skills/docs-search/SKILL.md +13 -13
- package/agent-assets/skills/external-services/SKILL.delegated.claude.md +5 -7
- package/agent-assets/skills/external-services/SKILL.delegated.codex.md +5 -7
- package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +5 -7
- package/agent-assets/skills/external-services/SKILL.md +6 -259
- package/agent-assets/skills/external-services/SKILL.native.claude.md +1 -2
- package/agent-assets/skills/external-services/SKILL.native.codex.md +1 -2
- package/agent-assets/skills/external-services/SKILL.native.gemini.md +1 -2
- 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 +224 -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/gmail-lifestyle/references/travel-time-api.md +59 -0
- package/agent-assets/skills/mail/SKILL.delegated.claude.md +1 -1
- package/agent-assets/skills/mail/SKILL.delegated.codex.md +1 -1
- package/agent-assets/skills/mail/SKILL.delegated.gemini.md +1 -1
- 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 +108 -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 +70 -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 +33 -105
- package/agent-assets/skills/management-policy/references/policy-workflow.md +101 -0
- package/agent-assets/skills/notify/SKILL.md +6 -78
- package/agent-assets/skills/notify/references/priority.md +60 -0
- package/agent-assets/skills/notion/SKILL.delegated.claude.md +1 -1
- package/agent-assets/skills/notion/SKILL.delegated.codex.md +1 -1
- package/agent-assets/skills/notion/SKILL.delegated.gemini.md +1 -1
- package/agent-assets/skills/notion/SKILL.md +6 -10
- package/agent-assets/skills/notion/SKILL.native.claude.md +1 -2
- package/agent-assets/skills/notion/SKILL.native.codex.md +1 -2
- package/agent-assets/skills/notion/SKILL.native.gemini.md +1 -2
- package/agent-assets/skills/observations/SKILL.md +1 -6
- package/agent-assets/skills/project-doc/SKILL.md +1 -5
- package/agent-assets/skills/reading/SKILL.md +2 -2
- package/agent-assets/skills/roadmap/SKILL.md +37 -135
- package/agent-assets/skills/roadmap/references/api.md +100 -0
- package/agent-assets/skills/roadmap/references/cross-check.md +73 -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/schedule/SKILL.md +52 -88
- package/agent-assets/skills/schedule/references/batch.md +93 -0
- package/agent-assets/skills/schedule/references/errors.md +214 -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/schedule/references/recurring.md +185 -0
- package/agent-assets/skills/scheduled-managed-task/SKILL.md +13 -15
- package/agent-assets/skills/today/SKILL.md +27 -57
- package/agent-assets/skills/today/references/agent-plan-lifecycle.md +113 -0
- package/agent-assets/skills/user-interview/SKILL.md +12 -59
- 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 +1 -1
- package/agent-assets/skills/user-profile/SKILL.md +43 -63
- package/agent-assets/skills/user-profile/references/character-preferences.md +83 -0
- package/agent-assets/skills/user-profile/seeds/topic-files.seed.json +28 -0
- package/agent-assets/skills/wiki/wiki-ask/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-compile/SKILL.md +0 -1
- 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 +68 -0
- package/agent-assets/system-prompts/skill-index-instruction.md +26 -0
- package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +18 -11
- package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +16 -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 +17 -9
- package/agent-assets/task-flows/_partials/notion-acquire.notion.md +18 -12
- package/agent-assets/task-flows/knowledge.import.md +1 -1
- package/agent-assets/task-flows/message.received.dm.md +13 -15
- package/agent-assets/task-flows/message.received.dm_first.md +10 -14
- package/agent-assets/task-flows/routine.custom.md +3 -1
- package/agent-assets/task-flows/routine.evening_review.md +39 -163
- package/agent-assets/task-flows/routine.fetch_window.md +17 -12
- package/agent-assets/task-flows/routine.hourly_check.md +16 -8
- package/agent-assets/task-flows/routine.hourly_check.triage.md +1 -1
- package/agent-assets/task-flows/routine.monthly_review.md +46 -4
- package/agent-assets/task-flows/routine.morning_routine_journal.md +113 -0
- package/agent-assets/task-flows/routine.morning_routine_today.md +673 -0
- package/agent-assets/task-flows/routine.roadmap_refresh.md +60 -15
- package/agent-assets/task-flows/routine.user_profile_sweep.md +9 -10
- package/agent-assets/task-flows/routine.weekly_review.md +285 -70
- package/agent-assets/task-flows/scheduled.dm.md +8 -8
- package/agent-assets/task-flows/scheduled.task.md +5 -5
- package/agent-assets/task-flows/setup.initial.md +165 -245
- package/agent-assets/task-flows/wiki.ingest_url.md +1 -1
- package/agent-assets/templates/_manifest.json +7 -7
- package/agent-assets/templates/dossiers/_index.md +1 -1
- package/agent-assets/templates/rules/journal-format.md +145 -38
- package/agent-assets/templates/user/expertise.md +4 -2
- package/agent-assets/templates/user/goals.md +4 -2
- package/agent-assets/templates/user/people.md +8 -2
- package/agent-assets/templates/user/personal.md +4 -2
- package/agent-assets/templates/user/work.md +4 -2
- package/bin/aitne.mjs +8 -1
- package/package.json +4 -4
- package/scripts/commands/doctor.mjs +52 -0
- package/scripts/commands/run-now.mjs +202 -0
- package/scripts/commands/verify.mjs +264 -0
- 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
|
@@ -33,7 +33,7 @@ ask_examples:
|
|
|
33
33
|
- Where do I see what the agent has been doing?
|
|
34
34
|
locale: en-US
|
|
35
35
|
created: 2026-04-26
|
|
36
|
-
updated: 2026-
|
|
36
|
+
updated: 2026-05-17
|
|
37
37
|
keywords:
|
|
38
38
|
- deniedTools
|
|
39
39
|
- safety floor
|
|
@@ -121,21 +121,30 @@ of "report to me" events. Information about what the agent did is
|
|
|
121
121
|
- **`matchToolPattern`** — pattern matcher used everywhere `deniedTools`
|
|
122
122
|
is enforced. Exact match (`send_email`), prefix glob (`send_*`), or
|
|
123
123
|
bare `*`.
|
|
124
|
-
- **`/api/integrations/:key/
|
|
125
|
-
|
|
124
|
+
- **`/api/integrations/:key/exec`** — the cross-backend chokepoint
|
|
125
|
+
(task mode; the RPC-style `/invoke` route was retired 2026-05-01,
|
|
126
|
+
see `docs/design/17-delegated-mode-v2.md` §4.2). Enforces `deniedTools`
|
|
127
|
+
server-side by filtering the integration's `capabilityTools` through
|
|
128
|
+
the deny list before spawning the delegated backend, so the
|
|
129
|
+
task-mode planner can only pick from the allowed surface. A
|
|
130
|
+
fully-denied surface short-circuits with `errorClass: "denied_tool"`
|
|
131
|
+
before any subprocess spawn.
|
|
126
132
|
- **`agent_actions`** — SQLite table of every agent action. Direct +
|
|
127
|
-
cross-backend rows are full-fidelity
|
|
128
|
-
|
|
133
|
+
cross-backend rows are full-fidelity (current cross-backend writes
|
|
134
|
+
emit `delegated_task.run` / `delegated_task.exec` /
|
|
135
|
+
`delegated_task.tool_step`; legacy rows from before 2026-05-01 carry
|
|
136
|
+
`delegated_proxy.invoke`). Same-backend native MCP rolls up to
|
|
137
|
+
`mcp_tool_calls` + the parent session row.
|
|
129
138
|
|
|
130
139
|
## Where the Defenses Apply
|
|
131
140
|
|
|
132
141
|
| Path | Enforcement |
|
|
133
142
|
|---|---|
|
|
134
143
|
| Direct mode (`/api/mail/*`, `/api/calendar/*`) | Route handler middleware checks `deniedTools` against the materialized skill body's `allowed-tools` list (frontmatter). |
|
|
135
|
-
| Cross-backend (`/api/integrations/:key/
|
|
136
|
-
| Same-backend native MCP — Claude | `collectSessionDeniedTools` merges the deny patterns into the SDK's `disallowedTools` array at `query()` time. |
|
|
137
|
-
| Same-backend native MCP — Gemini | Patterns are folded into `generateAdminPolicy`'s TOML deny rules (priority 1000). |
|
|
138
|
-
| Same-backend native MCP — Codex | **Prose-only.** Codex bundles its connector apps into the binary; there is no per-tool deny config and the workspace-write sandbox does not match MCP tool calls. Skill prose lists the denied tools explicitly. Operators who require strict deny on Gmail / Calendar should pick a non-Codex DM backend or
|
|
144
|
+
| Cross-backend (`/api/integrations/:key/exec`) | Invoker filters the integration's `capabilityTools` through `deniedTools` before spawning the delegated backend so the task-mode planner can only pick from the allowed surface. A fully-denied surface short-circuits with `errorClass: "denied_tool"`; individual tool denials surface as the same error from the invoker's `resolveAllowedToolPatterns`. |
|
|
145
|
+
| Same-backend / native MCP — Claude | `collectSessionDeniedTools` merges the deny patterns into the SDK's `disallowedTools` array at `query()` time. Same code path covers both delegated same-backend and native — they share the in-session MCP surface. |
|
|
146
|
+
| Same-backend / native MCP — Gemini | Patterns are folded into `generateAdminPolicy`'s TOML deny rules (priority 1000). |
|
|
147
|
+
| Same-backend / native MCP — Codex | **Prose-only.** Codex bundles its connector apps into the binary; there is no per-tool deny config and the workspace-write sandbox does not match MCP tool calls. Skill prose lists the denied tools explicitly. Operators who require strict deny on Gmail / Calendar should pick a non-Codex DM backend or route those integrations through `delegated` cross-backend mode (which IS deny-enforced at `/exec`). |
|
|
139
148
|
|
|
140
149
|
## Recommended Starter Denylists
|
|
141
150
|
|
|
@@ -211,18 +220,26 @@ When the operator asks "what did you do yesterday?" / "have you sent
|
|
|
211
220
|
anything from Gmail this week?" the agent calls:
|
|
212
221
|
|
|
213
222
|
```bash
|
|
214
|
-
curl 'http://localhost:8321/api/agent/actions?since=2026-04-25T00:00:00Z&kind=
|
|
223
|
+
curl 'http://localhost:8321/api/agent/actions?since=2026-04-25T00:00:00Z&kind=delegated_task.run&kind=delegated_task.tool_step&limit=50'
|
|
215
224
|
```
|
|
216
225
|
|
|
217
226
|
and answers in conversation. The endpoint:
|
|
218
227
|
|
|
219
228
|
- Lives at `Autonomous` tier — the agent reads only its own audit
|
|
220
229
|
trail, no operator data.
|
|
221
|
-
- Accepts `since`, `kind
|
|
230
|
+
- Accepts `since`, `kind` (repeat for multiple values, e.g.
|
|
231
|
+
`?kind=a&kind=b`), `limit` (default 50, max 200).
|
|
222
232
|
- Redacts values via the standard secret-redaction utility before
|
|
223
233
|
serializing.
|
|
224
234
|
- Returns rows from `agent_actions`, optionally joined with
|
|
225
|
-
`mcp_tool_calls` when `kind=mcp` (same-backend native MCP).
|
|
235
|
+
`mcp_tool_calls` when `kind=mcp` (same-backend / native MCP).
|
|
236
|
+
|
|
237
|
+
Common `kind` values for the cross-backend proxy: `delegated_task.run`
|
|
238
|
+
(one row per `/exec` call), `delegated_task.exec` (the planner's
|
|
239
|
+
chosen tool), `delegated_task.tool_step` (each individual tool call
|
|
240
|
+
inside the task). The legacy `delegated_proxy.invoke` rows persist
|
|
241
|
+
from before 2026-05-01 — include them if the `since` window crosses
|
|
242
|
+
that date.
|
|
226
243
|
|
|
227
244
|
This **replaces** the rejected daily-digest pattern. Reasons:
|
|
228
245
|
|
|
@@ -270,5 +287,5 @@ Approve still gates:
|
|
|
270
287
|
Allow modes.
|
|
271
288
|
- Integration Delegation Framework (design) — `docs/design/14-integration-delegation.md`
|
|
272
289
|
§14.12, the deniedTools spec.
|
|
273
|
-
- Delegated Mode v2 (design) — `
|
|
290
|
+
- Delegated Mode v2 (design) — `docs/design/17-delegated-mode-v2.md` §4.5,
|
|
274
291
|
the rationale for Notify-tier abolition + the starter denylist.
|
|
@@ -17,14 +17,16 @@ tags:
|
|
|
17
17
|
- core
|
|
18
18
|
- skills
|
|
19
19
|
- safety
|
|
20
|
+
- knowledge
|
|
20
21
|
status: stable
|
|
21
22
|
ask_examples:
|
|
22
23
|
- What skills does the agent have?
|
|
23
24
|
- How do I add a new skill?
|
|
24
25
|
- Why does the agent refuse to run a tool?
|
|
26
|
+
- How does skill self-optimization work?
|
|
25
27
|
locale: en-US
|
|
26
28
|
created: 2026-04-25
|
|
27
|
-
updated: 2026-05-
|
|
29
|
+
updated: 2026-05-15
|
|
28
30
|
keywords:
|
|
29
31
|
- SKILL.md
|
|
30
32
|
- allowed-tools
|
|
@@ -33,11 +35,12 @@ keywords:
|
|
|
33
35
|
- self-optimization
|
|
34
36
|
- skill curation
|
|
35
37
|
- overlays
|
|
38
|
+
- skill
|
|
39
|
+
- skills
|
|
36
40
|
related:
|
|
37
41
|
- concepts/safety-and-execution
|
|
38
42
|
- concepts/process-keys
|
|
39
43
|
- reference/skills
|
|
40
|
-
- features/operations/skill-self-optimization
|
|
41
44
|
ui_anchors:
|
|
42
45
|
- /knowledge
|
|
43
46
|
- /connections/mcp
|
|
@@ -69,7 +72,8 @@ visible to the model.
|
|
|
69
72
|
- **SKILL.md**: the Markdown file that defines a single skill. Lives
|
|
70
73
|
under `agent-assets/skills/<slug>/SKILL.md` in the repo and is
|
|
71
74
|
materialized into each session workdir as `.claude/skills/<slug>/SKILL.md`
|
|
72
|
-
(
|
|
75
|
+
(Codex uses `.codex/skills/`, Gemini uses `.gemini/skills/`, OpenCode
|
|
76
|
+
reuses `.claude/skills/` per V2 of docs/design/appendices/opencode-backend.md).
|
|
73
77
|
- **`allowed-tools`**: a YAML list in the skill's frontmatter naming
|
|
74
78
|
tools and patterns the session may use. Patterns like
|
|
75
79
|
`Bash(curl http://localhost:8321/api/context/*)` are the daemon's
|
|
@@ -110,8 +114,9 @@ scoped toolset (`Bash(curl http://localhost:8321/api/skill-curation/*)`,
|
|
|
110
114
|
drift signals than the previous overlay generated, the section is
|
|
111
115
|
reverted and frozen for two cycles.
|
|
112
116
|
|
|
113
|
-
|
|
114
|
-
|
|
117
|
+
Curation cadence, manual-run trigger, and the per-skill exclusion
|
|
118
|
+
list are surfaced at **Settings → Self-learning**
|
|
119
|
+
(`/settings/self-learning`).
|
|
115
120
|
|
|
116
121
|
## Where You See It in the Dashboard
|
|
117
122
|
|
|
@@ -131,5 +136,5 @@ for cadence, manual run, and the dashboard surface.
|
|
|
131
136
|
`allowed-tools` is too permissive.
|
|
132
137
|
- [Process Keys](process-keys.md) — the dispatch identity that picks
|
|
133
138
|
which skill manifest to load.
|
|
134
|
-
- [
|
|
135
|
-
|
|
139
|
+
- [Skills (Reference)](../reference/skills.md) — index of every
|
|
140
|
+
built-in skill.
|
|
@@ -15,9 +15,9 @@ summary: |
|
|
|
15
15
|
security alerts, assignments) become direct DMs.
|
|
16
16
|
section: integrations
|
|
17
17
|
tags:
|
|
18
|
-
-
|
|
18
|
+
- integrations
|
|
19
19
|
- github
|
|
20
|
-
-
|
|
20
|
+
- observations
|
|
21
21
|
status: stable
|
|
22
22
|
ask_examples:
|
|
23
23
|
- How do I connect GitHub?
|
|
@@ -26,6 +26,13 @@ ask_examples:
|
|
|
26
26
|
locale: en-US
|
|
27
27
|
created: 2026-04-25
|
|
28
28
|
updated: 2026-04-28
|
|
29
|
+
keywords:
|
|
30
|
+
- github
|
|
31
|
+
- issue
|
|
32
|
+
- pull request
|
|
33
|
+
- PR review
|
|
34
|
+
- workflow run
|
|
35
|
+
- security alert
|
|
29
36
|
related:
|
|
30
37
|
- features/integrations/git
|
|
31
38
|
- concepts/observations
|
|
@@ -12,9 +12,9 @@ summary: |
|
|
|
12
12
|
Changes record observations consumed by the hourly check.
|
|
13
13
|
section: integrations
|
|
14
14
|
tags:
|
|
15
|
-
-
|
|
15
|
+
- integrations
|
|
16
16
|
- knowledge
|
|
17
|
-
-
|
|
17
|
+
- observations
|
|
18
18
|
status: stable
|
|
19
19
|
ask_examples:
|
|
20
20
|
- How do I connect Notion?
|
|
@@ -22,6 +22,12 @@ ask_examples:
|
|
|
22
22
|
locale: en-US
|
|
23
23
|
created: 2026-04-25
|
|
24
24
|
updated: 2026-04-25
|
|
25
|
+
keywords:
|
|
26
|
+
- notion
|
|
27
|
+
- page
|
|
28
|
+
- database
|
|
29
|
+
- notion observer
|
|
30
|
+
- notion poller
|
|
25
31
|
related:
|
|
26
32
|
- features/integrations/obsidian
|
|
27
33
|
- features/routines/hourly-check
|
|
@@ -46,23 +52,45 @@ records observations on change.
|
|
|
46
52
|
|
|
47
53
|
## When It Runs / How It Is Triggered
|
|
48
54
|
|
|
49
|
-
Continuous polling.
|
|
55
|
+
Continuous polling in `direct` mode. In `delegated` / `native` / `disabled`
|
|
56
|
+
modes the poller does not run — see Integration Modes below.
|
|
57
|
+
|
|
58
|
+
## Integration Modes
|
|
59
|
+
|
|
60
|
+
Notion supports all four integration modes (`direct` / `delegated` /
|
|
61
|
+
`native` / `disabled`), selected from **Connections → Knowledge**.
|
|
62
|
+
|
|
63
|
+
- **`direct`** — the daemon polls Notion itself, records change
|
|
64
|
+
observations, and the hourly check consumes them.
|
|
65
|
+
- **`delegated`** — a delegated-sync worker runs on opt-in cadences;
|
|
66
|
+
observations are recorded the same way but on a different
|
|
67
|
+
schedule (see [Delegated Mode](../../concepts/delegated-mode.md)).
|
|
68
|
+
- **`native`** — the main backend reaches Notion through its own MCP
|
|
69
|
+
connector on demand; the daemon does no polling. Observations
|
|
70
|
+
flow in only when the main backend POSTs them in-turn via
|
|
71
|
+
`/api/observations`. Available with Claude (`mcp__notion__*`).
|
|
72
|
+
- **`disabled`** — silence; no observations, no daemon access.
|
|
73
|
+
|
|
74
|
+
Switching modes requires the integration flip-lock probe to pass
|
|
75
|
+
(connector reachable, capabilities reported). See `POST /api/integrations/notion/probe`.
|
|
50
76
|
|
|
51
77
|
## Where in the Dashboard
|
|
52
78
|
|
|
53
|
-
- **Connections → Knowledge** holds the integration token
|
|
54
|
-
databases.
|
|
79
|
+
- **Connections → Knowledge** holds the integration token, target
|
|
80
|
+
databases, and the mode picker.
|
|
55
81
|
|
|
56
82
|
## Configuration
|
|
57
83
|
|
|
58
84
|
| Setting | Default | Notes |
|
|
59
85
|
|---|---|---|
|
|
60
|
-
| `notionPollIntervalSeconds` | 300 | Polling interval. |
|
|
86
|
+
| `notionPollIntervalSeconds` | 300 | Polling interval (direct mode only). |
|
|
61
87
|
|
|
62
88
|
## When Something Goes Wrong
|
|
63
89
|
|
|
64
90
|
- Notion's API rate-limits aggressively at high poll frequency. Stay
|
|
65
91
|
≥ 300 seconds.
|
|
92
|
+
- "No observations" in `native` mode is expected — observations flow
|
|
93
|
+
only when the main backend POSTs them during a session.
|
|
66
94
|
|
|
67
95
|
## Related
|
|
68
96
|
|
|
@@ -13,9 +13,9 @@ summary: |
|
|
|
13
13
|
notes on demand.
|
|
14
14
|
section: integrations
|
|
15
15
|
tags:
|
|
16
|
-
-
|
|
16
|
+
- integrations
|
|
17
17
|
- knowledge
|
|
18
|
-
-
|
|
18
|
+
- observations
|
|
19
19
|
status: stable
|
|
20
20
|
ask_examples:
|
|
21
21
|
- How do I connect my Obsidian vault?
|
|
@@ -24,6 +24,11 @@ ask_examples:
|
|
|
24
24
|
locale: en-US
|
|
25
25
|
created: 2026-04-25
|
|
26
26
|
updated: 2026-04-25
|
|
27
|
+
keywords:
|
|
28
|
+
- obsidian
|
|
29
|
+
- vault
|
|
30
|
+
- vault watcher
|
|
31
|
+
- obsidian observer
|
|
27
32
|
related:
|
|
28
33
|
- features/integrations/notion
|
|
29
34
|
- features/routines/hourly-check
|
|
@@ -27,7 +27,7 @@ tags:
|
|
|
27
27
|
- git
|
|
28
28
|
- github
|
|
29
29
|
- automation
|
|
30
|
-
-
|
|
30
|
+
- observations
|
|
31
31
|
- architecture
|
|
32
32
|
status: stable
|
|
33
33
|
ask_examples:
|
|
@@ -46,7 +46,7 @@ ask_examples:
|
|
|
46
46
|
- How much does one Architecture refresh cost?
|
|
47
47
|
locale: en-US
|
|
48
48
|
created: 2026-05-05
|
|
49
|
-
updated: 2026-05-
|
|
49
|
+
updated: 2026-05-17
|
|
50
50
|
keywords:
|
|
51
51
|
- my life
|
|
52
52
|
- git
|
|
@@ -63,7 +63,6 @@ related:
|
|
|
63
63
|
- features/integrations/git
|
|
64
64
|
- features/integrations/github
|
|
65
65
|
- features/routines/hourly-check
|
|
66
|
-
- guides/refresh-repository-architecture
|
|
67
66
|
- concepts/observations
|
|
68
67
|
ui_anchors:
|
|
69
68
|
- /git
|
|
@@ -137,8 +136,8 @@ a Sonnet-class agent that reads the actual code.
|
|
|
137
136
|
re-copies the source README into the slug directory before queueing
|
|
138
137
|
the agent run, so the mirror stays in sync with what the agent
|
|
139
138
|
actually reads.
|
|
140
|
-
- **Never automatically** — there is no
|
|
141
|
-
|
|
139
|
+
- **Never automatically** — there is no recurring cron that refreshes
|
|
140
|
+
Architecture. This is by design: each refresh costs one
|
|
142
141
|
Sonnet session, and the analysis is durable across daily journal
|
|
143
142
|
appends. If you want a recurring refresh, click the button on
|
|
144
143
|
whatever cadence makes sense for the repo (after a big refactor,
|
|
@@ -314,8 +313,6 @@ repository has a `localPath`:
|
|
|
314
313
|
|
|
315
314
|
## Related
|
|
316
315
|
|
|
317
|
-
- [Refresh repository architecture](../../guides/refresh-repository-architecture.md)
|
|
318
|
-
— focused walkthrough of the Refresh architecture button.
|
|
319
316
|
- [Git integration](../integrations/git.md) — the underlying observer
|
|
320
317
|
contract and `gitPollIntervalSeconds` semantics.
|
|
321
318
|
- [GitHub integration](../integrations/github.md) — remote-side data
|
|
@@ -3,6 +3,11 @@ schema_version: 1
|
|
|
3
3
|
slug: features/lifestyle/receipts
|
|
4
4
|
title: Receipts
|
|
5
5
|
id: receipts
|
|
6
|
+
aliases:
|
|
7
|
+
- receipts
|
|
8
|
+
- invoices
|
|
9
|
+
- expenses
|
|
10
|
+
- receipt files
|
|
6
11
|
category: features
|
|
7
12
|
summary: |
|
|
8
13
|
A SQLite-backed log of receipt and invoice attachments the Gmail
|
|
@@ -12,6 +17,7 @@ section: lifestyle
|
|
|
12
17
|
tags:
|
|
13
18
|
- lifestyle
|
|
14
19
|
- receipts
|
|
20
|
+
- mail
|
|
15
21
|
status: stable
|
|
16
22
|
ask_examples:
|
|
17
23
|
- Where are my receipts stored?
|
|
@@ -19,7 +25,14 @@ ask_examples:
|
|
|
19
25
|
- What does the receipts table track?
|
|
20
26
|
locale: en-US
|
|
21
27
|
created: 2026-04-25
|
|
22
|
-
updated: 2026-
|
|
28
|
+
updated: 2026-05-17
|
|
29
|
+
keywords:
|
|
30
|
+
- receipt
|
|
31
|
+
- invoice
|
|
32
|
+
- expense
|
|
33
|
+
- attachment
|
|
34
|
+
- PDF
|
|
35
|
+
- gmail receipts
|
|
23
36
|
related:
|
|
24
37
|
- features/lifestyle/reading
|
|
25
38
|
- features/lifestyle/travel-bookings
|
|
@@ -56,7 +69,9 @@ the SQLite row plus the optional Obsidian copy.
|
|
|
56
69
|
|
|
57
70
|
There is no dedicated tab today. Receipts surface inline when you ask
|
|
58
71
|
for them in chat (e.g. "what receipts haven't I saved yet?"). The
|
|
59
|
-
underlying API is documented in
|
|
72
|
+
underlying API is documented in
|
|
73
|
+
`agent-assets/skills/gmail-lifestyle/references/receipts-api.md`
|
|
74
|
+
(loaded by the `gmail-lifestyle` skill).
|
|
60
75
|
|
|
61
76
|
## Configuration
|
|
62
77
|
|
|
@@ -3,6 +3,12 @@ schema_version: 1
|
|
|
3
3
|
slug: features/lifestyle/travel-bookings
|
|
4
4
|
title: Travel Bookings
|
|
5
5
|
id: travel-bookings
|
|
6
|
+
aliases:
|
|
7
|
+
- travel
|
|
8
|
+
- bookings
|
|
9
|
+
- flights
|
|
10
|
+
- hotels
|
|
11
|
+
- trains
|
|
6
12
|
category: features
|
|
7
13
|
summary: |
|
|
8
14
|
A lightweight log of trips, flights, hotels, and confirmation
|
|
@@ -11,6 +17,7 @@ section: lifestyle
|
|
|
11
17
|
tags:
|
|
12
18
|
- lifestyle
|
|
13
19
|
- travel
|
|
20
|
+
- mail
|
|
14
21
|
status: stable
|
|
15
22
|
ask_examples:
|
|
16
23
|
- How do I log a flight?
|
|
@@ -18,6 +25,14 @@ ask_examples:
|
|
|
18
25
|
locale: en-US
|
|
19
26
|
created: 2026-04-25
|
|
20
27
|
updated: 2026-04-25
|
|
28
|
+
keywords:
|
|
29
|
+
- flight
|
|
30
|
+
- hotel
|
|
31
|
+
- booking
|
|
32
|
+
- trip
|
|
33
|
+
- itinerary
|
|
34
|
+
- trains
|
|
35
|
+
- restaurants
|
|
21
36
|
related:
|
|
22
37
|
- features/lifestyle/travel-time
|
|
23
38
|
---
|
|
@@ -15,7 +15,7 @@ section: lifestyle
|
|
|
15
15
|
tags:
|
|
16
16
|
- lifestyle
|
|
17
17
|
- travel
|
|
18
|
-
-
|
|
18
|
+
- skills
|
|
19
19
|
status: stable
|
|
20
20
|
ask_examples:
|
|
21
21
|
- How long will it take me to get to the airport?
|
|
@@ -23,6 +23,12 @@ ask_examples:
|
|
|
23
23
|
locale: en-US
|
|
24
24
|
created: 2026-04-25
|
|
25
25
|
updated: 2026-04-25
|
|
26
|
+
keywords:
|
|
27
|
+
- travel time
|
|
28
|
+
- departure time
|
|
29
|
+
- google maps
|
|
30
|
+
- commute
|
|
31
|
+
- ETA
|
|
26
32
|
related:
|
|
27
33
|
- features/lifestyle/travel-bookings
|
|
28
34
|
- features/operations/schedule-approaching
|
|
@@ -60,7 +60,7 @@ first person. Each entry has:
|
|
|
60
60
|
|
|
61
61
|
Unlike Activity, the journal is opinion-shaped. The evening review
|
|
62
62
|
adds the day's reflections; the weekly retro reads them back to
|
|
63
|
-
look for patterns
|
|
63
|
+
look for patterns.
|
|
64
64
|
|
|
65
65
|
## When It Runs / How It Is Triggered
|
|
66
66
|
|
|
@@ -82,7 +82,7 @@ look for patterns; the monthly retro distills them into trend notes.
|
|
|
82
82
|
|
|
83
83
|
- **Connections → Journal** is the read view of the file.
|
|
84
84
|
- **Settings → Journal** controls retention and which routines
|
|
85
|
-
contribute (currently always-on for evening / weekly
|
|
85
|
+
contribute (currently always-on for evening / weekly).
|
|
86
86
|
|
|
87
87
|
## Configuration
|
|
88
88
|
|
|
@@ -15,6 +15,7 @@ section: memory-files
|
|
|
15
15
|
tags:
|
|
16
16
|
- memory
|
|
17
17
|
- projects
|
|
18
|
+
- core
|
|
18
19
|
status: stable
|
|
19
20
|
ask_examples:
|
|
20
21
|
- Where do I find the per-project files?
|
|
@@ -22,6 +23,11 @@ ask_examples:
|
|
|
22
23
|
locale: en-US
|
|
23
24
|
created: 2026-04-25
|
|
24
25
|
updated: 2026-04-25
|
|
26
|
+
keywords:
|
|
27
|
+
- projects.md
|
|
28
|
+
- project file
|
|
29
|
+
- projects/<slug>.md
|
|
30
|
+
- active project
|
|
25
31
|
related:
|
|
26
32
|
- features/memory-files/roadmap
|
|
27
33
|
context_files:
|
|
@@ -68,14 +68,24 @@ Pair your messaging app first; see
|
|
|
68
68
|
| Command | What it does |
|
|
69
69
|
|---|---|
|
|
70
70
|
| `!help` | Lists every command currently registered — built-ins plus any custom user commands. |
|
|
71
|
-
| `!stop` | Pauses cron-driven autonomous work (hourly check, morning / evening / weekly
|
|
71
|
+
| `!stop` | Pauses cron-driven autonomous work (hourly check, morning / evening / weekly routines, scheduled tasks). In-flight runs are **not** aborted. |
|
|
72
72
|
| `!start` | Resumes autonomous work after `!stop`. |
|
|
73
|
+
| `!close` | Closes the active DM session for the current routing tuple so the next DM starts a fresh conversation. Returns `null` if no session was open. |
|
|
73
74
|
| `!cost` | Last-7-day spend across all backends. |
|
|
74
|
-
| `!cost claude` / `!cost codex` / `!cost gemini` | Spend for a single backend. |
|
|
75
|
+
| `!cost claude` / `!cost codex` / `!cost gemini` / `!cost opencode` | Spend for a single backend (one row per registered backend). |
|
|
75
76
|
| `!report` | Recent agent failures (last 7 days, top groups, most recent sample). |
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
| `!wiki` | Wiki status snapshot (workspaces, recent ingests / compiles, queue depth). |
|
|
78
|
+
| `!ingest <url>` | Ingest a URL into the wiki raw layer. Enqueues `wiki.ingest_url`. |
|
|
79
|
+
| `!compile [full]` | Run wiki compile (raw → wiki synthesis). `full` mode crosses the per-workspace cost threshold and routes through the dashboard approval queue. |
|
|
80
|
+
| `!ask <question>` | Q&A against the compiled wiki. Reply lands back on the same channel. |
|
|
81
|
+
| `!lint` | Wiki health pass — writes `90_meta/health/<date>.md`. |
|
|
82
|
+
| `!trace <idea>` | Chronological evolution of an idea across raw / wiki / outputs layers. |
|
|
83
|
+
| `!connect <A> <B>` | Bridge two domains; writes `30_outputs/<date>-connect-<slug>.md`. |
|
|
84
|
+
|
|
85
|
+
Wiki commands accept an optional `@<workspace>` suffix
|
|
86
|
+
(e.g. `!compile @work`) to target a specific workspace when multiple
|
|
87
|
+
are configured. Custom commands added at `/settings/commands` show
|
|
88
|
+
up in `!help` automatically — no restart needed.
|
|
79
89
|
|
|
80
90
|
## How They Look
|
|
81
91
|
|
|
@@ -127,8 +137,8 @@ enabled user commands at `/settings/commands`.
|
|
|
127
137
|
opened. Every invocation writes one `bang_command` row to
|
|
128
138
|
`agent_actions` for the activity log.
|
|
129
139
|
- **While paused**, any DM (bang or not) replies with the paused
|
|
130
|
-
notice; only `!start`, `!cost`, `!report`, and `!
|
|
131
|
-
run.
|
|
140
|
+
notice; only `!start`, `!cost`, `!report`, `!help`, and `!close`
|
|
141
|
+
continue to run.
|
|
132
142
|
- **Replies land where the command did** — same platform, same
|
|
133
143
|
channel, same thread.
|
|
134
144
|
|
|
@@ -149,9 +159,9 @@ window version.
|
|
|
149
159
|
- **The reply lists fewer commands than you expect.** `!help` only
|
|
150
160
|
lists *enabled* user commands. Toggle the row on at
|
|
151
161
|
`/settings/commands`.
|
|
152
|
-
- **`!cost foo` says "unknown command".**
|
|
153
|
-
|
|
154
|
-
argument) covers all
|
|
162
|
+
- **`!cost foo` says "unknown command".** Valid backend arguments
|
|
163
|
+
match the registered backends — `claude`, `codex`, `gemini`,
|
|
164
|
+
`opencode`. Plain `!cost` (no argument) covers all of them.
|
|
155
165
|
|
|
156
166
|
## Related
|
|
157
167
|
|
|
@@ -3,6 +3,10 @@ schema_version: 1
|
|
|
3
3
|
slug: features/messaging/discord
|
|
4
4
|
title: Discord
|
|
5
5
|
id: discord
|
|
6
|
+
aliases:
|
|
7
|
+
- discord bot
|
|
8
|
+
- discord adapter
|
|
9
|
+
- discord pairing
|
|
6
10
|
category: features
|
|
7
11
|
summary: |
|
|
8
12
|
Pair Discord by creating a bot in the developer portal, pasting the
|
|
@@ -11,13 +15,20 @@ summary: |
|
|
|
11
15
|
section: messaging
|
|
12
16
|
tags:
|
|
13
17
|
- messaging
|
|
14
|
-
-
|
|
18
|
+
- integrations
|
|
19
|
+
- discord
|
|
15
20
|
status: stable
|
|
16
21
|
ask_examples:
|
|
17
22
|
- How do I pair Discord?
|
|
18
23
|
locale: en-US
|
|
19
24
|
created: 2026-04-25
|
|
20
25
|
updated: 2026-04-25
|
|
26
|
+
keywords:
|
|
27
|
+
- discord
|
|
28
|
+
- bot token
|
|
29
|
+
- DM
|
|
30
|
+
- owner channel
|
|
31
|
+
- messaging adapter
|
|
21
32
|
related:
|
|
22
33
|
- features/messaging/overview
|
|
23
34
|
- features/messaging/pairing-and-magic-phrase
|
|
@@ -18,6 +18,7 @@ section: messaging
|
|
|
18
18
|
tags:
|
|
19
19
|
- core
|
|
20
20
|
- messaging
|
|
21
|
+
- integrations
|
|
21
22
|
status: stable
|
|
22
23
|
ask_examples:
|
|
23
24
|
- How do I pair my phone with the agent?
|
|
@@ -43,7 +44,6 @@ related:
|
|
|
43
44
|
- features/messaging/discord
|
|
44
45
|
- features/messaging/whatsapp
|
|
45
46
|
- features/messaging/dashboard-chat
|
|
46
|
-
- features/messaging/voice-attachments
|
|
47
47
|
- features/messaging/bang-commands
|
|
48
48
|
- features/operations/notifications
|
|
49
49
|
- features/operations/quiet-hours
|
|
@@ -65,14 +65,19 @@ notification fires.
|
|
|
65
65
|
## What It Does
|
|
66
66
|
|
|
67
67
|
- **Reactive DMs**: the agent answers every direct message you send.
|
|
68
|
-
-
|
|
69
|
-
|
|
68
|
+
- **@-mentions**: in Slack, @-mentioning the agent inside a shared
|
|
69
|
+
channel routes to `message.mention` and is answered the same way
|
|
70
|
+
as a DM. Telegram, Discord, and WhatsApp drop all non-DM traffic
|
|
71
|
+
(no group support); multi-user DMs (Slack `mpim`) are also
|
|
72
|
+
filtered out — Aitne is single-owner by design.
|
|
70
73
|
- **Outbound notifications**: routines and observations fire alerts
|
|
71
74
|
back through the same channel.
|
|
72
75
|
- **Voice attachments**: when the platform attaches audio (Telegram
|
|
73
76
|
voice notes, WhatsApp voice messages, etc.), the daemon transcribes
|
|
74
|
-
it locally with Whisper before handing the turn to the agent.
|
|
75
|
-
|
|
77
|
+
it locally with Whisper before handing the turn to the agent.
|
|
78
|
+
Transcription runs entirely on your machine — no audio is shipped
|
|
79
|
+
to a cloud API. Configurable via the `PA_VOICE_TRANSCRIPTION_*`
|
|
80
|
+
env vars (model, language, duration cap).
|
|
76
81
|
- **Magic-phrase pairing**: the operator types a one-time phrase to
|
|
77
82
|
bind their account to the agent (anti-impersonation).
|
|
78
83
|
|
|
@@ -117,7 +122,5 @@ adapter and the dispatcher both check).
|
|
|
117
122
|
- [Pairing & Magic Phrase](pairing-and-magic-phrase.md)
|
|
118
123
|
- [Bang Commands](bang-commands.md) — `!stop` / `!start` / `!cost` /
|
|
119
124
|
`!report` / `!help` for mobile-first daemon control.
|
|
120
|
-
- [Voice Attachments](voice-attachments.md) — local Whisper
|
|
121
|
-
transcription for inbound audio.
|
|
122
125
|
- [Dashboard Chat](dashboard-chat.md) — the in-browser equivalent.
|
|
123
126
|
- [Notifications](../operations/notifications.md)
|