@armadra/agent 0.5.0 → 0.6.0
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/CHANGELOG.md +177 -294
- package/CHANGELOG.zh-CN.md +442 -0
- package/README.md +408 -364
- package/README.zh-CN.md +705 -0
- package/dist/agent/session-plan.js +2 -2
- package/dist/agent/session-state.d.ts +3 -0
- package/dist/agent/session-state.js +20 -0
- package/dist/agent/session-subagent.d.ts +15 -1
- package/dist/agent/session-subagent.js +26 -3
- package/dist/agent/session-telemetry.d.ts +16 -2
- package/dist/agent/session-telemetry.js +29 -7
- package/dist/agent/session-tools.js +5 -2
- package/dist/agent/session-trace-writer.d.ts +27 -0
- package/dist/agent/session-trace-writer.js +253 -0
- package/dist/agent/session.d.ts +2 -0
- package/dist/agent/session.js +12 -0
- package/dist/agent/subagent-direct.d.ts +20 -0
- package/dist/agent/subagent-direct.js +76 -0
- package/dist/agent/subagent-registry.d.ts +8 -1
- package/dist/agent/subagent-registry.js +28 -1
- package/dist/agent/system-prompt.d.ts +3 -1
- package/dist/agent/system-prompt.js +3 -0
- package/dist/agent/tool-runner.d.ts +2 -1
- package/dist/agent/tool-runner.js +5 -4
- package/dist/agent/types-w6.d.ts +39 -0
- package/dist/agent/types-w6.js +4 -0
- package/dist/agent/types.d.ts +5 -2
- package/dist/agents/external.js +1 -1
- package/dist/agents/task-record.d.ts +74 -1
- package/dist/agents/task-record.js +100 -0
- package/dist/ai/apis/cache-params.js +2 -1
- package/dist/ai/apis/chatgpt-backend.d.ts +52 -0
- package/dist/ai/apis/chatgpt-backend.js +224 -0
- package/dist/ai/apis/chatgpt-rate-limits.d.ts +26 -0
- package/dist/ai/apis/chatgpt-rate-limits.js +91 -0
- package/dist/ai/apis/openai-responses-request.d.ts +2 -1
- package/dist/ai/apis/openai-responses-request.js +8 -2
- package/dist/ai/apis/openai-responses.d.ts +2 -0
- package/dist/ai/apis/openai-responses.js +51 -16
- package/dist/ai/overflow.d.ts +1 -1
- package/dist/ai/overflow.js +10 -7
- package/dist/ai/providers/auth.d.ts +15 -2
- package/dist/ai/providers/auth.js +69 -2
- package/dist/ai/providers/builtin.js +27 -0
- package/dist/ai/providers/catalog-data.js +1 -0
- package/dist/ai/providers/enrich.js +2 -7
- package/dist/ai/providers/models-dev-cache.js +15 -19
- package/dist/ai/providers/models-dev-snapshot.js +8 -7
- package/dist/ai/providers/models-dev.js +5 -15
- package/dist/ai/providers/suggest.js +2 -16
- package/dist/ai/types.d.ts +27 -1
- package/dist/auth/chatgpt/backend-client.d.ts +26 -0
- package/dist/auth/chatgpt/backend-client.js +74 -0
- package/dist/auth/chatgpt/claims.d.ts +17 -0
- package/dist/auth/chatgpt/claims.js +46 -0
- package/dist/auth/chatgpt/cli.d.ts +33 -0
- package/dist/auth/chatgpt/cli.js +252 -0
- package/dist/auth/chatgpt/doctor.d.ts +17 -0
- package/dist/auth/chatgpt/doctor.js +36 -0
- package/dist/auth/chatgpt/host-id.d.ts +7 -0
- package/dist/auth/chatgpt/host-id.js +26 -0
- package/dist/auth/chatgpt/login.d.ts +30 -0
- package/dist/auth/chatgpt/login.js +130 -0
- package/dist/auth/chatgpt/presets.d.ts +66 -0
- package/dist/auth/chatgpt/presets.js +120 -0
- package/dist/auth/chatgpt/quota-text.d.ts +13 -0
- package/dist/auth/chatgpt/quota-text.js +36 -0
- package/dist/auth/oauth/browser.d.ts +12 -0
- package/dist/auth/oauth/browser.js +27 -0
- package/dist/auth/oauth/callback-server.d.ts +47 -0
- package/dist/auth/oauth/callback-server.js +147 -0
- package/dist/auth/oauth/flows.d.ts +62 -0
- package/dist/auth/oauth/flows.js +113 -0
- package/dist/auth/oauth/jwt.d.ts +24 -0
- package/dist/auth/oauth/jwt.js +81 -0
- package/dist/auth/oauth/live.d.ts +21 -0
- package/dist/auth/oauth/live.js +25 -0
- package/dist/auth/oauth/oidc.d.ts +26 -0
- package/dist/auth/oauth/oidc.js +72 -0
- package/dist/auth/oauth/pkce.d.ts +15 -0
- package/dist/auth/oauth/pkce.js +20 -0
- package/dist/auth/oauth/refresh.d.ts +35 -0
- package/dist/auth/oauth/refresh.js +129 -0
- package/dist/auth/oauth/token-client.d.ts +33 -0
- package/dist/auth/oauth/token-client.js +121 -0
- package/dist/auth/oauth/token-store.d.ts +23 -0
- package/dist/auth/oauth/token-store.js +125 -0
- package/dist/auth/testing/fake-oauth.d.ts +73 -0
- package/dist/auth/testing/fake-oauth.js +271 -0
- package/dist/auth/testing/refresh-child.d.ts +5 -0
- package/dist/auth/testing/refresh-child.js +16 -0
- package/dist/bundle/ama.cjs +28307 -13241
- package/dist/checkpoints/backend.js +6 -5
- package/dist/checkpoints/restore.js +3 -2
- package/dist/checkpoints/settings.js +2 -1
- package/dist/checkpoints/shadow-git.js +7 -6
- package/dist/checkpoints/shadow-restore.js +3 -2
- package/dist/checkpoints/tracker.js +4 -3
- package/dist/cli/args.d.ts +9 -2
- package/dist/cli/args.js +74 -27
- package/dist/cli/bootstrap.js +53 -31
- package/dist/cli/choice-prompt.d.ts +58 -0
- package/dist/cli/choice-prompt.js +142 -0
- package/dist/cli/codemode-notice.js +2 -2
- package/dist/cli/compose-agents.js +2 -1
- package/dist/cli/compose-extensions.js +2 -0
- package/dist/cli/compose-memory.d.ts +53 -0
- package/dist/cli/compose-memory.js +127 -0
- package/dist/cli/compose-providers.d.ts +5 -0
- package/dist/cli/compose-providers.js +32 -2
- package/dist/cli/compose-session.d.ts +5 -0
- package/dist/cli/compose-session.js +27 -13
- package/dist/cli/compose-store.d.ts +2 -0
- package/dist/cli/compose-store.js +9 -5
- package/dist/cli/compose.d.ts +2 -0
- package/dist/cli/compose.js +13 -5
- package/dist/cli/default-model.d.ts +0 -2
- package/dist/cli/default-model.js +5 -8
- package/dist/cli/deps.d.ts +5 -1
- package/dist/cli/exit-codes.d.ts +1 -1
- package/dist/cli/exit-codes.js +7 -16
- package/dist/cli/from-prompt.js +3 -2
- package/dist/cli/help-text.d.ts +2 -1
- package/dist/cli/help-text.js +5 -99
- package/dist/cli/main.d.ts +5 -0
- package/dist/cli/main.js +21 -2
- package/dist/cli/proxy.js +14 -9
- package/dist/cli/runtime.d.ts +5 -0
- package/dist/cli/startup-screen.js +20 -27
- package/dist/cli/startup-steps.js +6 -8
- package/dist/cli/subcommands/auth.d.ts +6 -3
- package/dist/cli/subcommands/auth.js +52 -22
- package/dist/cli/subcommands/config-set.d.ts +21 -0
- package/dist/cli/subcommands/config-set.js +137 -0
- package/dist/cli/subcommands/config.d.ts +2 -1
- package/dist/cli/subcommands/config.js +51 -37
- package/dist/cli/subcommands/doctor.d.ts +2 -1
- package/dist/cli/subcommands/doctor.js +97 -58
- package/dist/cli/subcommands/init.d.ts +1 -1
- package/dist/cli/subcommands/init.js +8 -7
- package/dist/cli/subcommands/memory.d.ts +18 -0
- package/dist/cli/subcommands/memory.js +189 -0
- package/dist/cli/subcommands/model-meta.js +11 -9
- package/dist/cli/subcommands/models-cache-probe.d.ts +1 -1
- package/dist/cli/subcommands/models-cache-probe.js +26 -32
- package/dist/cli/subcommands/models-discover.d.ts +3 -0
- package/dist/cli/subcommands/models-discover.js +44 -21
- package/dist/cli/subcommands/models.d.ts +1 -1
- package/dist/cli/subcommands/models.js +29 -22
- package/dist/cli/subcommands/probe-runner.js +8 -7
- package/dist/cli/subcommands/providers-list.js +32 -21
- package/dist/cli/subcommands/providers-plan.js +24 -25
- package/dist/cli/subcommands/providers-probe.js +5 -6
- package/dist/cli/subcommands/providers.d.ts +2 -2
- package/dist/cli/subcommands/providers.js +48 -59
- package/dist/cli/subcommands/sessions-export.d.ts +1 -1
- package/dist/cli/subcommands/sessions-export.js +10 -9
- package/dist/cli/subcommands/sessions-search.d.ts +1 -1
- package/dist/cli/subcommands/sessions-search.js +11 -10
- package/dist/cli/subcommands/sessions-trace.d.ts +30 -0
- package/dist/cli/subcommands/sessions-trace.js +156 -0
- package/dist/cli/subcommands/sessions.d.ts +4 -3
- package/dist/cli/subcommands/sessions.js +40 -37
- package/dist/cli/subcommands/stats.d.ts +1 -1
- package/dist/cli/subcommands/stats.js +49 -30
- package/dist/cli/system-prompt-arg.js +3 -2
- package/dist/codemode/capability.js +3 -2
- package/dist/compaction/post-compact.d.ts +1 -0
- package/dist/compaction/post-compact.js +15 -1
- package/dist/compaction/prune-tier.d.ts +1 -1
- package/dist/compaction/prune-tier.js +3 -3
- package/dist/compaction/serialize.js +2 -1
- package/dist/config/auth-file.d.ts +12 -2
- package/dist/config/auth-file.js +32 -10
- package/dist/config/checker.js +12 -11
- package/dist/config/context-files.js +3 -2
- package/dist/config/edit.d.ts +106 -0
- package/dist/config/edit.js +350 -0
- package/dist/config/init.d.ts +4 -3
- package/dist/config/init.js +10 -18
- package/dist/config/json-schema.d.ts +2 -1
- package/dist/config/json-schema.js +101 -68
- package/dist/config/key-docs.d.ts +18 -7
- package/dist/config/key-docs.js +43 -128
- package/dist/config/load.js +7 -6
- package/dist/config/merge.d.ts +4 -1
- package/dist/config/merge.js +42 -22
- package/dist/config/paths.js +6 -5
- package/dist/config/profile.d.ts +5 -1
- package/dist/config/profile.js +7 -2
- package/dist/config/schema-w5.js +3 -2
- package/dist/config/schema-w6.d.ts +19 -0
- package/dist/config/schema-w6.js +115 -0
- package/dist/config/schema.js +34 -20
- package/dist/config/settings-registry.d.ts +78 -0
- package/dist/config/settings-registry.js +184 -0
- package/dist/config/types-w6.d.ts +109 -0
- package/dist/config/types-w6.js +19 -0
- package/dist/config/types.d.ts +11 -8
- package/dist/config/types.js +1 -0
- package/dist/drivers/acp/client.js +1 -1
- package/dist/drivers/acp/driver.js +13 -8
- package/dist/drivers/agents.js +4 -3
- package/dist/drivers/base.js +3 -2
- package/dist/drivers/host-runners.js +2 -1
- package/dist/drivers/native/claude-stream.js +12 -11
- package/dist/drivers/native/codex-app-server.js +17 -12
- package/dist/drivers/native/oneshot.js +8 -7
- package/dist/drivers/pool.js +1 -1
- package/dist/drivers/runner.d.ts +3 -1
- package/dist/drivers/runner.js +68 -20
- package/dist/drivers/turn.js +1 -1
- package/dist/hooks/config.js +3 -2
- package/dist/hooks/protocol.js +18 -12
- package/dist/host/api-impl.js +11 -10
- package/dist/host/loader.js +9 -8
- package/dist/host/types.d.ts +3 -0
- package/dist/i18n/catalog.d.ts +2169 -0
- package/dist/i18n/catalog.js +72 -0
- package/dist/i18n/format.d.ts +21 -0
- package/dist/i18n/format.js +58 -0
- package/dist/i18n/index.d.ts +58 -0
- package/dist/i18n/index.js +72 -0
- package/dist/i18n/messages/agents.d.ts +84 -0
- package/dist/i18n/messages/agents.js +85 -0
- package/dist/i18n/messages/approval.d.ts +99 -0
- package/dist/i18n/messages/approval.js +100 -0
- package/dist/i18n/messages/auth.d.ts +187 -0
- package/dist/i18n/messages/auth.js +189 -0
- package/dist/i18n/messages/cli-args.d.ts +46 -0
- package/dist/i18n/messages/cli-args.js +46 -0
- package/dist/i18n/messages/cli-help.d.ts +12 -0
- package/dist/i18n/messages/cli-help.js +244 -0
- package/dist/i18n/messages/cli.d.ts +336 -0
- package/dist/i18n/messages/cli.js +311 -0
- package/dist/i18n/messages/config-keys.d.ts +289 -0
- package/dist/i18n/messages/config-keys.js +292 -0
- package/dist/i18n/messages/config.d.ts +502 -0
- package/dist/i18n/messages/config.js +239 -0
- package/dist/i18n/messages/drivers.d.ts +123 -0
- package/dist/i18n/messages/drivers.js +124 -0
- package/dist/i18n/messages/errors.d.ts +83 -0
- package/dist/i18n/messages/errors.js +171 -0
- package/dist/i18n/messages/interactive-line.d.ts +61 -0
- package/dist/i18n/messages/interactive-line.js +69 -0
- package/dist/i18n/messages/interactive-startup.d.ts +103 -0
- package/dist/i18n/messages/interactive-startup.js +104 -0
- package/dist/i18n/messages/interactive-view.d.ts +140 -0
- package/dist/i18n/messages/interactive-view.js +141 -0
- package/dist/i18n/messages/interactive.d.ts +493 -0
- package/dist/i18n/messages/interactive.js +248 -0
- package/dist/i18n/messages/memory.d.ts +123 -0
- package/dist/i18n/messages/memory.js +128 -0
- package/dist/i18n/messages/panels.d.ts +190 -0
- package/dist/i18n/messages/panels.js +189 -0
- package/dist/i18n/messages/permissions.d.ts +126 -0
- package/dist/i18n/messages/permissions.js +151 -0
- package/dist/i18n/messages/plan.d.ts +123 -0
- package/dist/i18n/messages/plan.js +124 -0
- package/dist/i18n/messages/print.d.ts +86 -0
- package/dist/i18n/messages/print.js +91 -0
- package/dist/i18n/messages/report.d.ts +391 -0
- package/dist/i18n/messages/report.js +490 -0
- package/dist/i18n/messages/rewind.d.ts +198 -0
- package/dist/i18n/messages/rewind.js +217 -0
- package/dist/i18n/messages/session.d.ts +230 -0
- package/dist/i18n/messages/session.js +258 -0
- package/dist/i18n/messages/settings.d.ts +348 -0
- package/dist/i18n/messages/settings.js +336 -0
- package/dist/i18n/messages/subcommands-config.d.ts +111 -0
- package/dist/i18n/messages/subcommands-config.js +127 -0
- package/dist/i18n/messages/subcommands.d.ts +548 -0
- package/dist/i18n/messages/subcommands.js +474 -0
- package/dist/i18n/messages/trace.d.ts +243 -0
- package/dist/i18n/messages/trace.js +238 -0
- package/dist/i18n/types.d.ts +15 -0
- package/dist/i18n/types.js +7 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +2 -0
- package/dist/memory/edit.d.ts +24 -0
- package/dist/memory/edit.js +63 -0
- package/dist/memory/frontmatter.d.ts +37 -0
- package/dist/memory/frontmatter.js +79 -0
- package/dist/memory/index.d.ts +28 -0
- package/dist/memory/index.js +126 -0
- package/dist/memory/lock.d.ts +17 -0
- package/dist/memory/lock.js +62 -0
- package/dist/memory/paths.d.ts +57 -0
- package/dist/memory/paths.js +175 -0
- package/dist/memory/report.d.ts +36 -0
- package/dist/memory/report.js +86 -0
- package/dist/memory/runtime.d.ts +42 -0
- package/dist/memory/runtime.js +36 -0
- package/dist/memory/secrets.d.ts +8 -0
- package/dist/memory/secrets.js +27 -0
- package/dist/memory/section.d.ts +28 -0
- package/dist/memory/section.js +59 -0
- package/dist/memory/store.d.ts +70 -0
- package/dist/memory/store.js +284 -0
- package/dist/memory/tool.d.ts +31 -0
- package/dist/memory/tool.js +94 -0
- package/dist/modes/acp/acp-events.js +2 -1
- package/dist/modes/acp/acp-server.js +13 -12
- package/dist/modes/commands-core.d.ts +17 -0
- package/dist/modes/commands-core.js +101 -61
- package/dist/modes/image-input.js +20 -6
- package/dist/modes/interactive/agent-bar.d.ts +95 -0
- package/dist/modes/interactive/agent-bar.js +248 -0
- package/dist/modes/interactive/agent-panels.js +27 -26
- package/dist/modes/interactive/agent-transcript.d.ts +47 -0
- package/dist/modes/interactive/agent-transcript.js +191 -0
- package/dist/modes/interactive/agent-ui.d.ts +36 -1
- package/dist/modes/interactive/agent-ui.js +180 -14
- package/dist/modes/interactive/agent-view.d.ts +72 -0
- package/dist/modes/interactive/agent-view.js +281 -0
- package/dist/modes/interactive/approval-dialog.js +46 -34
- package/dist/modes/interactive/clipboard-paste.d.ts +2 -2
- package/dist/modes/interactive/clipboard-paste.js +9 -4
- package/dist/modes/interactive/commands.d.ts +22 -1
- package/dist/modes/interactive/commands.js +93 -38
- package/dist/modes/interactive/completion.js +2 -1
- package/dist/modes/interactive/config-panel.d.ts +70 -0
- package/dist/modes/interactive/config-panel.js +319 -0
- package/dist/modes/interactive/config-ui.d.ts +96 -0
- package/dist/modes/interactive/config-ui.js +397 -0
- package/dist/modes/interactive/confirm-dialog.d.ts +49 -0
- package/dist/modes/interactive/confirm-dialog.js +120 -0
- package/dist/modes/interactive/event-notices.js +11 -9
- package/dist/modes/interactive/interactive-mode.d.ts +1 -1
- package/dist/modes/interactive/interactive-mode.js +25 -22
- package/dist/modes/interactive/key-dispatch.d.ts +18 -0
- package/dist/modes/interactive/key-dispatch.js +39 -13
- package/dist/modes/interactive/line/line-editor.js +2 -1
- package/dist/modes/interactive/line/line-mode.d.ts +2 -0
- package/dist/modes/interactive/line/line-mode.js +24 -4
- package/dist/modes/interactive/line/line-render.js +25 -24
- package/dist/modes/interactive/memory-panel.d.ts +64 -0
- package/dist/modes/interactive/memory-panel.js +221 -0
- package/dist/modes/interactive/message-view.d.ts +4 -2
- package/dist/modes/interactive/message-view.js +42 -33
- package/dist/modes/interactive/panels.js +39 -31
- package/dist/modes/interactive/pickers.d.ts +2 -1
- package/dist/modes/interactive/pickers.js +10 -6
- package/dist/modes/interactive/plan-command.d.ts +1 -1
- package/dist/modes/interactive/plan-command.js +24 -27
- package/dist/modes/interactive/plan-dialog.js +18 -17
- package/dist/modes/interactive/plan-flow.js +6 -5
- package/dist/modes/interactive/rewind-command.d.ts +1 -1
- package/dist/modes/interactive/rewind-command.js +18 -16
- package/dist/modes/interactive/rewind-flow.d.ts +0 -1
- package/dist/modes/interactive/rewind-flow.js +13 -14
- package/dist/modes/interactive/rewind-list.js +7 -6
- package/dist/modes/interactive/rewind-panel.js +40 -40
- package/dist/modes/interactive/rewind-text.d.ts +5 -3
- package/dist/modes/interactive/rewind-text.js +48 -38
- package/dist/modes/interactive/run-indicator.js +15 -12
- package/dist/modes/interactive/session-events.js +3 -2
- package/dist/modes/interactive/startup-header.js +22 -23
- package/dist/modes/interactive/startup-ui.js +41 -29
- package/dist/modes/interactive/status-area.d.ts +2 -0
- package/dist/modes/interactive/status-area.js +8 -2
- package/dist/modes/interactive/status-bar.js +4 -3
- package/dist/modes/interactive/subagent-view.js +9 -7
- package/dist/modes/interactive/tasks-report.d.ts +6 -0
- package/dist/modes/interactive/tasks-report.js +28 -31
- package/dist/modes/interactive/terminal-setup.d.ts +9 -0
- package/dist/modes/interactive/terminal-setup.js +23 -0
- package/dist/modes/interactive/tool-summary.js +19 -17
- package/dist/modes/interactive/tool-view.js +7 -4
- package/dist/modes/interactive/trace-view.d.ts +89 -0
- package/dist/modes/interactive/trace-view.js +332 -0
- package/dist/modes/print/print-mode.js +14 -15
- package/dist/modes/rpc/commands.js +7 -3
- package/dist/modes/rpc/rpc-mode.js +9 -3
- package/dist/modes/session-report.d.ts +2 -0
- package/dist/modes/session-report.js +101 -105
- package/dist/modes/startup-ui-text.js +11 -6
- package/dist/permissions/bypass.d.ts +30 -0
- package/dist/permissions/bypass.js +45 -0
- package/dist/permissions/memory-class.d.ts +23 -0
- package/dist/permissions/memory-class.js +54 -0
- package/dist/permissions/modes.d.ts +3 -3
- package/dist/permissions/modes.js +21 -16
- package/dist/permissions/pipeline.d.ts +1 -1
- package/dist/permissions/pipeline.js +9 -2
- package/dist/permissions/preview.js +49 -42
- package/dist/permissions/rules.js +5 -2
- package/dist/permissions/types.d.ts +4 -0
- package/dist/plan/store.js +2 -1
- package/dist/rpc.d.ts +39 -1
- package/dist/rpc.js +3 -0
- package/dist/sandbox/bash.js +11 -8
- package/dist/sandbox/detect.js +14 -11
- package/dist/sdk.d.ts +17 -1
- package/dist/sdk.js +29 -7
- package/dist/session/export.js +31 -30
- package/dist/session/manager.d.ts +1 -1
- package/dist/session/manager.js +5 -3
- package/dist/session/reuse.js +5 -4
- package/dist/session/scan.js +3 -2
- package/dist/session/stats-aggregate.d.ts +3 -1
- package/dist/session/stats-aggregate.js +5 -1
- package/dist/session/stats-index.js +2 -1
- package/dist/session/stats-scan.d.ts +4 -1
- package/dist/session/stats-scan.js +6 -2
- package/dist/session/store.d.ts +11 -0
- package/dist/session/store.js +48 -1
- package/dist/session/types.d.ts +2 -0
- package/dist/skills/builtin.js +2 -1
- package/dist/tools/image-file.d.ts +26 -1
- package/dist/tools/image-file.js +55 -13
- package/dist/tools/presets.d.ts +14 -1
- package/dist/tools/presets.js +3 -3
- package/dist/tools/registry.js +1 -1
- package/dist/tools/truncate.d.ts +1 -1
- package/dist/tools/truncate.js +2 -2
- package/dist/tools/types.d.ts +17 -1
- package/dist/trace/build-index.d.ts +91 -0
- package/dist/trace/build-index.js +127 -0
- package/dist/trace/build-nodes.d.ts +24 -0
- package/dist/trace/build-nodes.js +279 -0
- package/dist/trace/build-util.d.ts +43 -0
- package/dist/trace/build-util.js +120 -0
- package/dist/trace/build.d.ts +82 -0
- package/dist/trace/build.js +382 -0
- package/dist/trace/detail.d.ts +35 -0
- package/dist/trace/detail.js +205 -0
- package/dist/trace/flatten.d.ts +69 -0
- package/dist/trace/flatten.js +173 -0
- package/dist/trace/format.d.ts +47 -0
- package/dist/trace/format.js +329 -0
- package/dist/trace/html-template.d.ts +19 -0
- package/dist/trace/html-template.js +150 -0
- package/dist/trace/html.d.ts +104 -0
- package/dist/trace/html.js +292 -0
- package/dist/trace/preview.d.ts +29 -0
- package/dist/trace/preview.js +59 -0
- package/dist/trace/query-session.d.ts +14 -0
- package/dist/trace/query-session.js +38 -0
- package/dist/trace/query.d.ts +55 -0
- package/dist/trace/query.js +188 -0
- package/dist/trace/session.d.ts +40 -0
- package/dist/trace/session.js +168 -0
- package/dist/trace/types.d.ts +243 -0
- package/dist/trace/types.js +13 -0
- package/dist/tui/components/editor-paste.d.ts +2 -0
- package/dist/tui/components/editor-paste.js +6 -3
- package/dist/tui/components/editor.js +2 -2
- package/dist/tui/components/loader.d.ts +3 -0
- package/dist/tui/components/loader.js +14 -0
- package/dist/tui/components/settings-list.d.ts +61 -0
- package/dist/tui/components/settings-list.js +135 -0
- package/dist/tui/keybindings.d.ts +6 -1
- package/dist/tui/keybindings.js +18 -6
- package/dist/tui.d.ts +1 -0
- package/dist/tui.js +2 -0
- package/docs/en/host-api.md +167 -0
- package/docs/en/permissions.md +214 -0
- package/docs/en/providers.md +625 -0
- package/docs/en/rpc.md +361 -0
- package/docs/en/sessions.md +219 -0
- package/docs/en/tui.md +527 -0
- package/docs/host-api.md +18 -17
- package/docs/memory.md +172 -0
- package/docs/permissions.md +3 -2
- package/docs/providers.md +67 -1
- package/docs/rpc.md +31 -3
- package/docs/session-format.md +8 -2
- package/docs/sessions.md +29 -1
- package/docs/tui.md +189 -21
- package/package.json +8 -3
package/docs/tui.md
CHANGED
|
@@ -111,25 +111,26 @@ Accept edits claude-opus-5-5 medium | Ctx 3.0% | proj ⎇ main 5ae9e54 (+12,
|
|
|
111
111
|
|
|
112
112
|
## 按键
|
|
113
113
|
|
|
114
|
-
| 按键 | 作用
|
|
115
|
-
| -------------------- |
|
|
116
|
-
| Enter | 发送;运行中 = steer(插到当前轮)
|
|
117
|
-
| Alt+Enter | 运行中排到本轮之后(followUp);空闲时等同 Enter
|
|
118
|
-
| Shift+Enter / Ctrl+J | 换行
|
|
119
|
-
| Esc | 中断:排队的消息回填到输入框,然后停止当前运行;补全打开时先关补全
|
|
120
|
-
| Esc Esc(空闲) | 输入框为空:打开回滚列表(同 `/rewind`);有字:清空并存进输入历史
|
|
121
|
-
| Alt+↑ | 取回最后一条排队消息
|
|
122
|
-
| Shift+Tab
|
|
123
|
-
| Ctrl+O | 展开 / 折叠工具输出与思考块
|
|
124
|
-
| Ctrl+L / Ctrl+T | 选择模型 / 思考级别
|
|
125
|
-
| Ctrl+G | 底部信息行 两行(full)↔ 一行(compact),只影响本会话
|
|
126
|
-
| Ctrl+V | 粘贴剪贴板里的图片:存进数据目录,光标处插入 `@<路径>`(同 `/paste`)
|
|
127
|
-
| Ctrl+C | 清空输入;输入为空时 1.5 秒内再按一次退出(退出码 130)
|
|
128
|
-
| Ctrl+D | 输入为空时退出
|
|
129
|
-
| Tab | 补全
|
|
130
|
-
| ↑ / ↓ | 单行时浏览历史(`<数据目录>/history`,500 条)
|
|
131
|
-
|
|
132
|
-
|
|
114
|
+
| 按键 | 作用 |
|
|
115
|
+
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
116
|
+
| Enter | 发送;运行中 = steer(插到当前轮) |
|
|
117
|
+
| Alt+Enter | 运行中排到本轮之后(followUp);空闲时等同 Enter |
|
|
118
|
+
| Shift+Enter / Ctrl+J | 换行 |
|
|
119
|
+
| Esc | 中断:排队的消息回填到输入框,然后停止当前运行;补全打开时先关补全 |
|
|
120
|
+
| Esc Esc(空闲) | 输入框为空:打开回滚列表(同 `/rewind`);有字:清空并存进输入历史 |
|
|
121
|
+
| Alt+↑ | 取回最后一条排队消息 |
|
|
122
|
+
| Shift+Tab / Tab | 循环权限模式 Manual → Accept edits → Plan → Auto → Bypass permissions(Tab 只在输入为空、补全未打开时,否则仍是补全;进入 Bypass 前确认,见下文「进入 Bypass」) |
|
|
123
|
+
| Ctrl+O | 展开 / 折叠工具输出与思考块 |
|
|
124
|
+
| Ctrl+L / Ctrl+T | 选择模型 / 思考级别 |
|
|
125
|
+
| Ctrl+G | 底部信息行 两行(full)↔ 一行(compact),只影响本会话 |
|
|
126
|
+
| Ctrl+V | 粘贴剪贴板里的图片:存进数据目录,光标处插入 `@<路径>`(同 `/paste`) |
|
|
127
|
+
| Ctrl+C | 清空输入;输入为空时 1.5 秒内再按一次退出(退出码 130) |
|
|
128
|
+
| Ctrl+D | 输入为空时退出 |
|
|
129
|
+
| Tab | 补全 |
|
|
130
|
+
| ↑ / ↓ | 单行时浏览历史(`<数据目录>/history`,500 条) |
|
|
131
|
+
| Ctrl+B / ↓(空输入) | 进入 Agent 栏(有子 Agent 任务时;有字时 Ctrl+B 仍是光标左移,tmux 里用 ↓),见「子 Agent」(第六波 W6-A 起) |
|
|
132
|
+
|
|
133
|
+
按键可在 `~/.config/ama/keybindings.json` 覆盖,键是动作 id(`app.interrupt`、`app.rewind`、`app.message.followUp`、`app.statusLine.toggle`、`app.paste.image`、`app.agents.focus`、`tui.editor.newLine` ……),值是按键或按键数组,空数组表示禁用。`app.rewind` 是空闲时双击的那个键(缺省 Esc,两次间隔 ≤ 800 ms)。
|
|
133
134
|
|
|
134
135
|
## 回滚
|
|
135
136
|
|
|
@@ -186,9 +187,48 @@ Accept edits claude-opus-5-5 medium | Ctx 3.0% | proj ⎇ main 5ae9e54 (+12,
|
|
|
186
187
|
- `/statusline [full|compact]`:切换底部信息行(无参数时在两者间切换,同 `Ctrl+G`),只影响本会话;line 模式没有底部信息行。
|
|
187
188
|
- `/session`、`/cache`:会话用量与缓存统计面板(见上文「缓存与上下文」);`/permissions` 同样是面板,allow 绿、deny 红,判定顺序折行对齐。`/session` 有子 Agent 任务时多一行「子 Agent」(任务数与各状态),用过外部 Agent 时多一段「外部 Agent」(每个 Agent 的运行次数与用量,美元 / token / 请求数按各自单位,不换算)。
|
|
188
189
|
- `/plan`:当前计划面板(见下文「Plan 审批」);`/plan <目标>` 进入 Plan 模式并发出目标;`/plan approve [模式|fresh]`、`/plan reject` 不开对话框直接批准 / 放弃。
|
|
189
|
-
- `/tasks
|
|
190
|
+
- `/tasks`:聚焦 Agent 栏,`/tasks <id>` 打开子 Agent 视图;`/agents`:可用的子 Agent 类型(见下文「子 Agent」)。
|
|
190
191
|
- `/paste`:同 `Ctrl+V`。
|
|
191
192
|
|
|
193
|
+
## 进入 Bypass
|
|
194
|
+
|
|
195
|
+
切到 Bypass permissions(`full-auto`)之前底部弹一个确认框,样式同审批对话框(边框黄):
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
╭─ 进入 Bypass permissions? ──────────────────────────────────────────────────╮
|
|
199
|
+
│ 所有工具调用都不再询问:写文件、执行命令、联网直接放行 │
|
|
200
|
+
│ 只有危险命令仍会询问,deny 规则照常生效;只建议在一次性沙箱、容器里用 │
|
|
201
|
+
│ │
|
|
202
|
+
│ 1. 进入 Bypass y │
|
|
203
|
+
│ › 2. 取消 n Esc │
|
|
204
|
+
│ │
|
|
205
|
+
│ ↑↓ 选择 · Enter 确认 · 1-2 直接选 · Esc 取消 │
|
|
206
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
- 触发:Tab / Shift+Tab 循环到 Bypass、`/permission` 选择器选 Bypass、`/permission full-auto`。缺省选中「取消」:↑↓ 移动、Enter 确认、`1` / `2` 或 `y` / `n` 直选,Esc / Ctrl+C 取消(Ctrl+C 在这里不算退出的第一下)。
|
|
210
|
+
- 取消:循环时**跳过 Bypass 回到循环起点 Manual**(底部提示「未进入 Bypass · 权限模式:Manual」),这样不进 Bypass 也能一路 Tab 绕回去,且落点总比 Auto 更严;选择器与命令取消时保持原模式(消息区「已取消,权限模式仍为 …」)。
|
|
211
|
+
- 本次运行确认过一次后,再切到 Bypass 不再问;启动时已是 Bypass(`--permission-mode full-auto`、配置、profile)视为已确认,不弹。
|
|
212
|
+
- 宽 < 56 列时去掉空行、按键提示缩短;ASCII 模式边框 `+ - |`、选中符 `>`、箭头 `^v`。帧黄金 `test/fixtures/tui/bypass-confirm-*.txt`。
|
|
213
|
+
- line 模式(`--no-tui`):`/permission full-auto` 先打印上面两行说明,再问 `确认进入 Bypass?[y/N]`(单键,Enter = N);管道输入没有这一步。
|
|
214
|
+
|
|
215
|
+
## 选择与确认的按键
|
|
216
|
+
|
|
217
|
+
所有让人做选择的地方都支持 ↑↓ 移动 + Enter 确认,原有快捷键保留:
|
|
218
|
+
|
|
219
|
+
| 位置 | 按键 |
|
|
220
|
+
| --------------------------------------- | -------------------------------------------------------- |
|
|
221
|
+
| 审批对话框(含外部 Agent 首次运行确认) | ↑↓ Enter · 1–3 · y / a / n · Esc 拒绝 · v 完整输入 |
|
|
222
|
+
| 计划审批框(主选项、执行模式) | ↑↓ Enter · 1–4 / 1–3 · e 编辑计划 · Esc 留在 Plan / 返回 |
|
|
223
|
+
| 回滚确认面板、冲突覆盖二次确认 | ↑↓ Enter · 数字直接执行 · Esc 取消 / 返回 |
|
|
224
|
+
| 进入 Bypass 确认 | ↑↓ Enter · 1–2 · y / n · Esc 取消 |
|
|
225
|
+
| 权限模式、思考级别选择器 | ↑↓ Enter · 数字直接选 · Esc 取消 |
|
|
226
|
+
| 模型、会话、树、任务选择器 | ↑↓ Enter · 输入过滤 · Esc 取消(可过滤的列表不用数字键) |
|
|
227
|
+
| 启动时信任目录 | ↑↓ Enter · 1–4 直接选 · Esc / Ctrl+C = 本次不信任 |
|
|
228
|
+
| CLI 子命令计费 / 写入确认(TTY) | ↑↓ Enter · 1–2 · y / n · Esc / Ctrl+C 取消(缺省取消) |
|
|
229
|
+
|
|
230
|
+
CLI 子命令(`ama providers add` / `refresh` 的写入与 `--probe` 计费确认、`ama models cache-probe`)在 TTY 下用同一套方向键选择,结束后收成一行「? 继续? 继续」并恢复终端;stdin 不是 TTY(管道、CI)时仍是文本 `继续?[y/N]`(这些命令非交互时本就要求 `--yes`),`--yes` 跳过确认。
|
|
231
|
+
|
|
192
232
|
## 补全
|
|
193
233
|
|
|
194
234
|
- 首行行首输入 `/`:命令、提示模板(`/<名字>`)、Skill(`/skill:<名字>`)。
|
|
@@ -266,10 +306,49 @@ Plan 模式(Shift+Tab、`/permission plan`、`/plan <目标>`、`--permission-
|
|
|
266
306
|
```
|
|
267
307
|
|
|
268
308
|
- 状态行是类型(外部 Agent 写 `claude(claude)` 这类 runner)、状态与耗时、轮数、最近 3 个工具、用量;前台任务结束后换成结果摘要。后台任务(`background: true`)的工具调用立即返回,下面多一行跟随状态(运行中每秒刷新);完成后模型收到的 `<task-notification>` 在消息区只显示一行「↳ 子 Agent 通知 t2 explore 完成 · 7 轮 · /tasks 查看输出」,失败或被停止时另有一行黄色提示。
|
|
269
|
-
- `/tasks
|
|
309
|
+
- `/tasks`:聚焦 Agent 栏(见下);`/tasks <id>` 直接打开该任务的子 Agent 视图;`/tasks stop <id>` 停止。`ui.agentBar: "off"`(嵌入宿主缺省)时 `/tasks` 仍是任务选择器(新的在上,Enter 查看输出、运行中可停止)。line 模式 `/tasks` 列表、`/tasks <id>` 输出、`/tasks stop <id>` 停止。
|
|
270
310
|
- `/agents`:可用类型——名字、runner、来源(内置 / 用户 / 项目 / profile / 宿主),外部 Agent 带「已安装 版本」或「未安装」,再加一行说明。
|
|
271
311
|
- 外部 Agent 自己报告的提示(预算用尽、超时、模式降级等)在消息区显示为一行 `[claude · t3] …`。
|
|
272
312
|
|
|
313
|
+
### Agent 栏
|
|
314
|
+
|
|
315
|
+
状态行上方(提示行之下)列出子 Agent 任务,每个任务一行,最多 3 行,多出的给一行「另 N 个」:
|
|
316
|
+
|
|
317
|
+
```
|
|
318
|
+
⏺ t1 explore · 运行中 1m05s · 3 轮 · grep 找出 src/tui 的测试缺口
|
|
319
|
+
⏺ t2 codex · 等待审批 40s review the diff
|
|
320
|
+
⏺ t3 explore · 排队 排队中的任务
|
|
321
|
+
另 1 个
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
- 状态:排队(并发池满)/ 运行中(用时、轮数、最近一个工具)/ 等待审批(审批框里正有它的请求)/ 完成 / 失败 / 已停止(以及轮数耗尽、已中断);`⏺` 运行中强调色、完成绿、失败红、其余黄 / 暗;ASCII 下是 `*`。
|
|
325
|
+
- 什么时候显示:有排队、运行中或等审批的任务;本会话里结束、还没在视图里看过的任务保留到看过为止,最多 10 分钟。resume 进来时已经结束的任务不显示(`/tasks` 里能看到)。
|
|
326
|
+
- 进入:输入框为空时 `Ctrl+B`(有任务即可),或 `↓`(栏可见时)——tmux 的缺省前缀会吃掉 `Ctrl+B`,这时用 `↓`;输入框有字时 `Ctrl+B` 仍是光标左移、`↓` 仍是下移 / 历史。键位动作 `app.agents.focus`,可在 `keybindings.json` 改。
|
|
327
|
+
- 栏里:`↑` `↓` 选(列出本会话全部任务,窗口跟着滚;在第一项再按 `↑` 回到输入框),Enter 打开子 Agent 视图,Esc / `Ctrl+B` 回到输入框;直接打字则回到输入框并把字填进去。末行是按键提示。
|
|
328
|
+
- 嵌入宿主(有 profile)缺省 `ui.agentBar: "off"`:不显示栏,`Ctrl+B` / `↓` 照常交给编辑器。
|
|
329
|
+
|
|
330
|
+
### 子 Agent 视图
|
|
331
|
+
|
|
332
|
+
栏里 Enter 或 `/tasks <id>` 打开。它是主屏上的底部覆盖层,高度是终端行数 − 1(不切备用屏),关掉之后消息区与回滚历史原样:
|
|
333
|
+
|
|
334
|
+
```
|
|
335
|
+
t2 explore · 运行中 1m05s · 3 轮 · ↑12k ↓3.4k · Esc 返回 · /tasks stop t2 停止
|
|
336
|
+
› 找出 src/tui 的测试缺口
|
|
337
|
+
|
|
338
|
+
⏺ grep "describe(" src/tui
|
|
339
|
+
⎿ 14 处匹配 · 6 个文件
|
|
340
|
+
…
|
|
341
|
+
────────────────────────────────────────
|
|
342
|
+
› 发给 t2
|
|
343
|
+
────────────────────────────────────────
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
- 正文实时跟随:ama 子 Agent 显示子会话的全部消息与工具调用(与消息区同样的渲染);子会话句柄已被释放(保留上限 16 个)或会话是 resume 进来的,就只读加载子会话文件,任务再次运行时接上实时事件。外部 Agent(claude / codex / ACP)显示本进程内存里的实时输出(文本、思考、工具起止、回合、提示;最多 2000 条 / 1 MB,不落盘);ama 重启后只剩一行说明「用原 CLI resume <会话 id> 查看全文」。
|
|
347
|
+
- 输入框为空时:`↑` / PgUp 上翻(暂停跟随,底部提示「已暂停跟随 · End 继续」),`↓` / PgDn 下翻,End(暂停时也可按 `f`)回到跟随;`←` `→` 切到上一个 / 下一个任务;Esc 返回主界面。输入框有字时 Esc 先清空。
|
|
348
|
+
- Enter 把输入发给这个子 Agent(会话里记为 `origin: "direct"` 的 user 消息,见 [session-format.md](session-format.md)):ama 子 Agent 运行中 → 排到它本轮结束时送达;外部 Agent 运行中或任务还在排队 → 等本次运行结束后续聊;已结束 → 后台续聊(同 `task_ctl send`,完成后主会话照常收到 `<task-notification>`)。底部一行提示发送结果。父会话的模型不知道你直接和子 Agent 说过话,结果经结束通知自然带回。
|
|
349
|
+
- 视图里不中断任何东西:Esc 只是返回。停止子任务用 `/tasks stop <id>`——在视图输入框里也能用(视图里只认这一条命令)。
|
|
350
|
+
- 正在看的任务等审批时标题显示「等待审批」,审批框照常弹在视图上面(带 `[task:<类型>]` 来源)。
|
|
351
|
+
|
|
273
352
|
审批框的来源标注:
|
|
274
353
|
|
|
275
354
|
| 来源 | 标题前缀 | 正文 |
|
|
@@ -280,6 +359,54 @@ Plan 模式(Shift+Tab、`/permission plan`、`/plan <目标>`、`--permission-
|
|
|
280
359
|
|
|
281
360
|
三种都只有「允许 / 本会话允许同类 / 拒绝」三项(外部 Agent 的「本会话允许」由它自己记住)。Manual 模式下 `task(agent="claude")` 本来要问两次(task 调用一次、首次运行一次):task 调用的审批框里已写明「以你在 claude CLI 的登录运行(含本会话首次运行确认)」,允许之后紧接着的首次运行确认自动通过,消息区一行「已允许 task(随上一次确认)」;中间夹了别的审批、拒绝、超过 60 秒,或不是这次调用建立的任务,首次运行确认照常弹出。
|
|
282
361
|
|
|
362
|
+
## 轨迹
|
|
363
|
+
|
|
364
|
+
`/trace` 打开当前会话的轨迹:按回合 → 请求 → 工具 → 子调用 / 子 Agent 分层,每行显示耗时、token 与缓存命中,
|
|
365
|
+
看清一次回答慢在哪里(首 token、解码、工具、审批、重试、压缩)。`/trace t2` 直接看任务 t2:ama 子 Agent 显示它
|
|
366
|
+
自己的子轨迹,外部 Agent(claude / codex …)只有回合骨架(种类、状态、时间与计数,没有命令行与路径)。
|
|
367
|
+
|
|
368
|
+
覆盖层在主屏底部、高 `行数 − 1`,退出后消息区不变:
|
|
369
|
+
|
|
370
|
+
```text
|
|
371
|
+
轨迹 · 1 回合 · 2 请求 · 3 次工具 · 12s · ↑8.1k ↓240 · 缓存 70% · ttft p50 0.8s / p90 0.9s · 120 tok/s
|
|
372
|
+
▾ #1 跑测试并找出 TODO 12s ▕██░░░░░░░▒██▏ ↑8.1k ↓240 70%
|
|
373
|
+
▾ 请求 claude-sonnet-4-5 · ttft 0.8s · 167 tok/s 1.7s ▕██░░░░░░░░ ▏ ↑3.9k ↓150 46%
|
|
374
|
+
bash pnpm test 8.0s ▕ ░░░░░░░░░ ▏
|
|
375
|
+
grep TODO 0.3s ▕ ░░ ▏
|
|
376
|
+
⛔ write notes.md 2.2s ▕ ░░░░ ▏
|
|
377
|
+
› 请求 claude-sonnet-4-5 · ttft 0.9s · 82 tok/s 2.0s ▕ ▒██▏ ↑4.2k ↓90 93%
|
|
378
|
+
↑↓ 移动 · → 展开 · ← 折叠 · Enter 详情 · f 跟随 · Esc 关闭
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
- **条形**是所在回合的相对时间轴:`▒` 首 token 等待(TTFT)、`█` 解码、`░` 工具;进行中的节点只画起点 `│`,不编造时长。
|
|
382
|
+
ASCII(`ui.ascii` / `AMA_ASCII=1`)或无色(`NO_COLOR`)时降级为 `[==..--]`(`.` TTFT、`=` 解码、`-` 工具、`|` 起点)。
|
|
383
|
+
- **列**:↑ 是提示 token(含缓存读写),↓ 是输出 token,百分比是缓存命中(缓存读 / 提示 token)。宽 < 60 列只留标签与耗时,40 列可用。
|
|
384
|
+
- **记号**:`✗` 失败、`⛔` 被拒、`↻` 被重试掉的请求、`!` 中断或未完成、`·` 进行中;耗时前的 `≈`(ASCII `~`)表示**推算**——
|
|
385
|
+
0.6 之前的会话没有计时记录,按条目时间估出,首 token 与吞吐不显示,汇总的 ttft 分位只用精确值。
|
|
386
|
+
- **按键**:`↑↓` / `PgUp` `PgDn` / `Home` `End` 移动;`→` 展开(子 Agent 展开时读它的子会话)或进到第一个子行,`←` 折叠或回到父行;
|
|
387
|
+
`Enter` 详情卡片(类型、状态、开始时刻、耗时、模型与尝试次数、回退来源、TTFT、吞吐、token 与缓存、费用、审批等待;回合的提示、
|
|
388
|
+
请求的回复文字、工具参数(截到 500 字符)与结果(截到 2000 字符)),卡片里 `↑↓` 滚动、`Esc` / `Enter` 返回;`f` 跟随开关;
|
|
389
|
+
`Esc` 先关详情再关视图。
|
|
390
|
+
- **长会话**:先显示最后 50 个回合,顶部一行「更早的 N 个回合」上按 `Enter`(或在第一行继续按 `↑`)再往前加载 50 个;只渲染可见行。
|
|
391
|
+
- **运行中**:轨迹随会话事件刷新(最多每秒 2 次);有进行中的节点时自动跟随最新一行,手动上移即暂停(标题右侧显示「已暂停跟随」),
|
|
392
|
+
`End` 或 `f` 恢复。
|
|
393
|
+
- 保温与权限分类等辅助请求收在末尾「辅助请求 N 次」一组,缺省折叠。
|
|
394
|
+
- line 模式(`--ui line`、管道)里 `/trace [任务 id]` 打印同一棵树的文本(全部展开、不画条形)。
|
|
395
|
+
|
|
396
|
+
计时来自会话文件里的 `custom{customType:"ama.trace"}` 条目([session-format.md](session-format.md)),只有 id、时间与计数;
|
|
397
|
+
提示、参数、结果的预览从会话条目按需读取,不进轨迹本身。
|
|
398
|
+
|
|
399
|
+
## Memory
|
|
400
|
+
|
|
401
|
+
需开启记忆(`ama memory enable` 或 `--memory`,见 [memory.md](memory.md))。`/memory` 在消息区画一张卡片:每个作用域一段
|
|
402
|
+
(`用户 /memories/user/ · N 条 · 索引 X / 4.0 KiB`),条目一行「名字 — 说明 更新于 日期」,超过 90 天未更新的标灰;
|
|
403
|
+
索引超出上限时多一行黄字说明有几条没进系统提示;项目未受信任、本会话禁止写入时卡片底部各提示一行。
|
|
404
|
+
|
|
405
|
+
`/memory show <名字>` 把正文画成卡片;`/memory edit [名字|作用域]` 挂起界面打开 `$VISUAL` / `$EDITOR`(编辑临时副本,
|
|
406
|
+
保存退出后存回并重建索引,凭据与上限检查同模型写入);`/memory rm <名字>` 弹确认框(缺省选中「取消」,`y` 删除、`n` / Esc 取消);
|
|
407
|
+
`/memory on|off` 切本会话写开关;`/memory reload` 重渲染系统提示的 `memory` 节(提示会断一次缓存)。行式界面同一套命令输出文本,
|
|
408
|
+
`edit` 改用 `ama memory edit`,`rm` 需加 `--yes`。会话未开启记忆时只提示如何开启。
|
|
409
|
+
|
|
283
410
|
## 剪贴板图片
|
|
284
411
|
|
|
285
412
|
`Ctrl+V` 或 `/paste` 读系统剪贴板里的图片(macOS `osascript` / `pngpaste`,Linux `wl-paste` / `xclip`,Windows PowerShell),存为 `<数据目录>/clipboard/<时间>.png`,在输入框光标处插入 `@<路径>`,发送时按 `@图片` 附件处理(超过当前模型的单图上限时按 `images.resize` 缩放)。没有可用命令或剪贴板里没有图片时底部提示一行,输入框不变。文字仍用终端自己的粘贴(Cmd+V / Ctrl+Shift+V)。`ama sessions prune` 清理 7 天前的剪贴板文件。
|
|
@@ -313,6 +440,47 @@ Plan 模式(Shift+Tab、`/permission plan`、`/plan <目标>`、`--permission-
|
|
|
313
440
|
- **字符错位**:`⏺`(U+23FA)、`⎿`、`▎` 在个别字体(尤其 emoji 回退字体)下画成两格,宽度计算按 wcwidth(一格),会出现列错位或残影——换等宽字体或设 `AMA_ASCII=1`。
|
|
314
441
|
- **颜色**:`NO_COLOR` 或 `TERM=dumb` 无色;16 色终端按内置表取近,选中行不用底色而用强调色粗体;浅色终端设 `ui.theme: "light"`。
|
|
315
442
|
|
|
443
|
+
### `/config` 设置面板与 `ama config`
|
|
444
|
+
|
|
445
|
+
`/config` 打开设置面板(底部覆盖层):按分组列出约 60 个标量设置,每行「标签 · 生效值 · 生效档 · 来源」。
|
|
446
|
+
|
|
447
|
+
```text
|
|
448
|
+
▎ 设置 写入:用户级 ~/.config/ama/config.json [Tab 切换]
|
|
449
|
+
▎ / 搜索
|
|
450
|
+
▎ 界面
|
|
451
|
+
▎ › 主题 light 重启 来源 user
|
|
452
|
+
▎ Markdown 渲染 true 即时
|
|
453
|
+
▎ 权限
|
|
454
|
+
▎ 权限模式 plan 即时 [锁定] project
|
|
455
|
+
▎ ────────────────────────────────────────────────────────────
|
|
456
|
+
▎ 配色主题:dark、light,或 auto(…)
|
|
457
|
+
▎ ↑↓ 选择 · Enter/空格 修改 · / 搜索 · Tab 用户级/项目级 · Backspace 恢复缺省 · Esc 关闭
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
- **按键**:↑↓ 移动;Enter / 空格:布尔取反、≤ 4 项的枚举循环、更长的枚举(思考强度、权限模式等)与模型开选择器、数字和文本开行内输入(非法值红字留在框里,Esc 放弃);`/` 搜索键名、标签、枚举值与说明,Esc 先清搜索再关闭;Backspace / Delete 按两次 = 删掉写入层里的这一项(回到下层的值)。
|
|
461
|
+
- **写入层**:缺省写用户级 `~/.config/ama/config.json`;Tab 切到项目级 `.ama/config.json`,只许收紧(与合并规则同一判定),只认用户级的项变灰、Enter 给出原因。改动**立即写盘**(写前重读文件、只改这一项、校验、留 `.bak`),没有「保存」按钮;没有文件锁,与 `ama config edit` 同时改时后写者覆盖这一项。手排的格式会被规整成 2 空格缩进。
|
|
462
|
+
- **来源与锁定**:来源是 default / user / profile / project / cli / env;被更上层覆盖的项(profile、项目级、命令行参数、`AMA_CACHE_WARMING` 等环境变量)标 `[锁定]`,说明行写出原因,不让改。嵌入宿主(有 profile)时标题提示「写入用户级配置」。
|
|
463
|
+
- **生效档**:「即时」项当场作用于本会话与界面(主题以外的 `ui` 显示项、`defaultModel`、`thinkingLevel`、`permission.mode`、`compaction.enabled`、`retry.enabled`、`cache.warming`);「新会话」项在 `/new` / `/resume` 后生效;「重启」项(工具预设、codemode、沙箱、`ui.theme`、`ui.ascii`、`ui.language` 等)下次启动生效。面板 = 持久化,`/model` `/thinking` `/permission` `/statusline` 仍只改本会话。
|
|
464
|
+
- **缓存**:标「动缓存」的项会改变缓存前缀;对话已有回复时第一次改这类项,面板底部提示一次「下一次请求按未命中计费」。
|
|
465
|
+
- 面板里把 `permission.mode` 设为 `full-auto` 会先弹 Bypass 确认,并说明以后每次启动都生效。
|
|
466
|
+
- 关闭时消息区出一条汇总:「主题:dark → light(用户级)」,需重启 / 新会话生效的项另列一行;没改动不出。
|
|
467
|
+
- 列表、对象类的键不在面板里,最后一组「在别处修改」给出入口(`ama providers`、`/permissions`、`ama config edit`、`--json-value` 等)。
|
|
468
|
+
|
|
469
|
+
`/config key=value`(或 `/config key value`)不开面板,直接写用户级一项,回显与命令行相同;line 模式同样可用,无参数时列出全部设置。
|
|
470
|
+
|
|
471
|
+
命令行(与面板共用编辑核心):
|
|
472
|
+
|
|
473
|
+
```text
|
|
474
|
+
ama config get <key> [--json] 生效值、来源、生效档
|
|
475
|
+
ama config set <key> <value> [--project] [--json-value] [--yes]
|
|
476
|
+
ama config unset <key> [--project]
|
|
477
|
+
ama config list [前缀] [--json] [--all] 缺省只列面板里的设置
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
值按类型解析:`true/false/on/off/1/0`、数字(可写 `30_000`)、枚举不分大小写、`none` / `unset` = 删除;列表与对象用 `--json-value`(如 `ama config set tools.disabled '["bash"]' --json-value`)。未知键、非法值、项目级放宽被拒都退出码 3,文件不动;`get` / `list` 不会创建配置目录。`ama config set permission.mode full-auto` 在终端里先确认,非终端需要 `--yes`。
|
|
481
|
+
|
|
482
|
+
可选 `ui.replyLanguage`(如 `Chinese`):会话开始在系统提示 `rules` 节末尾追加一句英文规则 `Reply to the user in Chinese.`,不设时请求零字节变化;只认用户级 / profile。
|
|
483
|
+
|
|
316
484
|
## 组件库(`@armadra/agent/tui`)
|
|
317
485
|
|
|
318
486
|
交互模式用的终端组件单独导出,零依赖,宿主或其它 Node 程序可以直接用来画主屏界面。
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@armadra/agent",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "A coding and coordination agent that runs standalone or embedded in Armadra",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"coding-agent",
|
|
@@ -73,7 +73,11 @@
|
|
|
73
73
|
"docs/tui-design.md",
|
|
74
74
|
"docs/session-format.md",
|
|
75
75
|
"docs/sessions.md",
|
|
76
|
+
"docs/memory.md",
|
|
77
|
+
"docs/en/*.md",
|
|
78
|
+
"README.zh-CN.md",
|
|
76
79
|
"CHANGELOG.md",
|
|
80
|
+
"CHANGELOG.zh-CN.md",
|
|
77
81
|
"THIRD_PARTY_NOTICES.md"
|
|
78
82
|
],
|
|
79
83
|
"sideEffects": [
|
|
@@ -99,10 +103,11 @@
|
|
|
99
103
|
"fmt": "prettier --write .",
|
|
100
104
|
"fmt:check": "prettier --check .",
|
|
101
105
|
"check:deps": "node scripts/check-no-deps.mjs",
|
|
106
|
+
"check:i18n": "node scripts/check-i18n.mjs",
|
|
102
107
|
"release:check": "node scripts/release-check.mjs",
|
|
103
108
|
"bench:presets": "node scripts/bench-presets.mjs",
|
|
104
109
|
"bench:cache": "node scripts/cache-experiment.mjs",
|
|
105
|
-
"ci": "pnpm typecheck && pnpm fmt:check && pnpm check:deps && pnpm release:check && pnpm test && pnpm build && node dist/bundle/ama.cjs --version"
|
|
110
|
+
"ci": "pnpm typecheck && pnpm fmt:check && pnpm check:deps && pnpm check:i18n && pnpm release:check && pnpm test && pnpm build && node dist/bundle/ama.cjs --version"
|
|
106
111
|
},
|
|
107
112
|
"dependencies": {},
|
|
108
113
|
"devDependencies": {
|