@aitne-sh/aitne 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +218 -161
- package/agent-assets/agent-profiles/_safety.md +3 -3
- package/agent-assets/agent-profiles/browser-task.md +108 -0
- package/agent-assets/agent-profiles/conversational.md +3 -3
- package/agent-assets/agent-profiles/profile-importer.md +2 -2
- package/agent-assets/agent-profiles/routine-fetch-window.md +30 -19
- package/agent-assets/agents/context-index-reconcile/agent.md +52 -0
- package/agent-assets/agents/evening-review/agent.md +53 -0
- package/agent-assets/agents/hourly-check/agent.md +62 -0
- package/agent-assets/agents/monthly-review/agent.md +55 -0
- package/agent-assets/agents/morning-routine/agent.md +78 -0
- package/agent-assets/agents/roadmap-maintenance/agent.md +52 -0
- package/agent-assets/agents/skill-curation/agent.md +52 -0
- package/agent-assets/agents/user-profile-sweep-evening/agent.md +48 -0
- package/agent-assets/agents/user-profile-sweep-morning/agent.md +53 -0
- package/agent-assets/agents/weekly-review/agent.md +51 -0
- package/agent-assets/docs/concepts/agent-day.md +13 -11
- package/agent-assets/docs/concepts/auth-health.md +47 -10
- package/agent-assets/docs/concepts/backends-and-tiers.md +66 -31
- package/agent-assets/docs/concepts/costs-and-quotas.md +50 -15
- package/agent-assets/docs/concepts/delegated-mode.md +52 -13
- package/agent-assets/docs/concepts/memory-model.md +72 -32
- package/agent-assets/docs/concepts/observations.md +49 -11
- package/agent-assets/docs/concepts/process-keys.md +56 -22
- package/agent-assets/docs/concepts/routines.md +60 -33
- package/agent-assets/docs/concepts/safety-and-execution.md +50 -21
- package/agent-assets/docs/concepts/safety-model.md +42 -34
- package/agent-assets/docs/concepts/skills.md +33 -17
- package/agent-assets/docs/features/integrations/browser-history.md +195 -0
- package/agent-assets/docs/features/integrations/calendar.md +39 -29
- package/agent-assets/docs/features/integrations/git.md +18 -7
- package/agent-assets/docs/features/integrations/github.md +84 -33
- package/agent-assets/docs/features/integrations/mail.md +59 -16
- package/agent-assets/docs/features/integrations/notion.md +18 -6
- package/agent-assets/docs/features/integrations/obsidian.md +28 -5
- package/agent-assets/docs/features/lifestyle/git.md +42 -38
- package/agent-assets/docs/features/lifestyle/reading.md +50 -22
- package/agent-assets/docs/features/lifestyle/receipts.md +51 -21
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +76 -14
- package/agent-assets/docs/features/memory-files/agent-journal.md +111 -50
- package/agent-assets/docs/features/memory-files/projects.md +71 -17
- package/agent-assets/docs/features/memory-files/roadmap.md +50 -10
- package/agent-assets/docs/features/memory-files/schedule.md +113 -70
- package/agent-assets/docs/features/memory-files/today.md +46 -21
- package/agent-assets/docs/features/memory-files/user-profile.md +63 -33
- package/agent-assets/docs/features/messaging/bang-commands.md +113 -36
- package/agent-assets/docs/features/messaging/dashboard-chat.md +43 -21
- package/agent-assets/docs/features/messaging/discord.md +35 -4
- package/agent-assets/docs/features/messaging/overview.md +37 -19
- package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +94 -27
- package/agent-assets/docs/features/messaging/slack.md +67 -14
- package/agent-assets/docs/features/messaging/telegram.md +18 -5
- package/agent-assets/docs/features/messaging/whatsapp.md +71 -17
- package/agent-assets/docs/features/operations/activity-and-conversations.md +44 -15
- package/agent-assets/docs/features/operations/approvals.md +48 -16
- package/agent-assets/docs/features/operations/backend-routing.md +68 -16
- package/agent-assets/docs/features/operations/cost-tracking.md +84 -17
- package/agent-assets/docs/features/operations/managed-chromium.md +221 -0
- package/agent-assets/docs/features/operations/notifications.md +52 -11
- package/agent-assets/docs/features/operations/quiet-hours.md +63 -40
- package/agent-assets/docs/features/operations/schedule-approaching.md +54 -24
- package/agent-assets/docs/features/routines/custom-routines.md +88 -20
- package/agent-assets/docs/features/routines/evening-review.md +74 -21
- package/agent-assets/docs/features/routines/hourly-check.md +149 -29
- package/agent-assets/docs/features/routines/morning-routine.md +53 -35
- package/agent-assets/docs/features/routines/weekly-review.md +40 -21
- package/agent-assets/docs/features/wiki/commands.md +26 -16
- package/agent-assets/docs/features/wiki/cost-and-approval.md +240 -0
- package/agent-assets/docs/features/wiki/dashboard.md +255 -0
- package/agent-assets/docs/features/wiki/overview.md +68 -10
- package/agent-assets/docs/features/wiki/search.md +248 -0
- package/agent-assets/docs/features/wiki/workspaces.md +254 -0
- package/agent-assets/docs/getting-started/01-what-is-this.md +34 -23
- package/agent-assets/docs/getting-started/02-first-steps.md +13 -8
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +25 -14
- package/agent-assets/docs/getting-started/04-first-day.md +38 -20
- package/agent-assets/docs/glossary.md +235 -24
- package/agent-assets/docs/guides/add-a-custom-routine.md +63 -23
- package/agent-assets/docs/guides/backup-and-restore.md +80 -16
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +56 -25
- package/agent-assets/docs/guides/build-your-wiki.md +22 -9
- package/agent-assets/docs/guides/change-which-model-handles-x.md +64 -10
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +64 -15
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +28 -11
- package/agent-assets/docs/guides/import-knowledge-file.md +50 -40
- package/agent-assets/docs/guides/install-and-run.md +48 -19
- package/agent-assets/docs/guides/maintain-wiki-health.md +35 -10
- package/agent-assets/docs/guides/migrate-machines.md +74 -18
- package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +111 -60
- package/agent-assets/docs/guides/pause-the-agent.md +65 -24
- package/agent-assets/docs/guides/reinstall-cleanly.md +88 -18
- package/agent-assets/docs/guides/setup-wizard.md +113 -54
- package/agent-assets/docs/guides/switch-default-backend.md +62 -16
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +26 -10
- package/agent-assets/docs/reference/api.md +143 -32
- package/agent-assets/docs/reference/cli-commands.md +38 -17
- package/agent-assets/docs/reference/config.md +224 -49
- package/agent-assets/docs/reference/disallowed-tools.md +29 -10
- package/agent-assets/docs/reference/keyboard-shortcuts.md +34 -10
- package/agent-assets/docs/reference/knowledge-layout.md +620 -0
- package/agent-assets/docs/reference/process-keys.md +61 -5
- package/agent-assets/docs/reference/skills.md +38 -12
- package/agent-assets/docs/troubleshooting/auth-failed.md +48 -19
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +90 -28
- package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +86 -22
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +68 -24
- package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +80 -20
- package/agent-assets/docs/troubleshooting/observation-not-detected.md +73 -21
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +29 -5
- package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +126 -54
- package/agent-assets/docs/troubleshooting/wiki-write-failed.md +29 -12
- package/agent-assets/optimizer-skills/drift-analysis/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/knowledge-map/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/skill-curation/SKILL.md +1 -1
- package/agent-assets/sandbox/linux/aitne-chromium.apparmor +91 -0
- package/agent-assets/sandbox/macos/aitne-chromium.sb +156 -0
- package/agent-assets/skills/agent-actions/SKILL.md +2 -2
- package/agent-assets/skills/agent-create/SKILL.md +149 -0
- package/agent-assets/skills/attach/SKILL.md +2 -2
- package/agent-assets/skills/browser-history/SKILL.md +198 -0
- package/agent-assets/skills/browser-history-respond/SKILL.md +106 -0
- package/agent-assets/skills/browser-task/SKILL.md +169 -0
- package/agent-assets/skills/context/SKILL.md +12 -12
- package/agent-assets/skills/context/curation.json +2 -2
- package/agent-assets/skills/context/references/api.md +43 -31
- package/agent-assets/skills/context/references/required-frontmatter.md +3 -3
- package/agent-assets/skills/context/references/snapshot-files.md +6 -6
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +3 -3
- package/agent-assets/skills/docs-search/SKILL.md +4 -3
- package/agent-assets/skills/external-services/SKILL.delegated.claude.md +11 -21
- package/agent-assets/skills/external-services/SKILL.delegated.codex.md +11 -21
- package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +11 -21
- package/agent-assets/skills/external-services/SKILL.md +3 -3
- package/agent-assets/skills/external-services/SKILL.native.claude.md +5 -5
- package/agent-assets/skills/external-services/SKILL.native.codex.md +7 -7
- package/agent-assets/skills/external-services/SKILL.native.gemini.md +4 -4
- package/agent-assets/skills/external-services/references/calendar-apple.md +2 -2
- package/agent-assets/skills/external-services/references/calendar-outlook.md +1 -1
- package/agent-assets/skills/external-services/references/obsidian.md +2 -2
- package/agent-assets/skills/gmail-lifestyle/SKILL.md +9 -82
- package/agent-assets/skills/mail/SKILL.delegated.claude.md +14 -5
- package/agent-assets/skills/mail/SKILL.delegated.codex.md +8 -4
- package/agent-assets/skills/mail/SKILL.delegated.gemini.md +8 -4
- package/agent-assets/skills/mail/references/api.md +4 -2
- package/agent-assets/skills/mail/references/providers.md +1 -1
- package/agent-assets/skills/managed-tasks/SKILL.md +9 -9
- package/agent-assets/skills/managed-tasks/references/errors.md +9 -6
- package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +1 -1
- package/agent-assets/skills/management-policy/SKILL.md +32 -31
- package/agent-assets/skills/management-policy/curation.json +1 -1
- package/agent-assets/skills/management-policy/references/policy-workflow.md +9 -9
- package/agent-assets/skills/management-policy/seeds/policy-file-shape.seed.json +1 -1
- package/agent-assets/skills/notify/SKILL.md +4 -4
- package/agent-assets/skills/notify/references/priority.md +9 -4
- 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.native.claude.md +10 -6
- package/agent-assets/skills/notion/SKILL.native.codex.md +9 -4
- package/agent-assets/skills/notion/SKILL.native.gemini.md +9 -4
- package/agent-assets/skills/observations/SKILL.md +24 -8
- package/agent-assets/skills/project-doc/SKILL.md +1 -1
- package/agent-assets/skills/project-doc/curation.json +3 -3
- package/agent-assets/skills/project-doc/seeds/project-shape.seed.json +7 -4
- package/agent-assets/skills/project-doc/seeds/slug-grammar.seed.json +3 -3
- package/agent-assets/skills/reading/SKILL.md +10 -0
- package/agent-assets/skills/reading/references/reading-taste.md +2 -2
- package/agent-assets/skills/roadmap/SKILL.md +5 -5
- package/agent-assets/skills/roadmap/curation.json +1 -1
- package/agent-assets/skills/roadmap/references/api.md +7 -7
- package/agent-assets/skills/roadmap/references/cross-check.md +15 -8
- package/agent-assets/skills/roadmap/references/migration.md +4 -4
- package/agent-assets/skills/roadmap/seeds/entry-types.seed.json +1 -1
- package/agent-assets/skills/schedule/SKILL.md +42 -34
- package/agent-assets/skills/schedule/references/batch.md +2 -2
- package/agent-assets/skills/schedule/references/errors.md +7 -4
- package/agent-assets/skills/schedule/references/model-selection.md +3 -3
- package/agent-assets/skills/schedule/references/recurrence-rule.md +1 -1
- package/agent-assets/skills/scheduled-managed-task/SKILL.md +46 -36
- package/agent-assets/skills/today/SKILL.md +9 -9
- package/agent-assets/skills/today/curation.json +3 -3
- package/agent-assets/skills/today/references/agent-plan-lifecycle.md +6 -5
- package/agent-assets/skills/today/seeds/section-shape.seed.json +1 -1
- package/agent-assets/skills/user-interview/SKILL.md +12 -9
- package/agent-assets/skills/user-interview/references/op-briefing.md +2 -2
- package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +8 -0
- package/agent-assets/skills/user-profile/SKILL.md +17 -17
- package/agent-assets/skills/user-profile/curation.json +2 -2
- package/agent-assets/skills/user-profile/references/character-preferences.md +2 -2
- package/agent-assets/skills/user-profile/seeds/routing-table.seed.json +8 -8
- package/agent-assets/skills/user-profile/seeds/topic-files.seed.json +6 -6
- package/agent-assets/skills/wiki/wiki-compile/SKILL.md +4 -4
- package/agent-assets/system-prompts/routine-fetch-window.md +22 -12
- package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +4 -2
- package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +4 -2
- package/agent-assets/task-flows/_partials/capture-user-info.md +2 -2
- package/agent-assets/task-flows/_partials/dm-intent.long-horizon.md +1 -1
- package/agent-assets/task-flows/_partials/dm-intent.project.md +9 -9
- package/agent-assets/task-flows/_partials/mail-acquire.outlook_mail.md +3 -2
- package/agent-assets/task-flows/_partials/notion-acquire.notion.md +10 -5
- package/agent-assets/task-flows/browser_task.md +84 -0
- package/agent-assets/task-flows/github.assigned.md +1 -1
- package/agent-assets/task-flows/github.pull_request.review_requested.md +2 -2
- package/agent-assets/task-flows/github.workflow_run.failed.md +2 -2
- package/agent-assets/task-flows/knowledge.import.md +14 -14
- package/agent-assets/task-flows/message.received.dm.md +9 -4
- package/agent-assets/task-flows/message.received.dm_first.md +3 -3
- package/agent-assets/task-flows/routine.custom.md +3 -3
- package/agent-assets/task-flows/routine.evening_review.md +8 -8
- package/agent-assets/task-flows/routine.fetch_window.md +2 -2
- package/agent-assets/task-flows/routine.hourly_check.md +16 -12
- package/agent-assets/task-flows/routine.monthly_review.md +21 -21
- package/agent-assets/task-flows/routine.morning_routine_journal.md +119 -97
- package/agent-assets/task-flows/routine.morning_routine_today.md +43 -43
- package/agent-assets/task-flows/routine.research_cluster_update.md +35 -0
- package/agent-assets/task-flows/routine.research_dispatch.md +38 -0
- package/agent-assets/task-flows/routine.research_offer_dm.md +125 -0
- package/agent-assets/task-flows/routine.research_wiki_summary.md +53 -0
- package/agent-assets/task-flows/routine.roadmap_refresh.md +10 -10
- package/agent-assets/task-flows/routine.today_refresh.md +4 -4
- package/agent-assets/task-flows/routine.user_profile_sweep.md +10 -10
- package/agent-assets/task-flows/routine.weekly_review.md +93 -24
- package/agent-assets/task-flows/schedule.approaching.md +0 -1
- package/agent-assets/task-flows/scheduled.dm.md +5 -5
- package/agent-assets/task-flows/scheduled.task.md +4 -4
- package/agent-assets/task-flows/setup.initial.md +21 -21
- package/agent-assets/task-flows/setup.update.md +2 -2
- package/agent-assets/templates/README.md +27 -20
- package/agent-assets/templates/_index.md +42 -26
- package/agent-assets/templates/_manifest.json +34 -99
- package/agent-assets/templates/{user → identity}/_index.md +1 -1
- package/agent-assets/templates/{user → identity}/profile.md +2 -2
- package/agent-assets/templates/{dossiers → knowledge/dossiers}/_index.md +1 -1
- package/agent-assets/templates/{projects → plans/projects}/_active.base +1 -1
- package/agent-assets/templates/policies/_index.md +21 -0
- package/agent-assets/templates/{rules → policies}/journal-export.md +1 -1
- package/agent-assets/templates/{rules → policies}/journal-format.md +5 -5
- package/agent-assets/templates/{rules/policies → policies/management-captures}/_index.md +2 -2
- package/agent-assets/templates/{rules → policies}/management.md +3 -3
- package/agent-assets/templates/{rules → policies}/mcp.md +1 -1
- package/agent-assets/templates/{rules → policies}/redaction.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/_index.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/evening.md +2 -2
- package/agent-assets/templates/{routines → policies/routines}/hourly.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/monthly.md +2 -2
- package/bin/aitne.mjs +13 -4
- package/package.json +5 -4
- package/scripts/commands/doctor.mjs +14 -8
- package/scripts/commands/run-now.mjs +6 -21
- package/scripts/lib/ports.d.mts +27 -0
- package/scripts/lib/ports.mjs +36 -0
- package/scripts/lib/read-api-token.mjs +176 -0
- package/scripts/start.mjs +2 -1
- package/agent-assets/docs/features/lifestyle/travel-time.md +0 -58
- package/agent-assets/skills/gmail-lifestyle/references/travel-time-api.md +0 -59
- package/agent-assets/skills/schedule/references/recurring.md +0 -185
- package/agent-assets/templates/context-index.md +0 -42
- package/agent-assets/templates/rules/_index.md +0 -19
- /package/agent-assets/templates/{user → identity}/expertise.md +0 -0
- /package/agent-assets/templates/{user → identity}/goals.md +0 -0
- /package/agent-assets/templates/{user → identity}/people.md +0 -0
- /package/agent-assets/templates/{user → identity}/personal.md +0 -0
- /package/agent-assets/templates/{user → identity}/work.md +0 -0
- /package/agent-assets/templates/{agent/journal.md → journal/agent.md} +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/evening.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/hourly.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/monthly.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/morning.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/roadmap.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/weekly.md +0 -0
- /package/agent-assets/templates/{projects → plans/projects}/_index.md +0 -0
- /package/agent-assets/templates/{roadmap.md → plans/roadmap.md} +0 -0
- /package/agent-assets/templates/{routines → policies/routines}/morning.md +0 -0
- /package/agent-assets/templates/{routines → policies/routines}/weekly.md +0 -0
- /package/agent-assets/templates/{agent → state}/profile-questions.md +0 -0
- /package/agent-assets/templates/{today.md → state/today.md} +0 -0
|
@@ -10,24 +10,31 @@ aliases:
|
|
|
10
10
|
- runtime config
|
|
11
11
|
category: reference
|
|
12
12
|
summary: |
|
|
13
|
-
|
|
14
|
-
(
|
|
13
|
+
Source-of-truth map for AgentConfig — where each field is set
|
|
14
|
+
(env, dashboard PATCH, OS keychain), which fields require a restart,
|
|
15
|
+
and pointers to the canonical key tuples in shared/.
|
|
15
16
|
section: config
|
|
16
17
|
tags:
|
|
17
18
|
- core
|
|
18
19
|
- reference
|
|
19
20
|
- config
|
|
20
21
|
- operations
|
|
22
|
+
- backends
|
|
21
23
|
status: stable
|
|
22
24
|
ask_examples:
|
|
23
25
|
- What configuration keys does the agent expose?
|
|
24
26
|
- Where does config get loaded from?
|
|
25
27
|
- How do I change the day boundary?
|
|
26
28
|
- Which config keys are runtime-editable from the dashboard?
|
|
29
|
+
- Which keys need a daemon restart?
|
|
30
|
+
- Where is the pre-pass freshness window set?
|
|
31
|
+
- What is the default daily cost cap?
|
|
27
32
|
locale: en-US
|
|
28
33
|
keywords:
|
|
29
34
|
- AgentConfig
|
|
30
35
|
- applyConfigUpdates
|
|
36
|
+
- EDITABLE_RUNTIME_KEY_TUPLE
|
|
37
|
+
- RESTART_REQUIRED_KEY_TUPLE
|
|
31
38
|
- dayBoundaryHour
|
|
32
39
|
- hourlyCheckIntervalMinutes
|
|
33
40
|
- quietHoursStart
|
|
@@ -35,72 +42,240 @@ keywords:
|
|
|
35
42
|
- executeTimeoutMinutes
|
|
36
43
|
- autonomousDailyCostCapUsd
|
|
37
44
|
- allowedToolsOverride
|
|
45
|
+
- voiceTranscriptionEnabled
|
|
46
|
+
- hourlyCheckPrePassFreshnessMinutes
|
|
47
|
+
- vaultMode
|
|
38
48
|
- PA_DATA_DIR
|
|
39
49
|
- PA_API_PORT
|
|
50
|
+
config_keys:
|
|
51
|
+
- dayBoundaryHour
|
|
52
|
+
- timezone
|
|
53
|
+
- primaryLanguage
|
|
54
|
+
- vaultMode
|
|
55
|
+
- hourlyCheckEnabled
|
|
56
|
+
- hourlyCheckIntervalMinutes
|
|
57
|
+
- hourlyCheckPrePassFreshnessMinutes
|
|
58
|
+
- quietHoursStart
|
|
59
|
+
- quietHoursEnd
|
|
60
|
+
- maxNotificationsPerHour
|
|
61
|
+
- maxNotificationsPerDay
|
|
62
|
+
- maxConcurrentSessions
|
|
63
|
+
- maxReactiveSessions
|
|
64
|
+
- executeTimeoutMinutes
|
|
65
|
+
- autonomousDailyCostCapUsd
|
|
66
|
+
- autonomousMonthlyCostCapUsd
|
|
67
|
+
- disallowedTools
|
|
68
|
+
- allowedToolsOverride
|
|
69
|
+
- claudeExecutionPermissionMode
|
|
70
|
+
- enabledMailProviders
|
|
71
|
+
- voiceTranscriptionEnabled
|
|
72
|
+
- advisorEnabled
|
|
73
|
+
- advisorModel
|
|
74
|
+
api_endpoints:
|
|
75
|
+
- PATCH /api/config
|
|
76
|
+
- POST /api/voice/install
|
|
77
|
+
ui_anchors:
|
|
78
|
+
- /settings/advanced
|
|
79
|
+
- /settings/models
|
|
40
80
|
created: 2026-04-25
|
|
41
|
-
updated: 2026-05-
|
|
81
|
+
updated: 2026-05-28
|
|
42
82
|
related:
|
|
43
83
|
- reference/api
|
|
44
84
|
- reference/cli-commands
|
|
85
|
+
- reference/disallowed-tools
|
|
86
|
+
- concepts/safety-and-execution
|
|
45
87
|
---
|
|
46
88
|
|
|
47
89
|
# Config Reference
|
|
48
90
|
|
|
49
|
-
The full
|
|
50
|
-
|
|
51
|
-
`
|
|
91
|
+
The full `AgentConfig` schema lives in
|
|
92
|
+
`packages/daemon/src/config.ts`. Three canonical tuples in
|
|
93
|
+
`packages/shared/src/editable-config-keys.ts` govern what is editable
|
|
94
|
+
and when:
|
|
95
|
+
|
|
96
|
+
- **`EDITABLE_RUNTIME_KEY_TUPLE`** — the ~80 keys mutable at runtime
|
|
97
|
+
via `PATCH /api/config`. Both the daemon and the dashboard import
|
|
98
|
+
from this tuple so the accepted-key set is enforced at compile time
|
|
99
|
+
in both packages.
|
|
100
|
+
- **`RESTART_REQUIRED_KEY_TUPLE`** — runtime-editable keys whose
|
|
101
|
+
change does not apply to a running worker (the dashboard renders a
|
|
102
|
+
restart-required badge for these).
|
|
103
|
+
- **`EDITABLE_BOOTSTRAP_KEY_TUPLE`** — `apiPort` only, written to
|
|
104
|
+
`.env` because it's read before the daemon binds.
|
|
105
|
+
|
|
106
|
+
Anything not in those tuples must be set via env or restart.
|
|
107
|
+
|
|
108
|
+
## Where Each Field Comes From
|
|
109
|
+
|
|
110
|
+
| Source | What lives there |
|
|
111
|
+
|---|---|
|
|
112
|
+
| `.env` | `PA_DATA_DIR`, `PA_API_PORT`, log level, the bootstrap port from `EDITABLE_BOOTSTRAP_KEY_TUPLE`. Chmod 0600 on first launch; never store secrets here. |
|
|
113
|
+
| OS keychain | All secrets — backend API keys, messaging tokens, OAuth grants. Resolved via `PlatformSecretStore` (macOS Keychain / Windows DPAPI / Linux libsecret or AES-GCM file). |
|
|
114
|
+
| `settings` DB table | Runtime-edited values from `EDITABLE_RUNTIME_KEY_TUPLE`, merged on top of env at boot via `mergeRuntimeSettingsFromDb`. |
|
|
115
|
+
| `runtime_state` DB table | Operational state that the agent or daemon writes (pause flag, integration flip locks, pre-pass freshness, B-4 toggles). Not editable as config. |
|
|
52
116
|
|
|
53
117
|
## Selected Keys
|
|
54
118
|
|
|
55
|
-
|
|
119
|
+
A representative slice of `EDITABLE_RUNTIME_KEY_TUPLE` — the full list
|
|
120
|
+
of ~80 keys is in `editable-config-keys.ts`. Names below are exact and
|
|
121
|
+
case-sensitive.
|
|
122
|
+
|
|
123
|
+
### Identity and timezone
|
|
124
|
+
|
|
125
|
+
| Key | Type | Notes |
|
|
126
|
+
|---|---|---|
|
|
127
|
+
| `agentDisplayName` | string | What the agent calls itself in DMs. |
|
|
128
|
+
| `character` | string | Persona key (one of the entries in `agent-assets/agent-profiles/`). |
|
|
129
|
+
| `timezone` | IANA tz | Empty falls back to the system tz. |
|
|
130
|
+
| `dayBoundaryHour` | 0–9 | Default `4`. Controls the agent-day rollover (must be an early-morning hour). |
|
|
131
|
+
| `primaryLanguage` | BCP-47 | Output language for DMs, journal, and Obsidian writes. Templates stay English-headered. |
|
|
132
|
+
| `vaultMode` | enum | Where context lives — `plain` (default; `<dataDir>/context`) or `obsidian` (an external Obsidian vault). |
|
|
133
|
+
|
|
134
|
+
### Hourly check and gate
|
|
135
|
+
|
|
136
|
+
| Key | Type | Notes |
|
|
137
|
+
|---|---|---|
|
|
138
|
+
| `hourlyCheckEnabled` | boolean | Default `true`. |
|
|
139
|
+
| `hourlyCheckIntervalMinutes` | number | Default `60`. |
|
|
140
|
+
| `hourlyCheckActiveStartHour` | 0–23 | Default `4`. |
|
|
141
|
+
| `hourlyCheckActiveEndHour` | 1–24 | End-exclusive; `24` ≡ midnight. |
|
|
142
|
+
| `hourlyCheckMinObservations` | number | Default `1`. |
|
|
143
|
+
| `hourlyCheckStage2Enabled` | boolean | cost-reduction-structural §B Stage 2 toggle. |
|
|
144
|
+
| `hourlyCheckHeartbeatHours` | number | Quiet-day heartbeat cadence. |
|
|
145
|
+
| `hourlyCheckLowSignalPendingCeiling` | number | Low-signal ceiling before forcing dispatch. |
|
|
146
|
+
| `hourlyCheckPrePassFreshnessMinutes` | number | Layer-1 freshness window — `harvestForGate` skips a per-integration fetch if `runtime_state.pre_pass_last_run:<key>` is fresher. |
|
|
147
|
+
|
|
148
|
+
### Notifications and quiet hours
|
|
149
|
+
|
|
150
|
+
| Key | Type | Notes |
|
|
151
|
+
|---|---|---|
|
|
152
|
+
| `quietHoursStart` / `quietHoursEnd` | `HH:MM` | Defaults `"22:00"` / `"08:00"`. |
|
|
153
|
+
| `maxNotificationsPerHour` | number | Default `3`. |
|
|
154
|
+
| `maxNotificationsPerDay` | number | Default `12`. |
|
|
155
|
+
| `batchIntervalMinutes` | number | Notification batching window. |
|
|
156
|
+
| `primaryPlatform` | enum | Channel the agent defaults to for new DMs. |
|
|
157
|
+
| `defaultNotificationPlatforms` | enum[] | Fan-out set. |
|
|
158
|
+
|
|
159
|
+
### Sessions and execution
|
|
160
|
+
|
|
161
|
+
| Key | Type | Notes |
|
|
56
162
|
|---|---|---|
|
|
57
|
-
| `
|
|
58
|
-
| `
|
|
59
|
-
| `
|
|
60
|
-
| `
|
|
61
|
-
| `
|
|
62
|
-
| `
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
|
67
|
-
|
|
68
|
-
| `
|
|
69
|
-
| `
|
|
70
|
-
| `
|
|
71
|
-
| `
|
|
72
|
-
| `
|
|
73
|
-
| `
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
|
78
|
-
|
|
79
|
-
| `
|
|
80
|
-
| `
|
|
81
|
-
| `
|
|
82
|
-
| `
|
|
83
|
-
| `
|
|
84
|
-
| `
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
###
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
`
|
|
163
|
+
| `maxConcurrentSessions` | number | Default `3`. |
|
|
164
|
+
| `maxReactiveSessions` | number | Sub-cap reserved for DM/mention work. |
|
|
165
|
+
| `executeTimeoutMinutes` | number | Per-execute wall-clock cap. |
|
|
166
|
+
| `sessionTimeoutDmMinutes` / `…ChannelMinutes` / `…DashboardMinutes` | number | Idle TTLs per surface. |
|
|
167
|
+
| `historyInjectionMaxMessages` / `…MaxTokens` | number | History-window caps for next-turn injection. |
|
|
168
|
+
| `autonomousDailyCostCapUsd` / `…MonthlyCostCapUsd` | number / null | Spend ceilings for autonomous work; default `null` (off). When set, must be positive. The daily cap makes the dispatcher skip autonomous sessions once the day's cumulative cost exceeds it — reactive DMs/mentions always pass through. The monthly cap is a notifications-only soft cap (no dispatcher enforcement). Distinct from the removed Phase-9 `maxDailyCostUsd`, which blanket-blocked every session. |
|
|
169
|
+
|
|
170
|
+
### Safety and execution mode
|
|
171
|
+
|
|
172
|
+
| Key | Type | Notes |
|
|
173
|
+
|---|---|---|
|
|
174
|
+
| `disallowedTools` | string[] | Hard-deny tool matchers (Safe-mode strict set). |
|
|
175
|
+
| `allowedToolsOverride` | string[] | Runtime widening — cannot widen past `ALWAYS_DISALLOWED_TOOLS`. |
|
|
176
|
+
| `claudeExecutionPermissionMode` | `"safe"`/`"allow"` | Per-backend Safe/Allow posture. |
|
|
177
|
+
| `codexExecutionPermissionMode` | `"safe"`/`"allow"` | Same; allow mode cannot enforce absolute-block on shell. |
|
|
178
|
+
| `geminiExecutionPermissionMode` | `"safe"`/`"allow"` | Same. |
|
|
179
|
+
| `opencodeExecutionPermissionMode` | `"safe"`/`"allow"` | Per-backend mode for OpenCode. |
|
|
180
|
+
|
|
181
|
+
### Pre-pass and observation summarizer
|
|
182
|
+
|
|
183
|
+
| Key | Type | Notes |
|
|
184
|
+
|---|---|---|
|
|
185
|
+
| `prePassMaxAttemptsPerIntegration` | number | Retry cap per integration in the routine pre-pass. |
|
|
186
|
+
| `prePassBackoffMs` | number | Backoff between retries. |
|
|
187
|
+
| `prePassRetryEscalationTier` | enum | Tier to escalate to on partial / failure. |
|
|
188
|
+
| `prePassFanOutConcurrency` | number | Parallel integrations during pre-pass fan-out. |
|
|
189
|
+
| `prePassMaxBudgetUsdPerIntegration` | number | Budget cap per integration per routine. |
|
|
190
|
+
| `prePassMaxBudgetUsdPerRoutine` | number | Aggregate budget cap per routine. |
|
|
191
|
+
| `prePassRetryOnPartial` | boolean | Whether partial results trigger a retry. |
|
|
192
|
+
| `observationSummarizerEnabled` | boolean | cost-reduction-structural §A — observation summariser worker on/off. |
|
|
193
|
+
| `observationSummarizerConcurrency` / `…MaxCallsPerMinute` / `…QueueLimit` / `…TimeoutMs` | number | Summariser tuning. **Restart-required** (worker captures these at boot). |
|
|
194
|
+
|
|
195
|
+
### Mail / calendar / git / browser-history polling
|
|
196
|
+
|
|
197
|
+
| Key | Type | Notes |
|
|
198
|
+
|---|---|---|
|
|
199
|
+
| `mailPollIntervalSeconds` / `mailIdleEnabled` / `mailIdleInstabilityThreshold` / `mailIdleFallbackRecoveryMinutes` / `mailMaxMessagesPerPoll` / `mailAuthFailureRetryHours` | various | Mail-poller knobs (multi-provider). |
|
|
200
|
+
| `enabledMailProviders` | enum[] | Which providers participate. One or more of `gmail`, `outlook`, `yahoo`, `icloud`. Default `["gmail"]`. |
|
|
201
|
+
| `vipMailSenders` | string[] | Sender list that bumps mail priority. |
|
|
202
|
+
| `outlookDeltaPageSize` / `outlookGraphConcurrency` | number | Outlook Graph API tuning. |
|
|
203
|
+
| `imapReconnectBaseMs` / `imapReconnectMaxMs` | number | IMAP reconnect backoff. |
|
|
204
|
+
| `gmailPollIntervalSeconds` | number | Gmail-specific cadence (restart-required). |
|
|
205
|
+
| `calendarPollIntervalSeconds` | number | Google Calendar poll interval. |
|
|
206
|
+
| `notionPollIntervalSeconds` | number | Notion poll interval. |
|
|
207
|
+
| `gitPollIntervalSeconds` / `githubPollIntervalSeconds` | number | Git / GitHub cadences (both restart-required — `GitWatcher` / `GitHubPoller` bind at construction). |
|
|
208
|
+
| `browserHistoryConsentAccepted` | boolean | B-3 consent gate — must be `true` for the poller to start. |
|
|
209
|
+
| `browserHistoryBrowserOverrides` | object | Per-browser opt-in/out and DB-path overrides. |
|
|
210
|
+
| `browserHistoryCategories` | enum[] | Visit-category allowlist. |
|
|
211
|
+
| `browserHistoryRetentionDays` / `…SearchQueryRetentionDays` | number | Retention windows. |
|
|
212
|
+
| `browserHistoryLifecycle` | object | Cluster lifecycle thresholds. |
|
|
213
|
+
| `browserHistoryResearchDomainAllowlist` / `…Denylist` | string[] | Domain filters for cluster qualification. |
|
|
214
|
+
|
|
215
|
+
### Voice transcription
|
|
216
|
+
|
|
217
|
+
| Key | Type | Notes |
|
|
218
|
+
|---|---|---|
|
|
219
|
+
| `voiceTranscriptionEnabled` | boolean | Whisper local transcription for voice attachments. Default `false`. Restart-required when the env var is set; live-flip via `POST /api/voice/install` (downloads weights with progress UI). |
|
|
220
|
+
| `voiceTranscriptionPrimaryLanguage` | BCP-47 | Fallback language after Whisper's auto-detect. Live-applied on the next inbound audio attachment. |
|
|
221
|
+
|
|
222
|
+
### Delegated tasks
|
|
223
|
+
|
|
224
|
+
| Key | Type | Notes |
|
|
225
|
+
|---|---|---|
|
|
226
|
+
| `delegatedTaskModeEnabled` | boolean | Master kill switch for the `/api/integrations/:key/exec` task-mode endpoints. Default `false`; mutable at runtime so an emergency disable needs no restart. |
|
|
227
|
+
| `delegatedTaskMaxPerDay` | number | Per-day quota. |
|
|
228
|
+
| `delegatedTaskDefaultMaxToolCalls` / `…DefaultMaxBudgetUsd` / `…DefaultTimeoutMs` | various | Per-task defaults. |
|
|
229
|
+
| `delegatedTaskHeavyEnabled` | boolean | Approve-tier opt-in gate for the heavy variant. |
|
|
230
|
+
| `delegatedTaskStructuredOutputEnabled` / `…CacheEnabled` / `…CacheTtlSeconds` / `…CacheMaxEntries` / `…SubprocessPoolEnabled` / `…SubprocessPoolTtlSeconds` | various | Phase-3 optimisation kill switches (independent). |
|
|
231
|
+
| `delegatedProxyMaxConcurrent` | number | Concurrency cap for the proxy worker. |
|
|
232
|
+
|
|
233
|
+
### Advisor
|
|
234
|
+
|
|
235
|
+
| Key | Type | Notes |
|
|
236
|
+
|---|---|---|
|
|
237
|
+
| `advisorEnabled` | boolean | SDK advisor toggle. |
|
|
238
|
+
| `advisorModel` | string / null | Model id; default `null`. Validated against `ADVISOR_ALLOWED_MODELS`, which the SDK pins to `claude-sonnet-4-6` and `claude-opus-4-6` only. Newer Opus generations (`claude-opus-4-7`, `claude-opus-4-8`) are silently skipped by the SDK advisor path — see `docs/advisor.md`. |
|
|
239
|
+
|
|
240
|
+
## Routine Schedule Times Are Not Configurable
|
|
241
|
+
|
|
242
|
+
The morning, evening, weekly, and monthly routines fire at fixed times
|
|
243
|
+
defined in `packages/daemon/src/core/scheduler.ts`. There is no
|
|
244
|
+
`morningRoutineHour`, `eveningReviewHour`, or `weeklyReviewDay` key — to
|
|
245
|
+
shift the whole day, change `dayBoundaryHour` instead.
|
|
94
246
|
|
|
95
247
|
| Routine | Trigger |
|
|
96
248
|
|---|---|
|
|
97
|
-
| `routine.morning_routine` |
|
|
98
|
-
| `routine.evening_review` |
|
|
99
|
-
| `routine.weekly_review` | Friday `
|
|
249
|
+
| `routine.morning_routine` | Daily at `dayBoundaryHour` (default 04:00). |
|
|
250
|
+
| `routine.evening_review` | Daily at `18:00` local. |
|
|
251
|
+
| `routine.weekly_review` | Friday `19:00` local (one hour after the evening review). |
|
|
252
|
+
| `routine.monthly_review` | Last day of the month at `18:00` local, but **disabled by default** (`monthlyReviewEnabled = false`). |
|
|
253
|
+
|
|
254
|
+
The hourly check is the one autonomous routine with a configurable
|
|
255
|
+
cadence (`hourlyCheckIntervalMinutes`) and active window
|
|
256
|
+
(`hourlyCheckActiveStartHour` / `…ActiveEndHour`).
|
|
257
|
+
|
|
258
|
+
## Restart-Required Keys
|
|
259
|
+
|
|
260
|
+
The `RESTART_REQUIRED_KEY_TUPLE` covers fields whose new value is
|
|
261
|
+
written through `applyConfigUpdates` but does not apply to a running
|
|
262
|
+
worker — the dashboard renders a badge prompting an `aitne restart`.
|
|
263
|
+
The current list:
|
|
100
264
|
|
|
101
|
-
|
|
102
|
-
|
|
265
|
+
- `apiPort` (env-only)
|
|
266
|
+
- `externalObsidianVaultName` / `externalObsidianVaultPath` / `externalObsidianWatch`
|
|
267
|
+
- `primaryVaultPath` / `primaryVaultName`
|
|
268
|
+
- `slackOwnerUserId` / `telegramOwnerChatId` / `discordOwnerUserId`
|
|
269
|
+
- `whatsappEnabled` / `whatsappOwnerPhone` / `whatsappAuthDir`
|
|
270
|
+
- `notionDatabaseIds`
|
|
271
|
+
- `gmailPollIntervalSeconds` / `gitPollIntervalSeconds` / `githubPollIntervalSeconds`
|
|
272
|
+
- `delegatedProbeIntervalMinutes`
|
|
273
|
+
- `voiceTranscriptionEnabled` (only when `PA_VOICE_TRANSCRIPTION_ENABLED` env is set)
|
|
274
|
+
- `observationSummarizerEnabled` / `…Concurrency` / `…MaxCallsPerMinute` / `…QueueLimit` / `…TimeoutMs`
|
|
103
275
|
|
|
104
276
|
## Related
|
|
105
277
|
|
|
106
278
|
- [API](api.md)
|
|
279
|
+
- [CLI Commands](cli-commands.md)
|
|
280
|
+
- [Disallowed Tools](disallowed-tools.md)
|
|
281
|
+
- [Safety and Execution](../concepts/safety-and-execution.md)
|
|
@@ -12,18 +12,20 @@ category: reference
|
|
|
12
12
|
summary: |
|
|
13
13
|
The absolute-block tool patterns. Cannot be widened by config or
|
|
14
14
|
by skill-level allow-lists. Mirrors src/safety/always-disallowed.ts.
|
|
15
|
-
section:
|
|
15
|
+
section: reference
|
|
16
16
|
tags:
|
|
17
17
|
- reference
|
|
18
18
|
- safety
|
|
19
19
|
- core
|
|
20
|
+
- audit
|
|
20
21
|
status: stable
|
|
21
22
|
ask_examples:
|
|
22
23
|
- What can the agent never run?
|
|
23
24
|
- Can I unblock a tool in the absolute-block list?
|
|
25
|
+
- Why can't the agent read my .env or SSH keys?
|
|
24
26
|
locale: en-US
|
|
25
27
|
created: 2026-04-25
|
|
26
|
-
updated: 2026-
|
|
28
|
+
updated: 2026-05-28
|
|
27
29
|
keywords:
|
|
28
30
|
- disallowedTools
|
|
29
31
|
- deniedTools
|
|
@@ -31,8 +33,10 @@ keywords:
|
|
|
31
33
|
- always-disallowed
|
|
32
34
|
- Bash(rm -rf)
|
|
33
35
|
- PreToolUse
|
|
36
|
+
- blocked_absolute
|
|
34
37
|
related:
|
|
35
38
|
- concepts/safety-and-execution
|
|
39
|
+
- concepts/safety-model
|
|
36
40
|
---
|
|
37
41
|
|
|
38
42
|
# Disallowed Tools
|
|
@@ -52,20 +56,25 @@ or `allowedToolsOverride`. Source of truth:
|
|
|
52
56
|
| Recursive delete | `Bash(rm -rf *)`, `Bash(rm -r *)`, `Bash(rm -R*)`, `Bash(rm -fr*)`, `Bash(rm --recursive*)`, plus the bypass-coverage family of every short-flag bundle containing `r`/`R` (see source) |
|
|
53
57
|
| Privilege escalation | `Bash(sudo *)`, `Bash(doas *)`, `Bash(su *)` |
|
|
54
58
|
| Pipe-to-shell RCE | `Bash(curl * | sh*)`, `Bash(curl * | bash*)`, `Bash(wget * | sh*)`, `Bash(wget * | bash*)`, `Bash(bash <(*)*)`, `Bash(sh <(*)*)`, `Bash(bash<*)`, `Bash(sh<*)`, `Bash(eval *)`, `Bash(source *)` |
|
|
55
|
-
| Platform secret-management CLIs | `Bash(security *)` (macOS Keychain), `Bash(secret-tool *)` (libsecret), `Bash(cmdkey *)` (Windows Credential Manager) |
|
|
56
|
-
| Secret-file reads | `Read(.env)`, `Read(.env.*)`, `Read(**/.env)`, `Read(id_rsa*)`, `Read(id_ed25519*)`, `Read(~/.ssh/**)`, `Read(~/.gnupg/**)`, `Read(~/.aws/**)`, `Read(~/.config/gcloud/**)`, `Read(~/.config/gh/hosts.yml)`, `Read(~/.netrc)`, `Read(~/Library/Keychains/**)`, `Read(~/.local/share/keyrings/**)` |
|
|
59
|
+
| Platform secret-management CLIs | `Bash(security *)` (macOS Keychain), `Bash(secret-tool *)` (libsecret), `Bash(cmdkey *)` (Windows Credential Manager), `Bash(certutil *)` and `Bash(rundll32.exe *)` (Windows DPAPI / vault dump) |
|
|
60
|
+
| Secret-file reads | `Read(.env)`, `Read(.env.*)`, `Read(**/.env)`, `Read(**/.env.*)`, `Read(id_rsa*)`, `Read(id_ed25519*)`, `Read(~/.ssh/**)`, `Read(~/.gnupg/**)`, `Read(~/.aws/**)`, `Read(~/.config/gcloud/**)`, `Read(~/.config/gh/hosts.yml)`, `Read(~/.netrc)`, `Read(~/Library/Keychains/**)`, `Read(~/.local/share/keyrings/**)` |
|
|
57
61
|
| Daemon-managed secret surfaces | `Read(~/.personal-agent/backups/**)`, `Read(~/.personal-agent/whatsapp/auth/**)`, `Read(~/.personal-agent/secrets/**)` |
|
|
58
|
-
|
|
|
62
|
+
| Browser-history profile dirs | `Bash(sqlite3 *)`, `Bash(curl file://*)`, `Bash(cp ~/Library/Application Support/Google/Chrome/*)` (Chrome / Chromium / Edge / Brave / Comet / Atlas on macOS, Linux, and `/mnt/c/Users/*` for WSL), plus the matching `Read(...)` patterns — access goes through `/api/browser-history/*` only |
|
|
63
|
+
| Managed-Chromium profile dirs | `Read(~/.personal-agent/chromium-sync/**)`, `chromium-automation{,-anon,-auth,-purchase}/**`, and `Bash(cp …)` / `mv` / `tar` / `zip` / `rsync` of `~/.personal-agent/chromium-*` — protects the daemon-owned OAuth refresh token |
|
|
64
|
+
| Anthropic-cloud managed agents | `CronCreate`, `CronList`, `CronDelete`, `RemoteTrigger`, `PushNotification` — Aitne is local-first; cloud-scheduled agents would bypass the audit log, MD memory, quiet hours, and cost telemetry |
|
|
65
|
+
| Secret-file writes | `Write(...)` and `Edit(...)` mirrors of every Read pattern in the secret-file and profile-dir rows above |
|
|
59
66
|
|
|
60
67
|
Plain `curl` / `wget` are intentionally **not** in this list — skills
|
|
61
68
|
rely on `curl http://localhost:<port>/api/...` as the daemon-API
|
|
62
|
-
chokepoint for memory writes
|
|
69
|
+
chokepoint for memory writes (including the browser-history and
|
|
70
|
+
managed-Chromium chokepoints above).
|
|
63
71
|
|
|
64
72
|
> **Codex allow-mode gap.** Codex CLI has no hook or admin-policy
|
|
65
73
|
> surface for shell commands, so allow mode runs under
|
|
66
74
|
> `--dangerously-bypass-approvals-and-sandbox` and the absolute-block
|
|
67
|
-
> layer can't enforce on Codex there.
|
|
68
|
-
>
|
|
75
|
+
> layer can't enforce on Codex there. Claude, Gemini, and OpenCode
|
|
76
|
+
> enforce it in every mode. See [Safety and Execution](../concepts/safety-and-execution.md)
|
|
77
|
+
> for the accepted gap.
|
|
69
78
|
|
|
70
79
|
## Default strict-mode list (relaxable)
|
|
71
80
|
|
|
@@ -82,8 +91,18 @@ Every absolute-block match is logged as
|
|
|
82
91
|
`agent_actions(action_type='blocked_absolute')` with a redacted form
|
|
83
92
|
of the offending argument and the matched category. The classifier
|
|
84
93
|
that produces the category is `classifyAbsoluteBlock` in
|
|
85
|
-
`src/safety/always-disallowed.ts
|
|
94
|
+
`src/safety/always-disallowed.ts`; browser-profile and managed-Chromium
|
|
95
|
+
attempts route through `classifyChromiumTokenAccess` /
|
|
96
|
+
`looksLikeBrowserProfileBash` in the same module.
|
|
97
|
+
|
|
98
|
+
The `blocked_absolute` row is written on Claude (a PreToolUse `block`
|
|
99
|
+
hook on top of the SDK `disallowedTools` glob list) and on Codex,
|
|
100
|
+
Gemini, and OpenCode (a stream observer that classifies each attempted
|
|
101
|
+
command, recording `result='partial'`). You can review these in
|
|
102
|
+
`aitne audit` (e.g. `aitne audit --type blocked_absolute`) or under
|
|
103
|
+
[Activity](/activity?tab=system) in the dashboard.
|
|
86
104
|
|
|
87
105
|
## Related
|
|
88
106
|
|
|
89
|
-
- [Safety and Execution](../concepts/safety-and-execution.md)
|
|
107
|
+
- [Safety and Execution](../concepts/safety-and-execution.md) — how Safe vs Allow mode interacts with this layer
|
|
108
|
+
- [Safety Model](../concepts/safety-model.md) — the broader risk-classification picture
|
|
@@ -11,7 +11,7 @@ category: reference
|
|
|
11
11
|
summary: |
|
|
12
12
|
Keyboard shortcuts available in the dashboard. The set is small by
|
|
13
13
|
design — the dashboard is a low-cognition surface.
|
|
14
|
-
section:
|
|
14
|
+
section: reference
|
|
15
15
|
tags:
|
|
16
16
|
- reference
|
|
17
17
|
- dashboard
|
|
@@ -19,9 +19,11 @@ tags:
|
|
|
19
19
|
status: stable
|
|
20
20
|
ask_examples:
|
|
21
21
|
- What keyboard shortcuts work in the dashboard?
|
|
22
|
+
- How do I open the search palette?
|
|
23
|
+
- What does pressing "?" do in the dashboard?
|
|
22
24
|
locale: en-US
|
|
23
25
|
created: 2026-04-25
|
|
24
|
-
updated: 2026-
|
|
26
|
+
updated: 2026-05-28
|
|
25
27
|
keywords:
|
|
26
28
|
- shortcut
|
|
27
29
|
- hotkey
|
|
@@ -30,22 +32,44 @@ keywords:
|
|
|
30
32
|
- keyboard
|
|
31
33
|
- cmdk
|
|
32
34
|
- command palette
|
|
35
|
+
- help slide-over
|
|
36
|
+
ui_anchors:
|
|
37
|
+
- /chat
|
|
38
|
+
- /docs
|
|
33
39
|
related:
|
|
34
40
|
- features/messaging/dashboard-chat
|
|
35
41
|
---
|
|
36
42
|
|
|
37
43
|
# Keyboard Shortcuts
|
|
38
44
|
|
|
45
|
+
The dashboard ships a deliberately small set of shortcuts — it is a
|
|
46
|
+
low-cognition surface, not a power-user IDE. These work from any
|
|
47
|
+
dashboard screen.
|
|
48
|
+
|
|
39
49
|
| Keys | Action |
|
|
40
50
|
|---|---|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
| `Esc` | Close the slide-over
|
|
44
|
-
| `Cmd+Enter` | Send the
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
| `Cmd+K` / `Ctrl+K` | Toggle the search palette — jump to any setting or run an action (e.g. "Ask docs…"). |
|
|
52
|
+
| `?` | Open the contextual help slide-over. On the `/docs` viewer it focuses the inline question composer instead. |
|
|
53
|
+
| `Esc` | Close the open slide-over or palette. |
|
|
54
|
+
| `Cmd+Enter` / `Ctrl+Enter` | Send the message you are typing — works in the chat composer and the docs question composer. |
|
|
55
|
+
|
|
56
|
+
## When shortcuts are suppressed
|
|
57
|
+
|
|
58
|
+
Most shortcuts are ignored while a text field (input, textarea, or
|
|
59
|
+
contenteditable) is focused, so typing `?` into a chat message does not
|
|
60
|
+
pop the help slide-over.
|
|
61
|
+
|
|
62
|
+
**`Cmd+K` / `Ctrl+K` is the exception** — it opens the search palette
|
|
63
|
+
regardless of where focus sits.
|
|
64
|
+
|
|
65
|
+
## Examples
|
|
66
|
+
|
|
67
|
+
- Press `Cmd+K`, type "timezone", and hit Enter to jump straight to the
|
|
68
|
+
Timezone field on `/settings/schedule`.
|
|
69
|
+
- On any screen, press `?` to ask a question about what you are looking
|
|
70
|
+
at; the help slide-over opens pre-scoped to that page's doc.
|
|
71
|
+
- While drafting a message in `/chat`, press `Cmd+Enter` to send without
|
|
72
|
+
reaching for the mouse.
|
|
49
73
|
|
|
50
74
|
## Related
|
|
51
75
|
|