botmux 2.107.0 → 2.108.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/README.en.md +17 -14
- package/README.md +19 -14
- package/dist/adapters/backend/sandbox.d.ts +3 -1
- package/dist/adapters/backend/sandbox.d.ts.map +1 -1
- package/dist/adapters/backend/sandbox.js +19 -3
- package/dist/adapters/backend/sandbox.js.map +1 -1
- package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-backend.js +16 -1
- package/dist/adapters/backend/tmux-backend.js.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.d.ts +24 -15
- package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js +75 -43
- package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
- package/dist/adapters/cli/genius.d.ts.map +1 -1
- package/dist/adapters/cli/genius.js +9 -15
- package/dist/adapters/cli/genius.js.map +1 -1
- package/dist/adapters/cli/grok.d.ts +73 -0
- package/dist/adapters/cli/grok.d.ts.map +1 -0
- package/dist/adapters/cli/grok.js +298 -0
- package/dist/adapters/cli/grok.js.map +1 -0
- package/dist/adapters/cli/oh-my-pi.d.ts.map +1 -1
- package/dist/adapters/cli/oh-my-pi.js +133 -12
- package/dist/adapters/cli/oh-my-pi.js.map +1 -1
- package/dist/adapters/cli/registry.d.ts +2 -1
- package/dist/adapters/cli/registry.d.ts.map +1 -1
- package/dist/adapters/cli/registry.js +3 -1
- package/dist/adapters/cli/registry.js.map +1 -1
- package/dist/adapters/cli/shared-hints.d.ts +8 -4
- package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
- package/dist/adapters/cli/shared-hints.js +8 -4
- package/dist/adapters/cli/shared-hints.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +18 -16
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/adapters/hook-installer.d.ts +5 -4
- package/dist/adapters/hook-installer.d.ts.map +1 -1
- package/dist/adapters/hook-installer.js +42 -0
- package/dist/adapters/hook-installer.js.map +1 -1
- package/dist/cli/send-dispatch.d.ts +21 -0
- package/dist/cli/send-dispatch.d.ts.map +1 -1
- package/dist/cli/send-dispatch.js +159 -0
- package/dist/cli/send-dispatch.js.map +1 -1
- package/dist/cli/session-list-liveness.d.ts +22 -0
- package/dist/cli/session-list-liveness.d.ts.map +1 -0
- package/dist/cli/session-list-liveness.js +22 -0
- package/dist/cli/session-list-liveness.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +182 -33
- package/dist/cli.js.map +1 -1
- package/dist/core/ask-types.d.ts +4 -0
- package/dist/core/ask-types.d.ts.map +1 -1
- package/dist/core/ask-types.js +10 -0
- package/dist/core/ask-types.js.map +1 -1
- package/dist/core/cost-calculator.d.ts.map +1 -1
- package/dist/core/cost-calculator.js +35 -13
- package/dist/core/cost-calculator.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +89 -16
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/dashboard-rows.d.ts.map +1 -1
- package/dist/core/dashboard-rows.js +6 -2
- package/dist/core/dashboard-rows.js.map +1 -1
- package/dist/core/dashboard-url.d.ts +6 -5
- package/dist/core/dashboard-url.d.ts.map +1 -1
- package/dist/core/dashboard-url.js +11 -8
- package/dist/core/dashboard-url.js.map +1 -1
- package/dist/core/maintenance.d.ts +11 -8
- package/dist/core/maintenance.d.ts.map +1 -1
- package/dist/core/maintenance.js +45 -20
- package/dist/core/maintenance.js.map +1 -1
- package/dist/core/per-bot-env.d.ts.map +1 -1
- package/dist/core/per-bot-env.js +4 -0
- package/dist/core/per-bot-env.js.map +1 -1
- package/dist/core/session-discovery.d.ts.map +1 -1
- package/dist/core/session-discovery.js +4 -0
- package/dist/core/session-discovery.js.map +1 -1
- package/dist/core/skills/cli-admin-command.d.ts.map +1 -1
- package/dist/core/skills/cli-admin-command.js +8 -2
- package/dist/core/skills/cli-admin-command.js.map +1 -1
- package/dist/core/skills/im-command.d.ts.map +1 -1
- package/dist/core/skills/im-command.js +3 -1
- package/dist/core/skills/im-command.js.map +1 -1
- package/dist/core/skills/sources.d.ts +33 -1
- package/dist/core/skills/sources.d.ts.map +1 -1
- package/dist/core/skills/sources.js +97 -0
- package/dist/core/skills/sources.js.map +1 -1
- package/dist/core/skills/types.d.ts +8 -0
- package/dist/core/skills/types.d.ts.map +1 -1
- package/dist/core/terminal-url.d.ts.map +1 -1
- package/dist/core/terminal-url.js +12 -2
- package/dist/core/terminal-url.js.map +1 -1
- package/dist/core/terminal-write-auth.d.ts +34 -0
- package/dist/core/terminal-write-auth.d.ts.map +1 -0
- package/dist/core/terminal-write-auth.js +76 -0
- package/dist/core/terminal-write-auth.js.map +1 -0
- package/dist/core/tmux-recovery.d.ts +11 -0
- package/dist/core/tmux-recovery.d.ts.map +1 -0
- package/dist/core/tmux-recovery.js +19 -0
- package/dist/core/tmux-recovery.js.map +1 -0
- package/dist/core/types.d.ts +10 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/update-check.d.ts +2 -2
- package/dist/core/update-check.js +2 -2
- package/dist/core/worker-pool.d.ts +3 -0
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +70 -3
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +15 -8
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/auth.d.ts +1 -1
- package/dist/dashboard/auth.d.ts.map +1 -1
- package/dist/dashboard/auth.js +7 -2
- package/dist/dashboard/auth.js.map +1 -1
- package/dist/dashboard/bot-payload.d.ts +3 -0
- package/dist/dashboard/bot-payload.d.ts.map +1 -1
- package/dist/dashboard/bot-payload.js +3 -0
- package/dist/dashboard/bot-payload.js.map +1 -1
- package/dist/dashboard/connector-api.d.ts.map +1 -1
- package/dist/dashboard/connector-api.js +39 -13
- package/dist/dashboard/connector-api.js.map +1 -1
- package/dist/dashboard/history-senders.d.ts +37 -0
- package/dist/dashboard/history-senders.d.ts.map +1 -0
- package/dist/dashboard/history-senders.js +60 -0
- package/dist/dashboard/history-senders.js.map +1 -0
- package/dist/dashboard/roles-batch.d.ts +31 -0
- package/dist/dashboard/roles-batch.d.ts.map +1 -0
- package/dist/dashboard/roles-batch.js +87 -0
- package/dist/dashboard/roles-batch.js.map +1 -0
- package/dist/dashboard/settings-card-model.d.ts +4 -2
- package/dist/dashboard/settings-card-model.d.ts.map +1 -1
- package/dist/dashboard/settings-card-model.js +13 -5
- package/dist/dashboard/settings-card-model.js.map +1 -1
- package/dist/dashboard/settings-write-applier.d.ts +4 -1
- package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
- package/dist/dashboard/settings-write-applier.js +6 -1
- package/dist/dashboard/settings-write-applier.js.map +1 -1
- package/dist/dashboard/skill-install-request.d.ts +4 -0
- package/dist/dashboard/skill-install-request.d.ts.map +1 -1
- package/dist/dashboard/skill-install-request.js +11 -1
- package/dist/dashboard/skill-install-request.js.map +1 -1
- package/dist/dashboard/trigger-api.d.ts +9 -1
- package/dist/dashboard/trigger-api.d.ts.map +1 -1
- package/dist/dashboard/trigger-api.js +48 -10
- package/dist/dashboard/trigger-api.js.map +1 -1
- package/dist/dashboard/web/app.d.ts.map +1 -1
- package/dist/dashboard/web/app.js +286 -271
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.d.ts +26 -0
- package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.js +1408 -12
- package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts +91 -4
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js +43 -2141
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/bot-onboarding.d.ts +6 -1
- package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
- package/dist/dashboard/web/bot-onboarding.js +261 -306
- package/dist/dashboard/web/bot-onboarding.js.map +1 -1
- package/dist/dashboard/web/connectors-page.d.ts +4 -0
- package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
- package/dist/dashboard/web/connectors-page.js +228 -48
- package/dist/dashboard/web/connectors-page.js.map +1 -1
- package/dist/dashboard/web/dashboard-api.d.ts +9 -0
- package/dist/dashboard/web/dashboard-api.d.ts.map +1 -0
- package/dist/dashboard/web/dashboard-api.js +18 -0
- package/dist/dashboard/web/dashboard-api.js.map +1 -0
- package/dist/dashboard/web/dashboard-components.d.ts +92 -0
- package/dist/dashboard/web/dashboard-components.d.ts.map +1 -0
- package/dist/dashboard/web/dashboard-components.js +250 -0
- package/dist/dashboard/web/dashboard-components.js.map +1 -0
- package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
- package/dist/dashboard/web/dashboard-routes.js +30 -183
- package/dist/dashboard/web/dashboard-routes.js.map +1 -1
- package/dist/dashboard/web/floating-scrollbars.d.ts +2 -0
- package/dist/dashboard/web/floating-scrollbars.d.ts.map +1 -0
- package/dist/dashboard/web/floating-scrollbars.js +264 -0
- package/dist/dashboard/web/floating-scrollbars.js.map +1 -0
- package/dist/dashboard/web/groups-api.d.ts +36 -0
- package/dist/dashboard/web/groups-api.d.ts.map +1 -0
- package/dist/dashboard/web/groups-api.js +44 -0
- package/dist/dashboard/web/groups-api.js.map +1 -0
- package/dist/dashboard/web/groups-page.d.ts.map +1 -1
- package/dist/dashboard/web/groups-page.js +746 -15
- package/dist/dashboard/web/groups-page.js.map +1 -1
- package/dist/dashboard/web/groups.d.ts +51 -18
- package/dist/dashboard/web/groups.d.ts.map +1 -1
- package/dist/dashboard/web/groups.js +145 -1096
- package/dist/dashboard/web/groups.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +545 -255
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/insights-page.d.ts.map +1 -1
- package/dist/dashboard/web/insights-page.js +1047 -14
- package/dist/dashboard/web/insights-page.js.map +1 -1
- package/dist/dashboard/web/insights.d.ts +177 -7
- package/dist/dashboard/web/insights.d.ts.map +1 -1
- package/dist/dashboard/web/insights.js +187 -1926
- package/dist/dashboard/web/insights.js.map +1 -1
- package/dist/dashboard/web/legacy-workflow-page.d.ts +3 -0
- package/dist/dashboard/web/legacy-workflow-page.d.ts.map +1 -0
- package/dist/dashboard/web/legacy-workflow-page.js +717 -0
- package/dist/dashboard/web/legacy-workflow-page.js.map +1 -0
- package/dist/dashboard/web/monitor-room.d.ts.map +1 -1
- package/dist/dashboard/web/monitor-room.js +10 -8
- package/dist/dashboard/web/monitor-room.js.map +1 -1
- package/dist/dashboard/web/monitoring-page.d.ts.map +1 -1
- package/dist/dashboard/web/monitoring-page.js +188 -14
- package/dist/dashboard/web/monitoring-page.js.map +1 -1
- package/dist/dashboard/web/office-page.d.ts.map +1 -1
- package/dist/dashboard/web/office-page.js +11 -23
- package/dist/dashboard/web/office-page.js.map +1 -1
- package/dist/dashboard/web/overview-page.d.ts.map +1 -1
- package/dist/dashboard/web/overview-page.js +141 -147
- package/dist/dashboard/web/overview-page.js.map +1 -1
- package/dist/dashboard/web/overview.d.ts +0 -1
- package/dist/dashboard/web/overview.d.ts.map +1 -1
- package/dist/dashboard/web/overview.js +3 -275
- package/dist/dashboard/web/overview.js.map +1 -1
- package/dist/dashboard/web/preferences.d.ts +1 -6
- package/dist/dashboard/web/preferences.d.ts.map +1 -1
- package/dist/dashboard/web/preferences.js +0 -21
- package/dist/dashboard/web/preferences.js.map +1 -1
- package/dist/dashboard/web/role-batch.d.ts +9 -0
- package/dist/dashboard/web/role-batch.d.ts.map +1 -0
- package/dist/dashboard/web/role-batch.js +42 -0
- package/dist/dashboard/web/role-batch.js.map +1 -0
- package/dist/dashboard/web/roles-page.d.ts.map +1 -1
- package/dist/dashboard/web/roles-page.js +538 -13
- package/dist/dashboard/web/roles-page.js.map +1 -1
- package/dist/dashboard/web/roles.d.ts +98 -1
- package/dist/dashboard/web/roles.d.ts.map +1 -1
- package/dist/dashboard/web/roles.js +117 -903
- package/dist/dashboard/web/roles.js.map +1 -1
- package/dist/dashboard/web/schedules-page.d.ts.map +1 -1
- package/dist/dashboard/web/schedules-page.js +82 -24
- package/dist/dashboard/web/schedules-page.js.map +1 -1
- package/dist/dashboard/web/sessions-kanban.d.ts +67 -0
- package/dist/dashboard/web/sessions-kanban.d.ts.map +1 -0
- package/dist/dashboard/web/sessions-kanban.js +481 -0
- package/dist/dashboard/web/sessions-kanban.js.map +1 -0
- package/dist/dashboard/web/sessions-page.d.ts +4 -0
- package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
- package/dist/dashboard/web/sessions-page.js +1633 -18
- package/dist/dashboard/web/sessions-page.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts +45 -4
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +53 -2535
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/settings-page.d.ts +0 -2
- package/dist/dashboard/web/settings-page.d.ts.map +1 -1
- package/dist/dashboard/web/settings-page.js +127 -117
- package/dist/dashboard/web/settings-page.js.map +1 -1
- package/dist/dashboard/web/skills-page.d.ts +10 -1
- package/dist/dashboard/web/skills-page.d.ts.map +1 -1
- package/dist/dashboard/web/skills-page.js +235 -93
- package/dist/dashboard/web/skills-page.js.map +1 -1
- package/dist/dashboard/web/team-federation-page.d.ts.map +1 -1
- package/dist/dashboard/web/team-federation-page.js +446 -28
- package/dist/dashboard/web/team-federation-page.js.map +1 -1
- package/dist/dashboard/web/team-federation.d.ts +91 -2
- package/dist/dashboard/web/team-federation.d.ts.map +1 -1
- package/dist/dashboard/web/team-federation.js +87 -474
- package/dist/dashboard/web/team-federation.js.map +1 -1
- package/dist/dashboard/web/theme-menu.d.ts +1 -0
- package/dist/dashboard/web/theme-menu.d.ts.map +1 -1
- package/dist/dashboard/web/theme-menu.js +79 -20
- package/dist/dashboard/web/theme-menu.js.map +1 -1
- package/dist/dashboard/web/ui.d.ts +1 -2
- package/dist/dashboard/web/ui.d.ts.map +1 -1
- package/dist/dashboard/web/ui.js +8 -20
- package/dist/dashboard/web/ui.js.map +1 -1
- package/dist/dashboard/web/v3-api.d.ts +16 -0
- package/dist/dashboard/web/v3-api.d.ts.map +1 -0
- package/dist/dashboard/web/v3-api.js +21 -0
- package/dist/dashboard/web/v3-api.js.map +1 -0
- package/dist/dashboard/web/v3-components.d.ts +2 -0
- package/dist/dashboard/web/v3-components.d.ts.map +1 -0
- package/dist/dashboard/web/v3-components.js +290 -0
- package/dist/dashboard/web/v3-components.js.map +1 -0
- package/dist/dashboard/web/v3-model.d.ts +80 -0
- package/dist/dashboard/web/v3-model.d.ts.map +1 -0
- package/dist/dashboard/web/v3-model.js +240 -0
- package/dist/dashboard/web/v3-model.js.map +1 -0
- package/dist/dashboard/web/v3-page.d.ts.map +1 -1
- package/dist/dashboard/web/v3-page.js +2 -22
- package/dist/dashboard/web/v3-page.js.map +1 -1
- package/dist/dashboard/web/v3-terminal.d.ts +14 -0
- package/dist/dashboard/web/v3-terminal.d.ts.map +1 -1
- package/dist/dashboard/web/v3-terminal.js +31 -19
- package/dist/dashboard/web/v3-terminal.js.map +1 -1
- package/dist/dashboard/web/webhook-logs-page.d.ts +16 -0
- package/dist/dashboard/web/webhook-logs-page.d.ts.map +1 -0
- package/dist/dashboard/web/webhook-logs-page.js +195 -0
- package/dist/dashboard/web/webhook-logs-page.js.map +1 -0
- package/dist/dashboard/web/whiteboards-page.d.ts.map +1 -1
- package/dist/dashboard/web/whiteboards-page.js +18 -23
- package/dist/dashboard/web/whiteboards-page.js.map +1 -1
- package/dist/dashboard/web/workflow-version-switch.d.ts +8 -0
- package/dist/dashboard/web/workflow-version-switch.d.ts.map +1 -0
- package/dist/dashboard/web/workflow-version-switch.js +9 -0
- package/dist/dashboard/web/workflow-version-switch.js.map +1 -0
- package/dist/dashboard/web/workflows.d.ts +272 -1
- package/dist/dashboard/web/workflows.d.ts.map +1 -1
- package/dist/dashboard/web/workflows.js +211 -1397
- package/dist/dashboard/web/workflows.js.map +1 -1
- package/dist/dashboard/webhook-routes.d.ts.map +1 -1
- package/dist/dashboard/webhook-routes.js +92 -39
- package/dist/dashboard/webhook-routes.js.map +1 -1
- package/dist/dashboard-web/app.js +1 -65
- package/dist/dashboard-web/brand-logo.png +0 -0
- package/dist/dashboard-web/chunks/bot-defaults-page-HSQ6HR3R.js +1 -0
- package/dist/dashboard-web/chunks/chunk-6TPODDDC.js +1 -0
- package/dist/dashboard-web/chunks/chunk-73EJP2MO.js +1 -0
- package/dist/dashboard-web/chunks/chunk-BRTZFELS.js +1 -0
- package/dist/dashboard-web/chunks/chunk-EVK77ASG.js +1 -0
- package/dist/dashboard-web/chunks/chunk-R3FXBFQH.js +1 -0
- package/dist/dashboard-web/chunks/chunk-VRLL7SNU.js +1 -0
- package/dist/dashboard-web/chunks/chunk-XCPSHD3G.js +37 -0
- package/dist/dashboard-web/chunks/chunk-XJ7BGPJH.js +1 -0
- package/dist/dashboard-web/chunks/chunk-YVRWYGXR.js +1 -0
- package/dist/dashboard-web/chunks/chunk-ZJING6FY.js +66 -0
- package/dist/dashboard-web/chunks/connectors-page-ODUA5UCW.js +1 -0
- package/dist/dashboard-web/chunks/groups-page-OYX5M6NK.js +8 -0
- package/dist/dashboard-web/chunks/insights-page-YCQO6OCR.js +22 -0
- package/dist/dashboard-web/chunks/legacy-workflow-page-XJAUNONP.js +2 -0
- package/dist/dashboard-web/chunks/{monitor-room-RFX4HPS5.js → monitor-room-WTZNYAFV.js} +17 -15
- package/dist/dashboard-web/chunks/monitoring-page-R6LJUK7G.js +2 -0
- package/dist/dashboard-web/chunks/office-page-4OXK3GNR.js +1 -0
- package/dist/dashboard-web/chunks/overview-page-4MVEJY6U.js +1 -0
- package/dist/dashboard-web/chunks/roles-page-NQDW27VV.js +1 -0
- package/dist/dashboard-web/chunks/schedules-page-JRNKYHOX.js +1 -0
- package/dist/dashboard-web/chunks/sessions-page-LF7UVI7B.js +3 -0
- package/dist/dashboard-web/chunks/settings-page-WGW7KQQS.js +2 -0
- package/dist/dashboard-web/chunks/skills-page-AMD4XP3T.js +3 -0
- package/dist/dashboard-web/chunks/team-federation-page-SYG3K4GG.js +1 -0
- package/dist/dashboard-web/chunks/v3-page-6NFFWNUK.js +94 -0
- package/dist/dashboard-web/chunks/whiteboards-page-FBRUK2AS.js +1 -0
- package/dist/dashboard-web/favicon.png +0 -0
- package/dist/dashboard-web/index.html +5 -69
- package/dist/dashboard-web/style.css +18835 -7211
- package/dist/dashboard.js +150 -32
- package/dist/dashboard.js.map +1 -1
- package/dist/global-config.d.ts +2 -2
- package/dist/global-config.d.ts.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +3 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +3 -0
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +7 -5
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +10 -7
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +25 -1
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +84 -0
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/platform/binding.d.ts +9 -0
- package/dist/platform/binding.d.ts.map +1 -1
- package/dist/platform/binding.js +14 -0
- package/dist/platform/binding.js.map +1 -1
- package/dist/platform/tunnel-client.d.ts.map +1 -1
- package/dist/platform/tunnel-client.js +9 -0
- package/dist/platform/tunnel-client.js.map +1 -1
- package/dist/services/bot-config-store.d.ts +1 -1
- package/dist/services/bot-config-store.d.ts.map +1 -1
- package/dist/services/bot-config-store.js +11 -5
- package/dist/services/bot-config-store.js.map +1 -1
- package/dist/services/file-bridge-path.d.ts +8 -0
- package/dist/services/file-bridge-path.d.ts.map +1 -0
- package/dist/services/file-bridge-path.js +75 -0
- package/dist/services/file-bridge-path.js.map +1 -0
- package/dist/services/grok-paths.d.ts +27 -0
- package/dist/services/grok-paths.d.ts.map +1 -0
- package/dist/services/grok-paths.js +106 -0
- package/dist/services/grok-paths.js.map +1 -0
- package/dist/services/grok-transcript.d.ts +67 -0
- package/dist/services/grok-transcript.d.ts.map +1 -0
- package/dist/services/grok-transcript.js +630 -0
- package/dist/services/grok-transcript.js.map +1 -0
- package/dist/services/hermes-session-filter.d.ts +28 -0
- package/dist/services/hermes-session-filter.d.ts.map +1 -0
- package/dist/services/hermes-session-filter.js +53 -0
- package/dist/services/hermes-session-filter.js.map +1 -0
- package/dist/services/hermes-transcript.d.ts +3 -0
- package/dist/services/hermes-transcript.d.ts.map +1 -1
- package/dist/services/hermes-transcript.js +20 -2
- package/dist/services/hermes-transcript.js.map +1 -1
- package/dist/services/resumable-session-discovery.d.ts +3 -0
- package/dist/services/resumable-session-discovery.d.ts.map +1 -1
- package/dist/services/resumable-session-discovery.js +6 -1
- package/dist/services/resumable-session-discovery.js.map +1 -1
- package/dist/services/skill-registry-store.d.ts +9 -0
- package/dist/services/skill-registry-store.d.ts.map +1 -1
- package/dist/services/skill-registry-store.js +304 -1
- package/dist/services/skill-registry-store.js.map +1 -1
- package/dist/services/structured-bridge-clis.d.ts +29 -0
- package/dist/services/structured-bridge-clis.d.ts.map +1 -0
- package/dist/services/structured-bridge-clis.js +76 -0
- package/dist/services/structured-bridge-clis.js.map +1 -0
- package/dist/services/trigger-log-store.d.ts +59 -0
- package/dist/services/trigger-log-store.d.ts.map +1 -1
- package/dist/services/trigger-log-store.js +81 -10
- package/dist/services/trigger-log-store.js.map +1 -1
- package/dist/services/usage-ledger.d.ts +4 -1
- package/dist/services/usage-ledger.d.ts.map +1 -1
- package/dist/services/usage-ledger.js +48 -10
- package/dist/services/usage-ledger.js.map +1 -1
- package/dist/services/webhook-audit.d.ts +10 -0
- package/dist/services/webhook-audit.d.ts.map +1 -0
- package/dist/services/webhook-audit.js +116 -0
- package/dist/services/webhook-audit.js.map +1 -0
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +2 -0
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/setup/ensure-tmux.d.ts +26 -12
- package/dist/setup/ensure-tmux.d.ts.map +1 -1
- package/dist/setup/ensure-tmux.js +85 -18
- package/dist/setup/ensure-tmux.js.map +1 -1
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +14 -1
- package/dist/skills/definitions.js.map +1 -1
- package/dist/skills/injection-mode.d.ts +16 -0
- package/dist/skills/injection-mode.d.ts.map +1 -1
- package/dist/skills/injection-mode.js +25 -0
- package/dist/skills/injection-mode.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/global-install.d.ts +22 -0
- package/dist/utils/global-install.d.ts.map +1 -0
- package/dist/utils/global-install.js +106 -0
- package/dist/utils/global-install.js.map +1 -0
- package/dist/utils/install-diagnostics.d.ts +1 -1
- package/dist/utils/install-diagnostics.d.ts.map +1 -1
- package/dist/utils/install-diagnostics.js +6 -4
- package/dist/utils/install-diagnostics.js.map +1 -1
- package/dist/utils/install-info.d.ts +2 -0
- package/dist/utils/install-info.d.ts.map +1 -1
- package/dist/utils/install-info.js +10 -4
- package/dist/utils/install-info.js.map +1 -1
- package/dist/worker.js +293 -172
- package/dist/worker.js.map +1 -1
- package/dist/workflows/events/payloads.d.ts +10 -10
- package/dist/workflows/events/schema.d.ts +28 -28
- package/package.json +8 -7
- package/dist/dashboard/web/connectors.d.ts +0 -2
- package/dist/dashboard/web/connectors.d.ts.map +0 -1
- package/dist/dashboard/web/connectors.js +0 -2
- package/dist/dashboard/web/connectors.js.map +0 -1
- package/dist/dashboard/web/office.d.ts +0 -2
- package/dist/dashboard/web/office.d.ts.map +0 -1
- package/dist/dashboard/web/office.js +0 -2
- package/dist/dashboard/web/office.js.map +0 -1
- package/dist/dashboard/web/schedules.d.ts +0 -2
- package/dist/dashboard/web/schedules.d.ts.map +0 -1
- package/dist/dashboard/web/schedules.js +0 -2
- package/dist/dashboard/web/schedules.js.map +0 -1
- package/dist/dashboard/web/settings.d.ts +0 -2
- package/dist/dashboard/web/settings.d.ts.map +0 -1
- package/dist/dashboard/web/settings.js +0 -2
- package/dist/dashboard/web/settings.js.map +0 -1
- package/dist/dashboard/web/skills.d.ts +0 -2
- package/dist/dashboard/web/skills.d.ts.map +0 -1
- package/dist/dashboard/web/skills.js +0 -2
- package/dist/dashboard/web/skills.js.map +0 -1
- package/dist/dashboard/web/skin-intro.d.ts +0 -4
- package/dist/dashboard/web/skin-intro.d.ts.map +0 -1
- package/dist/dashboard/web/skin-intro.js +0 -49
- package/dist/dashboard/web/skin-intro.js.map +0 -1
- package/dist/dashboard/web/v3.d.ts +0 -3
- package/dist/dashboard/web/v3.d.ts.map +0 -1
- package/dist/dashboard/web/v3.js +0 -539
- package/dist/dashboard/web/v3.js.map +0 -1
- package/dist/dashboard/web/whiteboards.d.ts +0 -2
- package/dist/dashboard/web/whiteboards.d.ts.map +0 -1
- package/dist/dashboard/web/whiteboards.js +0 -2
- package/dist/dashboard/web/whiteboards.js.map +0 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-OCIHPGEU.js +0 -438
- package/dist/dashboard-web/chunks/chunk-3N2PPQVD.js +0 -1
- package/dist/dashboard-web/chunks/chunk-3UJYRR2Q.js +0 -37
- package/dist/dashboard-web/chunks/chunk-5E3MJJL4.js +0 -1
- package/dist/dashboard-web/chunks/chunk-7SZRL6FY.js +0 -1
- package/dist/dashboard-web/chunks/chunk-JTSE5VP6.js +0 -54
- package/dist/dashboard-web/chunks/chunk-LXIK7OUJ.js +0 -1
- package/dist/dashboard-web/chunks/chunk-PE6W3C2C.js +0 -1
- package/dist/dashboard-web/chunks/chunk-QW54DWU3.js +0 -325
- package/dist/dashboard-web/chunks/connectors-IGETYWCP.js +0 -1
- package/dist/dashboard-web/chunks/groups-page-MYBS4ZYJ.js +0 -207
- package/dist/dashboard-web/chunks/insights-page-UPA32V2S.js +0 -309
- package/dist/dashboard-web/chunks/monitoring-page-7T3BESZ2.js +0 -1
- package/dist/dashboard-web/chunks/office-page-6DXYOG55.js +0 -1
- package/dist/dashboard-web/chunks/overview-page-LJSBCQW4.js +0 -1
- package/dist/dashboard-web/chunks/roles-page-ESURTVQH.js +0 -98
- package/dist/dashboard-web/chunks/schedules-LML2ISOT.js +0 -1
- package/dist/dashboard-web/chunks/sessions-YB73XOTU.js +0 -1
- package/dist/dashboard-web/chunks/sessions-page-MCO5QR7Z.js +0 -1
- package/dist/dashboard-web/chunks/settings-page-OSDKNVS3.js +0 -2
- package/dist/dashboard-web/chunks/skills-page-PXBZJ6P6.js +0 -2
- package/dist/dashboard-web/chunks/team-federation-page-TTPVHFPX.js +0 -10
- package/dist/dashboard-web/chunks/v3-page-FVPUL665.js +0 -149
- package/dist/dashboard-web/chunks/whiteboards-page-HLCTYSSV.js +0 -1
- package/dist/dashboard-web/chunks/workflows-FCPM4S4D.js +0 -184
- package/dist/dashboard-web/skins/bluearchive-hero.webp +0 -0
- package/dist/dashboard-web/skins/dragonball-goku.webp +0 -0
- package/dist/dashboard-web/skins/dragonball-wukong.webp +0 -0
- package/dist/dashboard-web/skins/genshin-breeze.webp +0 -0
- package/dist/dashboard-web/skins/ikun-hero.webp +0 -0
- package/dist/dashboard-web/skins/prts-priestess.webp +0 -0
- package/dist/dashboard-web/skins/zzz-hero.webp +0 -0
- package/dist/dashboard-web/skins/zzz-pattern.svg +0 -25
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var de=Object.create;var R=Object.defineProperty;var ce=Object.getOwnPropertyDescriptor;var ue=Object.getOwnPropertyNames;var ge=Object.getPrototypeOf,he=Object.prototype.hasOwnProperty;var Ye=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ke=(t,e)=>{for(var s in e)R(t,s,{get:e[s],enumerable:!0})},me=(t,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ue(e))!he.call(t,n)&&n!==s&&R(t,n,{get:()=>e[n],enumerable:!(o=ce(e,n))||o.enumerable});return t};var Je=(t,e,s)=>(s=t!=null?de(ge(t)):{},me(e||!t||!t.__esModule?R(s,"default",{value:t,enumerable:!0}):s,t));var P=class{sessions=new Map;schedules=new Map;online=!0;scheduleTimeZone="";version=0;snapshot={sessions:this.sessions,schedules:this.schedules,online:this.online,version:this.version,scheduleTimeZone:this.scheduleTimeZone};listeners=new Set;setScheduleTimeZone(e){typeof e=="string"&&e&&this.scheduleTimeZone!==e&&(this.scheduleTimeZone=e,this.emit())}upsertSessions(e){for(let s of e)this.sessions.set(s.sessionId,s);this.emit()}upsertSchedules(e){for(let s of e)this.schedules.set(s.id,s);this.emit()}applySse(e,s){if(e==="session.spawned")this.sessions.set(s.session.sessionId,s.session);else if(e==="session.update"){let o=this.sessions.get(s.sessionId);o&&this.sessions.set(s.sessionId,{...o,...s.patch})}else if(e==="session.exited"){let o=this.sessions.get(s.sessionId);o&&this.sessions.set(s.sessionId,{...o,status:"closed"})}else if(e==="schedule.created")this.schedules.set(s.schedule.id,s.schedule);else if(e==="schedule.updated"){let o=this.schedules.get(s.id);o&&this.schedules.set(s.id,{...o,...s.patch})}else if(e==="schedule.deleted")this.schedules.delete(s.id);else if(e==="schedule.timezone")typeof s?.timezone=="string"&&s.timezone&&(this.scheduleTimeZone=s.timezone);else return;this.emit()}setOnline(e){this.online!==e&&(this.online=e,this.emit())}on(e){return this.listeners.add(e),()=>this.listeners.delete(e)}getSnapshot(){return this.snapshot}emit(){this.version+=1,this.snapshot={sessions:this.sessions,schedules:this.schedules,online:this.online,version:this.version,scheduleTimeZone:this.scheduleTimeZone};for(let e of this.listeners)e()}},d=new P;async function $e(){let[t,e]=await Promise.all([fetch("/api/sessions").then(n=>n.json()),fetch("/api/schedules").then(n=>n.json())]);d.upsertSessions(t.sessions??[]),d.upsertSchedules(e.schedules??[]),typeof e.timezone=="string"&&d.setScheduleTimeZone(e.timezone);let s=new EventSource("/events"),o=["session.spawned","session.update","session.exited","schedule.created","schedule.updated","schedule.deleted","schedule.fired","schedule.timezone","heartbeat"];for(let n of o)s.addEventListener(n,i=>{try{let a=JSON.parse(i.data);d.applySse(n,a.body??a)}catch{}});s.onerror=()=>d.setOnline(!1),s.onopen=()=>d.setOnline(!0)}var pe={chats:[],bots:[]},U=pe,I=0,h=null,be=0,G=0;function fe(t){return{chats:Array.isArray(t?.chats)?t.chats:[],bots:Array.isArray(t?.bots)?t.bots:[]}}function we(t){U=t,I=Date.now()}async function W(t={}){let e=t.cacheMs??3e3,s=Date.now();if(!t.force&&I>0&&s-I<=e)return U;if(!t.force&&h)return h;let o=++be;G=o;let n=(async()=>{let i=await fetch("/api/groups"),a=await i.json().catch(()=>({}));if(!i.ok)throw new Error(`HTTP ${i.status}`);let l=fe(a);return o===G&&we(l),l})();return t.force?n:(h=n.finally(()=>{h=null}),h)}var A="botmux.dashboard.locale",ke={"app.name":"botmux","app.subtitle":"\u98DE\u4E66 AI CLI \u63A7\u5236\u53F0","nav.docs":"\u6587\u6863","time.secondsAgo":"{value} \u79D2\u524D","time.minutesAgo":"{value} \u5206\u949F\u524D","time.hoursAgo":"{value} \u5C0F\u65F6\u524D","nav.overview":"\u5DE5\u4F5C\u53F0","nav.monitoring":"\u76D1\u63A7\u770B\u677F","nav.sessions":"\u4F1A\u8BDD\u63A7\u5236","nav.groups":"\u7FA4\u7EC4\u7BA1\u7406","nav.schedules":"\u5B9A\u65F6\u4EFB\u52A1","nav.settings":"\u5168\u5C40\u8BBE\u7F6E","nav.botDefaults":"Bot \u914D\u7F6E","nav.skills":"Skill \u7BA1\u7406","nav.whiteboards":"\u767D\u677F","nav.team":"\u56E2\u961F\u534F\u4F5C","nav.connectors":"Webhook","nav.webhookLogs":"\u8C03\u7528\u65E5\u5FD7","nav.office":"\u529E\u516C\u5BA4","status.live":"\u5B9E\u65F6\u94FE\u63A5","status.disconnected":"\u94FE\u63A5\u65AD\u5F00","status.system":"\u7CFB\u7EDF","status.light":"\u6D45\u8272","status.dark":"\u6697\u9ED1","status.language":"\u8BED\u8A00","status.theme":"\u4E3B\u9898","theme.base":"\u57FA\u7840","theme.skins":"\u4E3B\u9898\u76AE\u80A4","skin.cyber":"2077","skin.fallout":"Fallout","botOnboarding.add":"\u6DFB\u52A0\u673A\u5668\u4EBA","botOnboarding.title":"\u6DFB\u52A0\u673A\u5668\u4EBA","botOnboarding.intro":"\u9009\u62E9 CLI \u4E0E\u5DE5\u4F5C\u76EE\u5F55\uFF0C\u626B\u7801\u521B\u5EFA PersonalAgent \u5E94\u7528\u540E\u5199\u5165\u672C\u673A bots.json\uFF0C\u5E76\u81EA\u52A8\u914D\u7F6E\u5F00\u653E\u5E73\u53F0\u6743\u9650\u3002","botOnboarding.cliLabel":"CLI \u9002\u914D\u5668","botOnboarding.dirModeLabel":"\u65B0\u8BDD\u9898\u5DE5\u4F5C\u76EE\u5F55","botOnboarding.dirModeFixed":"\u56FA\u5B9A\u9ED8\u8BA4\u76EE\u5F55(\u63A8\u8350)\u2014\u2014\u65B0\u8BDD\u9898\u76F4\u63A5\u5728\u6B64\u76EE\u5F55\u542F\u52A8\u3001\u4E0D\u5F39\u5361\u7247","botOnboarding.dirModeCard":"\u4ED3\u5E93\u9009\u62E9\u5361\u7247\u2014\u2014\u65B0\u8BDD\u9898\u5148\u5F39\u5361\u7247\uFF0C\u4ECE\u626B\u63CF\u5230\u7684 git \u4ED3\u5E93\u4E2D\u9009\u62E9","botOnboarding.dirLabelFixed":"\u9ED8\u8BA4\u5DE5\u4F5C\u76EE\u5F55","botOnboarding.dirLabelCard":"\u4ED3\u5E93\u626B\u63CF\u6839\u76EE\u5F55","botOnboarding.dirPlaceholderFixed":"\u9ED8\u8BA4 ~\uFF08\u5BB6\u76EE\u5F55\uFF09\uFF0C\u9700\u4E3A daemon \u4E3B\u673A\u4E0A\u5DF2\u5B58\u5728\u7684\u76EE\u5F55","botOnboarding.dirPlaceholderCard":"\u5982 ~/projects\uFF0C\u5361\u7247\u5217\u51FA\u5176\u4E0B\u7684 git \u4ED3\u5E93\uFF1B\u9700\u5728 daemon \u4E3B\u673A\u4E0A\u5B58\u5728","botOnboarding.modelLabel":"\u6A21\u578B\uFF08\u53EF\u9009\uFF09","botOnboarding.modelPlaceholder":"\u7559\u7A7A\u4F7F\u7528\u8BE5 CLI \u7684\u9ED8\u8BA4\u6A21\u578B","botOnboarding.modelTtadkPlaceholder":"ttadk \u7F51\u5173\u6A21\u578B\uFF0C\u9ED8\u8BA4 {model}\uFF0C\u53EF\u6539\uFF08\u968F\u65F6\u5728\u6B64\u8C03\u6574\uFF09","botOnboarding.modelTtadkCocoPlaceholder":"CoCo \u65E0\u9700\u6307\u5B9A\u6A21\u578B","botOnboarding.startScan":"\u5F00\u59CB\u626B\u7801","botOnboarding.cancel":"\u53D6\u6D88","botOnboarding.starting":"\u6B63\u5728\u751F\u6210\u4E8C\u7EF4\u7801...","botOnboarding.waiting":"\u8BF7\u7528\u98DE\u4E66 App \u626B\u7801\u786E\u8BA4\u521B\u5EFA\u5E94\u7528\u3002","botOnboarding.verifying":"\u626B\u7801\u6210\u529F\uFF0C\u6B63\u5728\u6821\u9A8C\u51ED\u8BC1...","botOnboarding.configuringPermissions":"\u6B63\u5728\u81EA\u52A8\u914D\u7F6E\u5F00\u653E\u5E73\u53F0\u6743\u9650\u2026","botOnboarding.platformScanHint":"\u8BF7\u7528\u98DE\u4E66 App \u518D\u626B\u4E00\u6B21\u7801\u767B\u5F55\u5F00\u653E\u5E73\u53F0\uFF08\u7528\u4E8E\u81EA\u52A8\u5BFC\u5165\u6743\u9650\u3001\u914D\u7F6E\u56DE\u8C03\u3001\u63D0\u4EA4\u7248\u672C\uFF09\u3002","botOnboarding.platformQrAlt":"\u5F00\u653E\u5E73\u53F0\u767B\u5F55\u4E8C\u7EF4\u7801","botOnboarding.completed":"\u673A\u5668\u4EBA\u5DF2\u6DFB\u52A0\u3002","botOnboarding.permissionOk":"\u5DF2\u81EA\u52A8\u5BFC\u5165 {count} \u9879\u6743\u9650\u3002","botOnboarding.permissionSkipped":"\uFF08\u8DF3\u8FC7 {count} \u9879\u5F53\u524D\u79DF\u6237\u76EE\u5F55\u4E2D\u6CA1\u6709\u7684\u6743\u9650\uFF09","botOnboarding.permissionVersion":"\u5DF2\u63D0\u4EA4\u53D1\u5E03\u7248\u672C {version}\u3002","botOnboarding.permissionManual":"\u6743\u9650\u672A\u80FD\u81EA\u52A8\u914D\u7F6E\uFF0C\u8BF7\u624B\u52A8\u5B8C\u6210\u4EE5\u4E0B\u6B65\u9AA4\uFF1A","botOnboarding.metaDir":"\u76EE\u5F55","botOnboarding.failed":"\u6DFB\u52A0\u5931\u8D25","botOnboarding.openLink":"\u6253\u4E0D\u5F00\u626B\u7801\uFF1F\u5728\u6D4F\u89C8\u5668\u4E2D\u6253\u5F00","botOnboarding.close":"\u5173\u95ED","botOnboarding.restartHint":"\u5DF2\u5199\u5165 bots.json\u3002\u81EA\u52A8\u4E0A\u7EBF\u672A\u6210\u529F\uFF0C\u6267\u884C botmux restart \u540E\u65B0\u673A\u5668\u4EBA\u751F\u6548\u3002","botOnboarding.liveOk":"\u673A\u5668\u4EBA\u5DF2\u81EA\u52A8\u4E0A\u7EBF\uFF0C\u65E0\u9700\u91CD\u542F\uFF0C\u76F4\u63A5\u5728\u98DE\u4E66\u91CC @ \u5B83\u5373\u53EF\u4F7F\u7528\u3002","botOnboarding.needsOwner":"\u65E0\u6CD5\u81EA\u52A8\u786E\u8BA4\u626B\u7801\u4EBA\u8EAB\u4EFD\uFF0C\u8BF7\u624B\u52A8\u586B\u5199 owner \u540E\u518D\u5B8C\u6210\u3002","botOnboarding.ownerLabel":"Owner\uFF08\u673A\u5668\u4EBA\u7BA1\u7406\u8005\uFF09","botOnboarding.ownerPlaceholder":"\u5B8C\u6574\u90AE\u7BB1 / union_id(on_) / open_id(ou_)\uFF0C\u591A\u4E2A\u7528\u9017\u53F7\u5206\u9694","botOnboarding.ownerHint":"\u4E3A\u907F\u514D\u300C\u65E0\u4EBA\u662F owner \u65F6\u4EFB\u4F55\u4EBA\u90FD\u80FD\u505A\u7BA1\u7406\u64CD\u4F5C\u300D\uFF0C\u5FC5\u987B\u6307\u5B9A\u81F3\u5C11\u4E00\u4E2A owner\u3002\u5EFA\u8BAE\u7528\u672C\u4F01\u4E1A\u90AE\u7BB1\u6216 union_id(on_)\u3002","botOnboarding.ownerSubmit":"\u4FDD\u5B58 owner \u5E76\u5B8C\u6210","botOnboarding.ownerEmpty":"\u8BF7\u586B\u5199\u81F3\u5C11\u4E00\u4E2A owner\u3002","botOnboarding.ownerInvalid":"owner \u6821\u9A8C\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5\u3002","botOnboarding.qrAlt":"\u98DE\u4E66\u626B\u7801\u6DFB\u52A0\u673A\u5668\u4EBA\u4E8C\u7EF4\u7801","overview.title":"\u5DE5\u4F5C\u53F0","overview.team":"AI \u56E2\u961F","overview.teamHint":"\u6BCF\u4F4D\u6570\u5B57\u5458\u5DE5\u7684\u5B9E\u65F6\u72B6\u6001","overview.attention":"\u9700\u8981\u4F60\u5904\u7406","overview.activeSessions":"\u6D3B\u8DC3\u4F1A\u8BDD","overview.sessionOverview":"\u4F1A\u8BDD\u6982\u89C8","overview.viewAll":"\u67E5\u770B\u5168\u90E8 \u2192","overview.viewAllPlain":"\u67E5\u770B\u5168\u90E8","overview.sort":"\u6392\u5E8F","overview.sortByTime":"\u6309\u65F6\u95F4","overview.sortAttentionFirst":"\u9700\u8981\u4F60\u5904\u7406\u4F18\u5148","overview.botIdle":"\u5F85\u547D\u4E2D\uFF0C\u968F\u65F6\u53EF\u63A5\u65B0\u4EFB\u52A1","overview.botOffline":"\u79BB\u7EBF \u2014 daemon \u672A\u4E0A\u7EBF","overview.botBusy":"\u6267\u884C\u4E2D \xB7 {count} \u4F1A\u8BDD","overview.botNeedsYou":"\u7B49\u4F60\u56DE\u590D","overview.botReady":"\u5C31\u7EEA","overview.botOff":"\u79BB\u7EBF","overview.sessionsCount":"{count} \u4F1A\u8BDD","overview.lastActive":"{time}\u524D\u6D3B\u8DC3","overview.teamCount":"{count} \u4F4D","overview.teamExpand":"\u5C55\u5F00\u5168\u90E8","overview.teamCollapse":"\u6536\u8D77","strip.pending":"{count} \u4EF6\u5F85\u5904\u7406","strip.longestCompact":"\u6700\u4E45 {time} \xB7 {bot} \xB7 {reason}","strip.handle":"\u7ACB\u5373\u5904\u7406","overview.openSessions":"\u6D3B\u8DC3\u4F1A\u8BDD","overview.workingSessions":"\u5DE5\u4F5C\u4E2D","overview.idleSessions":"\u7A7A\u95F2\u4E2D","overview.onlineBots":"\u5728\u7EBF Bot","overview.schedules":"\u5B9A\u65F6\u4EFB\u52A1","overview.groups":"\u7FA4\u804A\u8986\u76D6","overview.enabledSchedules":"\u5DF2\u542F\u7528","overview.total":"\u603B\u8BA1","overview.active":"\u6D3B\u8DC3","overview.daemonRegistry":"daemon \u6CE8\u518C\u8868","overview.chatMatrix":"\u7FA4\u804A\u77E9\u9635","overview.recentSessions":"\u6700\u8FD1\u4F1A\u8BDD","overview.nextSchedules":"\u5B9A\u65F6\u4EFB\u52A1","overview.noSessions":"\u6682\u65E0\u4F1A\u8BDD\u3002","overview.noSchedules":"\u6682\u65E0\u5B9A\u65F6\u4EFB\u52A1\u3002","monitoring.eyebrow":"\u8FD0\u884C\u8D44\u6E90","monitoring.title":"\u76D1\u63A7\u770B\u677F","monitoring.subtitle":"\u5B9E\u65F6\u67E5\u770B\u5BBF\u4E3B\u673A\u3001botmux\u3001\u673A\u5668\u4EBA\u548C\u4F1A\u8BDD\u7684 CPU \u4E0E\u5185\u5B58\u538B\u529B\u3002","monitoring.runtimeTitle":"\u76D1\u63A7\u770B\u677F","monitoring.runtimeSubtitle":"\u5B9E\u65F6\u67E5\u770B botmux \u7684\u8FD0\u884C\u5065\u5EB7\u3001\u8D44\u6E90\u538B\u529B\u548C\u4F1A\u8BDD\u538B\u529B\u3002","monitoring.runtimeHealth":"\u8FD0\u884C\u5065\u5EB7","monitoring.runtimeHealthHint":"\u786E\u8BA4\u6570\u636E\u662F\u5426\u65B0\u9C9C\u3001daemon \u662F\u5426\u5728\u7EBF\u3001\u4F1A\u8BDD\u662F\u5426\u5806\u79EF\u3002","monitoring.resourcePressure":"\u8D44\u6E90\u538B\u529B","monitoring.resourcePressureHint":"\u673A\u5668\u8D44\u6E90\u53EA\u4FDD\u5B58\u5728\u5185\u5B58\u8D8B\u52BF\u4E2D\uFF0C\u91CD\u542F\u540E\u6E05\u7A7A\u3002","monitoring.sessionPressure":"\u4F1A\u8BDD\u538B\u529B","monitoring.sessionPressureHint":"\u5B9A\u4F4D\u957F\u65F6\u95F4\u8FD0\u884C\u3001\u7B49\u5F85\u5904\u7406\u548C\u672A\u5173\u8054\u8FDB\u7A0B\u7684 live \u4F1A\u8BDD\u3002","monitoring.botRuntime":"Bot \u8FD0\u884C","monitoring.botRuntimeHint":"\u6309 bot \u805A\u5408 daemon \u72B6\u6001\u3001\u4F1A\u8BDD\u538B\u529B\u548C\u8D44\u6E90\u5360\u7528\u3002","monitoring.sampleHealth":"\u91C7\u6837\u72B6\u6001","monitoring.sampleAge":"\u6570\u636E\u5E74\u9F84","monitoring.sample.fresh":"\u65B0\u9C9C","monitoring.sample.stale":"\u8FC7\u671F","monitoring.sample.unsupported":"\u4E0D\u652F\u6301","monitoring.sample.unknown":"\u672A\u77E5","monitoring.health.ok":"\u5065\u5EB7","monitoring.health.warn":"\u8B66\u60D5","monitoring.health.danger":"\u9AD8\u538B","monitoring.health.unknown":"\u672A\u77E5","monitoring.daemonHealth":"Daemon \u5728\u7EBF","monitoring.sessionHealth":"\u4F1A\u8BDD\u5065\u5EB7","monitoring.offline":"\u79BB\u7EBF","monitoring.working":"\u5DE5\u4F5C\u4E2D","monitoring.starting":"\u542F\u52A8\u4E2D","monitoring.waiting":"\u7B49\u5F85\u4E2D","monitoring.idle":"\u7A7A\u95F2","monitoring.unknown":"\u672A\u77E5","monitoring.statusDistribution":"\u72B6\u6001\u5206\u5E03","monitoring.longestRunning":"\u6700\u957F\u8FD0\u884C","monitoring.longestWaiting":"\u6700\u957F\u7B49\u5F85","monitoring.unattributedSessions":"\u672A\u5173\u8054\u8FDB\u7A0B","monitoring.unattributedHint":"\u8FD9\u4E9B live \u4F1A\u8BDD\u5F53\u524D\u6CA1\u6709\u53EF\u9760 PID \u5173\u8054\uFF0C\u65E0\u6CD5\u8BA1\u7B97\u4F1A\u8BDD\u7EA7\u8D44\u6E90\u3002","monitoring.unsupported":"\u5F53\u524D\u5E73\u53F0\u6682\u4E0D\u652F\u6301\u8D44\u6E90\u91C7\u6837\u3002","monitoring.unsupportedKicker":"Linux only","monitoring.unsupportedTitle":"\u8D44\u6E90\u91C7\u6837\u4EC5\u652F\u6301 Linux","monitoring.unsupportedHint":"\u5F53\u524D\u5E73\u53F0\u6CA1\u6709\u53EF\u8BFB\u7684 /proc \u6570\u636E\uFF1B\u8FD0\u884C\u5065\u5EB7\u4ECD\u53EF\u7EE7\u7EED\u67E5\u770B\u3002","monitoring.unsupportedRuntimeOk":"\u8FD0\u884C\u5065\u5EB7\u53EF\u7528","monitoring.unsupportedResourceOnly":"CPU / Memory / RSS \u6682\u505C","monitoring.hostCpu":"CPU","monitoring.hostMemory":"Memory","monitoring.botmuxRss":"Botmux \u5185\u5B58","monitoring.botmuxSelf":"\u672C\u4F53","monitoring.botmuxDaemon":"\u5B88\u62A4","monitoring.botmuxWorker":"worker","monitoring.botmuxCli":"\u5916\u90E8 CLI","monitoring.rssHelpLabel":"\u5185\u5B58\u53E3\u5F84\u8BF4\u660E","monitoring.rssHelp":`\u5185\u5B58\u7528 PSS\uFF08Proportional Set Size\uFF09\uFF1A\u5171\u4EAB\u5185\u5B58\u9875\u6309\u5171\u4EAB\u5B83\u7684\u8FDB\u7A0B\u6570\u5206\u644A\uFF0C\u6240\u4EE5\u591A\u8FDB\u7A0B\u76F8\u52A0\u4E0D\u4F1A\u50CF RSS \u90A3\u6837\u628A\u5171\u4EAB\u7684 Node \u8FD0\u884C\u65F6/\u5E93\u91CD\u590D\u8BA1\u6570\uFF08\u8BFB\u4E0D\u5230 smaps_rollup \u65F6\u56DE\u9000 RSS\uFF09\u3002
|
|
2
|
+
\u8FD9\u662F\u300CBotmux \u5168\u5BB6\u6876\u300D\u603B\u548C\uFF0C\u62C6\u5206\uFF1A\u672C\u4F53 = \u5B88\u62A4\u8FDB\u7A0B + \u5404\u4F1A\u8BDD\u7684 botmux worker\uFF08\u81EA\u6709\u4EE3\u7801\uFF09\uFF1B\u5916\u90E8 CLI = Claude/Codex \u7B49 CLI \u53CA\u5176\u5DE5\u5177\u5B50\u8FDB\u7A0B\uFF0C\u901A\u5E38\u5360\u5927\u5934\u3002
|
|
3
|
+
\u9002\u5408\u5224\u65AD\u5185\u5B58\u70ED\u70B9\u3001\u6301\u7EED\u4E0A\u6DA8\u8D8B\u52BF\u548C\u5F02\u5E38\u5360\u7528\u3002`,"monitoring.trackedSessions":"\u8D8B\u52BF\u4F1A\u8BDD","monitoring.currentSessions":"\u5F53\u524D\u4F1A\u8BDD","monitoring.memoryOnly":"\u8D8B\u52BF\u4EC5\u4FDD\u5B58\u5728\u5185\u5B58\u4E2D\uFF0C\u91CD\u542F\u540E\u6E05\u7A7A","monitoring.trends":"\u8D8B\u52BF","monitoring.trendsHint":"Host \u4E0E Botmux \u805A\u5408\u4FDD\u7559 24h\uFF1B\u4F1A\u8BDD\u5386\u53F2\u53EA\u4FDD\u7559 Top \u96C6\u5408\u3002","monitoring.trendHostCpu":"Host CPU","monitoring.trendHostMemory":"Host Memory","monitoring.trendBotmuxCpu":"Botmux CPU","monitoring.chartNow":"now","monitoring.chartNoData":"no data","monitoring.chartMinutesAgo":"{value} \u5206\u949F\u524D","monitoring.chartHoursAgo":"{value} \u5C0F\u65F6\u524D","monitoring.chartDaysAgo":"{value} \u5929\u524D","monitoring.bots":"\u673A\u5668\u4EBA","monitoring.botsHint":"\u805A\u5408\u5305\u542B daemon \u81EA\u8EAB\u4E0E\u8BE5 bot \u7684\u5168\u90E8\u5F53\u524D\u4F1A\u8BDD\u3002","monitoring.sessions":"\u4F1A\u8BDD","monitoring.sessionsHint":"\u6240\u6709 live \u4F1A\u8BDD\u90FD\u6709\u5F53\u524D\u503C\uFF0C\u53EA\u6709 Top \u4F1A\u8BDD\u4FDD\u7559\u5386\u53F2\u66F2\u7EBF\u3002","monitoring.trackedSessionTrends":"Top \u4F1A\u8BDD\u8D8B\u52BF","monitoring.trackedSessionHint":"\u8FD9\u662F\u5386\u53F2\u4FDD\u7559\u96C6\u5408\uFF0C\u4E0D\u4EE3\u8868\u5168\u91CF\u4F1A\u8BDD\u8303\u56F4\u3002","monitoring.modalClose":"\u5173\u95ED","monitoring.noTrackedHistory":"\u6682\u65E0 Top \u4F1A\u8BDD\u5386\u53F2\u3002","monitoring.noHotSession":"\u6682\u65E0\u70ED\u70B9\u4F1A\u8BDD","monitoring.hottest":"\u70ED\u70B9","monitoring.sort":"\u6392\u5E8F","monitoring.sort.cpu":"CPU","monitoring.sort.rss":"RSS","monitoring.sort.growth":"\u589E\u957F","monitoring.sort.bot":"Bot","monitoring.sort.status":"\u72B6\u6001","monitoring.bot":"Bot","monitoring.cpu":"CPU","monitoring.rss":"RSS","monitoring.growth":"\u589E\u957F","monitoring.daemon":"Daemon","monitoring.sessionsCount":"\u4F1A\u8BDD\u6570","monitoring.session":"\u4F1A\u8BDD","monitoring.confidence":"\u5F52\u56E0","monitoring.rank":"\u5165\u9009\u539F\u56E0","sessions.title":"\u4F1A\u8BDD\u63A7\u5236","sessions.search":"\u641C\u7D22\u7FA4\u804A / \u5DE5\u4F5C\u76EE\u5F55 / \u6807\u9898 / ID","sessions.anyStatus":"\u5168\u90E8\u72B6\u6001","sessions.adoptAny":"\u63A5\u5165\uFF1A\u5168\u90E8","sessions.adoptYes":"\u63A5\u5165\uFF1A\u662F","sessions.adoptNo":"\u63A5\u5165\uFF1A\u5426","sessions.chatAny":"\u6240\u5728\u804A\u5929\uFF1A\u5168\u90E8","sessions.showUnknownChats":"\u663E\u793A\u672A\u77E5\u804A\u5929","sessions.activeOnly":"\u4EC5\u6D3B\u8DC3","sessions.runtime.logical":"\u53EF\u7EE7\u7EED\u4F1A\u8BDD","sessions.runtime.resident":"\u5E38\u9A7B\u4F1A\u8BDD","sessions.runtime.dormant":"\u4F11\u7720\u4F1A\u8BDD","sessions.monitorRoom":"\u76D1\u63A7\u5BA4","sessions.addToMonitorRoom":"\u6DFB\u52A0\u5230\u76D1\u63A7\u5BA4","sessions.monitorRoomAdded":"\u5DF2\u6DFB\u52A0 {added} \u4E2A\uFF0C\u603B\u8BA1 {total} \u4E2A","sessions.closeSelected":"\u5173\u95ED\u9009\u4E2D","sessions.clearSelection":"\u53D6\u6D88\u9009\u62E9","sessions.selectedCount":"\u5DF2\u9009 {count} \u4E2A\u4F1A\u8BDD","sessions.idleCleanupOlderThan":"\u7A7A\u95F2\u8D85\u8FC7","sessions.idleCleanupThreshold":"\u7A7A\u95F2\u6E05\u7406\u9608\u503C","sessions.idleCleanupRun":"\u6E05\u7406\u7A7A\u95F2","sessions.idleCleanupCount":"\u53EF\u6E05\u7406 {count} \u4E2A","sessions.idleCleanupCancel":"\u53D6\u6D88","sessions.idleCleanupApply":"\u786E\u5B9A","sessions.idleCleanupRunning":"\u6E05\u7406\u4E2D\u2026","sessions.idleCleanupDone":"\u5DF2\u5173\u95ED {closed} \u4E2A\uFF0C\u5931\u8D25 {failed} \u4E2A","sessions.idleCleanupFailed":"\u6E05\u7406\u5931\u8D25","sessions.lock":"\u9501\u5B9A\u4F1A\u8BDD","sessions.unlock":"\u89E3\u9501\u4F1A\u8BDD","sessions.locked":"\u9501\u5B9A","sessions.lockSelected":"\u9501\u5B9A\u9009\u4E2D","sessions.unlockSelected":"\u89E3\u9501\u9009\u4E2D","sessions.lockFailed":"\u9501\u5B9A\u72B6\u6001\u66F4\u65B0\u5931\u8D25","sessions.bot":"bot","sessions.cli":"CLI","sessions.chat":"\u7FA4\u804A","sessions.location":"\u6240\u5728\u804A\u5929","sessions.groupChat":"\u7FA4\u804A","sessions.directChat":"\u5355\u804A","sessions.chatUnknown":"\u672A\u77E5\u804A\u5929","sessions.openChat":"\u6253\u5F00\u7FA4\u804A","sessions.status":"\u72B6\u6001","sessions.status.starting":"\u542F\u52A8\u4E2D","sessions.status.working":"\u5DE5\u4F5C\u4E2D","sessions.status.idle":"\u7A7A\u95F2","sessions.status.dormant":"\u4F11\u7720","sessions.status.analyzing":"\u5206\u6790\u4E2D","sessions.status.active":"\u6D3B\u52A8\u4E2D","sessions.status.limited":"\u9650\u989D\u5DF2\u8FBE","sessions.status.closed":"\u5DF2\u5173\u95ED","sessions.status.unknown":"\u672A\u77E5","sessions.tokenIn":"Token In","sessions.tokenOut":"Token Out","sessions.titleCol":"\u6807\u9898","sessions.workingDir":"\u5DE5\u4F5C\u76EE\u5F55","sessions.created":"\u521B\u5EFA","sessions.last":"\u6700\u8FD1","sessions.adopt":"\u63A5\u5165","sessions.actions":"\u64CD\u4F5C","sessions.details":"\u8BE6\u60C5","sessions.copy":"\u590D\u5236","sessions.copied":"\u5DF2\u590D\u5236","sessions.locate":"\u5B9A\u4F4D\u8BDD\u9898","sessions.locating":"\u53D1\u9001\u4E2D...","sessions.cooldown":"\u51B7\u5374 {seconds}s","sessions.openTerminal":"\u7EC8\u7AEF","sessions.writeLink":"\u64CD\u4F5C\u94FE\u63A5","sessions.writeLinkHint":"\u83B7\u53D6\u53EF\u64CD\u4F5C\u7EC8\u7AEF\u94FE\u63A5\uFF08\u5E26\u5199\u6743\u9650 token\uFF0C\u65B0\u6807\u7B7E\u6253\u5F00\uFF09","sessions.writeLinkFail":"\u83B7\u53D6\u64CD\u4F5C\u94FE\u63A5\u5931\u8D25","sessions.close":"\u5173\u95ED\u4F1A\u8BDD","sessions.restart":"\u91CD\u542F CLI","sessions.restartConfirmIntro":"\u51C6\u5907\u91CD\u542F\u5F53\u524D CLI\u3002","sessions.restartConfirmStatus":"\u5F53\u524D\u72B6\u6001","sessions.restartConfirmCli":"CLI","sessions.restartConfirmQuestion":"\u786E\u8BA4\u91CD\u542F\u8FD9\u4E2A CLI\uFF1F","sessions.restartFailed":"\u91CD\u542F\u5931\u8D25","sessions.resume":"\u6062\u590D\u4F1A\u8BDD","sessions.dismiss":"\u5173\u95ED","sessions.closeConfirm":"\u5173\u95ED\u8FD9\u4E2A\u4F1A\u8BDD\uFF1F","sessions.resumeFailed":"\u6062\u590D\u5931\u8D25","sessions.land":"\u843D\u76D8","sessions.landLoading":"\u52A0\u8F7D\u6C99\u76D2 diff\u2026","sessions.landUnavailable":"\u65E0\u6CD5\u843D\u76D8","sessions.landEmpty":"\u6C99\u76D2\u526F\u672C\u6CA1\u6709\u6539\u52A8\u3002","sessions.landApply":"\u5E94\u7528\u5230\u78C1\u76D8","sessions.landDiscard":"\u4E22\u5F03","sessions.landApplied":"\u5DF2\u843D\u76D8","sessions.landFailed":"\u843D\u76D8\u5931\u8D25","sessions.landDiscarded":"\u5DF2\u4E22\u5F03\uFF08\u6C99\u76D2\u526F\u672C\u672A\u5E94\u7528\uFF09\u3002","sessions.insight":"\u6D1E\u5BDF","sessions.insightLoading":"\u5206\u6790\u4E2D\u2026","sessions.insightUnavailable":"\u65E0\u6CD5\u5206\u6790","sessions.insightEmpty":"\u672C\u4F1A\u8BDD\u8FD8\u6CA1\u6709\u53EF\u5206\u6790\u7684\u5DE5\u5177 span\u3002","sessions.insightMetrics":"span {total} \xB7 \u5931\u8D25 {failed} \xB7 \u6162 {slow} \xB7 \u8BFB\u6539\u6BD4 {rw} \xB7 \u538B\u7F29 {compactions}","sessions.insightSuggestions":"\u5EFA\u8BAE","sessions.insightSpans":"\u52A8\u4F5C span","sessions.insightCapped":"\u4EC5\u663E\u793A\u524D {shown}/{total} \u6761","sessions.insightAsOf":"\u622A\u81F3 {asOf}","sessions.insightPartial":"\uFF08\u53EF\u80FD\u4E0D\u542B\u8FDB\u884C\u4E2D\u7684\u6700\u65B0\u4E00\u8F6E\uFF09","monitorRoom.eyebrow":"\u76D1\u63A7\u5BA4","monitorRoom.title":"\u4F1A\u8BDD\u76D1\u63A7\u5BA4","monitorRoom.subtitle":"\u628A\u591A\u4E2A\u4F1A\u8BDD\u7684 Web Terminal \u653E\u5728\u540C\u4E00\u4E2A\u9875\u9762\u91CC\uFF0C\u9002\u5408\u957F\u65F6\u95F4\u89C2\u5BDF\u591A\u8DEF\u4EFB\u52A1\u8FDB\u5C55\u3002","monitorRoom.backToSessions":"\u8FD4\u56DE\u4F1A\u8BDD","monitorRoom.clear":"\u6E05\u7A7A","monitorRoom.clearConfirm":"\u6E05\u7A7A\u76D1\u63A7\u5BA4\u91CC\u7684\u6240\u6709\u4F1A\u8BDD\uFF1F","monitorRoom.summary":"\u5171 {count} \u4E2A\u4F1A\u8BDD\uFF0C{live} \u4E2A\u7EC8\u7AEF\u53EF\u7528","monitorRoom.autoActive":"\u7A7A\u5217\u8868\u663E\u793A\u6D3B\u8DC3\u4F1A\u8BDD","monitorRoom.autoActiveHelp":"\u9ED8\u8BA4\u5173\u95ED\uFF1B\u5F00\u542F\u540E\uFF0C\u5982\u679C\u6CA1\u6709\u624B\u52A8\u6DFB\u52A0\u4F1A\u8BDD\uFF0C\u76D1\u63A7\u5BA4\u4F1A\u81EA\u52A8\u663E\u793A\u4F1A\u8BDD\u9875\u201C\u4EC5\u6D3B\u8DC3\u201D\u7B5B\u9009\u5F97\u5230\u7684\u6240\u6709\u4F1A\u8BDD\u3002","monitorRoom.autoSummary":"\u672A\u624B\u52A8\u6DFB\u52A0\u4F1A\u8BDD\uFF0C\u81EA\u52A8\u663E\u793A {count} \u4E2A\u6D3B\u8DC3\u4F1A\u8BDD\uFF0C{live} \u4E2A\u7EC8\u7AEF\u53EF\u7528","monitorRoom.emptySummary":"\u76D1\u63A7\u5BA4\u4E3A\u7A7A","monitorRoom.emptyTitle":"\u8FD8\u6CA1\u6709\u6DFB\u52A0\u4F1A\u8BDD","monitorRoom.emptyHelp":"\u56DE\u5230\u4F1A\u8BDD\u9875\uFF0C\u9009\u4E2D\u4F1A\u8BDD\u540E\u70B9\u51FB\u201C\u6DFB\u52A0\u5230\u76D1\u63A7\u5BA4\u201D\u3002","monitorRoom.autoEmptyTitle":"\u6682\u65E0\u6D3B\u8DC3\u4F1A\u8BDD","monitorRoom.autoEmptyHelp":"\u81EA\u52A8\u663E\u793A\u5DF2\u5F00\u542F\uFF0C\u4F46\u5F53\u524D\u6CA1\u6709\u7B26\u5408\u201C\u4EC5\u6D3B\u8DC3\u201D\u6761\u4EF6\u7684\u4F1A\u8BDD\u3002","monitorRoom.openSessions":"\u6253\u5F00\u4F1A\u8BDD\u9875","monitorRoom.remove":"\u79FB\u9664","monitorRoom.openTerminal":"\u6253\u5F00\u5355\u72EC\u7EC8\u7AEF","monitorRoom.closePopover":"\u5173\u95ED\u6D6E\u5C42","monitorRoom.missing":"\u5F53\u524D\u5217\u8868\u4E2D\u4E0D\u5B58\u5728","monitorRoom.missingHelp":"\u8FD9\u4E2A\u4F1A\u8BDD\u53EF\u80FD\u5DF2\u7ECF\u88AB\u6E05\u7406\uFF0C\u6216\u5F53\u524D dashboard \u5FEB\u7167\u8FD8\u6CA1\u6709\u52A0\u8F7D\u5230\u5B83\u3002","monitorRoom.terminalUnavailable":"\u6682\u65E0\u53EF\u7528\u7EC8\u7AEF","monitorRoom.terminalUnavailableHelp":"\u4F1A\u8BDD\u53EF\u80FD\u5DF2\u5173\u95ED\u3001\u8FD8\u672A\u542F\u52A8 Web Terminal\uFF0C\u6216\u5F53\u524D\u8BBF\u95EE\u65B9\u5F0F\u4E0B\u6CA1\u6709\u53EF\u7528\u4EE3\u7406\u7AEF\u53E3\u3002","monitorRoom.updated":"\u66F4\u65B0 {time}","nav.insights":"\u6570\u636E\u6D1E\u5BDF","insights.title":"\u6570\u636E\u6D1E\u5BDF","insights.refresh":"\u5237\u65B0","insights.search":"\u641C\u7D22\u4F1A\u8BDD / bot / \u76EE\u5F55\u2026","insights.filter":"\u7B5B\u9009","insights.filterAll":"\u5168\u90E8","insights.filterAllSessions":"\u5168\u90E8\u4F1A\u8BDD","insights.filterAllCli":"\u5168\u90E8 CLI","insights.filterReview":"\u503C\u5F97\u590D\u76D8","insights.filterFailed":"\u6709\u5931\u8D25","insights.filterSlow":"\u6709\u6162 span","insights.loading":"\u5206\u6790\u4E2D\u2026","insights.loaded":"\u5DF2\u52A0\u8F7D {count} \u4E2A\u4F1A\u8BDD","insights.unavailable":"\u52A0\u8F7D\u5931\u8D25","insights.listCount":"\u663E\u793A {shown}/{total}","insights.tabOverview":"\u603B\u89C8","insights.tabSessions":"\u4F1A\u8BDD","insights.tabDist":"\u5206\u5E03","insights.tabHot":"\u70ED\u70B9","insights.projectAll":"\u5168\u90E8\u9879\u76EE","insights.timeAll":"\u5168\u90E8\u65F6\u95F4","insights.time1d":"\u8FD1 1 \u5929","insights.time7d":"\u8FD1 7 \u5929","insights.time30d":"\u8FD1 30 \u5929","insights.clear":"\u6E05\u9664","insights.emptyAnalyzableHint":"\u52FE\u9009\u300C\u542B\u672A\u5206\u6790\u300D\u53EF\u67E5\u770B\u5176\u4F59\u4F1A\u8BDD","insights.showAll":"\u542B\u672A\u5206\u6790","insights.distHint":"\u5F53\u524D\u7B5B\u9009\u4E0B\u5404\u4F1A\u8BDD\u7684\u6307\u6807\u5206\u5E03\u2014\u2014\u770B\u8D70\u52BF\u3001\u770B\u5178\u578B\u503C\u843D\u5728\u54EA\u3002","insights.distSpans":"\u6BCF\u4F1A\u8BDD span \u6570","insights.distFailed":"\u6BCF\u4F1A\u8BDD\u5931\u8D25\u6570","insights.distSlow":"\u6BCF\u4F1A\u8BDD\u6162 span","insights.distAgentTime":"agent \u5DE5\u4F5C\u65F6\u957F","insights.distRw":"\u8BFB\u6539\u6BD4","insights.distChurn":"\u4EE3\u7801\u6539\u52A8\u884C\u6570","insights.distTrend":"\u6309\u5929\u8D8B\u52BF\uFF08\u8FD1 4 \u5468\uFF09","insights.distTrendSub":"\u6BCF\u65E5\u4F1A\u8BDD\u6570","insights.distMedian":"\u4E2D\u4F4D {v}","insights.distEmpty":"\u5F53\u524D\u7B5B\u9009\u4E0B\u6CA1\u6709\u53EF\u5206\u6790\u7684\u4F1A\u8BDD\u3002","insights.disclosure":`\u53E3\u5F84\uFF1A\u8017\u65F6\u53EA\u7B97\u5DE5\u5177\u6267\u884C\u65F6\u95F4\uFF0C\u5DF2\u5254\u9664\u7B49\u7528\u6237\u56DE\u590D\uFF08\u95EE\u7B54/\u8BA1\u5212\u786E\u8BA4\uFF09\u7684\u6302\u673A\u65F6\u957F\uFF0C\u6545\u4E0D\u53CD\u6620\u5899\u949F\u65F6\u957F\uFF1B
|
|
4
|
+
Codex \u4F1A\u8BDD\u7684\u300C\u8BFB\u300D\u591A\u8D70 shell\uFF08exec_command\uFF09\uFF0C\u4E0D\u8BA1\u5165\u300C\u8BFB\u300D\u76F8\uFF0C\u6545\u5176\u8BFB\u6539\u6BD4\u4F1A\u504F\u4F4E\u751A\u81F3\u4E3A 0\uFF1B
|
|
5
|
+
\u4EE3\u7801\u6539\u52A8\u6309 patch \u89E3\u6790\uFF0C\u4EC5\u53D6\u6BCF\u4F1A\u8BDD\u6700\u6D3B\u8DC3\u7684\u82E5\u5E72\u6587\u4EF6\uFF0C\u4E0E Claude \u7684\u7ED3\u6784\u5316\u7EDF\u8BA1\u53E3\u5F84\u4E0D\u540C\u3002\u8DE8\u5DE5\u5177\u7684\u5206\u5E03\u4E0E\u6BD4\u503C\u4EC5\u4F9B\u53C2\u8003\uFF0C\u4E0D\u5B9C\u76F4\u63A5\u5BF9\u6BD4\u3002`,"insights.rwNote":"Codex \u8BFB\u591A\u8D70 shell\uFF0C\u672A\u8BA1\u5165\u8BFB\u76F8","insights.viewSessions":"\u6309\u4F1A\u8BDD\u67E5\u770B","insights.hotHint":"\u8DE8\u4F1A\u8BDD\u590D\u53D1\u4FE1\u53F7\u2014\u2014\u6700\u8BE5\u6536\u655B\u7684\u5730\u65B9\u3002","insights.hotToolFailures":"\u5DE5\u5177\u62A5\u9519\u70ED\u70B9","insights.hotSlowSessions":"\u6700\u6162\u7684\u4F1A\u8BDD","insights.hotProjects":"\u9879\u76EE\u5206\u5E03","insights.hotFiles":"\u6587\u4EF6\u590D\u53D1\u70ED\u70B9","insights.hotCommands":"\u547D\u4EE4\u590D\u53D1\u70ED\u70B9","insights.hotErrors":"\u62A5\u9519\u590D\u53D1\u70ED\u70B9","insights.hotComingSoon":"\u6587\u4EF6 / \u547D\u4EE4\u590D\u53D1\u70ED\u70B9\u5373\u5C06\u4E0A\u7EBF\uFF08\u9700\u7ED9\u5F15\u64CE\u52A0\u8DE8\u4F1A\u8BDD\u805A\u5408\uFF09\u3002","insights.hotSessionsCol":"\u4F1A\u8BDD","insights.hotFailsCol":"\u5931\u8D25","insights.hotSlowCol":"\u6162","insights.backToList":"\u8FD4\u56DE\u5217\u8868","insights.sortLabel":"\u6392\u5E8F","insights.sortRecent":"\u6700\u8FD1","insights.sortReview":"\u56DE\u770B\u5206","insights.sortSpans":"span \u6570","insights.sortFails":"\u5931\u8D25","insights.sortSlow":"\u6162","insights.sortAgent":"\u65F6\u957F","insights.layoutCard":"\u5361\u7247","insights.layoutTable":"\u8868\u683C","insights.colTitle":"\u4F1A\u8BDD","insights.colProject":"\u9879\u76EE","insights.colTime":"\u65F6\u95F4","insights.paletteOpen":"\u8DF3\u8F6C \u2318K","insights.palettePlaceholder":"\u8DF3\u8F6C\u5230 tab \u6216\u641C\u7D22\u4F1A\u8BDD\u2026","insights.paletteTabs":"\u89C6\u56FE","insights.paletteSessions":"\u4F1A\u8BDD","insights.paletteEmpty":"\u6CA1\u6709\u5339\u914D\u9879","insights.tabFlow":"\u884C\u4E3A\u6D41","insights.flowHint":"\u667A\u80FD\u4F53\u628A\u52A8\u4F5C\u4E0E\u65F6\u95F4\u82B1\u5728\u54EA\u4E9B\u6D3B\u52A8\u9636\u6BB5\uFF0C\u4EE5\u53CA\u5404\u4F1A\u8BDD\u7684\u8282\u594F\u5206\u5E03\u3002","insights.flowPipeline":"\u6D3B\u52A8\u9636\u6BB5\u6D41\u6C34\u7EBF","insights.flowPipeSub":"\u7814\u7A76 \u2192 \u4FEE\u6539 \u2192 \u8FD0\u884C \u2192 \u59D4\u6D3E \u2192 \u8BA8\u8BBA\uFF1B\u4E0A=\u52A8\u4F5C\u6570\uFF0C\u4E0B=\u8017\u65F6","insights.flowShares":"\u52A8\u4F5C\u5360\u6BD4 vs \u65F6\u95F4\u5360\u6BD4","insights.flowActShare":"\u52A8\u4F5C\u5360\u6BD4","insights.flowTimeShare":"\u65F6\u95F4\u5360\u6BD4","insights.flowRhythm":"\u5404\u4F1A\u8BDD\u8282\u594F\uFF08\u6309\u65F6\u957F\uFF09","insights.subagents":"\u5B50\u4EE3\u7406","insights.subagentsHint":"\u672C\u4F1A\u8BDD\u59D4\u6D3E\u51FA\u53BB\u7684\u5B50\u4EE3\u7406\uFF08Task/Agent\uFF09\uFF0C\u5404\u81EA\u505A\u4E86\u4EC0\u4E48\u3001\u8DD1\u4E86\u591A\u4E45\u3002","insights.readsShort":"\u8BFB","insights.editsShort":"\u6539","insights.durShort":"\u65F6\u957F","insights.empty":"\u6CA1\u6709\u5339\u914D\u7684\u4F1A\u8BDD\u3002","insights.selectSession":"\u4ECE\u5DE6\u4FA7\u9009\u4E00\u4E2A\u4F1A\u8BDD\uFF0C\u67E5\u770B\u52A8\u4F5C span \u4E0E\u5EFA\u8BAE\u3002","insights.detailLoading":"\u52A0\u8F7D\u4F1A\u8BDD\u8BE6\u60C5\u2026","insights.recommendations":"\u4F18\u5316\u5EFA\u8BAE","insights.recommendationsHint":"\u57FA\u4E8E\u89C4\u5219\u7684\u8DE8\u4F1A\u8BDD\u6C47\u603B\uFF0C\u6BCF\u6761\u53EF\u8FFD\u6EAF\u5230\u6307\u6807\u3002","insights.noRecommendations":"\u6682\u65E0\u5EFA\u8BAE\u3002","insights.seenInSessions":"\u51FA\u73B0\u5728 {count} \u4E2A\u4F1A\u8BDD","insights.toolFailures":"\u9AD8\u9891\u5DE5\u5177\u5931\u8D25","insights.toolFailuresHint":"\u6309\u5DE5\u5177\u6C47\u603B\u5931\u8D25 span\u3002","insights.noFailures":"\u6CA1\u6709\u5931\u8D25 span\u3002","insights.metricSessions":"\u4F1A\u8BDD","insights.metricAnalyzed":"\u5DF2\u5206\u6790 {count}","insights.metricSpans":"span","insights.metricSafe":"\u5DF2\u8131\u654F","insights.metricFailed":"\u5931\u8D25 span","insights.metricSlow":"\u6162 span","insights.metricRw":"\u8BFB\u6539\u6BD4","insights.metricCompactions":"\u538B\u7F29 {count}","insights.spansShort":"span ","insights.failedShort":"\u5931\u8D25 ","insights.slowShort":"\u6162 ","insights.rwShort":"\u8BFB\u6539 ","insights.unsupported":"\u8BE5 CLI \u6682\u4E0D\u652F\u6301","insights.noTranscript":"\u6682\u65E0 transcript","insights.parseError":"\u89E3\u6790\u5931\u8D25","insights.noSpans":"\u6682\u65E0\u53EF\u5206\u6790 span\u3002","insights.sevBad":"\u4E25\u91CD","insights.sevWarn":"\u6CE8\u610F","insights.sevInfo":"\u63D0\u793A","insights.phase.research":"\u7814\u7A76","insights.phase.edit":"\u4FEE\u6539","insights.phase.run":"\u8FD0\u884C","insights.phase.delegate":"\u59D4\u6D3E","insights.phase.discuss":"\u8BA8\u8BBA","insights.trace":"\u52A8\u4F5C span","insights.ledger":"\u9010\u8F6E\u5BF9\u8D26","insights.detailTabs":"\u89C2\u6D4B\u660E\u7EC6","insights.spanStatus":"\u72B6\u6001","insights.spanTool":"\u5DE5\u5177","insights.spanPhase":"\u9636\u6BB5","insights.spanDuration":"\u8017\u65F6","insights.spanTurn":"\u8F6E","insights.spanSummary":"\u6458\u8981","insights.ledgerMore":"\u5C55\u5F00\u53E6\u5916 {count} \u6761\u6458\u8981","insights.ledgerOmitted":"\u8FD8\u6709 {count} \u6761\u5DF2\u6298\u53E0","insights.ledgerNoContent":"\u672C\u8F6E\u6CA1\u6709\u53EF\u5C55\u793A\u7684\u8131\u654F\u6458\u8981\u3002","insights.diagShow":"\u67E5\u770B\u8BC1\u636E","insights.diagActive":"\u6B63\u5728\u67E5\u770B","insights.evMatched":"\u547D\u4E2D {count} \u6761\u8BC1\u636E","insights.evMatchedCapped":"\u547D\u4E2D {matched} \u6761\uFF0C\u663E\u793A\u524D {shown} \u6761","insights.evDefault":"\u91CD\u70B9 {shown} / \u5171 {total} \u6761","insights.evShowAll":"\u663E\u793A\u5168\u90E8 {count} \u6761","insights.evBackToEvidence":"\u53EA\u770B\u91CD\u70B9","insights.intent.run_script":"\u8FD0\u884C\u811A\u672C","insights.intent.test":"\u6D4B\u8BD5","insights.intent.typecheck":"\u7C7B\u578B\u68C0\u67E5","insights.intent.lint":"Lint","insights.intent.git":"Git","insights.intent.search":"\u641C\u7D22","insights.intent.read_file":"\u8BFB\u6587\u4EF6","insights.intent.edit_file":"\u6539\u6587\u4EF6","insights.intent.write_file":"\u5199\u6587\u4EF6","insights.intent.delegate":"\u59D4\u6D3E","insights.intent.unknown":"\u64CD\u4F5C","insights.result.ok":"\u6210\u529F","insights.result.tool_error":"\u5DE5\u5177\u62A5\u9519","insights.result.test_failed":"\u6D4B\u8BD5\u5931\u8D25","insights.result.typecheck_failed":"\u7C7B\u578B\u68C0\u67E5\u5931\u8D25","insights.result.lint_failed":"Lint \u5931\u8D25","insights.result.command_failed":"\u547D\u4EE4\u5931\u8D25","insights.result.timeout":"\u8D85\u65F6","insights.result.no_output":"\u65E0\u8F93\u51FA","insights.result.unknown":"\u672A\u77E5","insights.tag.failure":"\u5931\u8D25","insights.tag.slow":"\u6162","insights.tag.retry":"\u8FD4\u5DE5","insights.tag.read_write_imbalance":"\u8BFB\u6539\u5931\u8861","insights.tag.diagnostic":"\u8BCA\u65AD","insights.tag.normal":"\u6B63\u5E38","insights.turnHeadline.turn_has_failures":"\u672C\u8F6E {failures} \u6B21\u5931\u8D25","insights.turnHeadline.turn_has_slow_spans":"\u672C\u8F6E\u6709\u8017\u65F6\u504F\u957F\u7684\u64CD\u4F5C","insights.turnHeadline.turn_has_retries":"\u672C\u8F6E\u53CD\u590D\u91CD\u8BD5\u540C\u4E00\u64CD\u4F5C","insights.turnHeadline.turn_read_write_imbalance":"\u672C\u8F6E\u6539\u591A\u8BFB\u5C11\uFF08\u6539 {edits} / \u8BFB {reads}\uFF09","insights.evTimeline":"\u5168\u90E8 {count} \u6761 span \u65F6\u95F4\u7EBF","insights.evNoFlags":"\u6CA1\u6709\u88AB\u6807\u8BB0\u4E3A\u5931\u8D25 / \u6162 / \u8FD4\u5DE5\u7684 span","insights.turnAllNormal":"{count} \u4E2A\u8F6E\u6B21\u90FD\u6B63\u5E38\uFF0C\u6CA1\u6709\u503C\u5F97\u590D\u76D8\u7684","insights.turnEvidence":"\u67E5\u770B\u672C\u8F6E {count} \u6761\u8BC1\u636E","insights.turnHiddenNormal":"\u53E6\u6709 {count} \u4E2A\u6B63\u5E38\u8F6E\u6B21\uFF08\u5DF2\u9690\u85CF\uFF09","insights.mReads":"\u8BFB","insights.mEdits":"\u6539","insights.mRuns":"\u8DD1","insights.mFailures":"\u5931\u8D25","insights.mDur":"\u8017\u65F6","insights.turnHeadline.turn_normal":"\u6B63\u5E38","insights.rec.fix_repeated_tool_failures":"\u53CD\u590D\u5931\u8D25\u7684\u547D\u4EE4\u9700\u8981\u6536\u655B","insights.rec.split_slow_operation":"\u6162\u64CD\u4F5C\u62D6\u6162\u4E86\u6574\u4E2A\u4F1A\u8BDD","insights.rec.add_read_pass_before_edit":"\u6539\u4E4B\u524D\u8BFB\u5F97\u592A\u5C11","insights.rec.preserve_context_checkpoints":"\u4E0A\u4E0B\u6587\u88AB\u538B\u7F29\uFF0C\u6CE8\u610F\u7559\u5B58\u6863","insights.impact.impact_failed_spans":"{failedSpans} \u4E2A\u52A8\u4F5C\u5931\u8D25\uFF08\u6700\u591A\uFF1A{topTool} \xD7{topToolFailures}\uFF09","insights.impact.impact_slow_spans":"{slowSpansTotal} \u4E2A\u6162\u52A8\u4F5C\u62D6\u6162\u8FDB\u5EA6","insights.impact.impact_low_read_write_ratio":"\u6539\u4E86 {writeSpans} \u5904\uFF0C\u53EA\u8BFB\u4E86 {readSpans} \u5904","insights.impact.impact_context_compaction":"\u672C\u4F1A\u8BDD\u53D1\u751F {compactions} \u6B21\u4E0A\u4E0B\u6587\u538B\u7F29","insights.why.why_tool_failure_concentrated":"\u5931\u8D25\u96C6\u4E2D\u5728 {topTool}\uFF08\u5171 {topToolFailures} \u6B21\uFF09\uFF0C\u591A\u534A\u662F\u540C\u4E00\u7C7B\u95EE\u9898","insights.why.why_slow_span_dominates":"\u5C11\u6570\u8017\u65F6\u52A8\u4F5C\u5360\u4E86\u5927\u5934\uFF0C\u6700\u6162\u7684\u662F {slowestTool}","insights.why.why_edits_outpaced_reads":"\u8BFB\u5199\u6BD4 {readWriteRatio}\uFF0C\u6539\u5F97\u6BD4\u8BFB\u5F97\u591A\u5BB9\u6613\u8E29\u5751\u8FD4\u5DE5","insights.why.why_context_compaction_happened":"\u957F\u4F1A\u8BDD\u88AB\u538B\u7F29\uFF0C\u65E9\u671F\u7684\u51B3\u7B56/\u4E0A\u4E0B\u6587\u53EF\u80FD\u5DF2\u4E22\u5931","insights.action.inspect_failed_span_details":"\u9010\u4E2A\u770B\u5931\u8D25\u52A8\u4F5C\u7684\u8BE6\u60C5\uFF0C\u5B9A\u4F4D\u6839\u56E0","insights.action.add_preflight_or_timeout":"\u7ED9\u9AD8\u9891\u5931\u8D25\u7684\u547D\u4EE4\u52A0\u524D\u7F6E\u68C0\u67E5\u6216\u8D85\u65F6\u63A7\u5236","insights.action.narrow_or_split_slow_operation":"\u628A\u6162\u64CD\u4F5C\u6536\u7A84\u6216\u62C6\u5C0F\uFF08\u5982\u53EA\u8DD1\u5B9A\u5411\u7528\u4F8B\uFF09","insights.action.surface_timeout_or_progress":"\u66F4\u65E9\u66B4\u9732\u8D85\u65F6/\u8FDB\u5EA6\uFF0C\u522B\u8BA9\u5B83\u9ED8\u9ED8\u5361\u4F4F","insights.action.read_or_search_before_editing":"\u6539\u964C\u751F\u6587\u4EF6\u524D\u5148\u8BFB\u4E00\u904D\u6216\u641C\u4E00\u4E0B","insights.action.verify_assumptions_before_running":"\u52A8\u624B\u524D\u5148\u9A8C\u8BC1\u5047\u8BBE\uFF0C\u51CF\u5C11\u76F2\u6539","insights.action.write_checkpoints_for_long_tasks":"\u957F\u4EFB\u52A1\u628A\u51B3\u7B56\u548C\u68C0\u67E5\u70B9\u843D\u5230\u7B14\u8BB0\u91CC","insights.struct.shell":"shell \u547D\u4EE4","insights.struct.fileEdit":"\u6587\u4EF6\u7F16\u8F91","insights.struct.readSearch":"\u8BFB\u53D6/\u641C\u7D22","insights.struct.agentTask":"\u5B50 agent \u4EFB\u52A1","insights.struct.toolInput":"\u5DE5\u5177\u8F93\u5165","insights.struct.toolResult":"\u5DE5\u5177\u8F93\u51FA","insights.struct.toolError":"\u5DE5\u5177\u62A5\u9519","insights.struct.patchFailed":"\u8865\u4E01\u5931\u8D25","insights.struct.patchApplied":"\u8865\u4E01\u5DF2\u5E94\u7528","insights.struct.exit":"exit {code}","insights.spanAll":"\u5168\u90E8","insights.dDetail":"\u8BE6\u60C5","insights.dCollapse":"\u6536\u8D77","insights.dPhase":"\u9636\u6BB5","insights.dStart":"\u8D77\u59CB","insights.dDur":"\u8017\u65F6","insights.dIntent":"\u610F\u56FE","insights.dResult":"\u7ED3\u679C","insights.dIn":"\u8F93\u5165","insights.dOut":"\u8F93\u51FA","insights.dTags":"\u6807\u7B7E","insights.dTurnContext":"\u7B2C {turn} \u8F6E\u4E0A\u4E0B\u6587","insights.advice.failure":"\u{1F4A1} \u770B\u6E05\u62A5\u9519\u518D\u52A8\u624B\uFF0C\u522B\u76F2\u76EE\u91CD\u8BD5","insights.advice.retry":"\u{1F4A1} \u540C\u4E00\u6B65\u53CD\u590D\u91CD\u8BD5\u2014\u2014\u5148\u5B9A\u4F4D\u6839\u56E0\u518D\u7EE7\u7EED","insights.advice.read_write_imbalance":"\u{1F4A1} \u6539\u4E4B\u524D\u5148\u8BFB\u76F8\u5173\u6587\u4EF6\uFF0C\u51CF\u5C11\u8FD4\u5DE5","insights.advice.slow":"\u{1F4A1} \u6162\u64CD\u4F5C\uFF1A\u8003\u8651\u8DD1\u5B9A\u5411\u7528\u4F8B\u6216\u62C6\u5C0F","insights.turnPrompt":"\u7528\u6237","insights.turnExpand":"\u5C55\u5F00 {count} \u6B65","insights.turnCollapse":"\u6536\u8D77","insights.turnRail":"\u4F1A\u8BDD\u8F68\u8FF9","insights.gantt":"\u5DE5\u4F5C\u65F6\u5E8F","insights.ganttCaption":"{span} \u4E2A\u52A8\u4F5C \xB7 \u8DE8\u5EA6 {dur} \xB7 \u6D3B\u8DC3 {active}","insights.ctxCurve":"\u4E0A\u4E0B\u6587\u66F2\u7EBF","insights.ctxCaption":"\u6BCF\u8F6E\u5CF0\u503C in+cache \xB7 \u5CF0\u503C {peak} \xB7 {turns} \u8F6E","insights.ctxTurn":"\u8F6E {n}","insights.railSubagent":"\u5B50\u4EE3\u7406","insights.railSubagents":"{n} \u4E2A\u5B50\u4EE3\u7406","insights.turnPromptExpand":"\u5C55\u5F00","insights.turnPromptCollapse":"\u6536\u8D77","insights.turnPromptRaw":"\u539F\u6587","insights.turnPromptRendered":"\u6E32\u67D3","insights.srcMentions":"\u63D0\u5230","insights.senderHuman":"\u7528\u6237","insights.senderA2A":"A2A","insights.senderOther":"\u5176\u4ED6","insights.senderSystem":"\u7CFB\u7EDF","insights.turnPromptFull":"\u5168\u6587","insights.modalClose":"\u5173\u95ED","insights.promptTruncated":"\u5185\u5BB9\u8F83\u957F\uFF0C\u5DF2\u622A\u65AD","insights.replay":"\u5BF9\u8BDD\u56DE\u653E","insights.replayAgent":"agent \u64CD\u4F5C","insights.replaySearch":"\u641C\u7D22\u5BF9\u8BDD\u5185\u5BB9\u2026","insights.replayBy":"\u53D1\u8D77\u4EBA","insights.replayState":"\u72B6\u6001","insights.replayLoadMore":"\u52A0\u8F7D\u66F4\u591A\uFF08{shown}/{total}\uFF09","insights.replayAllLoaded":"\u5DF2\u5168\u90E8\u52A0\u8F7D\uFF08\u5171 {total} \u6761\uFF09","insights.replayEmpty":"\u6CA1\u6709\u5339\u914D\u7684\u6D88\u606F","insights.replayNoText":"\uFF08\u65E0\u6B63\u6587\uFF0C\u89C1\u64CD\u4F5C\uFF09","insights.replayOps":"{count} \u6B65\u64CD\u4F5C","insights.wsFiles":"\u6587\u4EF6\u6539\u52A8 \xB7 {n}","insights.wsCmds":"\u8DD1\u8FC7\u7684\u547D\u4EE4 \xB7 {n}","insights.wsReads":"\u8BFB {n}","insights.wsEdits":"\u6539 {n}","insights.wsFail":"\u5931\u8D25 {n}","insights.wsNoFiles":"\u65E0\u6587\u4EF6\u6539\u52A8","insights.wsNoCmds":"\u65E0\u547D\u4EE4\u8BB0\u5F55","insights.turnSummary":"\u5171 {total} \u8F6E \xB7 {flagged} \u8F6E\u9700\u5173\u6CE8","insights.dCommand":"\u547D\u4EE4","insights.dCmdOutput":"\u6267\u884C\u7ED3\u679C","insights.ledgerNormal":"\u6B63\u5E38\u6392\u5E8F","insights.ledgerGrouped":"\u6309\u5EFA\u8BAE\u5206\u7C7B","insights.ledgerOther":"\u5176\u4ED6\u8F6E\u6B21","insights.ledgerGroupCount":"{count} \u8F6E","insights.turnsCapped":"\u4EC5\u542B\u524D {shown}/{total} \u4E2A\u52A8\u4F5C\uFF0C\u65F6\u95F4\u7EBF\u53EF\u80FD\u4E0D\u5B8C\u6574","insights.suggestion.high_tool_failure.title":"\u5DE5\u5177\u5931\u8D25\u504F\u591A","insights.suggestion.high_tool_failure.action":"\u4F18\u5148\u770B\u5931\u8D25 span\uFF0C\u628A\u9AD8\u9891\u5931\u8D25\u547D\u4EE4\u505A\u524D\u7F6E\u68C0\u67E5\u6216\u8D85\u65F6\u63A7\u5236\u3002","insights.suggestion.tool_failure_present.title":"\u5B58\u5728\u5DE5\u5177\u8C03\u7528\u5931\u8D25","insights.suggestion.tool_failure_present.action":"\u91CD\u590D\u6267\u884C\u5DE5\u4F5C\u6D41\u524D\uFF0C\u5148\u590D\u76D8\u5931\u8D25 span\u3002","insights.suggestion.slow_span.title":"\u6162\u52A8\u4F5C\u4E3B\u5BFC\u4F1A\u8BDD","insights.suggestion.slow_span.action":"\u62C6\u5206\u6216\u9650\u5236\u6162\u64CD\u4F5C\uFF0C\u5E76\u66F4\u65E9\u66B4\u9732\u8D85\u65F6\u3001\u8FDB\u5EA6\u53CD\u9988\u3002","insights.suggestion.low_read_write_ratio.title":"\u4FEE\u6539\u591A\u4E8E\u9605\u8BFB","insights.suggestion.low_read_write_ratio.action":"\u6539\u964C\u751F\u6587\u4EF6\u524D\u5148\u8865\u4E00\u6B21\u8BFB\u53D6\u6216\u641C\u7D22\u3002","insights.suggestion.context_compaction.title":"\u53D1\u751F\u4E0A\u4E0B\u6587\u538B\u7F29","insights.suggestion.context_compaction.action":"\u957F\u4EFB\u52A1\u5EFA\u8BAE\u628A\u51B3\u7B56\u548C\u68C0\u67E5\u70B9\u843D\u5230\u6301\u4E45\u7B14\u8BB0\u6216\u62C6\u6210\u66F4\u5C0F\u5B50\u4EFB\u52A1\u3002","insights.suggestion.no_major_friction.title":"\u672A\u53D1\u73B0\u660E\u663E\u6469\u64E6","insights.suggestion.no_major_friction.action":"\u53EF\u7528\u52A8\u4F5C\u65F6\u95F4\u7EBF\u505A\u62BD\u67E5\uFF0C\u6216\u4E0E\u66F4\u6162\u7684\u4F1A\u8BDD\u5BF9\u6BD4\u3002","insights.evidence.failedSpans":"{count} \u4E2A\u5931\u8D25 span","insights.evidence.toolFailedTimes":"{tool} \u5931\u8D25 {count} \u6B21","insights.evidence.multipleToolsFailed":"\u591A\u4E2A\u5DE5\u5177\u53D1\u751F\u5931\u8D25","insights.evidence.toolRanSeconds":"{tool} \u8FD0\u884C {seconds}s","insights.evidence.readWriteRatio":"\u8BFB\u6539\u6BD4 {ratio}","insights.evidence.compactions":"\u4E0A\u4E0B\u6587\u538B\u7F29 {count} \u6B21","insights.evidence.spansAnalyzed":"\u5DF2\u5206\u6790 {count} \u4E2A span","connectors.createTitle":"\u65B0\u5EFA Webhook","connectors.editTitle":"\u7F16\u8F91 Webhook","connectors.fName":"\u540D\u79F0","connectors.fNamePh":"\u5982\uFF1A\u7EBF\u4E0A\u544A\u8B66","connectors.fBot":"\u89E6\u53D1\u7684\u673A\u5668\u4EBA","connectors.fKind":"\u89E6\u53D1\u65B9\u5F0F","connectors.kindTurn":"\u5355\u8F6E\u5BF9\u8BDD\uFF08\u8BA9\u673A\u5668\u4EBA\u56DE\u5E94\u4E00\u6B21\uFF09","connectors.kindWorkflow":"\u5DE5\u4F5C\u6D41","connectors.fWf":"\u5DE5\u4F5C\u6D41 ID","connectors.fMode":"\u6295\u9012\u5230\u54EA\u4E2A\u7FA4","connectors.modeDynamic":"\u7531\u8BF7\u6C42\u6307\u5B9A\uFF08\u7FA4\u968F\u8BF7\u6C42\u4F20\u5165\uFF09","connectors.modeFixed":"\u56FA\u5B9A\u7FA4","connectors.modeNewGroup":"\u6BCF\u6B21\u65B0\u5EFA\u7FA4","connectors.fFixedChat":"\u6295\u9012\u5230\u7684\u7FA4","connectors.fChatManualPh":"\u624B\u52A8\u586B\u7FA4 ID\uFF1Aoc_\u2026","connectors.chatManualLink":"\u627E\u4E0D\u5230\u7FA4\uFF1F\u624B\u52A8\u586B ID \u2192","connectors.chatListLink":"\u4ECE\u7FA4\u5217\u8868\u9009\u62E9 \u2190","connectors.fAllow":"\u5141\u8BB8\u7684\u7FA4","connectors.allowAll":"\u5168\u90E8\u7FA4","connectors.allowAllHint":"\u4E0D\u9650\u5236\u8BF7\u6C42\u53EF\u6295\u9012\u7684\u7FA4","connectors.groupPickerPlaceholder":"\u641C\u7D22\u5E76\u9009\u62E9\u7FA4","connectors.groupSearchPlaceholder":"\u641C\u7D22\u7FA4\u540D\u79F0\u6216\u7FA4 ID","connectors.groupNoMatches":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684\u7FA4","connectors.groupSelectedCount":"\u5DF2\u9009\u62E9 {count} \u4E2A\u7FA4","connectors.optional":"\uFF08\u53EF\u9009\uFF09","connectors.allowHint":"\u9650\u5236\u52A8\u6001\u8BF7\u6C42\u53EF\u6295\u9012\u7684\u7FA4\uFF1B\u9009\u62E9\u300C\u5168\u90E8\u7FA4\u300D\u8868\u793A\u4E0D\u9650\u5236\u3002","connectors.dynamicHint":'<b>\u52A8\u6001\u6A21\u5F0F</b>\uFF1A\u7FA4 ID \u968F\u6BCF\u6B21\u8BF7\u6C42\u4F20\u5165\uFF0C\u4E09\u9009\u4E00 \u2014\u2014 \u67E5\u8BE2\u53C2\u6570 <code>?chatId=<\u7FA4ID></code> \xB7 \u8BF7\u6C42\u5934 <code>x-botmux-chat-id: <\u7FA4ID></code> \xB7 \u8BF7\u6C42\u4F53 <code>{"chatId":"<\u7FA4ID>"}</code>\u3002<br>\u60F3"\u4E00\u4E2A URL \u76F4\u63A5\u89E6\u53D1\u3001\u4E0D\u5E26\u53C2\u6570"\uFF0C\u8BF7\u6539\u9009\u300C\u56FA\u5B9A\u7FA4\u300D\u3002',"connectors.fDedup":"\u53BB\u91CD\u5B57\u6BB5","connectors.fDedupPh":"\u5982 alert.id\uFF08\u4ECE\u4E8B\u4EF6 body \u53D6\u503C\uFF09","connectors.dedupHint":"\u4ECE\u8BF7\u6C42 JSON \u4E2D\u8BFB\u53D6\u4E1A\u52A1\u552F\u4E00\u952E\uFF0C\u652F\u6301 alert.id \u6216 $.alert.id\u3002","connectors.newGroupStrategy":"\u5EFA\u7FA4\u7B56\u7565","connectors.newGroupFresh":"\u6BCF\u6B21\u8C03\u7528\u90FD\u65B0\u5EFA\u7FA4","connectors.newGroupFreshHint":"\u9002\u5408\u5F7C\u6B64\u72EC\u7ACB\u3001\u65E0\u9700\u6301\u7EED\u8DDF\u8FDB\u7684\u4E8B\u4EF6\u3002","connectors.newGroupReuse":"\u76F8\u540C\u4E8B\u4EF6\u590D\u7528\u4E00\u4E2A\u7FA4","connectors.newGroupReuseHint":"\u6309\u4E1A\u52A1\u552F\u4E00\u952E\u805A\u5408\u540E\u7EED\u8C03\u7528\uFF0C\u4FBF\u4E8E\u6301\u7EED\u8DDF\u8FDB\u3002","connectors.newGroupNotice":"\u6B64\u6A21\u5F0F\u4F1A\u81EA\u52A8\u521B\u5EFA\u65B0\u7FA4\u5E76\u9080\u8BF7\u6240\u9009\u673A\u5668\u4EBA\uFF0C\u65E0\u9700\u9009\u62E9\u73B0\u6709\u7FA4\u3002","connectors.fInstruction":"\u5904\u7406\u6307\u4EE4","connectors.fInstructionPh":"\u4E8B\u4EF6\u89E6\u53D1\u540E\u7684\u5904\u7406\u76EE\u6807\u3002\u7559\u7A7A\u65F6\u4EC5\u628A\u539F\u59CB\u4E8B\u4EF6\u4EA4\u7ED9\u6A21\u578B\u3002","connectors.fVerify":"\u6821\u9A8C\u65B9\u5F0F","connectors.verifyToken":"\u4EE4\u724C\uFF08\u7B80\u5355\uFF1A\u5BC6\u94A5\u653E\u8FDB URL\uFF0C\u4E00\u6761 curl \u5C31\u80FD\u89E6\u53D1\uFF09","connectors.verifyHmac":"HMAC \u7B7E\u540D\uFF08\u9AD8\u7EA7\uFF1A\u66F4\u5B89\u5168\uFF0C\u9700\u81EA\u884C\u5BF9\u8BF7\u6C42\u7B7E\u540D\uFF09","connectors.fSecret":"\u5BC6\u94A5 / \u4EE4\u724C","connectors.fSecretPh":"\u7559\u7A7A\u81EA\u52A8\u751F\u6210\uFF08\u53EA\u663E\u793A\u4E00\u6B21\uFF09","connectors.fSecretEditPh":"\u7559\u7A7A\u4FDD\u6301\u5F53\u524D\u5BC6\u94A5\uFF1B\u586B\u5199\u540E\u7ACB\u5373\u66FF\u6362","connectors.cancel":"\u53D6\u6D88","connectors.close":"\u5173\u95ED","connectors.btnCreate":"\u521B\u5EFA","connectors.loading":"\u52A0\u8F7D\u4E2D\u2026","connectors.noBotGroups":"\uFF08\u8BE5\u673A\u5668\u4EBA\u6682\u65E0\u53EF\u89C1\u7FA4\uFF0C\u70B9\u53F3\u4FA7\u624B\u52A8\u586B ID\uFF09","connectors.modeLabelFixed":"\u56FA\u5B9A\u7FA4","connectors.modeLabelNewGroup":"\u6BCF\u6B21\u65B0\u5EFA\u7FA4","connectors.modeLabelDynamic":"\u8BF7\u6C42\u6307\u5B9A\u7FA4","connectors.kindLabelWorkflow":"\u5DE5\u4F5C\u6D41","connectors.kindLabelTurn":"\u5355\u8F6E","connectors.empty":"\u8FD8\u6CA1\u6709 Webhook\uFF0C\u70B9\u51FB\u53F3\u4E0A\u89D2\u65B0\u5EFA\u4E00\u4E2A","connectors.enabled":"\u5DF2\u542F\u7528","connectors.disabled":"\u5DF2\u505C\u7528","connectors.badgeToken":"\u4EE4\u724C","connectors.badgeSign":"\u7B7E\u540D","connectors.dest":"\u6295\u9012\u300C{name}\u300D","connectors.btnDisable":"\u505C\u7528","connectors.btnEnable":"\u542F\u7528","connectors.btnEdit":"\u7F16\u8F91","connectors.btnSave":"\u4FDD\u5B58","connectors.btnCancel":"\u53D6\u6D88","connectors.btnDel":"\u5220\u9664","connectors.webhookUrl":"Webhook URL\uFF1A","connectors.copy":"\u590D\u5236","connectors.copied":"\u5DF2\u590D\u5236","connectors.tokenHint":"\u4EE4\u724C\u6A21\u5F0F\uFF1A\u8C03\u7528\u65F6\u5728 URL \u672B\u5C3E\u8FFD\u52A0 <code>/<\u4EE4\u724C></code>\uFF08\u4EE4\u724C\u4EC5\u521B\u5EFA/\u8F6E\u6362\u65F6\u663E\u793A\u4E00\u6B21\uFF09\u3002","connectors.dynamicReqHint":'\u52A8\u6001\u6A21\u5F0F\uFF1A\u8BF7\u6C42\u9700\u5E26\u76EE\u6807\u7FA4 \u2014\u2014 <code>?chatId=<\u7FA4ID></code> \u6216\u5934 <code>x-botmux-chat-id</code> \u6216 body <code>{"chatId":"\u2026"}</code>\u3002',"connectors.instructionPrefix":"\u5904\u7406\u6307\u4EE4\uFF1A","connectors.delConfirm":"\u5220\u9664\u8FD9\u4E2A Webhook\uFF1F\u5B83\u7684 URL \u4F1A\u7ACB\u5373\u5931\u6548\u3002","connectors.errName":"\u8BF7\u586B\u540D\u79F0","connectors.errBot":"\u8BF7\u9009\u673A\u5668\u4EBA","connectors.errWf":"\u8BF7\u586B\u5DE5\u4F5C\u6D41 ID","connectors.errChat":"\u8BF7\u9009\u62E9\uFF08\u6216\u624B\u52A8\u586B\uFF09\u6295\u9012\u7684\u7FA4","connectors.errDedup":"\u8BF7\u586B\u5199\u7528\u4E8E\u590D\u7528\u7FA4\u7684\u4E1A\u52A1\u552F\u4E00\u952E","connectors.creating":"\u521B\u5EFA\u4E2D\u2026","connectors.saving":"\u4FDD\u5B58\u4E2D\u2026","connectors.updated":"\u5DF2\u4FDD\u5B58\u5168\u90E8\u914D\u7F6E","connectors.enabling":"\u542F\u7528\u4E2D\u2026","connectors.disabling":"\u505C\u7528\u4E2D\u2026","connectors.deleting":"\u5220\u9664\u4E2D\u2026","connectors.usageDynamicLede":"\u52A8\u6001\u6A21\u5F0F\uFF1AURL \u5DF2\u542B\u4EE4\u724C\uFF0C\u8C03\u7528\u65F6\u518D\u5E26\u4E0A\u76EE\u6807\u7FA4 ID{gn}\uFF1A","connectors.usageDynamicNote":'\u7FA4\u4E5F\u53EF\u653E\u8BF7\u6C42\u5934 <code>x-botmux-chat-id</code> \u6216 body <code>{"chatId":"\u2026"}</code>\u3002\u26A0\uFE0F URL \u5373\u51ED\u8BC1\uFF0C\u52FF\u6CC4\u6F0F\u3002',"connectors.usageTokenLede":"\u6B64 URL \u5DF2\u542B\u4EE4\u724C\u3001\u4E14\u56FA\u5B9A\u6295\u9012\u5230\u6240\u9009\u7FA4\uFF0C\u76F4\u63A5 POST \u5373\u53EF\u89E6\u53D1\uFF1A","connectors.usageTokenNote":"\u26A0\uFE0F URL \u5373\u51ED\u8BC1\uFF0C\u8BF7\u52FF\u516C\u5F00\u6CC4\u6F0F\uFF1B\u53EF\u5728\u4E0B\u65B9\u5217\u8868\u5220\u9664\u6216\u8F6E\u6362\u3002","connectors.usageHmac":"\u5916\u90E8\u7CFB\u7EDF\u9700\u5BF9 <code>timestamp.body</code> \u505A HMAC-SHA256 \u7B7E\u540D\uFF0C\u5E76\u5E26\u4E0A <code>x-botmux-timestamp</code> / <code>x-botmux-nonce</code> / <code>x-botmux-signature</code> \u5934\u8C03\u7528","connectors.usageHmacDynamic":"\uFF0C\u540C\u65F6\u6309\u4E0A\u9762\u65B9\u5F0F\u5E26\u76EE\u6807\u7FA4 ID","connectors.createdPrefix":"\u5DF2\u521B\u5EFA\u300C{name}\u300D","connectors.createdDest":"\u6295\u9012\u5230\u300C{name}\u300D","connectors.tokenLabel":"\u8BBF\u95EE\u4EE4\u724C","connectors.signLabel":"\u7B7E\u540D\u5BC6\u94A5","connectors.secretOnce":"\uFF08\u53EA\u663E\u793A\u8FD9\u4E00\u6B21\uFF0C\u8BF7\u4FDD\u5B58\uFF09\uFF1A","connectors.createFailed":"\u521B\u5EFA\u5931\u8D25\uFF1A{error}","connectors.saveFailed":"\u4FDD\u5B58\u5931\u8D25\uFF1A{error}","connectors.toggleFailed":"\u72B6\u6001\u66F4\u65B0\u5931\u8D25\uFF1A{error}","connectors.deleteFailed":"\u5220\u9664\u5931\u8D25\uFF1A{error}","connectors.noOnlineBots":"\uFF08\u6CA1\u6709\u5728\u7EBF\u673A\u5668\u4EBA\uFF09","connectors.storePayload":"\u8BB0\u5F55\u8BF7\u6C42\u53C2\u6570","connectors.storePayloadHint":"\u4FDD\u5B58\u8131\u654F\u540E\u7684 JSON \u8BF7\u6C42\u4F53\u548C\u8BF7\u6C42\u5934\uFF0C\u9ED8\u8BA4\u4FDD\u7559 14 \u5929\uFF1B\u53EF\u968F\u65F6\u5728\u5217\u8868\u5173\u95ED\u3002","connectors.payloadLogged":"\u53C2\u6570\u7559\u5B58 {days} \u5929","connectors.metadataOnly":"\u4EC5\u8BB0\u5F55\u8C03\u7528\u5143\u6570\u636E","connectors.btnDisablePayloadLog":"\u505C\u6B62\u7559\u5B58\u53C2\u6570","connectors.btnEnablePayloadLog":"\u7559\u5B58\u8BF7\u6C42\u53C2\u6570","connectors.tabWebhooks":"Webhook \u5217\u8868","connectors.tabLogs":"\u8C03\u7528\u65E5\u5FD7","webhookLogs.subtitle":"\u96C6\u4E2D\u5BA1\u9605\u6BCF\u6B21\u8C03\u7528\u7684\u7ED3\u679C\u3001\u8017\u65F6\u3001\u8BF7\u6C42\u53C2\u6570\u4E0E\u5B9E\u9645\u6295\u9012\u76EE\u6807\u3002","webhookLogs.autoRefresh":"15 \u79D2\u81EA\u52A8\u5237\u65B0","webhookLogs.manage":"\u7BA1\u7406 Webhook","webhookLogs.summary":"\u8C03\u7528\u6982\u89C8","webhookLogs.total":"\u8C03\u7528\u603B\u6570","webhookLogs.filteredRange":"\u5F53\u524D\u7B5B\u9009\u8303\u56F4","webhookLogs.successRate":"\u6210\u529F\u7387","webhookLogs.calls":"\u6B21\u6210\u529F\u8C03\u7528","webhookLogs.failures":"\u5931\u8D25\u8C03\u7528","webhookLogs.needsReview":"\u9700\u8981\u4F18\u5148\u5BA1\u9605","webhookLogs.noFailures":"\u5F53\u524D\u8303\u56F4\u65E0\u5931\u8D25","webhookLogs.p95":"P95 \u8017\u65F6","webhookLogs.average":"\u5E73\u5747","webhookLogs.allConnectors":"\u5168\u90E8 Webhook","webhookLogs.allStatuses":"\u5168\u90E8\u7ED3\u679C","webhookLogs.success":"\u6210\u529F","webhookLogs.failed":"\u5931\u8D25","webhookLogs.last24h":"\u6700\u8FD1 24 \u5C0F\u65F6","webhookLogs.last7d":"\u6700\u8FD1 7 \u5929","webhookLogs.last30d":"\u6700\u8FD1 30 \u5929","webhookLogs.allTime":"\u5168\u90E8\u65F6\u95F4","webhookLogs.search":"\u641C\u7D22\u8C03\u7528\u8BB0\u5F55","webhookLogs.searchPlaceholder":"\u641C\u7D22 Trigger ID\u3001\u7FA4 ID\u3001\u9519\u8BEF\u6216\u53C2\u6570\u2026","webhookLogs.connector":"Webhook","webhookLogs.status":"\u8C03\u7528\u7ED3\u679C","webhookLogs.timeRange":"\u65F6\u95F4\u8303\u56F4","webhookLogs.refresh":"\u5237\u65B0","webhookLogs.loadFailed":"\u8C03\u7528\u65E5\u5FD7\u52A0\u8F7D\u5931\u8D25","webhookLogs.records":"\u8C03\u7528\u8BB0\u5F55","webhookLogs.matching":"{count} \u6761\u5339\u914D","webhookLogs.loading":"\u6B63\u5728\u52A0\u8F7D\u8C03\u7528\u65E5\u5FD7\u2026","webhookLogs.empty":"\u6682\u65E0\u8C03\u7528\u8BB0\u5F55","webhookLogs.emptyHint":"\u8C03\u7528\u4EFB\u610F Webhook \u540E\uFF0C\u8BB0\u5F55\u4F1A\u81EA\u52A8\u51FA\u73B0\u5728\u8FD9\u91CC\u3002","webhookLogs.unknownConnector":"\u672A\u77E5 Webhook","webhookLogs.loadMore":"\u52A0\u8F7D\u66F4\u591A","webhookLogs.selectRecord":"\u9009\u62E9\u4E00\u6761\u8BB0\u5F55\u67E5\u770B\u8BF7\u6C42\u8BE6\u60C5","webhookLogs.copyJson":"\u590D\u5236\u5B8C\u6574 JSON","webhookLogs.copied":"\u5DF2\u590D\u5236","webhookLogs.failureReason":"\u5931\u8D25\u539F\u56E0","webhookLogs.overview":"\u8C03\u7528\u6982\u51B5","webhookLogs.httpStatus":"HTTP \u72B6\u6001","webhookLogs.duration":"\u5904\u7406\u8017\u65F6","webhookLogs.action":"\u5904\u7406\u7ED3\u679C","webhookLogs.bodySize":"\u8BF7\u6C42\u4F53\u5927\u5C0F","webhookLogs.remoteAddress":"\u6765\u6E90\u5730\u5740","webhookLogs.target":"\u6295\u9012\u76EE\u6807","webhookLogs.queryParams":"\u67E5\u8BE2\u53C2\u6570","webhookLogs.headers":"\u8BF7\u6C42\u5934","webhookLogs.redacted":"\u654F\u611F\u503C\u5DF2\u8131\u654F","webhookLogs.headersNotStored":"\u6B64 Webhook \u672A\u5F00\u542F\u8BF7\u6C42\u5934\u7559\u5B58\u3002","webhookLogs.payload":"\u8BF7\u6C42\u4F53","webhookLogs.payloadDisabled":"\u6B64 Webhook \u672A\u5F00\u542F\u8BF7\u6C42\u4F53\u7559\u5B58\uFF1B\u8C03\u7528\u5143\u6570\u636E\u4ECD\u5DF2\u5B8C\u6574\u8BB0\u5F55\u3002","webhookLogs.payloadTooLarge":"\u8BF7\u6C42\u4F53\u8D85\u8FC7 128 KB\uFF0C\u4E3A\u907F\u514D\u65E5\u5FD7\u81A8\u80C0\u672A\u7559\u5B58\u5185\u5BB9\u3002","webhookLogs.payloadUnavailable":"\u672C\u6B21\u8C03\u7528\u6CA1\u6709\u53EF\u7559\u5B58\u7684 JSON \u8BF7\u6C42\u4F53\u3002","webhookLogs.routeTarget":"\u8DEF\u7531\u53C2\u6570","webhookLogs.none":"\u65E0","team.navHome":"\u6211\u7684\u56E2\u961F","team.navManage":"\u56E2\u961F\u7BA1\u7406","team.eyebrow":"\u56E2\u961F\u534F\u4F5C","team.homeTitle":"\u56E2\u961F\u534F\u4F5C","team.localDeployTitle":"\u5F53\u524D\u90E8\u7F72","team.myIdentity":"\u6211\u7684\u98DE\u4E66\u8EAB\u4EFD\uFF1A","team.unbound":"\u672A\u7ED1\u5B9A","team.bindBtn":"\u7ED1\u5B9A","team.bindHint":"\uFF08\u7528\u673A\u5668\u4EBA\u51ED\u8BC1\u81EA\u52A8\u8BC6\u522B\u4F60\uFF1B\u7ED1\u5B9A\u540E\u62C9\u7FA4\u4F1A\u628A\u4F60\u62C9\u8FDB\u7FA4\u3001\u673A\u5668\u4EBA\u4E5F\u5F52\u5230\u4F60\u540D\u4E0B\uFF09","team.myTeams":"\u6211\u7684\u56E2\u961F","team.searchPh":"\u641C\u7D22 \u540D\u79F0/\u80FD\u529B/CLI\u2026","team.allCli":"\u5168\u90E8 CLI","team.hasCap":"\u6709\u80FD\u529B\u6807\u7B7E","team.hasRole":"\u6709\u9ED8\u8BA4\u89D2\u8272","team.teamsHint":"\u6BCF\u4E2A\u56E2\u961F\u91CC\u52FE\u9009\u673A\u5668\u4EBA\u5373\u53EF\u5355\u72EC\u62C9\u7FA4\uFF08\u81EA\u52A8\u5E26\u4E0A\u5404\u81EA\u8D1F\u8D23\u4EBA\uFF09\u3002\u8981\u65B0\u5EFA\u56E2\u961F / \u751F\u6210\u9080\u8BF7\u7801 / \u52A0\u5165\u522B\u4EBA\u7684\u56E2\u961F\uFF0C\u53BB\u300C\u56E2\u961F\u7BA1\u7406\u300D\u3002","team.loading":"\u52A0\u8F7D\u4E2D\u2026","team.roleModalTitle":"\u9ED8\u8BA4\u89D2\u8272","team.roleModalHint":"\u8BE5\u673A\u5668\u4EBA\u7684\u9ED8\u8BA4\u4EBA\u8BBE\uFF08\u8DE8\u7FA4\u751F\u6548\uFF09\uFF0C\u6B64\u5904\u53EA\u8BFB\u3002\u5982\u9700\u4FEE\u6539\uFF0C\u8BF7\u5230\u300CBot \u914D\u7F6E\u300D\u9875\u3002","team.close":"\u5173\u95ED","team.tagLocal":"\u5F53\u524D\u90E8\u7F72","team.tagRemoteStale":"\u8FDC\u7AEF\xB7\u79BB\u7EBF\uFF1F","team.tagRemote":"\u8FDC\u7AEF","team.removeMember":"\u79FB\u9664","team.depTag":"\uFF08{tag}\uFF09","team.depCount":"{count} \u4E2A","team.depSelected":"\uFF0C\u5DF2\u9009 {n}","team.capLabel":"\u80FD\u529B\u6807\u7B7E","team.capPh":"\u80FD\u529B\u6807\u7B7E\u2026","team.viewRole":"\u67E5\u770B","team.hasRoleShort":"\u6709\u89D2\u8272","team.noMatch":"\u6CA1\u6709\u7B26\u5408\u6761\u4EF6\u7684\u673A\u5668\u4EBA\u3002","team.gnameLabel":"\u7FA4\u540D","team.gnamePlaceholder":"\u5982\uFF1A\u8DE8\u56E2\u961F\u6392\u969C","team.gnamePh":"\u7FA4\u540D\uFF08\u5982\uFF1A\u8DE8\u56E2\u961F\u6392\u969C\uFF09","team.pullGroupBtn":"\u628A\u52FE\u9009\u7684\u673A\u5668\u4EBA\u62C9\u4E00\u4E2A\u7FA4","team.pullGroupHint":"\u52FE\u9009\u673A\u5668\u4EBA \u2192 \u62C9\u5230\u4E00\u4E2A\u98DE\u4E66\u7FA4\uFF08\u81EA\u52A8\u542B owner\uFF09","team.noTeams":"\u8FD8\u6CA1\u6709\u56E2\u961F\u3002\u53BB\u300C\u56E2\u961F\u7BA1\u7406\u300D\u751F\u6210\u9080\u8BF7\u7801\u8BA9\u522B\u4EBA\u52A0\u5165\u4F60\uFF0C\u6216\u52A0\u5165\u522B\u4EBA\u7684\u56E2\u961F\u3002","team.connected":"\u5DF2\u8FDE\u63A5","team.connectFail":"\u8FDE\u63A5\u5931\u8D25\uFF1A{error}","team.iHost":"\u6211\u6258\u7BA1","team.teamMeta":"{deps} \u4E2A\u90E8\u7F72 \xB7 {bots} \u4E2A\u673A\u5668\u4EBA","team.rosterFail":"\u65E0\u6CD5\u83B7\u53D6\u8BE5\u56E2\u961F\u82B1\u540D\u518C\u3002","team.acrossTeams":"\uFF08\u8DE8 {n} \u4E2A\u56E2\u961F\uFF0C\u53BB\u91CD\uFF09","team.botsWord":"\u4E2A\u673A\u5668\u4EBA","team.groupCreated":"\u7FA4\u5DF2\u521B\u5EFA","team.delegatedBy":"\uFF08\u7531\u300C{name}\u300D\u5EFA\u7FA4\uFF09","team.openInLark":"\u5728\u98DE\u4E66\u6253\u5F00","team.invalidBots":"\u672A\u52A0\u5165\u7684\u673A\u5668\u4EBA\uFF1A{ids}","team.invalidOwners":"{n} \u4E2A owner \u672A\u80FD\u62C9\u8FDB","team.missingIdentity":"\u4F60\u672A\u7ED1\u5B9A\u98DE\u4E66\u8EAB\u4EFD\uFF0C\u6CA1\u628A\u4F60\u81EA\u5DF1\u62C9\u8FDB\u7FA4\uFF08\u53BB\u300C\u6211\u7684\u56E2\u961F\u300D\u7ED1\u5B9A\uFF09","team.skippedNoOwner":"{n} \u4E2A\u673A\u5668\u4EBA\u56E0\u8D1F\u8D23\u4EBA\u672A\u7ED1\u5B9A\u8EAB\u4EFD\u88AB\u8DF3\u8FC7\uFF08\u672A\u52A0\u5165\u7FA4\uFF09","team.errNoLocalBot":"\u8BF7\u81F3\u5C11\u52FE\u9009\u4E00\u4E2A\u4F60\u81EA\u5DF1\uFF08\u5F53\u524D\u90E8\u7F72\uFF09\u7684\u5728\u7EBF\u673A\u5668\u4EBA\u2014\u2014\u7FA4\u8981\u7531\u5B83\u521B\u5EFA\u5E76\u628A\u4F60\uFF08\u53D1\u8D77\u4EBA\uFF09\u62C9\u8FDB\u7FA4\u3002","team.errAllSkipped":"\u6240\u9009\u673A\u5668\u4EBA\u7684\u8D1F\u8D23\u4EBA\u90FD\u6CA1\u7ED1\u5B9A\u8EAB\u4EFD\uFF0C\u65E0\u6CD5\u62C9\u7FA4\uFF08\u673A\u5668\u4EBA\u4E0D\u80FD\u8FDB\u4E00\u4E2A owner \u4E0D\u5728\u7684\u7FA4\uFF09\u3002\u8BF7\u8BA9\u5BF9\u5E94\u90E8\u7F72\u5148\u7ED1\u5B9A\u8EAB\u4EFD\u3002","team.errNoCreator":"\u6CA1\u6709\u53EF\u7528\u7684\u5EFA\u7FA4\u53D1\u8D77\u65B9\uFF08\u76F8\u5173\u90E8\u7F72\u90FD\u6CA1\u6709\u5728\u7EBF\u673A\u5668\u4EBA\uFF0C\u6216\u4E0D\u53EF\u8FBE\uFF09","team.errDelegationTimeout":"\u59D4\u6258\u5BF9\u65B9\u90E8\u7F72\u5EFA\u7FA4\u8D85\u65F6\uFF08\u53EF\u80FD\u5DF2\u5EFA\uFF0C\u53BB\u98DE\u4E66\u786E\u8BA4\uFF0C\u52FF\u91CD\u590D\u70B9\uFF09","team.errGroupCreate":"\u5EFA\u7FA4\u5931\u8D25\uFF1A{error}","team.roleModalTitleName":"\u9ED8\u8BA4\u89D2\u8272 \xB7 {name}","team.bound":"\u5DF2\u7ED1\u5B9A","team.myHostedTeam":"\u6211\u6258\u7BA1\u7684\u56E2\u961F","team.remoteTeamLabel":"{name} \u7684\u56E2\u961F","team.manageTitle":"\u56E2\u961F\u7BA1\u7406","team.hostedTitle":"\u6211\u6258\u7BA1\u7684\u56E2\u961F","team.newTeamPh":"\u65B0\u56E2\u961F\u540D\u79F0","team.createTeamBtn":"\u521B\u5EFA\u56E2\u961F","team.joinTitle":"\u52A0\u5165\u522B\u4EBA\u7684\u56E2\u961F","team.hubPh":"Hub \u5730\u5740\uFF0C\u5982 http://10.0.0.5:7891","team.codePh":"\u9080\u8BF7\u7801","team.joinBtn":"\u52A0\u5165","team.noTeamsShort":"\u8FD8\u6CA1\u6709\u56E2\u961F\u3002","team.default":"\u9ED8\u8BA4","team.manageMetaDeps":"{count} \u4E2A\u90E8\u7F72","team.manageMetaRemote":"\uFF08\u542B {r} \u8FDC\u7AEF\uFF09","team.manageMetaBots":"{count} \u4E2A\u673A\u5668\u4EBA","team.genInvite":"\u751F\u6210\u9080\u8BF7\u7801","team.delBtn":"\u5220\u9664","team.generating":"\u751F\u6210\u4E2D\u2026","team.inviteResultLede":"\u628A\u4E0B\u9762\u4E24\u9879\u53D1\u7ED9\u522B\u7684\u90E8\u7F72\u7684\u4EBA\uFF0824 \u5C0F\u65F6\u5185\u3001\u5355\u6B21\u6709\u6548\uFF09\uFF1A","team.inviteHub":"Hub \u5730\u5740\uFF1A","team.inviteCode":"\u9080\u8BF7\u7801\uFF1A","team.genFail":"\u751F\u6210\u5931\u8D25\u3002","team.delConfirm":"\u5220\u9664\u56E2\u961F\u300C{name}\u300D\uFF1F\u5DF2\u52A0\u5165\u5B83\u7684\u90E8\u7F72\u4F1A\u88AB\u79FB\u9664\uFF08\u4E0D\u5F71\u54CD\u4ED6\u4EEC\u81EA\u5DF1\u7684\u90E8\u7F72\uFF09\u3002","team.errName":"\u8BF7\u586B\u56E2\u961F\u540D\u79F0","team.creating":"\u521B\u5EFA\u4E2D\u2026","team.created":"\u5DF2\u521B\u5EFA","team.createFail":"\u521B\u5EFA\u5931\u8D25\uFF1A{error}","team.errHubCode":"\u8BF7\u586B Hub \u5730\u5740\u548C\u9080\u8BF7\u7801\u3002","team.joining":"\u52A0\u5165\u4E2D\u2026","team.joined":"\u5DF2\u52A0\u5165\u300C{name}\u300D\uFF0C\u53BB\u300C\u6211\u7684\u56E2\u961F\u300D\u67E5\u770B\u3002","team.joinErrSelf":"\u8FD9\u662F\u4F60\u81EA\u5DF1\u7684\u90E8\u7F72\uFF0C\u4E0D\u80FD\u52A0\u5165\u81EA\u5DF1\uFF08\u9080\u8BF7\u7801\u8981\u53D1\u7ED9\u522B\u7684\u90E8\u7F72\u7684\u4EBA\u7528\uFF09","team.joinErrAlready":"\u4F60\u7684\u90E8\u7F72\u5DF2\u7ECF\u52A0\u5165\u8FC7\u8FD9\u4E2A\u56E2\u961F\u4E86","team.joinErrUnreachable":"\u8FDE\u4E0D\u4E0A\u5BF9\u65B9 Hub\uFF08\u68C0\u67E5\u5730\u5740/\u7F51\u7EDC\uFF09","team.joinErrTimeout":"\u5BF9\u65B9 Hub \u54CD\u5E94\u8D85\u65F6","team.joinErrGeneric":"\u52A0\u5165\u5931\u8D25\uFF1A{error}","team.identifying":"\u8BC6\u522B\u4E2D\u2026","team.bound2":"\u5DF2\u7ED1\u5B9A\uFF1A{name}","team.multiCandidate":"\u8BC6\u522B\u5230\u591A\u4E2A\u5019\u9009\uFF0C\u70B9\u4F60\u81EA\u5DF1\uFF1A","team.binding":"\u7ED1\u5B9A\u4E2D\u2026","team.bindFail":"\u7ED1\u5B9A\u5931\u8D25\uFF1A{error}","team.noCandidates":"\u6CA1\u8BC6\u522B\u5230\u8EAB\u4EFD\uFF1A\u8BF7\u786E\u8BA4\u673A\u5668\u4EBA\u914D\u7F6E\u4E86 allowedUsers\uFF08\u5141\u8BB8\u4F7F\u7528\u8005\uFF09\uFF0C\u4E14\u673A\u5668\u4EBA\u6709\u901A\u8BAF\u5F55\u6743\u9650\u3002","team.removeMemberConfirm":"\u628A\u300C{name}\u300D\u79FB\u51FA\u8FD9\u4E2A\u56E2\u961F\uFF1F\u5B83\u7684\u673A\u5668\u4EBA\u5C06\u4ECE\u672C\u56E2\u961F\u82B1\u540D\u518C\u6D88\u5931\uFF08\u4E0D\u5F71\u54CD\u5BF9\u65B9\u81EA\u5DF1\u7684\u90E8\u7F72\uFF09\u3002","team.creatingGroup":"\u5EFA\u7FA4\u4E2D\u2026","team.defaultGroupName":"\u534F\u4F5C\u7FA4","team.errPickBot":"\u8BF7\u5148\u52FE\u9009\u81F3\u5C11\u4E00\u4E2A\u673A\u5668\u4EBA","sessions.closeBulkConfirm":"\u5173\u95ED\u9009\u4E2D\u7684 {count} \u4E2A\u4F1A\u8BDD\uFF1F","sessions.empty":"\u6CA1\u6709\u7B26\u5408\u6761\u4EF6\u7684\u4F1A\u8BDD\u3002","sessions.viewMode":"\u4F1A\u8BDD\u89C6\u56FE","sessions.viewKanban":"\u770B\u677F","sessions.viewBoard":"\u72B6\u6001\u677F","sessions.viewTable":"\u8868\u683C","sessions.selectSession":"\u9009\u62E9\u4F1A\u8BDD","sessions.board.needsYou":"\u9700\u8981\u4F60","sessions.board.needsYouHint":"\u7B49\u5F85\u4ED3\u5E93\u3001TUI \u9009\u62E9\u6216\u989D\u5EA6\u5904\u7406","sessions.board.starting":"\u542F\u52A8\u4E2D","sessions.board.startingHint":"CLI \u6B63\u5728\u521B\u5EFA\u6216\u6062\u590D","sessions.board.working":"\u5E72\u6D3B\u4E2D","sessions.board.workingHint":"\u6B63\u5728\u8F93\u51FA\u3001\u5206\u6790\u6216\u6267\u884C\u5DE5\u5177","sessions.board.idle":"\u7A7A\u95F2","sessions.board.idleHint":"\u53EF\u7EE7\u7EED\u5BF9\u8BDD\u6216\u63A5\u65B0\u4EFB\u52A1","sessions.board.emptyColumn":"\u6682\u65E0\u4F1A\u8BDD","sessions.board.signalRepo":"\u5F85\u9009\u4ED3\u5E93","sessions.board.signalPrompt":"\u7B49\u5F85 TUI \u9009\u62E9","sessions.board.signalLimited":"\u989D\u5EA6\u53D7\u9650","sessions.board.signalAgent":"\u9700\u8981\u4EBA\u5DE5\u4ECB\u5165","sessions.board.waiting":"\u7B49\u5F85","sessions.board.dragHint":"\u62D6\u52A8\u5217\u5934\u8C03\u6574\u5217\u987A\u5E8F","sessions.board.moveLeft":"\u5DE6\u79FB\u6B64\u5217","sessions.board.moveRight":"\u53F3\u79FB\u6B64\u5217","sessions.kanban.backlog":"\u5F85\u529E\u6C60","sessions.kanban.todo":"\u5F85\u529E","sessions.kanban.inProgress":"\u8FDB\u884C\u4E2D","sessions.kanban.inReview":"\u5F85\u786E\u8BA4","sessions.kanban.done":"\u5DF2\u5B8C\u6210","sessions.kanban.updated":"\u66F4\u65B0\u4E8E {time}","sessions.kanban.moreHidden":"\u8FD8\u6709 {count} \u4E2A\u672A\u663E\u793A","sessions.create.button":"\u521B\u5EFA\u4F1A\u8BDD","sessions.create.title":"\u521B\u5EFA\u4F1A\u8BDD","sessions.create.content":"\u5185\u5BB9","sessions.create.contentPlaceholder":"\u63CF\u8FF0\u8981\u505A\u7684\u4E8B\uFF1BLead \u5206\u914D\u6A21\u5F0F\u4E0B\u53EF\u5728\u8FD9\u91CC\u7ED9\u5404 agent \u5206\u914D\u4E0D\u540C\u7684\u5DE5\u4F5C","sessions.create.bots":"\u673A\u5668\u4EBA\uFF08\u62C9\u8FDB\u65B0\u7FA4\uFF09","sessions.create.noBots":"\u6CA1\u6709\u5728\u7EBF\u7684\u673A\u5668\u4EBA\u53EF\u9009","sessions.create.mode":"\u534F\u4F5C\u6A21\u5F0F","sessions.create.modeAll":"\u4E00\u8D77\u5F00\u5DE5","sessions.create.modeLead":"Lead \u5206\u914D\uFF08\u63A8\u8350\uFF09","sessions.create.modeHelp":"\u4E00\u8D77\u5F00\u5DE5\uFF1A\u6BCF\u4E2A\u88AB\u9009\u673A\u5668\u4EBA\u5404\u8D77\u4E00\u6761\u4F1A\u8BDD\u3001\u62FF\u540C\u4E00\u4EFD\u5185\u5BB9\u3002Lead \u5206\u914D\uFF1A\u53EA\u8D77 lead\uFF0C\u7531\u5B83\u5728\u7FA4\u91CC @ \u62C9\u8D77\u5176\u5B83\u673A\u5668\u4EBA\u5E72\u6D3B\u3002","sessions.create.lead":"Lead \u673A\u5668\u4EBA","sessions.create.leadHelp":"\u5185\u5BB9\u4F1A\u53D1\u7ED9 lead\uFF0C\u7531\u5B83\u51B3\u5B9A\u4F55\u65F6\u62C9\u8D77\u54EA\u4E2A sub bot\u3002","sessions.create.leadPickFirst":"\u8BF7\u5148\u5728\u4E0A\u65B9\u52FE\u9009\u673A\u5668\u4EBA","sessions.create.column":"\u5165\u5217","sessions.create.columnInProgress":"\u76F4\u63A5\u8FDB\u884C\u4E2D","sessions.create.columnBacklog":"\u5F85\u529E\u6C60","sessions.create.columnHelp":"\u76F4\u63A5\u8FDB\u884C\u4E2D\uFF1A\u5EFA\u5B8C\u7FA4\u7ACB\u523B\u5F00\u8DD1\u3002\u5F85\u529E\u6C60\uFF1A\u5148\u5EFA\u7FA4+\u62C9\u673A\u5668\u4EBA\u4F46\u4E0D\u8D77 CLI\uFF0C\u4E4B\u540E\u62D6\u5230\u300C\u8FDB\u884C\u4E2D\u300D\u6216\u70B9\u300C\u5F00\u59CB\u300D\u518D\u53D1\u7ED9\u673A\u5668\u4EBA\u3002","sessions.create.advanced":"\u66F4\u591A\u9009\u9879","sessions.create.optionalConfig":"\u53EF\u9009\u914D\u7F6E","sessions.create.groupName":"\u7FA4\u540D\u79F0","sessions.create.groupNamePlaceholder":"\u7559\u7A7A\u5219\u53D6\u5185\u5BB9\u9996\u884C","sessions.create.workingDir":"\u5DE5\u4F5C\u76EE\u5F55","sessions.create.workingDirHelp":"\u53EF\u9009\u3002\u586B\u4E86\u5219\u628A\u65B0\u7FA4\u7ED1\u5B9A\u5230\u8BE5\u76EE\u5F55\uFF08\u6240\u6709\u673A\u5668\u4EBA\u90FD\u5728\u6B64\u76EE\u5F55\u5DE5\u4F5C\uFF09\u3002\u7559\u7A7A\u5219\u673A\u5668\u4EBA\u5728\u7FA4\u91CC\u5F39 /repo \u5361\u7247\u8BA9\u4F60\u9009\u4ED3\u5E93\uFF08\u652F\u6301\u65B0\u5EFA worktree\uFF09\u3002","sessions.create.submit":"\u521B\u5EFA","sessions.create.submitting":"\u521B\u5EFA\u4E2D\u2026","sessions.create.cancel":"\u53D6\u6D88","sessions.create.start":"\u5F00\u59CB","sessions.create.errContent":"\u8BF7\u586B\u5199\u5185\u5BB9","sessions.create.errNoBot":"\u8BF7\u81F3\u5C11\u9009\u62E9\u4E00\u4E2A\u673A\u5668\u4EBA","sessions.create.errLead":"Lead \u5FC5\u987B\u662F\u5DF2\u52FE\u9009\u7684\u673A\u5668\u4EBA\u4E4B\u4E00","sessions.create.failed":"\u521B\u5EFA\u5931\u8D25","sessions.create.startFailed":"\u5F00\u59CB\u5931\u8D25","sessions.create.doneTitle":"\u5DF2\u521B\u5EFA","sessions.create.doneInProgress":"\u5DF2\u5EFA\u7FA4\u5E76\u62C9\u8D77\u4F1A\u8BDD","sessions.create.doneBacklog":"\u5DF2\u5EFA\u7FA4\uFF0C\u4F1A\u8BDD\u5DF2\u5165\u5F85\u529E\u6C60","sessions.create.partialFail":"\u6709 {n} \u4E2A\u673A\u5668\u4EBA\u672A\u80FD\u62C9\u8D77\uFF0C\u53EF\u7A0D\u540E\u5728\u7FA4\u91CC @ \u91CD\u8BD5","sessions.create.openChat":"\u6253\u5F00\u98DE\u4E66\u7FA4","sessions.create.close":"\u5173\u95ED","sessions.kanban.openTab":"\u65B0\u6807\u7B7E\u9875\u6253\u5F00","sessions.kanban.openFeishu":"\u6253\u5F00\u98DE\u4E66","sessions.kanban.terminalLoading":"\u6B63\u5728\u6253\u5F00\u7EC8\u7AEF\u2026","sessions.kanban.rename":"\u91CD\u547D\u540D\uFF08\u53CC\u51FB\u6807\u9898\u4E5F\u53EF\uFF09","sessions.kanban.renameFail":"\u91CD\u547D\u540D\u5931\u8D25","sessions.kanban.moveFail":"\u79FB\u52A8\u5931\u8D25","sessions.kanban.groupBy":"\u5206\u7EC4\u7EF4\u5EA6","sessions.kanban.groupFlow":"\u5DE5\u4F5C\u6D41","sessions.kanban.groupTeam":"\u56E2\u961F","sessions.kanban.groupBot":"\u673A\u5668\u4EBA","sessions.kanban.teamLoading":"\u6B63\u5728\u52A0\u8F7D\u56E2\u961F\u2026","sessions.kanban.noTeam":"\u6682\u65E0\u56E2\u961F","sessions.kanban.teamScope":"{chats} \u4E2A\u534F\u4F5C\u7FA4 \xB7 {sessions} \u4E2A\u4F1A\u8BDD","sessions.kanban.remoteHint":"\u6765\u81EA {name} \u90E8\u7F72\u7684\u4F1A\u8BDD\uFF08\u5FEB\u7167\uFF0C\u7EC8\u7AEF/\u5386\u53F2\u5728\u5BF9\u65B9\u673A\u5668\u4E0A\uFF09","sessions.kanban.clusterDragHint":"\u62D6\u52A8\u6807\u9898\u6574\u7EC4\u79FB\u52A8","sessions.kanban.clusterExpand":"\u5C55\u5F00\u7FA4\u7EC4\u4F1A\u8BDD","sessions.kanban.clusterCollapse":"\u6298\u53E0\u7FA4\u7EC4\u4F1A\u8BDD","sessions.history.title":"\u4F1A\u8BDD\u5386\u53F2","sessions.history.loading":"\u6B63\u5728\u62C9\u53D6\u98DE\u4E66\u6D88\u606F\u2026","sessions.history.fail":"\u5386\u53F2\u62C9\u53D6\u5931\u8D25","sessions.history.empty":"\u6CA1\u6709\u6D88\u606F","sessions.history.user":"\u7528\u6237","sessions.history.bot":"\u673A\u5668\u4EBA","sessions.history.system":"\u7CFB\u7EDF\u6D88\u606F","sessions.history.owner":"\u521B\u5EFA\u8005","sessions.history.staleHint":"dashboard \u6216 daemon \u8FDB\u7A0B\u53EF\u80FD\u8FD8\u5728\u8DD1\u65E7\u7248\u672C\uFF0Cbotmux restart \u540E\u91CD\u8BD5","groups.title":"\u7FA4\u7EC4\u7BA1\u7406","groups.matrixTitle":"\u7FA4\u7EC4\u77E9\u9635","groups.search":"\u641C\u7D22\u7FA4\u540D / ID / owner","groups.missingOnly":"\u4EC5\u7F3A bot","groups.refresh":"\u5237\u65B0","groups.create":"\u65B0\u5EFA\u7FA4\u804A","groups.chat":"\u7FA4\u804A","groups.actions":"\u64CD\u4F5C","groups.addBots":"\u6DFB\u52A0 bot","groups.saveAsProfile":"\u4FDD\u5B58Profile","groups.manage":"\u7BA1\u7406","groups.empty":"\u6CA1\u6709\u7B26\u5408\u6761\u4EF6\u7684\u7FA4\u804A\u3002","groups.paginationLabel":"\u7FA4\u7EC4\u5217\u8868\u5206\u9875","groups.pageStatus":"\u663E\u793A {from}-{to}/{total} \xB7 \u7B2C {page}/{pages} \u9875","groups.prevPage":"\u4E0A\u4E00\u9875","groups.nextPage":"\u4E0B\u4E00\u9875","groups.botCoverage":"\u673A\u5668\u4EBA\u8986\u76D6","groups.memberSummary":"\u5DF2\u5165\u7FA4 {count}/{total}","groups.botStatusIn":"\u5DF2\u5165\u7FA4","groups.botStatusOut":"\u7F3A\u5931","groups.botStatusError":"\u5F02\u5E38","groups.botStatusUnknown":"\u672A\u77E5","groups.profileStatusFull":"\u5B8C\u6574\u5339\u914D {name}\uFF08{matched}/{total}\uFF09","groups.profileStatusFullChat":"\u672C\u7FA4 Role \u5B8C\u6574\u5339\u914D {name}\uFF08{matched}/{total}\uFF09","groups.profileStatusPartial":"\u90E8\u5206\u5339\u914D {name}\uFF08{matched}/{total}\uFF09","groups.profileStatusUnmatched":"\u672A\u5339\u914D\u4EFB\u4F55 Profile","groups.saveProfileTitle":"\u4FDD\u5B58\u4E3A Profile","groups.saveProfileIntro":"\u5C06\u300C{name}\u300D\u91CC\u7684 {count} \u4E2A\u7FA4\u5185 bot \u914D\u7F6E\u4FDD\u5B58\u4E3A profile \u5FEB\u7167\u3002","groups.saveProfileScope":"\u4FDD\u5B58\u8303\u56F4","groups.saveProfileScopeHelp":"\u7FA4\u5185 bot \u914D\u7F6E\u5FEB\u7167","groups.saveProfileBotCount":"\u7FA4\u5185 bot","groups.saveProfileLoadFailed":"\u8BFB\u53D6\u5931\u8D25","groups.saveProfileStatus.entry":"\u751F\u6210 entry","groups.saveProfileStatus.error":"\u8BFB\u53D6\u5931\u8D25","groups.saveProfileMode":"\u4FDD\u5B58\u65B9\u5F0F","groups.saveProfileNew":"\u65B0\u5EFA Profile","groups.saveProfileNewHelp":"\u9ED8\u8BA4\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u5FEB\u7167\uFF1B\u5982\u679C id \u5DF2\u5B58\u5728\uFF0C\u4F1A\u8986\u76D6\u540C bot entry\u3002","groups.saveProfileOverwrite":"\u8986\u76D6\u5DF2\u6709 Profile","groups.saveProfileOverwriteHelp":"\u4ECE\u5217\u8868\u4E2D\u9009\u62E9\u4E00\u4E2A\u5DF2\u6709 profile\uFF0C\u8986\u76D6\u5176\u4E2D\u540C bot \u7684 entry\u3002","groups.saveProfileExistingMeta":"{count} \u4E2A entry","groups.saveProfileIdLabel":"Profile id","groups.saveProfileExistingLabel":"\u5DF2\u6709 Profile","groups.saveProfileExistingEmpty":"\u6682\u65E0\u5DF2\u6709 Profile","groups.saveProfileTarget":"\u76EE\u6807 Profile","groups.saveProfileTargetNew":"\u5C06\u65B0\u5EFA\u6216\u66F4\u65B0\u8FD9\u4E2A Profile \u7684\u7FA4\u5185 bot \u5FEB\u7167","groups.saveProfileTargetOverwrite":"\u5C06\u8986\u76D6\u5DF2\u6709 Profile \u4E2D\u8FD9\u4E9B bot \u7684 entry","groups.saveProfileEntrySummary":"\u5C06\u4E3A {count} \u4E2A\u7FA4\u5185 bot \u751F\u6210 profile entry\u3002","groups.saveProfileEntrySummaryWithEmpty":"\u5C06\u4E3A {count} \u4E2A\u7FA4\u5185 bot \u751F\u6210 profile entry\uFF1B\u5176\u4E2D {emptyCount} \u4E2A\u5F53\u524D\u672A\u8BFB\u5230 role \u5185\u5BB9\uFF0C\u4F1A\u4FDD\u5B58\u4E3A\u7A7A entry\u3002","groups.saveProfileFailedLoadSummary":"\u6709 {count} \u4E2A bot \u914D\u7F6E\u8BFB\u53D6\u5931\u8D25\uFF0C\u6682\u4E0D\u4FDD\u5B58\uFF0C\u907F\u514D\u751F\u6210\u4E0D\u5B8C\u6574\u5FEB\u7167\u3002","groups.saveProfileSubmit":"\u4FDD\u5B58 Profile","groups.saveProfileOverwriteSubmit":"\u8986\u76D6\u4FDD\u5B58","groups.saveProfileInvalid":"Profile id \u53EA\u80FD\u5305\u542B\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u70B9\u3001\u4E0B\u5212\u7EBF\u3001\u77ED\u6A2A\u7EBF\uFF0C\u6700\u957F 64\uFF0C\u4E14\u4E0D\u80FD\u662F . \u6216 ..","groups.saveProfileNoRoles":"\u8FD9\u4E2A\u7FA4\u91CC\u6CA1\u6709\u53EF\u4FDD\u5B58\u7684 bot \u914D\u7F6E\u3002","groups.saveProfilePreparing":"\u8BFB\u53D6\u914D\u7F6E\u2026","groups.saveProfileSaving":"\u4FDD\u5B58\u4E2D\u2026","groups.saveProfileDone":"\u5DF2\u4FDD\u5B58 {count} \u4E2A entry \u5230 {name}","groups.saveProfileFailed":"\u53EA\u4FDD\u5B58\u4E86 {saved}/{total} \u4E2A entry\uFF0C\u8BF7\u68C0\u67E5\u79BB\u7EBF bot \u6216\u6743\u9650\u3002","groups.createTitle":"\u65B0\u5EFA\u7FA4\u804A","groups.createHelp":"\u9009\u62E9\u8981\u9080\u8BF7\u7684 bot\u3002dashboard \u4F1A\u81EA\u52A8\u9009\u62E9\u5728\u7EBF daemon \u4F5C\u4E3A\u521B\u5EFA\u8005\u3002","groups.name":"\u7FA4\u540D","groups.namePlaceholder":"\u4F8B\u5982 AI ChangeLog","groups.bindDir":"\u7ED1\u5B9A\u76EE\u5F55","groups.bindDirHelp":"\u65B0\u8BDD\u9898\u76F4\u63A5\u7528\u8BE5\u76EE\u5F55\u542F\u52A8 CLI\uFF0C\u8DF3\u8FC7 repo \u9009\u62E9\u3002","groups.roleProfile":"Profile","groups.roleProfileNone":"\u4E0D\u4F7F\u7528","groups.roleProfileHelp":"\u521B\u5EFA\u540E\u5728\u65B0\u7FA4\u91CC\u53D1\u9001 profile apply bootstrap \u547D\u4EE4\u3002","groups.roleProfileBootstrapSent":"Profile\uFF1A{name}\uFF1Bbootstrap \u6D88\u606F\u5DF2\u53D1\u9001\uFF1A{messageId}","groups.roleProfileBootstrapDone":"Profile\uFF1A{name}\uFF1Bbootstrap \u5DF2\u5B8C\u6210\uFF0C\u65E0\u9700\u53D1\u9001 peer bootstrap \u6D88\u606F\u3002","groups.roleProfileBootstrapFailed":"Profile\uFF1A{name}\uFF1Bbootstrap \u5931\u8D25\uFF1A{reason}","groups.botPicker":"Bot","groups.createSubmit":"\u521B\u5EFA\u7FA4\u804A","groups.createSubmitting":"\u521B\u5EFA\u4E2D\u2026","groups.cancel":"\u53D6\u6D88","groups.successTitle":"\u7FA4\u521B\u5EFA\u6210\u529F","groups.openGroup":"\u6253\u5F00\u65B0\u7FA4","groups.manageTitle":"\u7BA1\u7406 {name}","groups.owner":"\u7FA4\u4E3B","groups.oncall":"Oncall \u6A21\u5F0F","groups.oncallHelp":"\u5F00\u542F\u540E\uFF0C\u7FA4\u5185\u6210\u5458\u53EF @ \u673A\u5668\u4EBA\uFF1B\u52FE\u9009\u7684 bot \u5728\u672C\u7FA4\u7684\u65B0\u8BDD\u9898\u76F4\u63A5\u4F7F\u7528\u5176\u7ED1\u5B9A\u76EE\u5F55\uFF08\u7ED1\u5B9A\u6309 bot \u8BA1\uFF0C\u53EA\u5F71\u54CD\u52FE\u9009\u7684 bot\uFF09\u3002","groups.leaveTitle":"\u9009\u62E9\u673A\u5668\u4EBA\u9000\u51FA\u7FA4\u804A","groups.leaveSelected":"\u9009\u4E2D\u673A\u5668\u4EBA\u9000\u51FA\u7FA4\u804A","groups.disband":"\u89E3\u6563\u7FA4\u804A","groups.dangerHint":"\u89E3\u6563\u4EC5\u5F53\u5728\u7FA4\u673A\u5668\u4EBA\u662F\u7FA4\u4E3B\u65F6\u624D\u4F1A\u6210\u529F\uFF0C\u5426\u5219\u5EFA\u8BAE\u4F7F\u7528\u9000\u51FA\u7FA4\u804A\u3002","groups.save":"\u4FDD\u5B58","groups.needWorkingDir":"\u8BF7\u586B\u5DE5\u4F5C\u76EE\u5F55","groups.noBotsOnline":"\u6CA1\u6709\u5728\u7EBF bot\u3002\u8BF7\u5148\u91CD\u542F daemon\u3002","schedules.title":"\u5B9A\u65F6\u4EFB\u52A1","schedules.search":"\u641C\u7D22\u540D\u79F0 / prompt / \u5DE5\u4F5C\u76EE\u5F55","schedules.anyKind":"\u5168\u90E8\u7C7B\u578B","schedules.enabledOnly":"\u4EC5\u542F\u7528","schedules.name":"\u540D\u79F0","schedules.bot":"bot","schedules.schedule":"\u89C4\u5219","schedules.next":"\u4E0B\u6B21","schedules.last":"\u4E0A\u6B21","schedules.repeat":"\u91CD\u590D","schedules.enabled":"\u542F\u7528","schedules.paused":"\u6682\u505C","schedules.actions":"\u64CD\u4F5C","schedules.runNow":"\u7ACB\u5373\u8FD0\u884C","schedules.running":"\u8FD0\u884C\u4E2D","schedules.runDone":"\u5DF2\u8FD0\u884C","schedules.saving":"\u4FDD\u5B58\u4E2D","schedules.saved":"\u5DF2\u4FDD\u5B58","schedules.failed":"\u5931\u8D25","schedules.pause":"\u6682\u505C","schedules.resume":"\u6062\u590D","schedules.delivery":"\u6295\u9012","schedules.deliveryOrigin":"\u539F\u8BDD\u9898","schedules.deliveryNewTopic":"\u6BCF\u6B21\u65B0\u8BDD\u9898","schedules.deliveryLocal":"\u4EC5\u8BB0\u5F55","schedules.useNewTopic":"\u6539\u4E3A\u6BCF\u6B21\u65B0\u8BDD\u9898","schedules.useOrigin":"\u6539\u4E3A\u539F\u8BDD\u9898","schedules.empty":"\u6682\u65E0\u5B9A\u65F6\u4EFB\u52A1\u3002","settings.title":"\u5168\u5C40\u8BBE\u7F6E","settings.loading":"\u6B63\u5728\u52A0\u8F7D\u8BBE\u7F6E\u2026","settings.loadFailed":"\u8BBE\u7F6E\u52A0\u8F7D\u5931\u8D25","settings.readOnlyVisitor":"\u5F53\u524D\u662F\u53EA\u8BFB\u8BBF\u95EE\uFF0C\u4FEE\u6539\u8BBE\u7F6E\u9700\u8981\u6388\u6743\u94FE\u63A5\uFF08\u8FD0\u884C botmux dashboard \u83B7\u53D6\uFF09","settings.sectionAccess":"\u8BBF\u95EE\u6743\u9650","settings.publicReadOnly":"\u5141\u8BB8\u65E0 token \u53EA\u8BFB\u8BBF\u95EE dashboard","settings.publicReadOnlyHelp":"\u5141\u8BB8\u65E0 token \u67E5\u770B\u53EA\u8BFB\u6570\u636E\uFF1B\u5173\u95ED\u3001\u5BA1\u6279\u3001\u6682\u505C\u7B49\u5199\u64CD\u4F5C\u4ECD\u9700 token\u3002\u7EC8\u7AEF\u539F\u59CB\u65E5\u5FD7\u59CB\u7EC8\u9700\u8981 token\u3002","settings.remoteAccess":"\u8FDC\u7A0B\u8BBF\u95EE\u7EC8\u7AEF","settings.remoteAccessHelp":"\u9ED8\u8BA4\u5173\u95ED\u3002\u4F1A\u8BDD\u7EC8\u7AEF\u3001\u98DE\u4E66\u5361\u7247\u7EC8\u7AEF\u5165\u53E3\u548C webhook \u4F7F\u7528\u4E2D\u5FC3\u5316\u5E73\u53F0\u94FE\u63A5\uFF1B\u5173\u95ED\u5219\u4F7F\u7528\u672C\u5730\u94FE\u63A5\u3002","settings.sectionCards":"\u98DE\u4E66\u5361\u7247","settings.openTerminalInFeishu":"\u6D41\u5F0F\u5361\u7247 Web \u7EC8\u7AEF\u6309\u94AE\u5728\u98DE\u4E66\u4FA7\u680F\u6253\u5F00","settings.openTerminalInFeishuHelp":"\u9ED8\u8BA4\u5173\u95ED\u3002\u5C06 Web Terminal \u94FE\u63A5\u5305\u88C5\u4E3A\u98DE\u4E66\u4FA7\u680F\u6253\u5F00\uFF1B\u5199\u6743\u9650\u4ECD\u7531\u7EC8\u7AEF token \u63A7\u5236\u3002","settings.sectionExperimental":"\u5B9E\u9A8C\u6027\u914D\u7F6E","settings.chatBotDiscovery":"\u7FA4\u5185\u673A\u5668\u4EBA\u53D1\u73B0\uFF08\u98DE\u4E66 /members/bots\uFF09","settings.chatBotDiscoveryHelp":"\u9ED8\u8BA4\u5F00\u542F\u3002\u5B9E\u65F6\u8BFB\u53D6\u7FA4\u5185\u673A\u5668\u4EBA\u6210\u5458\uFF0C\u63D0\u9AD8\u591A bot \u4E92\u76F8 @ \u7684\u51C6\u786E\u6027\u3002\u63A5\u53E3\u4E0D\u53EF\u7528\u65F6\u4F1A\u56DE\u9000\u65E7\u903B\u8F91\uFF1B\u4EC5\u5728\u6210\u5458\u8BC6\u522B\u5F02\u5E38\u65F6\u5173\u95ED\u3002","settings.sectionVcMeetingAgent":"\u4F1A\u8BAE\u76D1\u542C","settings.vcMeetingAgent":"\u5141\u8BB8\u672C\u673A\u4F7F\u7528\u4F1A\u8BAE\u76D1\u542C\u80FD\u529B","settings.vcMeetingAgentHelp":"\u9ED8\u8BA4\u5F00\u542F\u3002\u63A7\u5236\u672C\u673A bot \u662F\u5426\u63A5\u6536\u65B0\u7684\u4F1A\u8BAE\u76D1\u542C\u4E8B\u4EF6\u3002\u5173\u95ED\u540E\u4E0D\u518D\u6062\u590D\u76D1\u542C\uFF1B\u5DF2\u8FDB\u884C\u4E2D\u7684\u4F1A\u8BAE\u901A\u5E38\u81EA\u7136\u7ED3\u675F\u3002","settings.vcMeetingListenerBot":"\u4F1A\u8BAE\u76D1\u542C bot \u8EAB\u4EFD","settings.vcMeetingListenerBotAuto":"\u6309 bot \u81EA\u8EAB\u914D\u7F6E","settings.vcMeetingListenerBotHelp":"\u6307\u5B9A\u63A5\u6536\u4F1A\u8BAE\u4E8B\u4EF6\u7684 bot\u3002\u4FDD\u5B58\u65F6\u6821\u9A8C lark-cli profile \u4E0E\u4F1A\u8BAE\u6743\u9650\uFF0C\u6821\u9A8C\u901A\u8FC7\u540E\u542F\u7528\u76D1\u542C\u3002","settings.vcMeetingListenerBotDisabled":"\u4FDD\u5B58\u540E\u81EA\u52A8\u542F\u7528","settings.vcMeetingListenerBotNoProfile":"\u9700\u5148\u914D\u7F6E profile","settings.larkCliReady":"lark-cli {version} \xB7 \u7248\u672C\u7B26\u5408\u8981\u6C42","settings.larkCliOutdated":"lark-cli {version} \u7248\u672C\u8FC7\u4F4E\uFF0CVC bot \u5165\u4F1A\u9700\u8981 \u2265 {minimum}","settings.larkCliMissing":"\u672A\u68C0\u6D4B\u5230 lark-cli\uFF0CVC bot \u5165\u4F1A\u524D\u9700\u5B89\u88C5","settings.feishuLoginRequired":"\u9700\u8981\u98DE\u4E66\u5F00\u653E\u5E73\u53F0\u767B\u5F55\u624D\u80FD\u81EA\u52A8\u914D\u7F6E VC \u6743\u9650\uFF0C\u8BF7\u626B\u7801\u3002","settings.feishuLoginQrAlt":"\u98DE\u4E66\u5F00\u653E\u5E73\u53F0\u767B\u5F55\u4E8C\u7EF4\u7801","settings.feishuLoginClose":"\u5173\u95ED\u767B\u5F55\u4E8C\u7EF4\u7801","settings.sectionRepoPicker":"\u4ED3\u5E93\u9009\u62E9","settings.repoPickerMode":"\u4ED3\u5E93\u9009\u62E9\u5361\u6A21\u5F0F","settings.repoPickerModeAll":"\u4ED3\u5E93 + worktree","settings.repoPickerModeRepos":"\u4EC5\u4E3B\u4ED3\u5E93","settings.repoPickerModeHelp":"\u63A7\u5236\u4ED3\u5E93\u9009\u62E9\u5361\u662F\u5426\u5C55\u793A linked worktree\uFF1B\u663E\u5F0F /repo \u8DEF\u5F84\u4ECD\u53EF\u76F4\u8FBE worktree\u3002","settings.sectionWhiteboard":"\u672C\u5730\u767D\u677F","settings.whiteboardEnable":"\u542F\u7528\u9879\u76EE\u767D\u677F","settings.whiteboardEnableHelp":"\u9ED8\u8BA4\u5173\u95ED\u3002\u5F00\u542F\u767D\u677F\u80FD\u529B\uFF1B\u4E0D\u4F1A\u7ACB\u5373\u521B\u5EFA\u767D\u677F\uFF0C\u9996\u6B21\u6309\u7FA4\u548C\u9879\u76EE\u4F7F\u7528\u65F6\u518D\u521D\u59CB\u5316\u3002","settings.saving":"\u4FDD\u5B58\u4E2D\u2026","settings.saved":"\u5DF2\u4FDD\u5B58","settings.saveFailed":"\u4FDD\u5B58\u5931\u8D25","settings.sectionSchedule":"\u5B9A\u65F6\u4EFB\u52A1","settings.scheduleTimeZone":"\u65F6\u533A","settings.scheduleTimeZoneHost":"\u8DDF\u968F\u4E3B\u673A\uFF08{host}\uFF09","settings.scheduleTimeZoneHelp":"\u5B9A\u65F6\u4EFB\u52A1\u89E6\u53D1\u548C\u663E\u793A\u6240\u7528\u65F6\u533A\u3002\u7559\u7A7A\u8DDF\u968F\u4E3B\u673A\uFF08{host}\uFF09\uFF1B\u5F53\u524D\u751F\u6548\uFF1A{effective}\u3002","settings.sectionMaintenance":"\u81EA\u52A8\u7EF4\u62A4","settings.autoUpdate":"\u81EA\u52A8\u66F4\u65B0","settings.autoUpdateHelp":"\u9ED8\u8BA4\u5173\u95ED\u3002\u6309\u5F53\u524D\u5B89\u88C5\u65B9\u5F0F\uFF08npm / pnpm\uFF09\u66F4\u65B0\u5168\u5C40\u7248\u672C\uFF1B\u53EA\u66F4\u65B0\u5B89\u88C5\u5305\uFF0C\u4E0D\u81EA\u52A8\u91CD\u542F\u3002","settings.autoRestart":"\u81EA\u52A8\u91CD\u542F","settings.autoRestartHelp":"\u9ED8\u8BA4\u5173\u95ED\uFF0C\u9700\u5148\u5F00\u542F\u81EA\u52A8\u66F4\u65B0\u3002\u81EA\u52A8\u66F4\u65B0\u540E\u5728\u7A7A\u95F2\u65F6\u91CD\u542F\u4EE5\u751F\u6548\uFF1B\u6709\u8FDB\u884C\u4E2D\u4F1A\u8BDD\u5219\u5EF6\u540E\u5230\u4E0B\u6B21\u7A97\u53E3\u3002","settings.autoUpdateLocalDev":"\u5F53\u524D\u4E3A\u672C\u5730\u5F00\u53D1\u5B89\u88C5\uFF08\u4ECE\u6E90\u7801\u8FD0\u884C\uFF09\uFF0C\u81EA\u52A8\u66F4\u65B0\u4E0D\u53EF\u7528\u3002","settings.autoUpdateUnsupportedInstall":"\u5F53\u524D\u5B89\u88C5\u65B9\u5F0F\u6682\u4E0D\u652F\u6301\u81EA\u52A8\u66F4\u65B0\uFF08\u76EE\u524D\u652F\u6301 npm / pnpm \u5168\u5C40\u5B89\u88C5\uFF09\u3002","settings.maintenanceTime":"\u65F6\u95F4","update.section":"\u7248\u672C\u4E0E\u66F4\u65B0","update.loginRequired":"\u767B\u5F55\u540E\u53EF\u68C0\u67E5\u7248\u672C\u3001\u6267\u884C\u66F4\u65B0\u6216\u91CD\u542F\u3002","update.loading":"\u68C0\u67E5\u4E2D\u2026","update.checkFailed":"\u68C0\u67E5\u5931\u8D25","update.current":"\u5F53\u524D\u7248\u672C","update.upToDate":"\u5DF2\u662F\u6700\u65B0\u7248\u672C","update.newAvailable":"\u53D1\u73B0\u65B0\u7248\u672C {version}","update.checkUnavailable":"\u65E0\u6CD5\u83B7\u53D6\u6700\u65B0\u7248\u672C\uFF08\u79BB\u7EBF\u6216\u53D7\u7F51\u7EDC\u9650\u5236\uFF09","update.nodeWarn":"\u5F53\u524D Node \u7248\u672C {version} \u8FC7\u4F4E\uFF0C\u66F4\u65B0\u8981\u6C42 \u2265 {required}\uFF0C\u8BF7\u5148\u5347\u7EA7 Node\u3002","update.localDev":"\u5F53\u524D\u4E3A\u672C\u5730\u5F00\u53D1\u5B89\u88C5\uFF08\u4ECE\u6E90\u7801\u8FD0\u884C\uFF09\uFF0C\u300C\u66F4\u65B0\u5230\u6700\u65B0\u7248\u300D\u4E0D\u53EF\u7528\uFF1B\u8BF7\u7528 git pull + \u6784\u5EFA\u540E\u91CD\u542F\u3002","update.multiInstallWarn":"\u68C0\u6D4B\u5230\u591A\u4E2A botmux \u5B89\u88C5\uFF1B\u672C\u6B21\u53EA\u66F4\u65B0\u5F53\u524D\u8FD0\u884C\u5B89\u88C5\u6240\u5C5E\u7684\u5305\u7BA1\u7406\u5668\u4F4D\u7F6E\uFF1A","update.kindNpm":"npm \u5168\u5C40","update.kindPnpm":"pnpm \u5168\u5C40","update.kindYarn":"Yarn \u5168\u5C40\uFF08\u6682\u4E0D\u652F\u6301\u66F4\u65B0\uFF09","update.kindBun":"Bun \u5168\u5C40\uFF08\u6682\u4E0D\u652F\u6301\u66F4\u65B0\uFF09","update.kindSource":"\u6E90\u7801 checkout","update.kindUnknown":"\u672A\u77E5","update.btnCheck":"\u68C0\u67E5\u66F4\u65B0","update.btnChangelog":"\u67E5\u770B\u66F4\u65B0\u5185\u5BB9","update.btnChangelogHide":"\u6536\u8D77\u66F4\u65B0\u5185\u5BB9","update.btnUpdate":"\u66F4\u65B0\u5230\u6700\u65B0\u7248","update.btnRestart":"\u91CD\u542F botmux","update.changelogLoading":"\u52A0\u8F7D\u66F4\u65B0\u5185\u5BB9\u2026","update.changelogEmpty":"\u6CA1\u6709\u6BD4\u5F53\u524D\u7248\u672C\u66F4\u65B0\u7684\u53D1\u5E03\u8BF4\u660E\u3002","update.changelogFailed":"\u65E0\u6CD5\u52A0\u8F7D\u66F4\u65B0\u5185\u5BB9\uFF08\u79BB\u7EBF\u6216\u53D7\u7F51\u7EDC\u9650\u5236\uFF09\u3002","update.changelogRateLimited":"GitHub \u63A5\u53E3\u8BF7\u6C42\u8D85\u9650\uFF08\u672A\u767B\u5F55\u6BCF\u5C0F\u65F6\u6BCF IP 60 \u6B21\uFF0C\u5171\u4EAB\u7F51\u7EDC\u6613\u89E6\u53D1\uFF09\uFF0C\u6682\u65F6\u62FF\u4E0D\u5230\u66F4\u65B0\u5185\u5BB9\u3002","update.changelogViewOnGitHub":"\u524D\u5F80 GitHub Releases \u67E5\u770B","update.navBadgeTitle":"\u6709\u65B0\u7248\u672C {version}","update.confirmMultiInstall":`\u68C0\u6D4B\u5230\u591A\u4E2A botmux \u5B89\u88C5\uFF1A
|
|
6
|
+
{paths}
|
|
7
|
+
|
|
8
|
+
\u53EA\u4F1A\u66F4\u65B0\u5F53\u524D\u8FD0\u884C\u7684\u5B89\u88C5\u4F4D\u7F6E\u3002\u4ECD\u8981\u7EE7\u7EED\uFF1F`,"update.confirmUpdate":"\u5C06\u8FD0\u884C {command}\uFF0C\u66F4\u65B0\u5230 {version}\u3002\u786E\u8BA4\u7EE7\u7EED\uFF1F","update.confirmUpdateNoVer":"\u5C06\u8FD0\u884C {command} \u66F4\u65B0\u5230\u6700\u65B0\u7248\u3002\u786E\u8BA4\u7EE7\u7EED\uFF1F","update.nodeTooOldAlert":"\u5F53\u524D Node \u7248\u672C {version} \u8FC7\u4F4E\uFF08\u8981\u6C42 \u2265 {required}\uFF09\uFF0C\u8BF7\u5148\u5347\u7EA7 Node \u518D\u66F4\u65B0\u3002","update.updating":"\u6B63\u5728\u66F4\u65B0\uFF08{command}\uFF09\uFF0C\u8BF7\u7A0D\u5019\u2026","update.unsupportedInstall":"\u5F53\u524D\u5B89\u88C5\u65B9\u5F0F\u65E0\u6CD5\u5B89\u5168\u81EA\u52A8\u66F4\u65B0\uFF1B\u76EE\u524D\u4EC5\u652F\u6301 npm / pnpm \u5168\u5C40\u5B89\u88C5\u3002\u8BF7\u4F7F\u7528\u539F\u5305\u7BA1\u7406\u5668\u624B\u52A8\u66F4\u65B0\u3002","update.updatedChanged":"\u5DF2\u66F4\u65B0 {old} \u2192 {new}\u3002","update.confirmRestart":"\u9700\u8981\u91CD\u542F botmux \u4EE5\u5E94\u7528\u65B0\u7248\u672C\u3002\u73B0\u5728\u91CD\u542F\uFF1F\uFF08\u6240\u6709\u4F1A\u8BDD\u4F1A\u51B7\u6062\u590D\uFF0C\u4EEA\u8868\u76D8\u4F1A\u77ED\u6682\u65AD\u5F00\u5E76\u81EA\u52A8\u91CD\u8FDE\uFF09","update.alreadyLatestRun":"\u5DF2\u662F\u6700\u65B0\u7248\u672C\uFF08{version}\uFF09\uFF0C\u65E0\u9700\u66F4\u65B0\u3002","update.updateFailed":"\u66F4\u65B0\u5931\u8D25\uFF1A{detail}","update.noRestartHint":"\u66F4\u65B0\u5B8C\u6210\u3002\u7A0D\u540E\u8BF7\u624B\u52A8\u91CD\u542F\uFF08botmux restart\uFF09\u4EE5\u5E94\u7528\u65B0\u7248\u672C\u3002","update.confirmPlainRestart":"\u91CD\u542F botmux\uFF1F\u6240\u6709\u4F1A\u8BDD\u4F1A\u51B7\u6062\u590D\uFF0C\u4EEA\u8868\u76D8\u4F1A\u77ED\u6682\u65AD\u5F00\u5E76\u81EA\u52A8\u91CD\u8FDE\u3002","update.restarting":"\u6B63\u5728\u91CD\u542F botmux\uFF0C\u7B49\u5F85\u91CD\u8FDE\u2026","update.restartSlow":"\u91CD\u542F\u8017\u65F6\u8F83\u957F\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u5237\u65B0\u9875\u9762\u3002","update.restartFailed":"\u91CD\u542F\u5931\u8D25\uFF1A{detail}","skills.title":"Skill \u7BA1\u7406","skills.installed":"\u5DF2\u5B89\u88C5 Skills","skills.installedHelp":"\u672C\u673A registry \u4E2D\u53EF\u4F9B bot \u4F18\u5148\u62AB\u9732\u7684 Skill\u3002","skills.metricInstalled":"\u5DF2\u5B89\u88C5 Skills","skills.metricBots":"\u5DF2\u914D\u7F6E Bot","skills.metricAttached":"\u4F18\u5148\u5F15\u7528","skills.install":"\u5B89\u88C5 Skill","skills.installInfoLabel":"\u5B89\u88C5\u4F4D\u7F6E\u8BF4\u660E","skills.installInfo":"\u6CE8\u518C\u4FE1\u606F\u5199\u5165 ~/.botmux/skills/registry.json\uFF1B\u5B89\u88C5\u5185\u5BB9\u5B58\u653E\u5728 ~/.botmux/skills/store\u3002\u672C\u673A CLI Skill \u4EE5\u539F\u8DEF\u5F84\u5F15\u7528\uFF0C\u4E0D\u5199\u5165 CLI \u5168\u5C40\u76EE\u5F55\u3002","skills.source":"\u5BFC\u5165\u5730\u5740","skills.sourcePlaceholder":"\u7C98\u8D34 GitHub \u4ED3\u5E93 / Git URL / agentbuddy \u5B89\u88C5\u547D\u4EE4 / \u672C\u673A Skill \u76EE\u5F55","skills.sourceHelpRemoteLabel":"GitHub / Git: ","skills.sourceHelpRemote":"\u53EF\u7C98\u8D34\u4ED3\u5E93\u6839\u5730\u5740\uFF1B\u591A Skill \u4ED3\u5E93\u70B9\u51FB\u5B89\u88C5\u540E\u9009\u62E9\u3002","skills.sourceHelpLocalLabel":"\u672C\u673A CLI Skill \u76EE\u5F55: ","skills.sourceHelpLocal":"\u76F4\u63A5\u5F15\u7528\u539F\u5730\u5740\uFF0C\u4E0D\u590D\u5236\u5230 botmux store\u3002","skills.sourceHelpAgentbuddyLabel":"AgentBuddy: ","skills.sourceHelpAgentbuddy":"\u76F4\u63A5\u7C98\u8D34 agentbuddy \u5B89\u88C5\u547D\u4EE4\uFF0C\u4F8B\u5982 agentbuddy skill collection add <uid> / agentbuddy plugin collection add <uid>\uFF1B\u5F00\u6E90 skills \u7528 skills add owner/repo \u4E5F\u8BA4\uFF08\u8D70 GitHub \u5B89\u88C5\uFF09\u3002agentbuddy \u547D\u4EE4\u9700\u90E8\u7F72\u673A\u5DF2 agentbuddy login\u3002","skills.agentbuddyNotFound":"\u90E8\u7F72\u673A\u672A\u627E\u5230 agentbuddy CLI\u3002\u8BF7\u5728\u90E8\u7F72\u673A\u5168\u5C40\u5B89\u88C5\uFF0C\u6216\u8BBE\u7F6E BOTMUX_AGENTBUDDY_CMD\u3002","skills.agentbuddyNeedsLogin":"\u90E8\u7F72\u673A agentbuddy \u672A\u767B\u5F55\u3002\u8BF7\u5728\u90E8\u7F72\u673A\u8FD0\u884C agentbuddy login \u540E\u91CD\u8BD5\u3002","skills.agentbuddyCommandFailed":"agentbuddy \u5B89\u88C5\u5931\u8D25\uFF0C\u8BF7\u67E5\u770B\u90E8\u7F72\u673A\u65E5\u5FD7\u3002","skills.agentbuddyTelemetryFailed":"\u5185\u5D4C telemetry \u6E05\u7406\u5931\u8D25\uFF0C\u5DF2\u4E2D\u65AD\u5B89\u88C5\uFF08\u5982\u9700\u4FDD\u7559\u53EF\u8BBE BOTMUX_AGENTBUDDY_KEEP_TELEMETRY=1\uFF09\u3002","skills.agentbuddyNoSkill":"agentbuddy \u672A\u4EA7\u51FA\u4EFB\u4F55 Skill\uFF0C\u8BF7\u68C0\u67E5 identifier \u662F\u5426\u6B63\u786E\u3002","skills.agentbuddyInvalid":"agentbuddy identifier \u683C\u5F0F\u4E0D\u5408\u6CD5\u3002","skills.discover":"\u53D1\u73B0 Skill","skills.localDiscover":"\u6D4F\u89C8\u672C\u673A Skill","skills.localDiscoverTitle":"\u672C\u673A CLI Skill","skills.localDiscoverHelp":"\u626B\u63CF\u672C\u673A CLI \u5DF2\u5B89\u88C5\u7684 Skill\uFF0C\u5E76\u6CE8\u518C\u4E3A\u672C\u5730\u5F15\u7528\u3002","skills.scan":"\u626B\u63CF","skills.scanning":"\u6B63\u5728\u626B\u63CF","skills.scanFound":"\u53D1\u73B0 {count} \u4E2A Skill","skills.scanEmpty":"\u6CA1\u6709\u53D1\u73B0\u53EF\u5B89\u88C5\u7684 Skill\u3002","skills.sourceRequired":"\u8BF7\u5148\u586B\u5199\u5BFC\u5165\u5730\u5740\u3002","skills.advanced":"\u9AD8\u7EA7\u9009\u9879","skills.discoverTitle":"\u53D1\u73B0\u672C\u673A CLI Skill","skills.discoverHelp":"\u626B\u63CF\u5DF2\u914D\u7F6E bot \u7684 CLI Skill \u76EE\u5F55\uFF1B\u9009\u4E2D\u540E\u6CE8\u518C\u4E3A\u672C\u5730\u5F15\u7528\uFF0C\u4E0D\u590D\u5236\u6587\u4EF6\u3002","skills.discoverEmpty":"\u6CA1\u6709\u5728\u672C\u673A CLI skill \u76EE\u5F55\u4E2D\u53D1\u73B0\u53EF\u6CE8\u518C\u7684 Skill\u3002","skills.discoverGroupEmpty":"\u8FD9\u4E2A CLI \u76EE\u5F55\u4E0B\u6CA1\u6709\u53EF\u6CE8\u518C\u7684 Skill\u3002","skills.discoverRegistered":"\u5DF2\u6CE8\u518C","skills.discoverSelectAll":"\u5168\u9009\u672A\u6CE8\u518C","skills.discoverClearSelection":"\u53D6\u6D88\u5168\u9009","skills.discoverRegister":"\u6CE8\u518C\u9009\u4E2D","skills.discoverClose":"\u5173\u95ED","skills.discoverNothingSelected":"\u8BF7\u9009\u62E9\u81F3\u5C11\u4E00\u4E2A\u672A\u6CE8\u518C\u7684 Skill\u3002","skills.discoverRegisteringBatch":"\u6B63\u5728\u6279\u91CF\u6CE8\u518C {total} \u4E2A Skill","skills.sourceCodex":"\u672C\u673A Codex","skills.sourceClaude":"\u672C\u673A Claude","skills.sourceTrae":"\u672C\u673A Trae","skills.sourceCursor":"\u672C\u673A Cursor","skills.sourceGemini":"\u672C\u673A Gemini","skills.sourceOpenCode":"\u672C\u673A OpenCode","skills.sourceLocalLink":"\u672C\u673A\u5F15\u7528","skills.sourceBotmuxCopy":"botmux store","skills.path":"\u4ED3\u5E93\u5185\u8DEF\u5F84\uFF08\u53EF\u9009\uFF09","skills.pathPlaceholder":"\u7559\u7A7A\u5219\u626B\u63CF\u4ED3\u5E93\u6839\u76EE\u5F55\uFF1B\u4E5F\u53EF\u586B\u5199\u5355\u4E2A Skill \u76EE\u5F55","skills.ref":"Ref\uFF08\u53EF\u9009\uFF09","skills.refPlaceholder":"\u7559\u7A7A\u5219\u4F7F\u7528 GitHub URL \u4E2D\u7684\u5206\u652F\u6216\u9ED8\u8BA4 HEAD","skills.link":"\u672C\u5730\u94FE\u63A5\uFF08\u4E0D\u590D\u5236\uFF09","skills.installSubmit":"\u5B89\u88C5","skills.installSelected":"\u5B89\u88C5\u9009\u4E2D","skills.installSelectionTitle":"\u9009\u62E9\u8981\u5B89\u88C5\u7684 Skill","skills.installSelectionHelp":"\u53D1\u73B0 {count} \u4E2A Skill\uFF1B\u53D6\u6D88\u4E0D\u9700\u8981\u7684\u9879\u540E\u518D\u5B89\u88C5\u3002","skills.installSelectionCancel":"\u53D6\u6D88","skills.update":"\u66F4\u65B0","skills.remove":"\u5220\u9664","skills.pageStatus":"{page} / {pages}","skills.prevPage":"\u4E0A\u4E00\u9875","skills.nextPage":"\u4E0B\u4E00\u9875","skills.empty":"\u6682\u65E0\u5DF2\u5B89\u88C5 skill\u3002\u53EF\u4EE5\u4ECE\u672C\u673A\u76EE\u5F55\u3001Git \u6216 GitHub \u5B89\u88C5\u3002","skills.apiUnavailable":"\u5F53\u524D Dashboard \u540E\u7AEF\u4E0D\u652F\u6301 Skill API\uFF0C\u901A\u5E38\u662F\u524D\u7AEF\u5DF2\u66F4\u65B0\u4F46 botmux \u8FDB\u7A0B\u672A\u91CD\u542F\u3002\u8BF7\u91CD\u542F botmux \u540E\u5237\u65B0\u9875\u9762\u3002","skills.globalDefaults":"\u5168\u5C40 Skill \u6CE8\u5165\u914D\u7F6E","skills.globalProject":"\u5DE5\u4F5C\u533A Skill","skills.globalProjectOff":"\u5FFD\u7565\u5DE5\u4F5C\u533A Skill","skills.globalProjectOffHelp":"\u4EC5\u8BFB\u53D6\u5168\u5C40 CLI Skill \u548C botmux Skill","skills.globalProjectAll":"\u8BFB\u53D6\u5DE5\u4F5C\u533A Skill","skills.globalProjectAllHelp":`\u8BFB\u53D6 .agents/skills \u4E0E
|
|
9
|
+
.botmux/skills`,"skills.globalDelivery":"Skill \u6CE8\u5165\u65B9\u5F0F","skills.bots":"Bot Skill \u914D\u7F6E","skills.botsHelp":"\u4E3A\u6BCF\u4E2A bot \u8BBE\u7F6E\u4F18\u5148\u62AB\u9732\u7684 Skill\u3002","skills.botCount":"{count} \u4E2A Bot","skills.skillCount":"{count} \u4E2A Skill","skills.attach":"\u52A0\u5165\u4F18\u5148\u62AB\u9732","skills.detach":"\u79FB\u9664","skills.detachNamed":"\u79FB\u9664 {skill}","skills.delivery":"\u6CE8\u5165\u65B9\u5F0F","skills.deliveryAuto":"\u81EA\u52A8","skills.deliveryAutoHelp":"\u4F18\u5148\u7528 CLI \u539F\u751F\u901A\u9053\uFF1B\u4E0D\u652F\u6301\u65F6\u81EA\u52A8\u6539\u7528\u63D0\u793A\u8BCD\u6CE8\u5165","skills.deliveryPrompt":"\u63D0\u793A\u8BCD","skills.deliveryPromptHelp":"\u628A Skill \u6E05\u5355\u5199\u5165\u4F1A\u8BDD\u63D0\u793A\u8BCD\uFF0C\u517C\u5BB9\u6240\u6709 CLI","skills.deliveryNative":"\u539F\u751F","skills.deliveryNativeHelp":"\u53EA\u4EA4\u7ED9 CLI \u81EA\u5DF1\u7684 Skill \u673A\u5236\uFF0C\u4E0D\u505A\u63D0\u793A\u8BCD\u515C\u5E95","skills.projectMode":"\u5DE5\u4F5C\u533A Skills","skills.projectDefault":"\u8DDF\u968F\u5168\u5C40","skills.projectDefaultHelp":"\u4F7F\u7528\u5DE6\u4FA7\u9879\u76EE Skill \u9ED8\u8BA4\u503C","skills.projectOff":"\u4E0D\u8BFB\u53D6","skills.projectOffHelp":"\u8FD9\u4E2A bot \u4E0D\u8BFB\u53D6\u5DE5\u4F5C\u533A skill","skills.projectAll":"\u8BFB\u53D6","skills.projectAllHelp":"\u8FD9\u4E2A bot \u52A0\u5165\u5DE5\u4F5C\u533A skill \u5019\u9009","skills.priority":"\u4F18\u5148 skills","skills.noPriority":"\u672A\u914D\u7F6E\uFF0C\u4FDD\u6301 CLI \u9ED8\u8BA4\u884C\u4E3A","skills.pickerPlaceholder":"\u9009\u62E9\u4F18\u5148 Skill","skills.pickerSelectedCount":"\u5DF2\u9009\u62E9 {count} \u4E2A Skill","skills.pickerTriggerHint":"\u70B9\u51FB\u641C\u7D22\u6216\u8C03\u6574\u591A\u9009","skills.pickerSearchPlaceholder":"\u641C\u7D22 Skill \u540D\u79F0\u6216\u63CF\u8FF0","skills.pickerSelectionMeta":"\u5DF2\u9009 {selected} / \u5171 {total}","skills.pickerClear":"\u6E05\u7A7A","skills.pickerNoResults":"\u6CA1\u6709\u5339\u914D\u7684 Skill","skills.saveSelection":"\u4FDD\u5B58\u9009\u62E9","skills.cancel":"\u53D6\u6D88","skills.saving":"\u4FDD\u5B58\u4E2D\u2026","skills.policySaved":"\u4F18\u5148 Skill \u5DF2\u4FDD\u5B58","skills.dangling":"\u672A\u5B89\u88C5","skills.removeInUse":'Skill "{skill}" \u4ECD\u88AB\u4EE5\u4E0B\u914D\u7F6E\u5F15\u7528\uFF1A{refs}\u3002\u5220\u9664\u53EA\u4F1A\u79FB\u9664 registry \u6587\u4EF6\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u6E05\u7406\u5F15\u7528\u3002\u7EE7\u7EED\u5220\u9664\uFF1F',"skills.saved":"\u5DF2\u4FDD\u5B58","skills.failed":"\u5931\u8D25","skills.jobRunning":"\u5904\u7406\u4E2D...","skills.refresh":"\u5237\u65B0","botDefaults.title":"Bot \u914D\u7F6E","botDefaults.metaOnline":"\u5728\u7EBF \xB7 daemon \u6B63\u5E38","botDefaults.search":"\u641C\u7D22 bot \u540D / app id","botDefaults.refresh":"\u5237\u65B0","botDefaults.sectionOncall":"\u65B0\u7FA4 Oncall","botDefaults.sectionBrand":"\u5361\u7247\u7B7E\u540D","botDefaults.renameTitle":"\u4FEE\u6539\u673A\u5668\u4EBA\u540D\u79F0","botDefaults.renameAction":"\u4FEE\u6539\u540D\u79F0","botDefaults.renameSave":"\u4FDD\u5B58","botDefaults.renameCancel":"\u53D6\u6D88","botDefaults.renameEmpty":"\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A","botDefaults.renaming":"\u6B63\u5728\u540C\u6B65\u5230\u98DE\u4E66\u5F00\u653E\u5E73\u53F0\uFF08\u6539\u540D\u5E76\u53D1\u5E03\u65B0\u7248\u672C\uFF0C\u7EA6 10 \u79D2\uFF09\u2026","botDefaults.renameOkFeishu":"\u5DF2\u4FEE\u6539\u98DE\u4E66\u5E94\u7528\u540D\uFF0C\u7FA4\u5185\u540D\u79F0\u5DF2\u751F\u6548","botDefaults.renameLocalOnly":"\u98DE\u4E66\u4FA7\u6539\u540D\u5931\u8D25\uFF08{reason}\uFF09\uFF0C\u5DF2\u4EC5\u66F4\u65B0 dashboard \u5C55\u793A\u540D","botDefaults.renameWarn.no_session":"\u670D\u52A1\u5668\u7F3A\u5C11\u98DE\u4E66 Web \u767B\u5F55\u6001\uFF0C\u8BF7\u5728\u670D\u52A1\u5668\u8FD0\u884C botmux setup \u91CD\u65B0\u626B\u7801","botDefaults.renameWarn.session_expired":"\u98DE\u4E66 Web \u767B\u5F55\u6001\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u5728\u670D\u52A1\u5668\u8FD0\u884C botmux setup \u91CD\u65B0\u626B\u7801","botDefaults.renameWarn.no_access":"\u5F53\u524D\u7F13\u5B58\u7684\u98DE\u4E66\u8D26\u53F7\u4E0D\u662F\u8BE5\u5E94\u7528\u7684\u534F\u4F5C\u8005","botDefaults.renameWarn.unsupported_brand":"\u56FD\u9645\u7248 Lark \u79DF\u6237\u6682\u4E0D\u652F\u6301\u81EA\u52A8\u6539\u540D","botDefaults.renameFailed":"\u6539\u540D\u5931\u8D25\uFF1A{error}","feishuLogin.entry":"\u626B\u7801\u767B\u5F55\u98DE\u4E66","feishuLogin.title":"\u626B\u7801\u5237\u65B0\u98DE\u4E66\u767B\u5F55\u6001","feishuLogin.starting":"\u6B63\u5728\u83B7\u53D6\u4E8C\u7EF4\u7801\u2026","feishuLogin.scanHint":"\u7528\u98DE\u4E66 App \u626B\u7801\u5E76\u786E\u8BA4\u767B\u5F55\uFF0C\u5373\u53EF\u6388\u6743\u6539\u540D\uFF08\u767B\u5F55\u6001\u4EC5\u5B58\u672C\u673A\uFF0C\u4E0E setup \u590D\u7528\uFF09","feishuLogin.success":"\u2713 \u767B\u5F55\u6210\u529F\uFF0C\u6B63\u5728\u4E3A\u4F60\u91CD\u8BD5\u6539\u540D\u2026","feishuLogin.failed":"\u767B\u5F55\u5931\u8D25\uFF1A{reason}","feishuLogin.retry":"\u91CD\u65B0\u83B7\u53D6\u4E8C\u7EF4\u7801","feishuLogin.close":"\u5173\u95ED","feishuLogin.qrAlt":"\u98DE\u4E66\u767B\u5F55\u4E8C\u7EF4\u7801","botDefaults.sectionAgent":"CLI / \u6A21\u578B","botDefaults.agentCli":"CLI","botDefaults.agentModel":"\u6A21\u578B","botDefaults.agentModelPlaceholder":"\u7559\u7A7A\u4F7F\u7528\u8BE5 CLI \u9ED8\u8BA4\u6A21\u578B","botDefaults.agentHelp":"\u53EA\u5F71\u54CD\u65B0\u4F1A\u8BDD\uFF1B\u5DF2\u6709\u4F1A\u8BDD\u7EE7\u7EED\u4F7F\u7528\u521B\u5EFA\u65F6\u7684 CLI / \u6A21\u578B\uFF0C\u9700\u5173\u95ED\u540E\u91CD\u5F00\u624D\u4F1A\u5207\u6362\u3002","botDefaults.agentSave":"\u4FDD\u5B58 CLI / \u6A21\u578B","botDefaults.skillInjection":"botmux skills \u6CE8\u5165\u65B9\u5F0F","botDefaults.skillInjectionDynamic":"\u52A8\u6001\u6CE8\u5165\uFF08--plugin-dir\uFF0C\u9010\u4F1A\u8BDD\uFF09","botDefaults.skillInjectionDynamicUnsupported":"\u52A8\u6001\u6CE8\u5165\uFF08\u8BE5 CLI \u4E0D\u652F\u6301\uFF09","botDefaults.skillInjectionPrompt":"prompt \u2014 \u6CE8\u5165\u4F1A\u8BDD prompt\uFF0C\u4E0D\u843D\u5168\u5C40\u76D8","botDefaults.skillInjectionGlobal":"global \u2014 \u88C5\u8FDB CLI \u5168\u5C40 skills \u76EE\u5F55","botDefaults.skillInjectionOff":"off \u2014 \u53EA\u7ED9 botmux --help \u5F15\u5BFC","botDefaults.skillInjectionHelpDynamic":"\u8BE5 CLI \u652F\u6301 --plugin-dir \u52A8\u6001\u6CE8\u5165\u3002skills \u4EC5\u5F53\u524D\u4F1A\u8BDD\u53EF\u89C1\uFF0C\u4E0D\u5199\u5165\u5168\u5C40\u76EE\u5F55\uFF0C\u65E0\u9700\u989D\u5916\u914D\u7F6E\u3002","botDefaults.skillInjectionHelp":"\u9009\u62E9 botmux skills \u7684\u6CE8\u5165\u65B9\u5F0F\uFF1Aprompt \u4E3A\u9ED8\u8BA4\u65B9\u5F0F\uFF0C\u4F1A\u5728\u4F1A\u8BDD\u5F00\u59CB\u65F6\u5199\u5165\u63D0\u793A\u8BCD\u4E14\u4E0D\u6539\u5168\u5C40\u76EE\u5F55\uFF1Bglobal \u5B89\u88C5\u5230 CLI \u5168\u5C40 skills \u76EE\u5F55\uFF1Boff \u4EC5\u4FDD\u7559 botmux --help \u5F15\u5BFC\u3002\u6539\u52A8\u4E0B\u4E2A\u65B0\u4F1A\u8BDD\u751F\u6548\uFF0C\u5207\u6362 global \u9700\u91CD\u542F daemon\u3002","botDefaults.agentSaved":"\u5DF2\u4FDD\u5B58\uFF08\u4E0B\u4E2A\u65B0\u4F1A\u8BDD\u751F\u6548\uFF09","botDefaults.warning":"\u5F00\u542F\u540E\uFF0C\u6CA1\u6709 oncall binding \u7684\u7FA4\u4F1A\u5728\u4E0B\u6B21\u5F00\u65B0\u8BDD\u9898\u65F6\u81EA\u52A8\u7ED1\u5B9A\u5230\u8BE5\u76EE\u5F55\uFF1B\u624B\u52A8\u7ED1\u5B9A\u6216\u624B\u52A8\u89E3\u7ED1\u8FC7\u7684\u7FA4\u4E0D\u4F1A\u88AB\u8986\u76D6\u3002","botDefaults.empty":"\u6CA1\u6709\u5728\u7EBF bot\u3002\u5148 botmux restart \u8BA9 daemon \u4E0A\u7EBF\u3002","botDefaults.defaultOncall":"\u9ED8\u8BA4\u8FDB\u5165 oncall \u6A21\u5F0F","botDefaults.defaultOncallHelp":"\u6240\u6709\u672A\u7ED1\u5B9A\u7684\u7FA4\u4E0B\u6B21\u5F00\u8BDD\u9898\u81EA\u52A8\u7ED1\u5B9A","botDefaults.workingDir":"\u9ED8\u8BA4\u5DE5\u4F5C\u76EE\u5F55","botDefaults.lastEnabled":"\u4E0A\u6B21\u542F\u7528\u65F6\u95F4","botDefaults.autobound":"\u5DF2\u81EA\u52A8\u7ED1\u5B9A {count} \u4E2A\u7FA4","botDefaults.save":"\u4FDD\u5B58","botDefaults.required":"\u9009\u62E9\u300C\u4EC5\u9ED8\u8BA4\u76EE\u5F55\u300D\u6216\u300COncall \u6A21\u5F0F\u300D\u65F6\u5FC5\u987B\u586B\u5DE5\u4F5C\u76EE\u5F55","botDefaults.sectionWorkingDir":"\u9ED8\u8BA4\u5DE5\u4F5C\u76EE\u5F55","botDefaults.workingDirMode":"\u6A21\u5F0F","botDefaults.workingDirField":"\u76EE\u5F55","botDefaults.workingDirModeOff":"\u5173\u95ED\uFF08\u65B0\u4F1A\u8BDD\u5F39\u300C\u9009\u4ED3\u5E93\u300D\u5361\uFF09","botDefaults.workingDirModeDefault":"\u4EC5\u9ED8\u8BA4\u76EE\u5F55\uFF08\u4E0D\u6539\u6743\u9650\uFF09","botDefaults.workingDirModeOncall":"Oncall \u6A21\u5F0F\uFF08\u7FA4\u5185\u5F00\u653E\u5BF9\u8BDD\uFF09","botDefaults.workingDirModeHelp":"\u8BBE\u7F6E\u65B0\u4F1A\u8BDD\u542F\u52A8\u76EE\u5F55\uFF1A\u5173\u95ED=\u8D70\u4ED3\u5E93\u9009\u62E9\uFF1B\u4EC5\u9ED8\u8BA4\u76EE\u5F55=\u76F4\u63A5\u8FDB\u5165\u8BE5\u76EE\u5F55\u4E14\u4E0D\u6539\u53D8\u6743\u9650\uFF1BOncall=\u9ED8\u8BA4\u76EE\u5F55 + \u65B0\u666E\u901A\u7FA4\u81EA\u52A8\u5F00\u653E\u5BF9\u8BDD\u3002\u6539\u52A8\u4E0B\u4E2A\u65B0\u4F1A\u8BDD\u751F\u6548\u3002","botDefaults.autoWorktree":"\u6BCF\u4E2A\u65B0\u4F1A\u8BDD\u81EA\u52A8\u521B\u5EFA worktree","botDefaults.autoWorktreeHelp":"\u4EC5\u7528\u4E8E\u300C\u4EC5\u9ED8\u8BA4\u76EE\u5F55\u300D\u3002\u65B0\u4F1A\u8BDD\u4F1A\u5728\u9ED8\u8BA4 git \u4ED3\u5E93\u4E2D\u521B\u5EFA\u72EC\u7ACB worktree\uFF0C\u907F\u514D\u5E76\u53D1\u4F1A\u8BDD\u4E92\u76F8\u5F71\u54CD\uFF1B\u5931\u8D25\u65F6\u56DE\u9000\u5230\u9ED8\u8BA4\u76EE\u5F55\u3002/close \u4E0D\u4F1A\u81EA\u52A8\u5220\u9664 worktree\u3002","botDefaults.workingDirSaved":"\u5DF2\u4FDD\u5B58\uFF08\u4E0B\u4E2A\u65B0\u4F1A\u8BDD\u751F\u6548\uFF09","botDefaults.brandLabel":"\u4E2A\u6027\u7B7E\u540D\uFF08\u5361\u7247\u9875\u811A\uFF09","botDefaults.brandLabelHelp":"\u8BBE\u7F6E\u8BE5 bot \u5361\u7247\u9875\u811A\u7B7E\u540D\u3002\u7559\u7A7A=\u4E0D\u663E\u793A\uFF1B\u586B\u5199=\u81EA\u5B9A\u4E49 Markdown\uFF1B\u6062\u590D\u9ED8\u8BA4=\u663E\u793A botmux\u3002","botDefaults.brandLabelPlaceholder":"\u9ED8\u8BA4\uFF1Abotmux\uFF08\u7559\u7A7A\u5219\u4E0D\u663E\u793A\uFF09","botDefaults.sectionSandbox":"\u6587\u4EF6\u6C99\u76D2\uFF08oncall\uFF09","botDefaults.sandboxToggle":"\u5F00\u542F\u6587\u4EF6\u6C99\u76D2","botDefaults.sandboxHelp":"\u4E3A\u8BE5 bot \u7684\u65B0\u4F1A\u8BDD\u542F\u7528\u9694\u79BB\u9879\u76EE\u526F\u672C\uFF0C\u907F\u514D\u76F4\u63A5\u8BBF\u95EE\u771F\u5B9E\u6587\u4EF6\u3001\u5BC6\u94A5\u548C\u5176\u4ED6\u4F1A\u8BDD\u3002\u4EC5 Linux \u751F\u6548\uFF0C\u9002\u5408 oncall \u573A\u666F\u3002","botDefaults.sandboxSaved":"\u5DF2\u4FDD\u5B58\uFF08\u4E0B\u4E2A\u65B0\u4F1A\u8BDD\u751F\u6548\uFF09","botDefaults.brandSave":"\u4FDD\u5B58\u7B7E\u540D","botDefaults.brandReset":"\u6062\u590D\u9ED8\u8BA4","botDefaults.brandStateDefault":"\u5F53\u524D\uFF1A\u9ED8\u8BA4 botmux","botDefaults.brandStateOff":"\u5F53\u524D\uFF1A\u5DF2\u5173\u95ED","botDefaults.brandStateCustom":"\u5F53\u524D\uFF1A\u81EA\u5B9A\u4E49","botDefaults.sectionCard":"\u5361\u7247\u884C\u4E3A","botDefaults.disableStreaming":"\u5173\u95ED\u98DE\u4E66\u6D41\u5F0F\u5361\u7247","botDefaults.disableStreamingHelp":"\u5173\u95ED\u5B9E\u65F6\u4F1A\u8BDD\u72B6\u6001\u5361\u548C Web Terminal \u5165\u53E3\uFF1B\u6700\u7EC8\u7ED3\u679C\u4ECD\u4F1A\u4EE5\u6D88\u606F\u53D1\u9001\u3002","botDefaults.silentTurnReactions":"\u5173\u95ED\u65E0\u5361\u7247\u6A21\u5F0F\u4E0B\u7684\u72B6\u6001 reaction","botDefaults.silentTurnReactionsHelp":"\u5173\u95ED\u6D41\u5F0F\u5361\u7247\u540E\uFF0C\u9ED8\u8BA4\u7528 reaction \u6807\u8BB0\u6536\u5230/\u5B8C\u6210\u3002\u5F00\u542F\u540E\u4E0D\u518D\u6DFB\u52A0\u8FD9\u4E9B\u72B6\u6001 reaction\u3002","botDefaults.writableLink":"\u5361\u7247\u4E0A\u76F4\u63A5\u7ED9\u53EF\u64CD\u4F5C\uFF08\u53EF\u5199\uFF09\u7EC8\u7AEF\u94FE\u63A5","botDefaults.writableLinkHelp":"\u5728\u6D41\u5F0F\u5361\u7247\u6B63\u6587\u4E2D\u663E\u793A\u53EF\u5199\u7EC8\u7AEF\u94FE\u63A5\u3002\u7FA4\u5185\u6210\u5458\u53EF\u76F4\u63A5\u64CD\u4F5C\u7EC8\u7AEF\uFF0C\u8BF7\u4EC5\u5728\u53EF\u4FE1\u7FA4\u4F7F\u7528\u3002","botDefaults.writableLinkMoot":"\u5DF2\u5173\u95ED\u6D41\u5F0F\u5361\u7247","botDefaults.privateCard":"/card \u53D1\u79C1\u5BC6\u5361\u7247\uFF08\u4EC5\u6388\u6743\u4EBA\u53EF\u89C1\uFF09","botDefaults.privateCardHelp":"/card \u53EA\u53D1\u9001\u7ED9 owner/allowedUsers\u3002\u5361\u7247\u4E3A\u9759\u6001\u5FEB\u7167\uFF0C\u4EC5\u666E\u901A\u7FA4\u53EF\u7528\uFF1B\u4E0D\u5F71\u54CD\u81EA\u52A8\u6D41\u5F0F\u5361\u7247\u3002","botDefaults.sectionCrossBot":"\u8DE8 bot \u534F\u4F5C","botDefaults.botToBotSameDir":"bot@bot \u540C\u76EE\u5F55\u62C9\u8D77","botDefaults.botToBotSameDirHelp":"\u9ED8\u8BA4\u5F00\u542F\u3002\u5F53\u8BE5 bot \u88AB @ \u5230\u5DF2\u6709\u5176\u4ED6 bot \u5DE5\u4F5C\u7684\u7FA4/\u8BDD\u9898\u65F6\uFF0C\u590D\u7528\u5BF9\u65B9\u5DE5\u4F5C\u76EE\u5F55\u5E76\u8DF3\u8FC7\u4ED3\u5E93\u9009\u62E9\u3002\u5173\u95ED\u540E\u59CB\u7EC8\u4F7F\u7528\u672C bot \u81EA\u5DF1\u7684\u76EE\u5F55\u89C4\u5219\u3002","botDefaults.cardPrefSaved":"\u5DF2\u4FDD\u5B58","botDefaults.sectionSummaryTrigger":"/summary \u603B\u7ED3\u8303\u56F4","botDefaults.summaryLimit":"\u6700\u8FD1\u6D88\u606F\u6761\u6570","botDefaults.summarySinceHours":"\u6700\u8FD1\u5C0F\u65F6\u6570","botDefaults.summaryLimitHelp":"/summary \u8BFB\u53D6\u7684\u5386\u53F2\u8303\u56F4\u3002\u9ED8\u8BA4\u6700\u8FD1 50 \u6761\u6216 24 \u5C0F\u65F6\uFF1B\u4EFB\u4E00\u9879\u586B 0 \u8868\u793A\u4E0D\u9650\u5236\u3002\u8BDD\u9898\u7FA4\u59CB\u7EC8\u53EA\u8BFB\u5F53\u524D\u8BDD\u9898\u3002","botDefaults.summarySave":"\u4FDD\u5B58\u603B\u7ED3\u8303\u56F4","botDefaults.summaryNumberInvalid":"\u65F6\u957F\u548C\u6761\u6570\u5FC5\u987B\u662F 0 \u6216\u6B63\u6574\u6570","botDefaults.sectionRole":"\u9ED8\u8BA4\u89D2\u8272","botDefaults.roleHelp":"\u8BE5 bot \u7684\u9ED8\u8BA4\u89D2\u8272\uFF0C\u4F1A\u6CE8\u5165\u5230\u6240\u6709\u4F1A\u8BDD\uFF1B\u5355\u4E2A\u7FA4\u53EF\u5728\u300C\u89D2\u8272\u7BA1\u7406\u300D\u8986\u76D6\u3002\u7559\u7A7A\u4FDD\u5B58\u5373\u5220\u9664\u3002","botDefaults.rolePlaceholder":"\u4F8B\u5982\uFF1A\u4F60\u662F\u540E\u7AEF\u6392\u969C\u52A9\u624B\uFF0C\u56DE\u7B54\u7B80\u6D01\u3001\u4F18\u5148\u7ED9\u53EF\u6267\u884C\u547D\u4EE4\u2026","botDefaults.roleSave":"\u4FDD\u5B58\u89D2\u8272","botDefaults.roleSaved":"\u5DF2\u4FDD\u5B58","botDefaults.roleDeleted":"\u5DF2\u5220\u9664","botDefaults.roleLoadErr":"\u89D2\u8272\u52A0\u8F7D\u5931\u8D25","botDefaults.profileRoles":"Profile \u89D2\u8272","botDefaults.profileRolesHelp":"\u5C55\u793A\u8BE5 bot \u5728\u5404 Profile \u4E2D\u7684\u89D2\u8272\u6761\u76EE\uFF1B\u5C55\u5F00\u540E\u52A0\u8F7D\u8BE6\u60C5\u3002","botDefaults.profileRolesEmpty":"\u8FD9\u4E2A bot \u6682\u65E0 Profile \u89D2\u8272\u3002","botDefaults.profileRolesLoadFailed":"Profile \u89D2\u8272\u52A0\u8F7D\u5931\u8D25\uFF1A{error}","botDefaults.profileRoleClickToLoad":"\u5C55\u5F00\u540E\u52A0\u8F7D\u89D2\u8272\u8BE6\u60C5\u3002","botDefaults.profileRoleDetailLoadFailed":"\u89D2\u8272\u8BE6\u60C5\u52A0\u8F7D\u5931\u8D25\uFF1A{error}","botDefaults.sectionAutoStart":"\u4E3B\u52A8\u5F00\u5DE5","botDefaults.autoStartJoin":"\u88AB\u62C9\u8FDB\u65B0\u7FA4\u81EA\u52A8\u5F00\u5DE5","botDefaults.autoStartJoinHelp":"\u673A\u5668\u4EBA\u88AB\u52A0\u5165\u65B0\u7FA4\u4E14\u7FA4\u5185\u6709\u6388\u6743\u7528\u6237\u65F6\uFF0C\u81EA\u52A8\u542F\u52A8\u4F1A\u8BDD\uFF0C\u65E0\u9700 @\u3002\u4F7F\u7528\u9ED8\u8BA4\u5DE5\u4F5C\u76EE\u5F55\uFF1B\u672A\u914D\u7F6E\u65F6\u5148\u5F39\u4ED3\u5E93\u9009\u62E9\u3002\u9700\u8981\u8BA2\u9605\u673A\u5668\u4EBA\u8FDB\u7FA4\u4E8B\u4EF6\u5E76\u5177\u5907\u7FA4\u6210\u5458\u8BFB\u53D6\u6743\u9650\u3002","botDefaults.autoStartJoinPrompt":"\u5165\u7FA4\u9996\u8F6E prompt\uFF08\u53EF\u9009\uFF09","botDefaults.autoStartJoinPromptPlaceholder":"\u586B\u4E86\uFF1D\u4F5C\u4E3A\u5165\u7FA4\u540E\u7684\u7B2C\u4E00\u6761\u4EFB\u52A1\uFF1B\u7559\u7A7A\uFF1D\u673A\u5668\u4EBA\u81EA\u5DF1\u770B\u7FA4\u91CC\u4FE1\u606F\u51B3\u5B9A\u505A\u4EC0\u4E48","botDefaults.autoStartJoinPromptSave":"\u4FDD\u5B58 prompt","botDefaults.autoStartTopic":"\u8BDD\u9898\u7FA4\u65B0\u8BDD\u9898\u81EA\u52A8\u5F00\u5DE5","botDefaults.autoStartTopicHelp":"\u8BDD\u9898\u7FA4\u4E2D\u65B0\u5EFA\u8BDD\u9898\u65F6\uFF0C\u81EA\u52A8\u63A5\u5165\u5E76\u5904\u7406\u9996\u6761\u6D88\u606F\uFF0C\u65E0\u9700 @\u3002\u4EC5\u5F71\u54CD\u8BDD\u9898\u7FA4\u3002","botDefaults.sectionSessionMode":"\u4F1A\u8BDD\u6A21\u5F0F","botDefaults.p2pMode":"\u79C1\u804A\u4F1A\u8BDD\u6A21\u5F0F","botDefaults.p2pThread":"thread\uFF08\u6BCF\u6761 DM \u72EC\u7ACB\u4F1A\u8BDD\uFF09","botDefaults.p2pChat":"chat\uFF08\u6241\u5E73\u8FDE\u7EED\u5355\u804A\u4F1A\u8BDD\uFF09","botDefaults.p2pHelp":"\u79C1\u804A\u4F1A\u8BDD\u65B9\u5F0F\uFF1Athread=\u6BCF\u6761\u9876\u5C42\u6D88\u606F\u72EC\u7ACB\u4F1A\u8BDD\uFF1Bchat=\u6574\u6BB5\u79C1\u804A\u5171\u4EAB\u4E00\u4E2A\u8FDE\u7EED\u4F1A\u8BDD\u3002\u6539\u52A8\u7ACB\u5373\u751F\u6548\u3002","botDefaults.regularGroupMode":"\u666E\u901A\u7FA4\u4F1A\u8BDD\u6A21\u5F0F","botDefaults.regularGroupModeChat":"chat\uFF08\u6241\u5E73\u8FDE\u7EED\u5355\u804A\u4F1A\u8BDD\uFF0C\u9ED8\u8BA4\uFF09","botDefaults.regularGroupModeChatTopic":"chat-topic\uFF08\u9876\u5C42\u5E73\u94FA\u8FDE\u7EED\u4F1A\u8BDD\uFF0C\u539F\u751F\u8BDD\u9898\u5404\u81EA\u72EC\u7ACB\u4F1A\u8BDD\uFF09","botDefaults.regularGroupModeNewTopic":"new-topic\uFF08\u6BCF\u6761\u9876\u5C42 @ \u5404\u5F00\u72EC\u7ACB\u8BDD\u9898\u4E0E\u4F1A\u8BDD\uFF09","botDefaults.regularGroupModeShared":"shared\uFF08\u8BDD\u9898\u6A21\u5F0F\u4F46\u590D\u7528\u540C\u4E00\u4E2A session\uFF09","botDefaults.regularGroupModeHelp":"\u666E\u901A\u7FA4\u9876\u5C42 @ \u7684\u5F00\u4F1A\u8BDD\u65B9\u5F0F\uFF1Achat=\u6574\u7FA4\u8FDE\u7EED\u4F1A\u8BDD\uFF1Bchat-topic=\u9876\u5C42\u8FDE\u7EED\u3001\u539F\u751F\u8BDD\u9898\u72EC\u7ACB\uFF1Bnew-topic=\u6BCF\u6B21 @ \u65B0\u5EFA\u8BDD\u9898\u4E0E\u4F1A\u8BDD\uFF1Bshared=\u8BDD\u9898\u5C55\u793A\u4F46\u5171\u4EAB\u4F1A\u8BDD\u3002\u53EF\u88AB\u7FA4\u7EA7 /reply-mode \u8986\u76D6\u3002","botDefaults.mentionMode":"\u7FA4\u804A @ \u7B56\u7565","botDefaults.mentionModeAlways":"\u90FD\u9700\u8981 @\uFF08\u9ED8\u8BA4\uFF09","botDefaults.mentionModeTopic":"\u4EC5\u8BDD\u9898\u5185\u4E0D\u9700\u8981 @","botDefaults.mentionModeNever":"\u6240\u6709\u6D88\u606F\u90FD\u4E0D\u9700\u8981 @","botDefaults.mentionModeAmbient":"\u90FD\u4E0D\u9700\u8981 @\uFF08\u4F46\u4F60 @ \u522B\u4EBA\u65F6\u8BA9\u4F4D\uFF09","botDefaults.mentionModeHelp":"\u63A7\u5236\u7FA4\u804A\u662F\u5426\u5FC5\u987B @ \u624D\u56DE\u590D\uFF1A\u9ED8\u8BA4\u90FD\u9700\u8981 @\uFF1B\u53EF\u5141\u8BB8\u5DF2\u63A5\u7BA1\u8BDD\u9898\u5185\u514D @\u3001\u5168\u7FA4\u514D @\uFF0C\u6216\u5728\u6D88\u606F @ \u5176\u4ED6\u4EBA\u65F6\u8BA9\u4F4D\u3002\u79C1\u804A\u59CB\u7EC8\u4E0D\u9700\u8981 @\u3002","botDefaults.docSubscribeMode":"\u6587\u6863\u8BA2\u9605\u89E6\u53D1\u8303\u56F4\uFF08\u9ED8\u8BA4\uFF09","botDefaults.docSubscribeModeMention":"\u4EC5\u8BC4\u8BBA @ \u6211\u624D\u89E6\u53D1","botDefaults.docSubscribeModeAll":"\u6240\u6709\u65B0\u8BC4\u8BBA\u90FD\u89E6\u53D1","botDefaults.docSubscribeModeHelp":"\u8BBE\u7F6E\u65B0\u6587\u6863\u8BA2\u9605\u7684\u9ED8\u8BA4\u89E6\u53D1\u8303\u56F4\u3002\u4EC5\u8BC4\u8BBA @ \u6211\u66F4\u5B89\u9759\uFF1B\u6240\u6709\u65B0\u8BC4\u8BBA\u9002\u5408\u4E13\u7528\u6587\u6863\u3002","botDefaults.sectionSubstitute":"\u66FF\u8EAB\u6A21\u5F0F","botDefaults.substituteEnabled":"\u542F\u7528\u66FF\u8EAB\u89E6\u53D1","botDefaults.substituteHelp":"\u666E\u901A\u7FA4\u91CC @ \u5230\u914D\u7F6E\u7684\u66FF\u8EAB\u5BF9\u8C61\u65F6\uFF0C\u7531\u672C bot \u4EE3\u7B54\uFF1B\u53D1\u6D88\u606F\u7684\u4EBA\u4ECD\u9700\u5177\u5907 canTalk \u6743\u9650\u3002\u63A8\u8350\u4E0E\u300COncall \u6A21\u5F0F\u300D\u4E00\u8D77\u4F7F\u7528\uFF0C\u8BA9\u7FA4\u5185\u6210\u5458\u90FD\u80FD\u81EA\u7136 @ \u66FF\u8EAB\u89E6\u53D1\u4EE3\u7B54\u3002\u5F53\u524D\u7FA4\u53EF\u7528 /substitute off \u4E34\u65F6\u5173\u95ED\u3002","botDefaults.substituteDisclosure":"\u62AB\u9732\u65B9\u5F0F","botDefaults.substituteDisclosurePrefix":"\u9ED8\u8BA4\u8BF4\u660E\u201C\u6211\u5148\u4EE3 TA \u56DE\u590D\u201D","botDefaults.substituteDisclosureNone":"\u4E0D\u989D\u5916\u8BF4\u660E","botDefaults.substituteTargetsPlaceholder":`zhangsan@bytedance.com
|
|
10
|
+
ou_xxxx\uFF08\u4E5F\u53EF\u76F4\u63A5\u586B open_id / union_id\uFF09`,"botDefaults.substituteTargets":"\u66FF\u8EAB\u5BF9\u8C61","botDefaults.substituteTargetsHelp":"\u6BCF\u9879\u5BF9\u5E94\u4E00\u4E2A\u66FF\u8EAB\u5BF9\u8C61\u3002\u53EF\u76F4\u63A5\u586B\u90AE\u7BB1\uFF08\u4FDD\u5B58\u65F6\u81EA\u52A8\u89E3\u6790\u4E3A Open ID\uFF09\uFF0C\u4E5F\u53EF\u9009\u62E9 Open ID\u3001User ID \u6216 Union ID\uFF1B\u89E3\u6790\u5931\u8D25\u7684\u90AE\u7BB1\u4F1A\u6807\u7EA2\u3002","botDefaults.substituteTargetType":"\u6807\u8BC6\u7C7B\u578B","botDefaults.substituteTargetEmail":"\u90AE\u7BB1","botDefaults.substituteTargetOpenId":"Open ID","botDefaults.substituteTargetUserId":"User ID","botDefaults.substituteTargetUnionId":"Union ID","botDefaults.substituteTargetIdPlaceholder":"\u8F93\u5165\u98DE\u4E66\u7528\u6237\u6807\u8BC6\u6216\u90AE\u7BB1","botDefaults.substituteTargetName":"\u663E\u793A\u540D\u79F0","botDefaults.substituteTargetNamePlaceholder":"\u663E\u793A\u540D\u79F0\uFF08\u53EF\u9009\uFF09","botDefaults.substituteTargetAdd":"\u6DFB\u52A0\u66FF\u8EAB\u5BF9\u8C61","botDefaults.substituteTargetRemove":"\u5220\u9664\u66FF\u8EAB\u5BF9\u8C61","botDefaults.substituteTargetsInvalid":"\u542F\u7528\u524D\u81F3\u5C11\u586B\u5199\u4E00\u4E2A\u6709\u6548\u7684\u66FF\u8EAB\u5BF9\u8C61\uFF1B\u90AE\u7BB1\u9700\u80FD\u89E3\u6790\u4E3A Open ID","botDefaults.substituteTargetsRequired":"\u5F00\u542F\u66FF\u8EAB\u89E6\u53D1\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u80FD\u89E3\u6790\u6210 open_id \u7684\u5BF9\u8C61","botDefaults.substituteResolving":"\u89E3\u6790\u4E2D\u2026","botDefaults.substituteUnresolved":"\u672A\u89E3\u6790","botDefaults.substituteSave":"\u4FDD\u5B58\u66FF\u8EAB\u6A21\u5F0F","botDefaults.substituteOff":"\u5173\u95ED\u5168\u5C40\u66FF\u8EAB\u914D\u7F6E","botDefaults.sectionGrant":"\u6388\u6743\u4E0E\u989D\u5EA6","botDefaults.autoGrantCard":"\u672A\u6388\u6743 @ \u81EA\u52A8\u5F39\u6388\u6743\u5361","botDefaults.autoGrantCardHelp":"\u672A\u6388\u6743\u7528\u6237\u6216\u5916\u90E8 bot \u660E\u786E @ \u65F6\uFF0C\u81EA\u52A8\u5411 owner \u53D1\u9001 /grant \u7533\u8BF7\u5361\u3002\u5173\u95ED\u540E\u4ECD\u62E6\u622A\uFF0C\u4F46\u4E0D\u63D0\u793A\u3002","botDefaults.restrictGrant":"\u9650\u5236\u88AB\u6388\u6743\u4EBA\u53EA\u80FD\u7EAF\u5BF9\u8BDD","botDefaults.restrictGrantHelp":"\u9650\u5236 /grant \u7528\u6237\u53EA\u80FD\u666E\u901A\u5BF9\u8BDD\uFF0C\u7981\u6B62 botmux \u547D\u4EE4\u3001\u900F\u4F20\u547D\u4EE4\u3001CLI \u539F\u751F\u547D\u4EE4\u548C\u5DE5\u4F5C\u6D41\u76F8\u5173\u547D\u4EE4\uFF1Bowner \u4E0D\u53D7\u5F71\u54CD\u3002","botDefaults.quotaDefault":"\u9ED8\u8BA4\u6D88\u606F\u989D\u5EA6","botDefaults.quotaPlaceholder":"\u7559\u7A7A\uFF1D\u4E0D\u914D\u7F6E\u9ED8\u8BA4\u989D\u5EA6","botDefaults.quotaHelp":"\u8BBE\u7F6E\u88F8 /grant @\u7528\u6237 \u7684\u9ED8\u8BA4\u6D88\u606F\u989D\u5EA6\u3002\u7559\u7A7A\u4FDD\u5B58=\u4E0D\u518D\u8BBE\u7F6E\u9ED8\u8BA4\u989D\u5EA6\uFF1B\u5DF2\u6709\u989D\u5EA6\u548C\u663E\u5F0F /grant @\u7528\u6237 N \u4E0D\u53D7\u5F71\u54CD\u3002\u989D\u5EA6\u7528\u5C3D\u540E\u81EA\u52A8\u64A4\u9500\u6388\u6743\u3002","botDefaults.quotaSave":"\u4FDD\u5B58\u989D\u5EA6","botDefaults.quotaInvalid":"\u989D\u5EA6\u5FC5\u987B\u662F\u6B63\u6574\u6570","botDefaults.quotaStateOff":"\u5F53\u524D\uFF1A\u672A\u914D\u7F6E\u9ED8\u8BA4\u989D\u5EA6","botDefaults.quotaStateOn":"\u5F53\u524D\uFF1A\u6BCF\u4EBA {count} \u6761","botDefaults.sectionSessionCap":"\u4F1A\u8BDD\u5E38\u9A7B\u4E0A\u9650","botDefaults.maxLiveWorkers":"\u6700\u5927\u5E38\u9A7B\u4F1A\u8BDD\u6570","botDefaults.maxLiveWorkersPlaceholder":"\u7559\u7A7A\uFF1D\u9ED8\u8BA4 30","botDefaults.maxLiveWorkersUsage":"\u5E38\u9A7B {resident}/{cap} \xB7 \u4F11\u7720 {dormant} \xB7 \u603B\u4F1A\u8BDD {logical}","botDefaults.maxLiveWorkersHelp":"\u672C Bot \u540C\u65F6\u5E38\u9A7B\u5185\u5B58\u7684\u4F1A\u8BDD\u6570\u4E0A\u9650\u3002\u8D85\u8FC7\u540E\u6700\u4E45\u672A\u7528\u7684\u4F1A\u8BDD\u81EA\u52A8\u4F11\u7720\uFF1A\u5176\u540E\u53F0\u8FDB\u7A0B\u548C CLI \u4E00\u8D77\u9000\u51FA\u3001\u56DE\u6536\u5185\u5B58\uFF0C\u4F46\u8BDD\u9898\u4ECD\u53EF\u7EE7\u7EED\uFF1B\u4E0B\u6761\u6D88\u606F\u4F1A\u4ECE\u78C1\u76D8\u8BB0\u5F55\u51B7\u6062\u590D\u4E0A\u4E0B\u6587\uFF08\u901A\u5E38\u51E0\u79D2\uFF09\u3002\u7559\u7A7A\uFF1D\u9ED8\u8BA4 30\uFF1B\u586B\u6570\u5B57\uFF1D\u672C Bot \u81EA\u5B9A\u4E49\u3002\u6CE8\u610F\uFF1A\u6B63\u5728\u51FA\u7B54\u6848\u7684\u4F1A\u8BDD\u4E0D\u4F1A\u88AB\u6253\u65AD\uFF1B\u53EA\u6709\u53EF\u6062\u590D\u7684\u4F1A\u8BDD\u4F1A\u81EA\u52A8\u4F11\u7720\uFF0C\u63A5\u5165\u5916\u90E8\u7EC8\u7AEF\u6216\u4E0D\u53EF\u6062\u590D\u7684\u4F1A\u8BDD\u4E0D\u53D7\u5F71\u54CD\u3002","botDefaults.maxLiveWorkersSave":"\u4FDD\u5B58\u4E0A\u9650","botDefaults.maxLiveWorkersOff":"\u6062\u590D\u9ED8\u8BA4","botDefaults.maxLiveWorkersInvalid":"\u4E0A\u9650\u5FC5\u987B\u662F\u6B63\u6574\u6570","botDefaults.maxLiveWorkersStateDefault":"\u5F53\u524D\uFF1A\u9ED8\u8BA4\u5E38\u9A7B 30 \u4E2A\u4F1A\u8BDD","botDefaults.maxLiveWorkersStateOn":"\u5F53\u524D\uFF1A\u6700\u591A\u5E38\u9A7B {count} \u4E2A\u4F1A\u8BDD","botDefaults.sectionRuntimeEnv":"\u542F\u52A8\u73AF\u5883","botDefaults.sectionStartupCommands":"\u542F\u52A8\u547D\u4EE4","botDefaults.startupCommandsHelp":"\u65B0\u4F1A\u8BDD\u542F\u52A8\u540E\u3001\u9996\u6761\u6D88\u606F\u524D\u81EA\u52A8\u53D1\u9001\u7684 CLI \u547D\u4EE4\u3002\u652F\u6301\u9017\u53F7\u6216\u6362\u884C\u5206\u9694\uFF1B\u6BCF\u6B21\u65B0\u4F1A\u8BDD\u548C\u6062\u590D\u90FD\u4F1A\u91CD\u653E\u3002\u4EC5\u539F\u751F CLI \u4F1A\u8BDD\u751F\u6548\u3002","botDefaults.startupCommandsPlaceholder":"\u6BCF\u884C\u4E00\u6761\uFF0C\u5982 /effort ultracode","botDefaults.startupCommandsSave":"\u4FDD\u5B58\u542F\u52A8\u547D\u4EE4","botDefaults.sectionLaunchShell":"\u542F\u52A8 Shell","botDefaults.launchShellHelp":"\u6307\u5B9A\u542F\u52A8 CLI \u7684 shell\uFF08\u5982 zsh \u6216 /usr/bin/zsh\uFF09\uFF0C\u8986\u76D6 daemon \u7684 $SHELL\u3002\u7528\u4E8E\u7ED5\u8FC7\u767B\u5F55 shell rc \u4E2D\u7684\u8DF3\u8F6C\u95EE\u9898\uFF1BPATH \u7B49\u4ECD\u9700\u5728\u6240\u9009 shell \u914D\u7F6E\u4E2D\u53EF\u7528\u3002\u4E0B\u4E2A\u65B0\u4F1A\u8BDD\u751F\u6548\u3002","botDefaults.launchShellPlaceholder":"\u5982 zsh \u6216 /usr/bin/zsh\uFF1B\u7559\u7A7A\uFF1D\u7528 $SHELL","botDefaults.launchShellSave":"\u4FDD\u5B58\u542F\u52A8 Shell","botDefaults.sectionEnv":"\u73AF\u5883\u53D8\u91CF","botDefaults.envHelp":"\u4EE5 JSON \u4E3A\u8BE5 bot \u7684 CLI \u8FDB\u7A0B\u6CE8\u5165\u73AF\u5883\u53D8\u91CF\u3002\u652F\u6301\u5B57\u7B26\u4E32/\u6570\u5B57/\u5E03\u5C14\uFF1BBOTMUX_\u3001LARK_APP_ \u7B49\u4FDD\u7559\u952E\u4F1A\u88AB\u5FFD\u7565\u3002\u4E0B\u4E2A\u65B0\u4F1A\u8BDD\u751F\u6548\uFF0C\u660E\u6587\u5B58\u50A8\u5728 bots.json\u3002","botDefaults.envPlaceholder":`{
|
|
11
|
+
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
|
|
12
|
+
"ANTHROPIC_AUTH_TOKEN": "\u4F60\u7684 GLM Coding Plan key"
|
|
13
|
+
}`,"botDefaults.envSave":"\u4FDD\u5B58\u73AF\u5883\u53D8\u91CF","nav.roles":"\u89D2\u8272\u7BA1\u7406","nav.groupRoles":"\u7FA4\u89D2\u8272","nav.roleProfiles":"Profiles","roles.title":"\u89D2\u8272\u7BA1\u7406","roleProfiles.title":"Profiles","roles.search":"\u641C\u7D22\u7FA4\u540D/Bot/ID","roles.refresh":"\u5237\u65B0","roles.selectHint":"\u2190 \u5C55\u5F00\u7FA4\u7EC4\uFF0C\u9009\u62E9\u4E00\u4E2A Bot \u6765\u7F16\u8F91\u89D2\u8272","roles.editorPlaceholder":`\u8F93\u5165\u89D2\u8272\u63CF\u8FF0\uFF0C\u4F8B\u5982\uFF1A
|
|
14
|
+
\u4F60\u662F\u672C\u7FA4\u7684\u6280\u672F\u987E\u95EE\uFF0C\u8D1F\u8D23\u56DE\u7B54\u6240\u6709\u6280\u672F\u95EE\u9898...`,"roles.injectModeLabel":"\u6CE8\u5165\u65B9\u5F0F","roles.injectModeEvery":"\u6BCF\u8F6E\u6CE8\u5165\uFF08\u9ED8\u8BA4\uFF09","roles.injectModeOnce":"\u4EC5\u9996\u8F6E\u6CE8\u5165\u4E00\u6B21","roles.injectModeHint":"\u300C\u4EC5\u4E00\u6B21\u300D\u53EA\u5728\u4F1A\u8BDD\u5F00\u59CB/\u91CD\u5EFA\u65F6\u6CE8\u5165\u89D2\u8272\uFF0C\u4E4B\u540E\u4E0D\u518D\u91CD\u590D\uFF0C\u7701 token\uFF1B\u6539\u52A8\u5373\u65F6\u4FDD\u5B58","roles.configured":"\u5DF2\u914D\u7F6E","roles.unconfigured":"\u672A\u914D\u7F6E","roles.noChats":"\u6682\u65E0\u7FA4\u7EC4","roles.preview":"\u9884\u89C8","roles.previewEmpty":"\uFF08\u7A7A\u5185\u5BB9\uFF09","roles.saved":"\u5DF2\u4FDD\u5B58","roles.delete":"\u5220\u9664","roles.save":"\u4FDD\u5B58","roles.confirmDelete":"\u786E\u8BA4\u5220\u9664\u8BE5 Bot \u5728\u6B64\u7FA4\u7684\u89D2\u8272\u914D\u7F6E\uFF1F","roles.botsWithRoles":"\u4E2A Bot \u5DF2\u914D\u7F6E\u89D2\u8272","roles.emptyError":"\u89D2\u8272\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u5148\u8F93\u5165\u5185\u5BB9","roles.saveFailed":"\u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5","roles.tabGroups":"\u6309\u7FA4\u7EC4","roles.tabProfiles":"Profiles","roles.profileIdPlaceholder":"profile id\uFF0C\u5982 collab-main","roles.profileIdInvalid":"Profile id \u53EA\u80FD\u5305\u542B\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u70B9\u3001\u4E0B\u5212\u7EBF\u3001\u77ED\u6A2A\u7EBF\uFF0C\u6700\u957F 64\uFF0C\u4E14\u4E0D\u80FD\u662F . \u6216 ..","roles.openProfile":"\u6253\u5F00","roles.profileSearch":"\u641C\u7D22 profile","roles.profileSelectHint":"\u2190 \u9009\u62E9\u6216\u8F93\u5165\u4E00\u4E2A profile \u6765\u7F16\u8F91","roles.profileEmpty":"\u6682\u65E0 Profiles","roles.profileEntries":"\u4E2A entry","roles.profileMissing":"\u7F3A\u5931","roles.profileRuntimeHint":"Profile \u53EA\u662F\u53EF\u590D\u7528\u5957\u88C5\uFF1BApply \u540E\u5199\u6210\u672C\u7FA4 Role\uFF0C\u4E0D\u589E\u52A0\u8FD0\u884C\u65F6\u5C42\u7EA7\u3002","roles.profileBots":"Bot Entries","roles.profileEditorPlaceholder":"\u8F93\u5165\u5F53\u524D bot \u5728\u8BE5 profile \u4E0B\u7684 Markdown role...","roles.saveEntry":"\u4FDD\u5B58 Entry","roles.profileBotSelectHint":"\u9009\u62E9\u4E00\u4E2A Bot \u6765\u7F16\u8F91\u5B83\u5728\u8BE5 profile \u91CC\u7684 entry","roles.applyToGroup":"Apply \u5230\u7FA4\u7EC4","roles.applyForce":"\u8986\u76D6\u5DF2\u6709\u672C\u7FA4 Role","roles.previewApply":"\u9884\u89C8 Apply","roles.applyProfile":"Apply Profile","roles.applyPickBots":"\u8BF7\u9009\u62E9\u81F3\u5C11\u4E00\u4E2A Bot","roles.applyWouldRefuse":"\u4F1A\u62D2\u7EDD\uFF08\u5DF2\u6709\u672C\u7FA4 Role\uFF09","roles.applyPreviewOk":"\u53EF\u5E94\u7528","roles.applyOk":"\u5DF2\u5E94\u7528","roles.applyFailed":"\u5931\u8D25","roles.confirmDeleteProfileEntry":"\u786E\u8BA4\u5220\u9664\u8BE5 Bot \u5728\u6B64 profile \u91CC\u7684 entry\uFF1F","common.none":"\u65E0","common.loading":"\u52A0\u8F7D\u4E2D\u2026","common.unknown":"\u672A\u77E5","common.now":"\u521A\u521A","common.never":"\u4ECE\u672A","common.all":"\u5168\u90E8","nav.workflows":"\u5DE5\u4F5C\u6D41","nav.workflowCatalog":"\u76EE\u5F55","workflow.subnav.runs":"\u8FD0\u884C","workflow.subnav.catalog":"\u76EE\u5F55","workflow.subnav.v3":"\u65B0\u7248\u5DE5\u4F5C\u6D41 \u2192","workflow.version.legacy":"\u65E7\u7248","workflow.version.v3":"\u65B0\u7248","workflow.searchPlaceholder":"\u641C\u7D22 runId / workflowId / chatId","workflow.filter.nonTerminal":"\u975E\u7EC8\u6001","workflow.filter.all":"\u5168\u90E8","workflow.status.pending":"\u5F85\u5F00\u59CB","workflow.status.running":"\u8FD0\u884C\u4E2D","workflow.status.waiting":"\u7B49\u5F85\u4E2D","workflow.status.effectAttempting":"\u526F\u4F5C\u7528\u4E2D","workflow.status.timedOut":"\u5DF2\u8D85\u65F6","workflow.status.succeeded":"\u6210\u529F","workflow.status.failed":"\u5931\u8D25","workflow.status.cancelled":"\u5DF2\u53D6\u6D88","workflow.table.run":"\u8FD0\u884C","workflow.table.workflow":"\u5DE5\u4F5C\u6D41","workflow.table.status":"\u72B6\u6001","workflow.table.lastSeq":"\u6700\u540E\u5E8F\u53F7","workflow.table.dangling":"\u60AC\u6302 dEf/dAct/dWait","workflow.table.updated":"\u66F4\u65B0\u65F6\u95F4","workflow.table.chatApp":"\u7FA4\u804A / \u5E94\u7528","workflow.list.failedLoad":"\u52A0\u8F7D\u5931\u8D25\uFF1A{error}","workflow.list.noRuns":"\u6CA1\u6709\u5339\u914D\u7684\u8FD0\u884C\u3002","workflow.list.noFilterMatch":"\u6CA1\u6709\u7B26\u5408\u7B5B\u9009\u6761\u4EF6\u7684\u8FD0\u884C\u3002","workflow.list.loaded":"{count} \u4E2A\u8FD0\u884C \xB7 \u5237\u65B0\u4E8E {time}","workflow.list.error":"\u9519\u8BEF\uFF1A{error}","workflow.detail.back":"\u8FD4\u56DE","workflow.detail.loading":"\u52A0\u8F7D\u4E2D...","workflow.detail.loadFailed":"\u52A0\u8F7D\u5931\u8D25","workflow.detail.cancel":"\u53D6\u6D88","workflow.detail.cliCancelOnly":"\u4EC5 CLI \u53EF\u53D6\u6D88","workflow.detail.cancelTitle":"\u53D6\u6D88\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u8FD0\u884C","workflow.detail.cliCancelTitle":"\u65E0\u6CD5\u5728\u9875\u9762\u53D6\u6D88\uFF1A\u8BF7\u4F7F\u7528 botmux workflow cancel {runId}","workflow.detail.nodes":"\u8282\u70B9 / Activity","workflow.detail.parallel":"\u5E76\u53D1\u6267\u884C","workflow.detail.parallelMeta":"{count} \u6B21\u5C1D\u8BD5 \xB7 \u6700\u9AD8\u5E76\u53D1 {max} \xB7 \u8FD0\u884C\u4E2D {running}","workflow.detail.noParallelData":"\u8FD8\u6CA1\u6709 attempt \u65F6\u95F4\u6570\u636E\u3002","workflow.detail.parallelNow":"\u73B0\u5728","workflow.detail.node":"\u8282\u70B9","workflow.detail.nodeStatus":"\u8282\u70B9\u72B6\u6001","workflow.detail.activity":"Activity","workflow.detail.activityStatus":"Activity \u72B6\u6001","workflow.detail.attempts":"\u5C1D\u8BD5\u6B21\u6570","workflow.detail.current":"\u5F53\u524D\u5C1D\u8BD5","workflow.detail.detail":"\u8BE6\u60C5","workflow.detail.nodeIO":"\u8282\u70B9\u8F93\u5165\u8F93\u51FA","workflow.detail.timeline":"\u65F6\u95F4\u7EBF","workflow.detail.loadOlder":"\u52A0\u8F7D\u66F4\u65E9\u4E8B\u4EF6","workflow.detail.seq":"\u5E8F\u53F7","workflow.detail.actor":"\u6267\u884C\u8005","workflow.detail.error":"\u9519\u8BEF","workflow.detail.event":"\u4E8B\u4EF6","workflow.detail.time":"\u65F6\u95F4","workflow.detail.refreshed":"\u5237\u65B0\u4E8E {time}","workflow.detail.unknownRun":"\u672A\u77E5\u8FD0\u884C","workflow.detail.snapshotHttp":"snapshot HTTP {status}","workflow.detail.eventsHttp":"events HTTP {status}","workflow.detail.cancelUnavailable":"\u65E0\u6CD5\u53D6\u6D88\uFF1A\u8BF7\u4F7F\u7528 botmux workflow cancel {runId}","workflow.detail.cancelConfirm":`\u786E\u8BA4\u53D6\u6D88\u5DE5\u4F5C\u6D41\u8FD0\u884C {runId}\uFF1F
|
|
15
|
+
|
|
16
|
+
{total} \u4E2A\u60AC\u6302\u9879\u4F1A\u7531 cancel recovery \u5904\u7406\u3002
|
|
17
|
+
effects={effects}, activities={activities}, waits={waits}, cancels={cancels}`,"workflow.detail.writeAccessCancel":"\u9700\u8981\u5199\u6743\u9650\uFF1A\u8BF7\u5728\u7EC8\u7AEF\u8FD0\u884C `botmux dashboard` \u83B7\u53D6\u4E00\u6B21\u6027 URL\uFF0C\u6253\u5F00\u540E\u5199\u5165 cookie\uFF0C\u518D\u56DE\u6765\u70B9\u51FB\u53D6\u6D88\u3002","workflow.detail.cancelHttp":"cancel HTTP {status}","workflow.detail.cancelPending":"\u53D6\u6D88\u5DF2\u63D0\u4EA4\uFF1B\u7B49\u5F85\u8FD0\u884C\u4E2D\u7684 activity \u6536\u655B","workflow.detail.writeAccessApproval":"\u9700\u8981\u5199\u6743\u9650\uFF1A\u8BF7\u5728\u7EC8\u7AEF\u8FD0\u884C `botmux dashboard` \u83B7\u53D6\u4E00\u6B21\u6027 URL\uFF0C\u6253\u5F00\u540E\u5199\u5165 cookie\uFF0C\u518D\u56DE\u6765\u5BA1\u6279\u3002","workflow.detail.actionHttp":"{action} HTTP {status}","workflow.detail.approved":"\u5DF2\u901A\u8FC7","workflow.detail.rejected":"\u5DF2\u62D2\u7EDD","workflow.detail.alreadyTerminal":"\u8FD0\u884C\u5DF2\u7EC8\u6001\uFF1B\u672A\u5E94\u7528\u201C{label}\u201D\u3002","workflow.detail.workflowContinue":"{label}\uFF1B\u7B49\u5F85\u5DE5\u4F5C\u6D41\u7EE7\u7EED\u6267\u884C\u3002","workflow.detail.workflowRefreshing":"{label}\uFF1B\u6B63\u5728\u5237\u65B0\u5DE5\u4F5C\u6D41\u72B6\u6001\u3002","workflow.detail.eventsLoaded":"\u5DF2\u52A0\u8F7D {loaded}/{total} \u4E2A\u4E8B\u4EF6","workflow.detail.dangling":"\u60AC\u6302\u9879","workflow.detail.noDangling":"\u6CA1\u6709\u60AC\u6302\u5DE5\u4F5C\u3002","workflow.detail.none":"\u65E0","workflow.detail.noNodes":"\u8FD8\u6CA1\u6709\u8282\u70B9\u3002","workflow.detail.idle":"\u7A7A\u95F2","workflow.detail.noNodeIO":"\u8FD8\u6CA1\u6709\u8282\u70B9\u8F93\u5165\u8F93\u51FA\u3002","workflow.detail.notDispatched":"\u5C1A\u672A\u6D3E\u53D1","workflow.detail.noAttempt":"\u8FD8\u6CA1\u6709\u5C1D\u8BD5","workflow.detail.attempt":"\u5C1D\u8BD5","workflow.detail.authoredInput":"\u539F\u59CB\u8F93\u5165","workflow.detail.resolvedInput":"\u89E3\u6790\u540E\u8F93\u5165","workflow.detail.output":"\u8F93\u51FA","workflow.detail.executionLog":"\u6267\u884C\u65E5\u5FD7","workflow.detail.liveTerminal":"\u5B9E\u65F6\u7EC8\u7AEF","workflow.detail.terminalLive":"\u5728\u7EBF","workflow.detail.terminalClosedShort":"\u5DF2\u5173\u95ED","workflow.detail.terminalClosed":"\u7EC8\u7AEF\u5DF2\u5173\u95ED\u3002\u8BF7\u67E5\u770B\u4E0B\u65B9\u6267\u884C\u65E5\u5FD7\u83B7\u53D6\u6700\u7EC8\u8BB0\u5F55\u3002","workflow.detail.openTerminalNewTab":"\u5728\u65B0\u6807\u7B7E\u9875\u6253\u5F00\u7EC8\u7AEF","workflow.detail.terminalReplay":"\u7EC8\u7AEF\u56DE\u653E","workflow.detail.openReplayNewTab":"\u5728\u65B0\u6807\u7B7E\u9875\u6253\u5F00\u56DE\u653E","workflow.detail.downloadFullLog":"\u4E0B\u8F7D\u5B8C\u6574\u65E5\u5FD7","workflow.detail.terminalResume":"\u8C03\u8BD5\u4F1A\u8BDD","workflow.detail.openResumeNewTab":"\u5728\u65B0\u6807\u7B7E\u9875\u6253\u5F00\u8C03\u8BD5\u4F1A\u8BDD","workflow.detail.resumeSession":"\u7EE7\u7EED\u4F1A\u8BDD","workflow.detail.resumeStarting":"\u6B63\u5728\u542F\u52A8\u2026","workflow.detail.endResumeSession":"\u7ED3\u675F\u8C03\u8BD5\u4F1A\u8BDD","workflow.detail.resumeEnding":"\u7ED3\u675F\u4E2D\u2026","workflow.detail.resumeUnsupportedCli":"{cliId} CLI \u4E0D\u652F\u6301 resume","workflow.detail.resumeMissingCliSession":"\u7F3A\u5C11 cliSessionId\uFF0C\u65E0\u6CD5 resume","workflow.detail.resumeStartFailed":"\u542F\u52A8\u8C03\u8BD5\u4F1A\u8BDD\u5931\u8D25 (HTTP {status})","workflow.detail.resumeEndFailed":"\u7ED3\u675F\u8C03\u8BD5\u4F1A\u8BDD\u5931\u8D25 (HTTP {status})","workflow.detail.writeAccessResume":"\u9700\u8981\u5199\u5165\u6743\u9650\u624D\u80FD resume \u4F1A\u8BDD\u3002","workflow.detail.waitPrompt":"\u7B49\u5F85\u63D0\u793A","workflow.detail.approvalComment":"\u5BA1\u6279\u5907\u6CE8","workflow.detail.optionalComment":"\u53EF\u9009\u5907\u6CE8","workflow.detail.approve":"\u901A\u8FC7","workflow.detail.reject":"\u62D2\u7EDD","workflow.detail.submitting":"\u63D0\u4EA4\u4E2D...","workflow.detail.empty":"\u7A7A","workflow.detail.truncated":"\u5DF2\u622A\u65AD","workflow.detail.noData":"\u6CA1\u6709\u6570\u636E\u3002","workflow.detail.noPreview":"\u6CA1\u6709\u9884\u89C8\u3002","workflow.detail.open":"\u6253\u5F00","workflow.detail.deadline":"\u622A\u6B62","workflow.detail.effect":"\u526F\u4F5C\u7528","workflow.detail.wait":"\u7B49\u5F85","workflow.detail.noEvents":"\u8FD8\u6CA1\u6709\u4E8B\u4EF6\u3002","workflow.summary.workflow":"\u5DE5\u4F5C\u6D41","workflow.summary.status":"\u72B6\u6001","workflow.summary.lastSeq":"\u6700\u540E\u5E8F\u53F7","workflow.summary.updated":"\u66F4\u65B0\u65F6\u95F4","workflow.summary.revision":"\u4FEE\u8BA2","workflow.summary.initiator":"\u53D1\u8D77\u4EBA","workflow.summary.failedNode":"\u5931\u8D25\u8282\u70B9","workflow.summary.cancelOrigin":"\u53D6\u6D88\u6765\u6E90","workflow.summary.chat":"\u7FA4\u804A","workflow.summary.app":"\u5E94\u7528","workflow.dangling.activities":"Activities","workflow.dangling.effects":"Effects","workflow.dangling.waits":"Waits","workflow.dangling.cancels":"Cancels","catalog.title":"\u5DE5\u4F5C\u6D41\u76EE\u5F55","catalog.searchPlaceholder":"\u641C\u7D22 workflowId / \u8DEF\u5F84","catalog.refresh":"\u5237\u65B0","catalog.loading":"\u6B63\u5728\u52A0\u8F7D\u76EE\u5F55...","catalog.loadFailed":"\u76EE\u5F55\u52A0\u8F7D\u5931\u8D25\uFF1A{error}","catalog.noDefinitions":"\u6CA1\u6709\u627E\u5230 workflow \u5B9A\u4E49\u3002","catalog.noFilterMatch":"\u6CA1\u6709\u7B26\u5408\u7B5B\u9009\u6761\u4EF6\u7684\u5B9A\u4E49\u3002","catalog.table.workflow":"\u5DE5\u4F5C\u6D41","catalog.table.version":"\u7248\u672C","catalog.table.params":"\u53C2\u6570","catalog.table.nodes":"\u8282\u70B9","catalog.table.revision":"\u4FEE\u8BA2","catalog.table.path":"\u8DEF\u5F84","catalog.paramSummary":"{required}/{total} \u5FC5\u586B","catalog.back":"\u8FD4\u56DE\u76EE\u5F55","catalog.detailTitle":"\u5DE5\u4F5C\u6D41\u5B9A\u4E49","catalog.definitionLoadFailed":"\u5B9A\u4E49\u52A0\u8F7D\u5931\u8D25\uFF1A{error}","catalog.summary":"\u6458\u8981","catalog.paramsSchema":"\u53C2\u6570 Schema","catalog.definitionJson":"\u5B9A\u4E49 JSON","catalog.runPanel":"\u8FD0\u884C\u5DE5\u4F5C\u6D41","catalog.paramsJson":"\u53C2\u6570 JSON","catalog.paramsPlaceholder":`{
|
|
18
|
+
"city": "\u5317\u4EAC"
|
|
19
|
+
}`,"catalog.chatId":"\u7FA4\u804A ID","catalog.larkAppId":"\u98DE\u4E66\u5E94\u7528 ID","catalog.chatBindingHint":"\u5FC5\u586B\uFF0C\u7528\u4E8E\u786E\u5B9A humanGate \u5361\u7247\u53D1\u9001\u5230\u54EA\u4E2A\u98DE\u4E66\u7FA4\uFF0C\u4EE5\u53CA\u53D6\u6D88\u8DEF\u7531\u5F52\u5C5E\u3002","catalog.run":"\u8FD0\u884C","catalog.running":"\u542F\u52A8\u4E2D...","catalog.badParamsJson":"\u53C2\u6570\u5FC5\u987B\u662F JSON object\u3002","catalog.writeAccess":"\u9700\u8981\u5199\u6743\u9650\uFF1A\u8BF7\u5728\u7EC8\u7AEF\u8FD0\u884C `botmux dashboard` \u83B7\u53D6\u4E00\u6B21\u6027 URL\uFF0C\u6253\u5F00\u540E\u5199\u5165 cookie\uFF0C\u518D\u56DE\u6765\u8FD0\u884C\u3002","catalog.runHttp":"run HTTP {status}","catalog.runStarted":"\u8FD0\u884C\u5DF2\u542F\u52A8\uFF1B\u6B63\u5728\u6253\u5F00\u8BE6\u60C5\u9875...","catalog.invalidParams":"\u53C2\u6570\u65E0\u6548","catalog.issue":"{path}: {message}","catalog.noParams":"\u6CA1\u6709\u58F0\u660E\u53C2\u6570\u3002","catalog.required":"\u5FC5\u586B","catalog.optional":"\u53EF\u9009","catalog.default":"\u9ED8\u8BA4\u503C","catalog.description":"\u8BF4\u660E","catalog.path":"\u8DEF\u5F84","catalog.revision":"\u4FEE\u8BA2","catalog.nodeCount":"\u8282\u70B9\u6570"},ve={"app.name":"botmux","app.subtitle":"Feishu AI CLI Control","nav.docs":"Docs","time.secondsAgo":"{value}s ago","time.minutesAgo":"{value}m ago","time.hoursAgo":"{value}h ago","nav.overview":"Workbench","nav.monitoring":"Monitoring Board","nav.sessions":"Session Control","nav.groups":"Group Management","nav.schedules":"Scheduled Tasks","nav.settings":"Global Settings","nav.botDefaults":"Bot Config","nav.skills":"Skill Management","nav.whiteboards":"Whiteboards","nav.team":"Team Collaboration","nav.connectors":"Webhook","nav.webhookLogs":"Invocation Logs","nav.office":"Office","status.live":"Live link","status.disconnected":"Disconnected","status.system":"System","status.light":"Light","status.dark":"Dark","status.language":"Language","status.theme":"Theme","theme.base":"Basic","theme.skins":"Skins","skin.cyber":"2077","skin.fallout":"Fallout","botOnboarding.add":"Add Bot","botOnboarding.title":"Add Bot","botOnboarding.intro":"Pick a CLI and working directory, scan to create a PersonalAgent app \u2014 the dashboard writes it to local bots.json and auto-configures Open Platform permissions.","botOnboarding.cliLabel":"CLI adapter","botOnboarding.dirModeLabel":"Working dir for new topics","botOnboarding.dirModeFixed":"Fixed default dir (recommended) \u2014 new topics start there directly, no picker card","botOnboarding.dirModeCard":"Repo-select card \u2014 new topics first show a card listing scanned git repos","botOnboarding.dirLabelFixed":"Default working directory","botOnboarding.dirLabelCard":"Repo scan root","botOnboarding.dirPlaceholderFixed":"Default ~ (home); must exist on the daemon host","botOnboarding.dirPlaceholderCard":"e.g. ~/projects \u2014 the card lists git repos under it; must exist on the daemon host","botOnboarding.modelLabel":"Model (optional)","botOnboarding.modelPlaceholder":"Leave empty for the CLI default model","botOnboarding.modelTtadkPlaceholder":"ttadk gateway model, default {model}, editable anytime","botOnboarding.modelTtadkCocoPlaceholder":"CoCo needs no model","botOnboarding.startScan":"Start scan","botOnboarding.cancel":"Cancel","botOnboarding.starting":"Generating QR code...","botOnboarding.waiting":"Scan with the Feishu app to create the app.","botOnboarding.verifying":"Scan accepted. Verifying credentials...","botOnboarding.configuringPermissions":"Auto-configuring Open Platform permissions\u2026","botOnboarding.platformScanHint":"Scan once more with the Feishu app to sign in to the Open Platform (to auto-import permissions, set the callback, and submit a version).","botOnboarding.platformQrAlt":"Open Platform login QR code","botOnboarding.completed":"Bot added.","botOnboarding.permissionOk":"Auto-imported {count} permissions.","botOnboarding.permissionSkipped":"({count} skipped \u2014 not in the tenant catalog)","botOnboarding.permissionVersion":"Submitted version {version}.","botOnboarding.permissionManual":"Permissions could not be auto-configured. Complete these steps manually:","botOnboarding.metaDir":"Dir","botOnboarding.failed":"Add failed","botOnboarding.openLink":"Open scan link in browser","botOnboarding.close":"Close","botOnboarding.restartHint":"bots.json has been updated. Auto-start did not succeed; run botmux restart for the new bot to take effect.","botOnboarding.liveOk":"The bot is live \u2014 no restart needed. Just @mention it in Feishu to use it.","botOnboarding.needsOwner":"Could not auto-confirm the scanner identity. Enter an owner manually to finish.","botOnboarding.ownerLabel":"Owner (bot administrator)","botOnboarding.ownerPlaceholder":"Full email / union_id (on_) / open_id (ou_), comma-separated","botOnboarding.ownerHint":"An owner is required so the bot is not left open for anyone to run admin actions. Prefer a company email or union_id (on_).","botOnboarding.ownerSubmit":"Save owner & finish","botOnboarding.ownerEmpty":"Enter at least one owner.","botOnboarding.ownerInvalid":"Owner validation failed. Please check and retry.","botOnboarding.qrAlt":"Feishu bot onboarding QR code","overview.title":"Workbench","overview.team":"AI Team","overview.teamHint":"Live status of every digital teammate","overview.attention":"Needs You","overview.activeSessions":"Active Sessions","overview.sessionOverview":"Session Overview","overview.viewAll":"View all \u2192","overview.viewAllPlain":"View all","overview.sort":"Sort","overview.sortByTime":"By time","overview.sortAttentionFirst":"Needs you first","overview.botIdle":"Standing by, ready for new tasks","overview.botOffline":"Offline \u2014 daemon not running","overview.botBusy":"Working \xB7 {count} sessions","overview.botNeedsYou":"Waiting on you","overview.botReady":"Ready","overview.botOff":"Offline","overview.sessionsCount":"{count} sessions","overview.lastActive":"active {time} ago","overview.teamCount":"{count} bots","overview.teamExpand":"Show all","overview.teamCollapse":"Collapse","strip.pending":"{count} pending","strip.longestCompact":"longest {time} \xB7 {bot} \xB7 {reason}","strip.handle":"Handle now","overview.openSessions":"Active Sessions","overview.workingSessions":"Working","overview.idleSessions":"Idle","overview.onlineBots":"Online Bots","overview.schedules":"Schedules","overview.groups":"Groups Seen","overview.enabledSchedules":"Enabled","overview.total":"total","overview.active":"active","overview.daemonRegistry":"daemon registry","overview.chatMatrix":"chat matrix","overview.recentSessions":"Recent Sessions","overview.nextSchedules":"Schedules","overview.noSessions":"No sessions yet.","overview.noSchedules":"No schedules yet.","monitoring.eyebrow":"Runtime resources","monitoring.title":"Monitoring Board","monitoring.subtitle":"Watch host, botmux, bot, and session CPU and memory pressure in real time.","monitoring.runtimeTitle":"Monitoring Board","monitoring.runtimeSubtitle":"Monitor botmux runtime health, resource pressure, and session pressure in real time.","monitoring.runtimeHealth":"Runtime Health","monitoring.runtimeHealthHint":"Check sample freshness, daemon availability, and session buildup.","monitoring.resourcePressure":"Resource Pressure","monitoring.resourcePressureHint":"Machine resource trends are memory-only and reset after restart.","monitoring.sessionPressure":"Session Pressure","monitoring.sessionPressureHint":"Find long-running, waiting, and process-unlinked live sessions.","monitoring.botRuntime":"Bot Runtime","monitoring.botRuntimeHint":"Aggregate daemon status, session pressure, and resource usage by bot.","monitoring.sampleHealth":"Sample Health","monitoring.sampleAge":"Data age","monitoring.sample.fresh":"Fresh","monitoring.sample.stale":"Stale","monitoring.sample.unsupported":"Unsupported","monitoring.sample.unknown":"Unknown","monitoring.health.ok":"Healthy","monitoring.health.warn":"Watch","monitoring.health.danger":"High Pressure","monitoring.health.unknown":"Unknown","monitoring.daemonHealth":"Daemon Online","monitoring.sessionHealth":"Session Health","monitoring.offline":"Offline","monitoring.working":"Working","monitoring.starting":"Starting","monitoring.waiting":"Waiting","monitoring.idle":"Idle","monitoring.unknown":"Unknown","monitoring.statusDistribution":"Status Distribution","monitoring.longestRunning":"Longest Running","monitoring.longestWaiting":"Longest Waiting","monitoring.unattributedSessions":"No Linked Process","monitoring.unattributedHint":"These live sessions have no reliable PID link, so session-level resource usage cannot be calculated.","monitoring.unsupported":"Resource sampling is unavailable on this platform.","monitoring.unsupportedKicker":"Linux only","monitoring.unsupportedTitle":"Resource sampling requires Linux","monitoring.unsupportedHint":"This platform has no readable /proc data; runtime health remains available.","monitoring.unsupportedRuntimeOk":"Runtime health available","monitoring.unsupportedResourceOnly":"CPU / Memory / RSS paused","monitoring.hostCpu":"CPU","monitoring.hostMemory":"Memory","monitoring.botmuxRss":"Botmux memory","monitoring.botmuxSelf":"Self","monitoring.botmuxDaemon":"daemon","monitoring.botmuxWorker":"worker","monitoring.botmuxCli":"External CLI","monitoring.rssHelpLabel":"About this memory number","monitoring.rssHelp":`Memory uses PSS (Proportional Set Size): shared pages are divided by the number of processes sharing them, so summing across processes does not double-count the shared Node runtime / libs the way RSS would (falls back to RSS when smaps_rollup is unavailable).
|
|
20
|
+
This is the whole-family total. Split: Self = the daemon + each session\u2019s botmux worker (our own code); External CLI = Claude/Codex-style CLIs and their tool subprocesses, usually the bulk.
|
|
21
|
+
Best for spotting memory hotspots, sustained growth, and abnormal usage.`,"monitoring.trackedSessions":"Trend sessions","monitoring.currentSessions":"Current sessions","monitoring.memoryOnly":"Trends are memory-only and reset after restart","monitoring.trends":"Trends","monitoring.trendsHint":"Host and Botmux aggregates keep 24h; session history is retained only for the Top set.","monitoring.trendHostCpu":"Host CPU","monitoring.trendHostMemory":"Host Memory","monitoring.trendBotmuxCpu":"Botmux CPU","monitoring.chartNow":"now","monitoring.chartNoData":"no data","monitoring.chartMinutesAgo":"{value}m ago","monitoring.chartHoursAgo":"{value}h ago","monitoring.chartDaysAgo":"{value}d ago","monitoring.bots":"Bots","monitoring.botsHint":"Aggregates include daemon self resources and every current session for that bot.","monitoring.sessions":"Sessions","monitoring.sessionsHint":"Every live session has current values; only Top sessions keep trend history.","monitoring.trackedSessionTrends":"Top Session Trends","monitoring.trackedSessionHint":"This is the retained history subset, not the full current session set.","monitoring.modalClose":"Close","monitoring.noTrackedHistory":"No Top session history yet.","monitoring.noHotSession":"No hot session","monitoring.hottest":"Hottest","monitoring.sort":"Sort","monitoring.sort.cpu":"CPU","monitoring.sort.rss":"RSS","monitoring.sort.growth":"Growth","monitoring.sort.bot":"Bot","monitoring.sort.status":"Status","monitoring.bot":"Bot","monitoring.cpu":"CPU","monitoring.rss":"RSS","monitoring.growth":"Growth","monitoring.daemon":"Daemon","monitoring.sessionsCount":"Sessions","monitoring.session":"Session","monitoring.confidence":"Confidence","monitoring.rank":"Rank reason","sessions.title":"Session Control","sessions.search":"Search chat / working dir / title / IDs","sessions.anyStatus":"Any status","sessions.adoptAny":"adopt: any","sessions.adoptYes":"adopt: yes","sessions.adoptNo":"adopt: no","sessions.chatAny":"Chat: all","sessions.showUnknownChats":"Show unknown chats","sessions.activeOnly":"Active only","sessions.runtime.logical":"Open sessions","sessions.runtime.resident":"Resident sessions","sessions.runtime.dormant":"Dormant sessions","sessions.monitorRoom":"Monitor Room","sessions.addToMonitorRoom":"Add to monitor room","sessions.monitorRoomAdded":"Added {added}; total {total}","sessions.closeSelected":"Close selected","sessions.clearSelection":"Clear","sessions.selectedCount":"{count} sessions selected","sessions.idleCleanupOlderThan":"Idle over","sessions.idleCleanupThreshold":"Idle cleanup threshold","sessions.idleCleanupRun":"Clean idle","sessions.idleCleanupCount":"{count} cleanable","sessions.idleCleanupCancel":"Cancel","sessions.idleCleanupApply":"Confirm","sessions.idleCleanupRunning":"Cleaning\u2026","sessions.idleCleanupDone":"Closed {closed}, failed {failed}","sessions.idleCleanupFailed":"Cleanup failed","sessions.lock":"Lock session","sessions.unlock":"Unlock session","sessions.locked":"Locked","sessions.lockSelected":"Lock selected","sessions.unlockSelected":"Unlock selected","sessions.lockFailed":"Failed to update lock state","sessions.bot":"Bot","sessions.cli":"CLI","sessions.chat":"Chat","sessions.location":"Chat","sessions.groupChat":"Group","sessions.directChat":"DM","sessions.chatUnknown":"Unknown chat","sessions.openChat":"Open chat","sessions.status":"Status","sessions.status.starting":"Starting","sessions.status.working":"Working","sessions.status.idle":"Idle","sessions.status.dormant":"Dormant","sessions.status.analyzing":"Analyzing","sessions.status.active":"Active","sessions.status.limited":"Limit reached","sessions.status.closed":"Closed","sessions.status.unknown":"Unknown","sessions.tokenIn":"Token In","sessions.tokenOut":"Token Out","sessions.titleCol":"Title","sessions.workingDir":"Working Dir","sessions.created":"Created","sessions.last":"Last","sessions.adopt":"Adopt","sessions.actions":"Actions","sessions.details":"Details","sessions.copy":"Copy","sessions.copied":"Copied","sessions.locate":"Locate Topic","sessions.locating":"Sending...","sessions.cooldown":"Cooldown {seconds}s","sessions.openTerminal":"Terminal","sessions.writeLink":"Write Link","sessions.writeLinkHint":"Get a writable terminal link (carries a write-access token; opens in a new tab)","sessions.writeLinkFail":"Failed to get write link","sessions.close":"Close Session","sessions.restart":"Restart CLI","sessions.restartConfirmIntro":"You are about to restart this CLI.","sessions.restartConfirmStatus":"Current status","sessions.restartConfirmCli":"CLI","sessions.restartConfirmQuestion":"Restart this CLI?","sessions.restartFailed":"Restart failed","sessions.resume":"Resume Session","sessions.dismiss":"Close","sessions.closeConfirm":"Close this session?","sessions.resumeFailed":"Resume failed","sessions.land":"Land","sessions.landLoading":"Loading sandbox diff\u2026","sessions.landUnavailable":"Cannot land","sessions.landEmpty":"No changes in the sandbox clone.","sessions.landApply":"Apply to disk","sessions.landDiscard":"Discard","sessions.landApplied":"Landed","sessions.landFailed":"Land failed","sessions.landDiscarded":"Discarded (sandbox clone not applied).","sessions.insight":"Insight","sessions.insightLoading":"Analyzing\u2026","sessions.insightUnavailable":"Insight unavailable","sessions.insightEmpty":"No analyzable tool spans in this session yet.","sessions.insightMetrics":"spans {total} \xB7 failed {failed} \xB7 slow {slow} \xB7 read/write {rw} \xB7 compactions {compactions}","sessions.insightSuggestions":"Suggestions","sessions.insightSpans":"Action spans","sessions.insightCapped":"showing first {shown}/{total}","sessions.insightAsOf":"as of {asOf}","sessions.insightPartial":"(may exclude the in-flight latest turn)","monitorRoom.eyebrow":"Monitor room","monitorRoom.title":"Session Monitor Room","monitorRoom.subtitle":"Watch multiple session Web Terminals on one page for long-running multi-session work.","monitorRoom.backToSessions":"Back to sessions","monitorRoom.clear":"Clear","monitorRoom.clearConfirm":"Clear all sessions from the monitor room?","monitorRoom.summary":"{count} sessions, {live} terminals available","monitorRoom.autoActive":"Show active when empty","monitorRoom.autoActiveHelp":"Off by default. When enabled, an empty manual monitor list shows all sessions matching the Sessions page Active only filter.","monitorRoom.autoSummary":"No manual sessions; showing {count} active sessions, {live} terminals available","monitorRoom.emptySummary":"Monitor room is empty","monitorRoom.emptyTitle":"No sessions added yet","monitorRoom.emptyHelp":'Go back to Sessions, select sessions, then click "Add to monitor room".',"monitorRoom.autoEmptyTitle":"No active sessions","monitorRoom.autoEmptyHelp":"Auto display is enabled, but there are no sessions matching the Active only filter.","monitorRoom.openSessions":"Open sessions","monitorRoom.remove":"Remove","monitorRoom.openTerminal":"Open standalone terminal","monitorRoom.closePopover":"Close popover","monitorRoom.missing":"Not in the current list","monitorRoom.missingHelp":"This session may have been cleaned up, or the current dashboard snapshot has not loaded it yet.","monitorRoom.terminalUnavailable":"Terminal unavailable","monitorRoom.terminalUnavailableHelp":"The session may be closed, not started with a Web Terminal yet, or missing a reachable proxy port for this access mode.","monitorRoom.updated":"Updated {time}","nav.insights":"Data Insights","insights.title":"Data Insights","insights.refresh":"Refresh","insights.search":"Search session / bot / dir\u2026","insights.filter":"Filter","insights.filterAll":"All","insights.filterAllSessions":"All sessions","insights.filterAllCli":"All CLI","insights.filterReview":"Worth review","insights.filterFailed":"Has failures","insights.filterSlow":"Has slow spans","insights.loading":"Analyzing\u2026","insights.loaded":"Loaded {count} sessions","insights.unavailable":"Load failed","insights.listCount":"showing {shown}/{total}","insights.tabOverview":"Overview","insights.tabSessions":"Sessions","insights.tabDist":"Distribution","insights.tabHot":"Hotspots","insights.projectAll":"All projects","insights.timeAll":"All time","insights.time1d":"Last 1d","insights.time7d":"Last 7d","insights.time30d":"Last 30d","insights.clear":"Clear","insights.emptyAnalyzableHint":"Check \u201CIncl. unanalyzed\u201D to see the remaining sessions.","insights.showAll":"Incl. unanalyzed","insights.distHint":"Metric distribution across the currently filtered sessions \u2014 see the shape and where typical values land.","insights.distSpans":"Spans per session","insights.distFailed":"Failures per session","insights.distSlow":"Slow spans per session","insights.distAgentTime":"Agent working time","insights.distRw":"Read/write ratio","insights.distChurn":"Code churn (lines)","insights.distTrend":"Trend by day (last 4 weeks)","insights.distTrendSub":"sessions / day","insights.distMedian":"median {v}","insights.distEmpty":"No analyzable sessions under the current filter.","insights.disclosure":`Measurement note: durations count tool-execution time only and exclude time spent waiting for a user reply (question / plan approval), so they do not reflect wall-clock;
|
|
22
|
+
Codex reads files mostly via shell (exec_command), not counted as "read", so its read/write ratio runs low or 0;
|
|
23
|
+
Code churn is parsed from patches and covers only each session's most active files. Cross-tool distributions and ratios are indicative only, not directly comparable.`,"insights.rwNote":"Codex reads mostly via shell, not counted as reads","insights.viewSessions":"View sessions","insights.hotHint":"Cross-session recurrence \u2014 where it pays to converge.","insights.hotToolFailures":"Tool failure hotspots","insights.hotSlowSessions":"Slowest sessions","insights.hotProjects":"Projects","insights.hotFiles":"File recurrence","insights.hotCommands":"Command recurrence","insights.hotErrors":"Error recurrence","insights.hotComingSoon":"File / command recurrence hotspots coming soon (needs cross-session engine aggregation).","insights.hotSessionsCol":"sessions","insights.hotFailsCol":"fails","insights.hotSlowCol":"slow","insights.backToList":"Back to list","insights.sortLabel":"Sort","insights.sortRecent":"Recent","insights.sortReview":"Review","insights.sortSpans":"Spans","insights.sortFails":"Failures","insights.sortSlow":"Slow","insights.sortAgent":"Duration","insights.layoutCard":"Cards","insights.layoutTable":"Table","insights.colTitle":"Session","insights.colProject":"Project","insights.colTime":"Time","insights.paletteOpen":"Jump \u2318K","insights.palettePlaceholder":"Jump to a tab or search sessions\u2026","insights.paletteTabs":"Views","insights.paletteSessions":"Sessions","insights.paletteEmpty":"No matches","insights.tabFlow":"Flow","insights.flowHint":"Where the agent spends its actions and time across activity phases, and each session\u2019s rhythm.","insights.flowPipeline":"Activity-phase pipeline","insights.flowPipeSub":"research \u2192 edit \u2192 run \u2192 delegate \u2192 discuss; top = actions, bottom = time","insights.flowShares":"Action share vs time share","insights.flowActShare":"Action share","insights.flowTimeShare":"Time share","insights.flowRhythm":"Per-session rhythm (by duration)","insights.subagents":"Sub-agents","insights.subagentsHint":"Sub-agents this session delegated to (Task/Agent) \u2014 what each did and how long it ran.","insights.readsShort":"read","insights.editsShort":"edit","insights.durShort":"dur","insights.empty":"No matching sessions.","insights.selectSession":"Pick a session on the left to see action spans and suggestions.","insights.detailLoading":"Loading session detail\u2026","insights.recommendations":"Suggestions","insights.recommendationsHint":"Rule-based cross-session rollup, each traceable to a metric.","insights.noRecommendations":"No suggestions.","insights.seenInSessions":"seen in {count} sessions","insights.toolFailures":"Top tool failures","insights.toolFailuresHint":"Failed spans grouped by tool.","insights.noFailures":"No failed spans.","insights.metricSessions":"Sessions","insights.metricAnalyzed":"{count} analyzed","insights.metricSpans":"Spans","insights.metricSafe":"redacted","insights.metricFailed":"Failed spans","insights.metricSlow":"Slow spans","insights.metricRw":"Read/write","insights.metricCompactions":"compactions {count}","insights.spansShort":"span ","insights.failedShort":"fail ","insights.slowShort":"slow ","insights.rwShort":"r/w ","insights.unsupported":"CLI not supported","insights.noTranscript":"No transcript","insights.parseError":"Parse failed","insights.noSpans":"No analyzable spans.","insights.sevBad":"Critical","insights.sevWarn":"Warn","insights.sevInfo":"Info","insights.phase.research":"Research","insights.phase.edit":"Edit","insights.phase.run":"Run","insights.phase.delegate":"Delegate","insights.phase.discuss":"Discuss","insights.trace":"Action spans","insights.ledger":"Per-turn ledger","insights.detailTabs":"Detail views","insights.spanStatus":"Status","insights.spanTool":"Tool","insights.spanPhase":"Phase","insights.spanDuration":"Duration","insights.spanTurn":"Turn","insights.spanSummary":"Summary","insights.ledgerMore":"Show {count} more summaries","insights.ledgerOmitted":"{count} more hidden","insights.ledgerNoContent":"No redacted summary for this turn.","insights.diagShow":"Show evidence","insights.diagActive":"Viewing","insights.evMatched":"{count} matching spans","insights.evMatchedCapped":"{matched} matched \xB7 showing {shown}","insights.evDefault":"{shown} of {total} spans (focused)","insights.evShowAll":"Show all {count}","insights.evBackToEvidence":"Focused view","insights.intent.run_script":"Run script","insights.intent.test":"Test","insights.intent.typecheck":"Typecheck","insights.intent.lint":"Lint","insights.intent.git":"Git","insights.intent.search":"Search","insights.intent.read_file":"Read","insights.intent.edit_file":"Edit","insights.intent.write_file":"Write","insights.intent.delegate":"Delegate","insights.intent.unknown":"Action","insights.result.ok":"OK","insights.result.tool_error":"Tool error","insights.result.test_failed":"Test failed","insights.result.typecheck_failed":"Typecheck failed","insights.result.lint_failed":"Lint failed","insights.result.command_failed":"Command failed","insights.result.timeout":"Timeout","insights.result.no_output":"No output","insights.result.unknown":"Unknown","insights.tag.failure":"Failures","insights.tag.slow":"Slow","insights.tag.retry":"Retries","insights.tag.read_write_imbalance":"Read/write imbalance","insights.tag.diagnostic":"Diagnostic","insights.tag.normal":"Normal","insights.turnHeadline.turn_has_failures":"{failures} failures this turn","insights.turnHeadline.turn_has_slow_spans":"Slow operations this turn","insights.turnHeadline.turn_has_retries":"Retried the same action repeatedly","insights.turnHeadline.turn_read_write_imbalance":"Edit-heavy turn (edits {edits} / reads {reads})","insights.evTimeline":"Full timeline ({count} spans)","insights.evNoFlags":"No spans flagged as failure / slow / retry","insights.turnAllNormal":"All {count} turns look normal \u2014 nothing to review","insights.turnEvidence":"View {count} evidence spans","insights.turnHiddenNormal":"{count} normal turns hidden","insights.mReads":"Read","insights.mEdits":"Edit","insights.mRuns":"Run","insights.mFailures":"Fail","insights.mDur":"Time","insights.turnHeadline.turn_normal":"Normal","insights.rec.fix_repeated_tool_failures":"Repeated command failures need to converge","insights.rec.split_slow_operation":"Slow operations dragged the whole session","insights.rec.add_read_pass_before_edit":"Too little reading before editing","insights.rec.preserve_context_checkpoints":"Context was compacted \u2014 keep checkpoints","insights.impact.impact_failed_spans":"{failedSpans} actions failed (top: {topTool} \xD7{topToolFailures})","insights.impact.impact_slow_spans":"{slowSpansTotal} slow operations slowed progress","insights.impact.impact_low_read_write_ratio":"Edited {writeSpans}, read only {readSpans}","insights.impact.impact_context_compaction":"{compactions} context compactions this session","insights.why.why_tool_failure_concentrated":"Failures concentrate on {topTool} ({topToolFailures}\xD7) \u2014 likely one root cause","insights.why.why_slow_span_dominates":"A few long operations dominate; slowest is {slowestTool}","insights.why.why_edits_outpaced_reads":"Read/write ratio {readWriteRatio}; editing more than reading invites rework","insights.why.why_context_compaction_happened":"Long session was compacted; early decisions/context may be lost","insights.action.inspect_failed_span_details":"Open each failed action\u2019s detail to find the root cause","insights.action.add_preflight_or_timeout":"Add preflight checks or timeouts to frequently failing commands","insights.action.narrow_or_split_slow_operation":"Narrow or split slow operations (e.g. run targeted tests)","insights.action.surface_timeout_or_progress":"Surface timeouts/progress earlier instead of silently hanging","insights.action.read_or_search_before_editing":"Read or search an unfamiliar file before editing it","insights.action.verify_assumptions_before_running":"Verify assumptions before acting to avoid blind edits","insights.action.write_checkpoints_for_long_tasks":"Write decisions and checkpoints to notes for long tasks","insights.struct.shell":"shell command","insights.struct.fileEdit":"file edit","insights.struct.readSearch":"read/search","insights.struct.agentTask":"agent task","insights.struct.toolInput":"tool input","insights.struct.toolResult":"tool result","insights.struct.toolError":"tool error","insights.struct.patchFailed":"patch failed","insights.struct.patchApplied":"patch applied","insights.struct.exit":"exit {code}","insights.spanAll":"All","insights.dDetail":"Detail","insights.dCollapse":"Hide","insights.dPhase":"Phase","insights.dStart":"Start","insights.dDur":"Duration","insights.dIntent":"Intent","insights.dResult":"Result","insights.dIn":"Input","insights.dOut":"Output","insights.dTags":"Tags","insights.dTurnContext":"Turn {turn} context","insights.advice.failure":"\u{1F4A1} Read the error before retrying \u2014 don\u2019t retry blindly","insights.advice.retry":"\u{1F4A1} Same step retried repeatedly \u2014 find the root cause first","insights.advice.read_write_imbalance":"\u{1F4A1} Read the relevant files before editing to avoid rework","insights.advice.slow":"\u{1F4A1} Slow op: run targeted tests or split it up","insights.turnPrompt":"User","insights.turnExpand":"Expand {count} steps","insights.turnCollapse":"Collapse","insights.turnRail":"Session trace","insights.gantt":"Work timeline","insights.ganttCaption":"{span} actions \xB7 {dur} elapsed \xB7 {active} active","insights.ctxCurve":"Context curve","insights.ctxCaption":"Per-turn in+cache peak \xB7 max {peak} \xB7 {turns} turns","insights.ctxTurn":"Turn {n}","insights.railSubagent":"Subagent","insights.railSubagents":"{n} subagents","insights.turnPromptExpand":"Expand","insights.turnPromptCollapse":"Collapse","insights.turnPromptRaw":"Raw","insights.turnPromptRendered":"Rendered","insights.srcMentions":"mentions","insights.senderHuman":"User","insights.senderA2A":"A2A","insights.senderOther":"Other","insights.senderSystem":"System","insights.turnPromptFull":"Full text","insights.modalClose":"Close","insights.promptTruncated":"Long content, truncated","insights.replay":"Replay","insights.replayAgent":"agent ops","insights.replaySearch":"Search conversation\u2026","insights.replayBy":"From","insights.replayState":"State","insights.replayLoadMore":"Load more ({shown}/{total})","insights.replayAllLoaded":"All loaded ({total})","insights.replayEmpty":"No matching messages","insights.replayNoText":"(no text \u2014 see ops)","insights.replayOps":"{count} ops","insights.wsFiles":"File changes \xB7 {n}","insights.wsCmds":"Commands \xB7 {n}","insights.wsReads":"read {n}","insights.wsEdits":"edit {n}","insights.wsFail":"{n} failed","insights.wsNoFiles":"No file changes","insights.wsNoCmds":"No commands","insights.turnSummary":"{total} turns \xB7 {flagged} need attention","insights.dCommand":"Command","insights.dCmdOutput":"Output","insights.ledgerNormal":"By order","insights.ledgerGrouped":"By recommendation","insights.ledgerOther":"Other turns","insights.ledgerGroupCount":"{count} turns","insights.turnsCapped":"Only first {shown}/{total} actions \u2014 timeline may be incomplete","insights.suggestion.high_tool_failure.title":"Tool failures are concentrated","insights.suggestion.high_tool_failure.action":"Check failed spans first, then add preflight checks or timeout control for repeated failing commands.","insights.suggestion.tool_failure_present.title":"Some tool calls failed","insights.suggestion.tool_failure_present.action":"Review failed spans before repeating the workflow.","insights.suggestion.slow_span.title":"A slow span dominates the session","insights.suggestion.slow_span.action":"Split or bound the slow operation, and surface timeout or progress feedback earlier.","insights.suggestion.low_read_write_ratio.title":"Edits outpaced reads","insights.suggestion.low_read_write_ratio.action":"Add a read/search pass before edits when changing unfamiliar files.","insights.suggestion.context_compaction.title":"Context compaction happened","insights.suggestion.context_compaction.action":"For long tasks, preserve decisions and checkpoints in durable notes or smaller subtasks.","insights.suggestion.no_major_friction.title":"No major trace friction detected","insights.suggestion.no_major_friction.action":"Use the span timeline for spot checks or compare against slower sessions.","insights.evidence.failedSpans":"{count} failed spans","insights.evidence.toolFailedTimes":"{tool} failed {count} times","insights.evidence.multipleToolsFailed":"multiple tools failed","insights.evidence.toolRanSeconds":"{tool} ran for {seconds}s","insights.evidence.readWriteRatio":"read/write ratio {ratio}","insights.evidence.compactions":"compactions {count}","insights.evidence.spansAnalyzed":"{count} spans analyzed","connectors.createTitle":"New Webhook","connectors.editTitle":"Edit Webhook","connectors.fName":"Name","connectors.fNamePh":"e.g. Prod alerts","connectors.fBot":"Trigger bot","connectors.fKind":"Trigger type","connectors.kindTurn":"Single turn (bot responds once)","connectors.kindWorkflow":"Workflow","connectors.fWf":"Workflow ID","connectors.fMode":"Deliver to which group","connectors.modeDynamic":"Specified per request (chat passed in)","connectors.modeFixed":"Fixed group","connectors.modeNewGroup":"New group each time","connectors.fFixedChat":"Target group","connectors.fChatManualPh":"Enter chat ID manually: oc_\u2026","connectors.chatManualLink":"Group not listed? Enter ID manually \u2192","connectors.chatListLink":"\u2190 Pick from group list","connectors.fAllow":"Allowed groups","connectors.allowAll":"All groups","connectors.allowAllHint":"Allow requests to target any group","connectors.groupPickerPlaceholder":"Search and select a group","connectors.groupSearchPlaceholder":"Search by group name or ID","connectors.groupNoMatches":"No matching groups","connectors.groupSelectedCount":"{count} groups selected","connectors.optional":" (optional)","connectors.allowHint":"Restricts which chats dynamic requests may target. All groups means unrestricted.","connectors.dynamicHint":'<b>Dynamic mode</b>: the chat ID is passed per request, one of three ways \u2014 query <code>?chatId=<chatId></code> \xB7 header <code>x-botmux-chat-id: <chatId></code> \xB7 body <code>{"chatId":"<chatId>"}</code>.<br>For "one URL triggers directly, no params", choose Fixed group instead.',"connectors.fDedup":"Dedup field","connectors.fDedupPh":"e.g. alert.id (read from event body)","connectors.dedupHint":"Reads a business key from request JSON; supports alert.id or $.alert.id.","connectors.newGroupStrategy":"Group creation strategy","connectors.newGroupFresh":"Create a group for every call","connectors.newGroupFreshHint":"Best for independent events that need no ongoing follow-up.","connectors.newGroupReuse":"Reuse a group for the same event","connectors.newGroupReuseHint":"Groups later calls by business key for continued follow-up.","connectors.newGroupNotice":"This mode creates a group and invites the selected bot automatically. No existing group is required.","connectors.fInstruction":"Instruction","connectors.fInstructionPh":"What the bot should do after the event. Empty passes the raw event to the model.","connectors.fVerify":"Verification","connectors.verifyToken":"Token (simple: secret in the URL, one curl triggers it)","connectors.verifyHmac":"HMAC signature (advanced: more secure, sign the request yourself)","connectors.fSecret":"Secret / token","connectors.fSecretPh":"Leave empty to auto-generate (shown once)","connectors.fSecretEditPh":"Leave empty to keep the current secret; enter one to replace it","connectors.cancel":"Cancel","connectors.close":"Close","connectors.btnCreate":"Create","connectors.loading":"Loading\u2026","connectors.noBotGroups":"(This bot has no visible groups; enter an ID manually on the right)","connectors.modeLabelFixed":"Fixed group","connectors.modeLabelNewGroup":"New group each time","connectors.modeLabelDynamic":"Per-request group","connectors.kindLabelWorkflow":"Workflow","connectors.kindLabelTurn":"Single turn","connectors.empty":"No webhooks yet, create one from the upper-right button","connectors.enabled":"Enabled","connectors.disabled":"Disabled","connectors.badgeToken":"Token","connectors.badgeSign":"Signed","connectors.dest":'to "{name}"',"connectors.btnDisable":"Disable","connectors.btnEnable":"Enable","connectors.btnEdit":"Edit","connectors.btnSave":"Save","connectors.btnCancel":"Cancel","connectors.btnDel":"Delete","connectors.webhookUrl":"Webhook URL: ","connectors.copy":"Copy","connectors.copied":"Copied","connectors.tokenHint":"Token mode: append <code>/<token></code> to the URL when calling (the token is shown only on create/rotate).","connectors.dynamicReqHint":'Dynamic mode: the request must carry the target chat \u2014 <code>?chatId=<chatId></code> or header <code>x-botmux-chat-id</code> or body <code>{"chatId":"\u2026"}</code>.',"connectors.instructionPrefix":"Instruction: ","connectors.delConfirm":"Delete this webhook? Its URL stops working immediately.","connectors.errName":"Enter a name","connectors.errBot":"Pick a bot","connectors.errWf":"Enter a workflow ID","connectors.errChat":"Pick (or enter) a target group","connectors.errDedup":"Enter the business key used to reuse a group","connectors.creating":"Creating\u2026","connectors.saving":"Saving\u2026","connectors.updated":"All settings saved","connectors.enabling":"Enabling\u2026","connectors.disabling":"Disabling\u2026","connectors.deleting":"Deleting\u2026","connectors.usageDynamicLede":"Dynamic mode: the URL already has the token; pass the target chat ID when calling{gn}:","connectors.usageDynamicNote":'The chat can also go in header <code>x-botmux-chat-id</code> or body <code>{"chatId":"\u2026"}</code>. \u26A0\uFE0F The URL is the credential \u2014 keep it secret.',"connectors.usageTokenLede":"This URL already has the token and a fixed target group; just POST to trigger:","connectors.usageTokenNote":"\u26A0\uFE0F The URL is the credential \u2014 keep it private; delete or rotate it in the list below.","connectors.usageHmac":"The external system must HMAC-SHA256-sign <code>timestamp.body</code> and call with <code>x-botmux-timestamp</code> / <code>x-botmux-nonce</code> / <code>x-botmux-signature</code> headers","connectors.usageHmacDynamic":", and also pass the target chat ID as above","connectors.createdPrefix":'Created "{name}"',"connectors.createdDest":'to "{name}"',"connectors.tokenLabel":"Access token","connectors.signLabel":"Signing secret","connectors.secretOnce":" (shown once \u2014 save it): ","connectors.createFailed":"Create failed: {error}","connectors.saveFailed":"Save failed: {error}","connectors.toggleFailed":"Status update failed: {error}","connectors.deleteFailed":"Delete failed: {error}","connectors.noOnlineBots":"(No online bots)","connectors.storePayload":"Retain request parameters","connectors.storePayloadHint":"Stores redacted JSON bodies and headers for 14 days by default. You can turn this off from the list.","connectors.payloadLogged":"Parameters kept {days} days","connectors.metadataOnly":"Invocation metadata only","connectors.btnDisablePayloadLog":"Stop retaining parameters","connectors.btnEnablePayloadLog":"Retain request parameters","connectors.tabWebhooks":"Webhooks","connectors.tabLogs":"Invocation logs","webhookLogs.subtitle":"Review every invocation result, latency, request parameter, and resolved delivery target in one place.","webhookLogs.autoRefresh":"Auto-refreshes every 15s","webhookLogs.manage":"Manage webhooks","webhookLogs.summary":"Invocation summary","webhookLogs.total":"Total calls","webhookLogs.filteredRange":"Current filter range","webhookLogs.successRate":"Success rate","webhookLogs.calls":"successful calls","webhookLogs.failures":"Failed calls","webhookLogs.needsReview":"Needs review","webhookLogs.noFailures":"No failures in range","webhookLogs.p95":"P95 latency","webhookLogs.average":"Average","webhookLogs.allConnectors":"All webhooks","webhookLogs.allStatuses":"All results","webhookLogs.success":"Success","webhookLogs.failed":"Failed","webhookLogs.last24h":"Last 24 hours","webhookLogs.last7d":"Last 7 days","webhookLogs.last30d":"Last 30 days","webhookLogs.allTime":"All time","webhookLogs.search":"Search invocation logs","webhookLogs.searchPlaceholder":"Search Trigger ID, chat ID, errors, or parameters\u2026","webhookLogs.connector":"Webhook","webhookLogs.status":"Result","webhookLogs.timeRange":"Time range","webhookLogs.refresh":"Refresh","webhookLogs.loadFailed":"Failed to load invocation logs","webhookLogs.records":"Invocation records","webhookLogs.matching":"{count} matches","webhookLogs.loading":"Loading invocation logs\u2026","webhookLogs.empty":"No invocation records yet","webhookLogs.emptyHint":"Records appear here automatically after any webhook call.","webhookLogs.unknownConnector":"Unknown webhook","webhookLogs.loadMore":"Load more","webhookLogs.selectRecord":"Select a record to inspect its request","webhookLogs.copyJson":"Copy full JSON","webhookLogs.copied":"Copied","webhookLogs.failureReason":"Failure reason","webhookLogs.overview":"Invocation overview","webhookLogs.httpStatus":"HTTP status","webhookLogs.duration":"Duration","webhookLogs.action":"Action","webhookLogs.bodySize":"Body size","webhookLogs.remoteAddress":"Remote address","webhookLogs.target":"Delivery target","webhookLogs.queryParams":"Query parameters","webhookLogs.headers":"Request headers","webhookLogs.redacted":"Sensitive values redacted","webhookLogs.headersNotStored":"Request header retention is disabled for this webhook.","webhookLogs.payload":"Request body","webhookLogs.payloadDisabled":"Request body retention is disabled for this webhook; invocation metadata is still recorded.","webhookLogs.payloadTooLarge":"The request body exceeded 128 KB and was omitted to keep logs bounded.","webhookLogs.payloadUnavailable":"This invocation has no storable JSON request body.","webhookLogs.routeTarget":"Routing parameters","webhookLogs.none":"None","team.navHome":"My team","team.navManage":"Team management","team.eyebrow":"Team Collaboration","team.homeTitle":"Team Collaboration","team.localDeployTitle":"Current deployment","team.myIdentity":"My Lark identity: ","team.unbound":"Not bound","team.bindBtn":"Bind","team.bindHint":" (auto-identifies you via the bot credentials; once bound, pulling a group adds you and attributes the bots to you)","team.myTeams":"My teams","team.searchPh":"Search name / capability / CLI\u2026","team.allCli":"All CLIs","team.hasCap":"Has capability tag","team.hasRole":"Has default role","team.teamsHint":"Tick bots in any team to pull them into a group (each with its owner). To create a team / generate an invite code / join another team, go to Team management.","team.loading":"Loading\u2026","team.roleModalTitle":"Default role","team.roleModalHint":"The bot default persona (applies across groups), read-only here. To edit, go to the Bot Defaults page.","team.close":"Close","team.tagLocal":"Current deployment","team.tagRemoteStale":"Remote \xB7 offline?","team.tagRemote":"Remote","team.removeMember":"Remove","team.depTag":"({tag})","team.depCount":"{count}","team.depSelected":", {n} selected","team.capLabel":"Capability","team.capPh":"Capability tag\u2026","team.viewRole":"View","team.hasRoleShort":"Has role","team.noMatch":"No bots match the filters.","team.gnameLabel":"Group","team.gnamePlaceholder":"e.g. cross-team triage","team.gnamePh":"Group name (e.g. cross-team triage)","team.pullGroupBtn":"Pull ticked bots into a group","team.pullGroupHint":"Tick bots \u2192 pull into a Lark group (owner included automatically)","team.noTeams":"No teams yet. Go to Team management to generate an invite code for others to join you, or join another team.","team.connected":"Connected","team.connectFail":"Connection failed: {error}","team.iHost":"I host","team.teamMeta":"{deps} deployments \xB7 {bots} bots","team.rosterFail":"Could not fetch this team roster.","team.acrossTeams":" (across {n} teams, deduped)","team.botsWord":"bots","team.groupCreated":"Group created","team.delegatedBy":' (created by "{name}")',"team.openInLark":"Open in Lark","team.invalidBots":"Bots not added: {ids}","team.invalidOwners":"{n} owner(s) could not be added","team.missingIdentity":"You have not bound a Lark identity, so you were not added to the group (bind it in My team)","team.skippedNoOwner":"{n} bot(s) skipped because their owner has no bound identity (not added)","team.errNoLocalBot":"Tick at least one of your own (current deployment) online bots \u2014 the group is created by it and adds you (the initiator).","team.errAllSkipped":"None of the selected bot owners have a bound identity, so the group cannot be pulled (a bot cannot join a group without its owner). Have those deployments bind an identity first.","team.errNoCreator":"No available group creator (the relevant deployments have no online bot, or are unreachable)","team.errDelegationTimeout":"Timed out delegating group creation to the other deployment (it may have succeeded \u2014 check Lark, do not retry)","team.errGroupCreate":"Group creation failed: {error}","team.roleModalTitleName":"Default role \xB7 {name}","team.bound":"Bound","team.myHostedTeam":"My hosted team","team.remoteTeamLabel":"{name} team","team.manageTitle":"Team management","team.hostedTitle":"Teams I host","team.newTeamPh":"New team name","team.createTeamBtn":"Create team","team.joinTitle":"Join another team","team.hubPh":"Hub address, e.g. http://10.0.0.5:7891","team.codePh":"Invite code","team.joinBtn":"Join","team.noTeamsShort":"No teams yet.","team.default":"Default","team.manageMetaDeps":"{count} deployments","team.manageMetaRemote":" (incl. {r} remote)","team.manageMetaBots":"{count} bots","team.genInvite":"Generate invite code","team.delBtn":"Delete","team.generating":"Generating\u2026","team.inviteResultLede":"Send the two items below to someone on another deployment (valid once, within 24h):","team.inviteHub":"Hub address: ","team.inviteCode":"Invite code: ","team.genFail":"Generation failed.","team.delConfirm":'Delete team "{name}"? Deployments that joined it will be removed (their own deployments are unaffected).',"team.errName":"Enter a team name","team.creating":"Creating\u2026","team.created":"Created","team.createFail":"Create failed: {error}","team.errHubCode":"Enter the hub address and invite code.","team.joining":"Joining\u2026","team.joined":'Joined "{name}" \u2014 see it in My team.',"team.joinErrSelf":"This is your own deployment; you cannot join yourself (the invite code is for someone on another deployment).","team.joinErrAlready":"Your deployment already joined this team.","team.joinErrUnreachable":"Cannot reach the hub (check the address/network).","team.joinErrTimeout":"The hub timed out.","team.joinErrGeneric":"Join failed: {error}","team.identifying":"Identifying\u2026","team.bound2":"Bound: {name}","team.multiCandidate":"Multiple candidates found \u2014 click yourself:","team.binding":"Binding\u2026","team.bindFail":"Bind failed: {error}","team.noCandidates":"No identity found: make sure the bot has allowedUsers configured and contacts permission.","team.removeMemberConfirm":'Remove "{name}" from this team? Its bots disappear from this team roster (their own deployment is unaffected).',"team.creatingGroup":"Creating group\u2026","team.defaultGroupName":"Collaboration group","team.errPickBot":"Tick at least one bot first","sessions.closeBulkConfirm":"Close {count} selected sessions?","sessions.empty":"No sessions match the filters.","sessions.viewMode":"Session view","sessions.viewKanban":"Kanban","sessions.viewBoard":"Board","sessions.viewTable":"Table","sessions.selectSession":"Select session","sessions.board.needsYou":"Needs You","sessions.board.needsYouHint":"Repo, TUI, or usage limit waiting","sessions.board.starting":"Starting","sessions.board.startingHint":"CLI is spawning or resuming","sessions.board.working":"Working","sessions.board.workingHint":"Streaming, analyzing, or using tools","sessions.board.idle":"Idle","sessions.board.idleHint":"Ready for the next message","sessions.board.emptyColumn":"No sessions","sessions.board.signalRepo":"Repo needed","sessions.board.signalPrompt":"TUI choice needed","sessions.board.signalLimited":"Usage limited","sessions.board.signalAgent":"Needs human input","sessions.board.waiting":"Waiting","sessions.board.dragHint":"Drag header to reorder columns","sessions.board.moveLeft":"Move column left","sessions.board.moveRight":"Move column right","sessions.kanban.backlog":"Backlog","sessions.kanban.todo":"Todo","sessions.kanban.inProgress":"In Progress","sessions.kanban.inReview":"In Review","sessions.kanban.done":"Done","sessions.kanban.updated":"Updated {time}","sessions.kanban.moreHidden":"{count} more hidden","sessions.create.button":"Create session","sessions.create.title":"Create session","sessions.create.content":"Content","sessions.create.contentPlaceholder":"Describe the task; in Lead-dispatch mode you can assign different work to each agent here","sessions.create.bots":"Bots (added to the new group)","sessions.create.noBots":"No online bots to pick","sessions.create.mode":"Collaboration mode","sessions.create.modeAll":"Work together","sessions.create.modeLead":"Lead dispatch (recommended)","sessions.create.modeHelp":"Work together: every selected bot starts its own session with the same content. Lead dispatch: only the lead starts; it @-mentions the other bots in the chat to bring them in.","sessions.create.lead":"Lead bot","sessions.create.leadHelp":"The content goes to the lead, which decides when to bring up each sub-bot.","sessions.create.leadPickFirst":"Pick bots above first","sessions.create.column":"Initial column","sessions.create.columnInProgress":"In progress now","sessions.create.columnBacklog":"Backlog","sessions.create.columnHelp":"In progress: start immediately after the group is created. Backlog: create the group and add bots but do not start the CLI; drag to \u201CIn Progress\u201D or hit \u201CStart\u201D later to send the content.","sessions.create.advanced":"More options","sessions.create.optionalConfig":"Optional config","sessions.create.groupName":"Group name","sessions.create.groupNamePlaceholder":"Defaults to the first line of the content","sessions.create.workingDir":"Working directory","sessions.create.workingDirHelp":"Optional. If set, binds the new group to this directory (all bots work there). Leave blank to pick a repo via the /repo card in the chat (worktree creation supported).","sessions.create.submit":"Create","sessions.create.submitting":"Creating\u2026","sessions.create.cancel":"Cancel","sessions.create.start":"Start","sessions.create.errContent":"Please enter the content","sessions.create.errNoBot":"Pick at least one bot","sessions.create.errLead":"Lead must be one of the selected bots","sessions.create.failed":"Create failed","sessions.create.startFailed":"Start failed","sessions.create.doneTitle":"Created","sessions.create.doneInProgress":"Group created and session(s) started","sessions.create.doneBacklog":"Group created; session(s) queued in Backlog","sessions.create.partialFail":"{n} bot(s) could not be started \u2014 you can @-mention them in the chat to retry","sessions.create.openChat":"Open Feishu chat","sessions.create.close":"Close","sessions.kanban.openTab":"Open in new tab","sessions.kanban.openFeishu":"Open in Feishu","sessions.kanban.terminalLoading":"Opening terminal\u2026","sessions.kanban.rename":"Rename (double-click title works too)","sessions.kanban.renameFail":"Rename failed","sessions.kanban.moveFail":"Move failed","sessions.kanban.groupBy":"Group by","sessions.kanban.groupFlow":"Workflow","sessions.kanban.groupTeam":"Team","sessions.kanban.groupBot":"Bots","sessions.kanban.teamLoading":"Loading teams\u2026","sessions.kanban.noTeam":"No teams","sessions.kanban.teamScope":"{chats} collab chats \xB7 {sessions} sessions","sessions.kanban.remoteHint":"Session from the {name} deployment (snapshot; terminal/history live on their machine)","sessions.kanban.clusterDragHint":"Drag header to move the whole group","sessions.kanban.clusterExpand":"Expand grouped sessions","sessions.kanban.clusterCollapse":"Collapse grouped sessions","sessions.history.title":"History","sessions.history.loading":"Fetching Feishu messages\u2026","sessions.history.fail":"Failed to load history","sessions.history.empty":"No messages","sessions.history.user":"User","sessions.history.bot":"Bot","sessions.history.system":"System","sessions.history.owner":"Owner","sessions.history.staleHint":"The dashboard or daemon process may still run an old build \u2014 botmux restart and retry","groups.title":"Group Management","groups.matrixTitle":"Group Matrix","groups.search":"Search chat name / ID / owner","groups.missingOnly":"Missing bot only","groups.refresh":"Refresh","groups.create":"New Chat","groups.chat":"Chat","groups.actions":"Actions","groups.addBots":"Add Bots","groups.saveAsProfile":"Save Profile","groups.manage":"Manage","groups.empty":"No chats match the filters.","groups.paginationLabel":"Group list pagination","groups.pageStatus":"Showing {from}-{to}/{total} \xB7 Page {page}/{pages}","groups.prevPage":"Previous","groups.nextPage":"Next","groups.botCoverage":"Bot coverage","groups.memberSummary":"In chat {count}/{total}","groups.botStatusIn":"In chat","groups.botStatusOut":"Missing","groups.botStatusError":"Error","groups.botStatusUnknown":"Unknown","groups.profileStatusFull":"Fully matches {name} ({matched}/{total})","groups.profileStatusFullChat":"Group roles fully match {name} ({matched}/{total})","groups.profileStatusPartial":"Partially matches {name} ({matched}/{total})","groups.profileStatusUnmatched":"No profile match","groups.saveProfileTitle":"Save as Profile","groups.saveProfileIntro":'Save {count} in-chat bot configs from "{name}" as a profile snapshot.',"groups.saveProfileScope":"Save scope","groups.saveProfileScopeHelp":"In-chat bot config snapshot","groups.saveProfileBotCount":"Bots in chat","groups.saveProfileLoadFailed":"Load failed","groups.saveProfileStatus.entry":"Create entry","groups.saveProfileStatus.error":"Load failed","groups.saveProfileMode":"Save mode","groups.saveProfileNew":"New Profile","groups.saveProfileNewHelp":"Create a new snapshot by default; if the id exists, matching bot entries are overwritten.","groups.saveProfileOverwrite":"Overwrite Existing Profile","groups.saveProfileOverwriteHelp":"Pick an existing profile and overwrite entries for the same bots.","groups.saveProfileExistingMeta":"{count} entries","groups.saveProfileIdLabel":"Profile id","groups.saveProfileExistingLabel":"Existing Profile","groups.saveProfileExistingEmpty":"No existing profiles","groups.saveProfileTarget":"Target Profile","groups.saveProfileTargetNew":"Will create or update this profile with the in-chat bot snapshot","groups.saveProfileTargetOverwrite":"Will overwrite entries for these bots in the existing profile","groups.saveProfileEntrySummary":"Will create profile entries for {count} in-chat bots.","groups.saveProfileEntrySummaryWithEmpty":"Will create profile entries for {count} in-chat bots; {emptyCount} currently have no returned role content and will be saved as empty entries.","groups.saveProfileFailedLoadSummary":"{count} bot configs failed to load. Saving is paused to avoid an incomplete snapshot.","groups.saveProfileSubmit":"Save Profile","groups.saveProfileOverwriteSubmit":"Overwrite Save","groups.saveProfileInvalid":"Profile id may contain letters, numbers, dots, underscores, and hyphens only; max 64; cannot be . or ..","groups.saveProfileNoRoles":"This chat has no bot configs to save.","groups.saveProfilePreparing":"Loading config\u2026","groups.saveProfileSaving":"Saving\u2026","groups.saveProfileDone":"Saved {count} entries into {name}","groups.saveProfileFailed":"Saved only {saved}/{total} entries. Check offline bots or permissions.","groups.createTitle":"Create New Group","groups.createHelp":"Pick bots to invite. The dashboard chooses an online daemon as creator.","groups.name":"Group Name","groups.namePlaceholder":"e.g. AI ChangeLog","groups.bindDir":"Bind Directory","groups.bindDirHelp":"New topics start the CLI here and skip repo selection.","groups.roleProfile":"Profile","groups.roleProfileNone":"None","groups.roleProfileHelp":"After creation, send a profile apply bootstrap command in the new group.","groups.roleProfileBootstrapSent":"Profile: {name}; bootstrap message sent: {messageId}","groups.roleProfileBootstrapDone":"Profile: {name}; bootstrap completed with no peer bootstrap message needed.","groups.roleProfileBootstrapFailed":"Profile: {name}; bootstrap failed: {reason}","groups.botPicker":"Bots","groups.createSubmit":"Create Chat","groups.createSubmitting":"Creating\u2026","groups.cancel":"Cancel","groups.successTitle":"Group Created","groups.openGroup":"Open Group","groups.manageTitle":"Manage {name}","groups.owner":"Owner","groups.oncall":"Oncall Mode","groups.oncallHelp":"When enabled, group members can @ the bot; the selected bot's new topics in this group use its bound directory (binding is per-bot \u2014 only the checked bots are affected).","groups.leaveTitle":"Select Bots to Leave","groups.leaveSelected":"Selected Bots Leave","groups.disband":"Disband Group","groups.dangerHint":"Disband only works when an in-chat bot is the owner. Otherwise prefer leaving the chat.","groups.save":"Save","groups.needWorkingDir":"Working directory is required","groups.noBotsOnline":"No bots online. Restart the daemon first.","schedules.title":"Scheduled Tasks","schedules.search":"Search name / prompt / working dir","schedules.anyKind":"Any kind","schedules.enabledOnly":"Enabled only","schedules.name":"Name","schedules.bot":"Bot","schedules.schedule":"Schedule","schedules.next":"Next","schedules.last":"Last","schedules.repeat":"Repeat","schedules.enabled":"Enabled","schedules.paused":"Paused","schedules.actions":"Actions","schedules.runNow":"Run Now","schedules.running":"Running","schedules.runDone":"Done","schedules.saving":"Saving","schedules.saved":"Saved","schedules.failed":"Failed","schedules.pause":"Pause","schedules.resume":"Resume","schedules.delivery":"Delivery","schedules.deliveryOrigin":"Original thread","schedules.deliveryNewTopic":"New topic each run","schedules.deliveryLocal":"Log only","schedules.useNewTopic":"Switch to new-topic","schedules.useOrigin":"Switch to original","schedules.empty":"No schedules.","settings.title":"Global Settings","settings.loading":"Loading settings\u2026","settings.loadFailed":"Failed to load settings","settings.readOnlyVisitor":"Read-only access \u2014 changing settings requires an authorized link (run botmux dashboard).","settings.sectionAccess":"Access","settings.publicReadOnly":"Allow tokenless read-only dashboard access","settings.publicReadOnlyHelp":"Allows tokenless read-only dashboard access. Writes such as close, approve, or pause still require a token; raw terminal logs always require one.","settings.remoteAccess":"Remote terminal access","settings.remoteAccessHelp":"Off by default. Uses central-platform links for terminals, Feishu terminal entries, and webhooks. Off uses local links.","settings.sectionCards":"Feishu Cards","settings.openTerminalInFeishu":"Open streaming-card Web terminals in the Feishu sidebar","settings.openTerminalInFeishuHelp":"Off by default. Wraps Web Terminal links so Feishu opens them in the sidebar. Write access is still controlled by the terminal token.","settings.sectionExperimental":"Experimental","settings.chatBotDiscovery":"In-chat bot discovery (Feishu /members/bots)","settings.chatBotDiscoveryHelp":"On by default. Reads bot members in the current chat to improve multi-bot @ accuracy. Falls back to legacy discovery on failure; disable only if membership detection is wrong.","settings.sectionVcMeetingAgent":"Meeting Listener","settings.vcMeetingAgent":"Allow meeting listener features on this machine","settings.vcMeetingAgentHelp":"On by default. Controls whether bots on this host accept new meeting listener events. Off also skips listener restore; running meetings usually finish naturally.","settings.vcMeetingListenerBot":"Meeting listener bot identity","settings.vcMeetingListenerBotAuto":"Follow each bot config","settings.vcMeetingListenerBotHelp":"Chooses the bot that receives meeting events. Saving validates its lark-cli profile and meeting scopes, then enables the listener.","settings.vcMeetingListenerBotDisabled":"auto-enable on save","settings.vcMeetingListenerBotNoProfile":"profile required first","settings.larkCliReady":"lark-cli {version} \xB7 version requirement met","settings.larkCliOutdated":"lark-cli {version} is too old; VC bot joining requires \u2265 {minimum}","settings.larkCliMissing":"lark-cli was not detected; install it before using VC bot joining","settings.feishuLoginRequired":"Log in to the Feishu Open Platform to configure VC permissions automatically, then scan this QR code.","settings.feishuLoginQrAlt":"Feishu Open Platform login QR code","settings.feishuLoginClose":"Close login QR code","settings.sectionRepoPicker":"Repo Picker","settings.repoPickerMode":"Repo picker card mode","settings.repoPickerModeAll":"Repos + worktrees","settings.repoPickerModeRepos":"Main repos only","settings.repoPickerModeHelp":"Controls whether repo picker cards show linked worktrees. Explicit /repo paths can still open a worktree.","settings.sectionWhiteboard":"Local Whiteboard","settings.whiteboardEnable":"Enable project whiteboards","settings.whiteboardEnableHelp":"Off by default. Enables whiteboard support. Nothing is created until a chat and project first need it.","settings.saving":"Saving\u2026","settings.saved":"Saved","settings.saveFailed":"Save failed","settings.sectionSchedule":"Scheduled tasks","settings.scheduleTimeZone":"Timezone","settings.scheduleTimeZoneHost":"Follow host ({host})","settings.scheduleTimeZoneHelp":"Timezone for scheduled-task firing and display. Empty follows host zone ({host}); effective: {effective}.","settings.sectionMaintenance":"Auto Maintenance","settings.autoUpdate":"Auto update","settings.autoUpdateHelp":"Off by default. Updates the global install with its owning package manager (npm/pnpm). It updates the package only; no restart.","settings.autoRestart":"Auto restart","settings.autoRestartHelp":"Off by default and requires auto-update. After update, restarts during an idle window; busy sessions defer to the next window.","settings.autoUpdateLocalDev":"This is a local-dev install (running from source); auto-update is unavailable.","settings.autoUpdateUnsupportedInstall":"This install method cannot be auto-updated yet (npm/pnpm global installs are supported).","settings.maintenanceTime":"Time","update.section":"Version & Update","update.loginRequired":"Sign in to check the version, update, or restart.","update.loading":"Checking\u2026","update.checkFailed":"Check failed","update.current":"Current version","update.upToDate":"Up to date","update.newAvailable":"New version {version} available","update.checkUnavailable":"Couldn't fetch the latest version (offline or network-restricted)","update.nodeWarn":"Node {version} is too old; update requires \u2265 {required}. Please upgrade Node first.","update.localDev":'This is a local-dev install (running from source); "Update to latest" is unavailable \u2014 use git pull + build, then restart.',"update.multiInstallWarn":"Multiple botmux installs detected. This update only changes the package-manager location that owns the running install:","update.kindNpm":"npm-global","update.kindPnpm":"pnpm-global","update.kindYarn":"Yarn global (update unsupported)","update.kindBun":"Bun global (update unsupported)","update.kindSource":"source checkout","update.kindUnknown":"unknown","update.btnCheck":"Check for updates","update.btnChangelog":"View what's new","update.btnChangelogHide":"Hide changelog","update.btnUpdate":"Update to latest","update.btnRestart":"Restart botmux","update.changelogLoading":"Loading changelog\u2026","update.changelogEmpty":"No release notes newer than the current version.","update.changelogFailed":"Couldn't load the changelog (offline or network-restricted).","update.changelogRateLimited":"GitHub API rate limit hit (60 req/h per IP unauthenticated, easily tripped on shared networks). Try again later.","update.changelogViewOnGitHub":"View on GitHub Releases","update.navBadgeTitle":"New version {version} available","update.confirmMultiInstall":`Multiple botmux installs detected:
|
|
24
|
+
{paths}
|
|
25
|
+
|
|
26
|
+
Only the running install location will be updated. Continue anyway?`,"update.confirmUpdate":"This will run {command} to update to {version}. Continue?","update.confirmUpdateNoVer":"This will run {command} to update to the latest version. Continue?","update.nodeTooOldAlert":"Node {version} is too old (requires \u2265 {required}). Please upgrade Node before updating.","update.updating":"Updating ({command})\u2026","update.unsupportedInstall":"This install cannot be auto-updated safely. Only npm/pnpm global installs are supported; update manually with the owning package manager.","update.updatedChanged":"Updated {old} \u2192 {new}.","update.confirmRestart":"A restart is required to apply the new version. Restart now? (Sessions cold-resume; the dashboard briefly disconnects and reconnects.)","update.alreadyLatestRun":"Already on the latest version ({version}); nothing to update.","update.updateFailed":"Update failed: {detail}","update.noRestartHint":"Update installed. Restart later (botmux restart) to apply the new version.","update.confirmPlainRestart":"Restart botmux? Sessions cold-resume; the dashboard briefly disconnects and reconnects.","update.restarting":"Restarting botmux, waiting to reconnect\u2026","update.restartSlow":"Restart is taking a while; please refresh the page manually.","update.restartFailed":"Restart failed: {detail}","skills.title":"Skill Management","skills.installed":"Installed Skills","skills.installedHelp":"Skills in the local registry that bots can disclose first.","skills.metricInstalled":"Installed Skills","skills.metricBots":"Configured Bots","skills.metricAttached":"Priority refs","skills.install":"Install Skill","skills.installInfoLabel":"Install location details","skills.installInfo":"Registry metadata is stored in ~/.botmux/skills/registry.json; installed content lives under ~/.botmux/skills/store. Local CLI Skills are referenced in place and do not modify CLI global directories.","skills.source":"Import Address","skills.sourcePlaceholder":"Paste a GitHub repo, Git URL, agentbuddy install command, or local Skill directory","skills.sourceHelpRemoteLabel":"GitHub / Git: ","skills.sourceHelpRemote":"Paste a repository root URL. Repositories with multiple Skills can be selected after clicking Install.","skills.sourceHelpLocalLabel":"Local CLI Skill directory: ","skills.sourceHelpLocal":"Referenced in place without copying into the botmux store.","skills.sourceHelpAgentbuddyLabel":"AgentBuddy: ","skills.sourceHelpAgentbuddy":"Paste an agentbuddy install command, e.g. agentbuddy skill collection add <uid> / agentbuddy plugin collection add <uid>; the open-source skills CLI form skills add owner/repo also works (via GitHub install). agentbuddy commands need the deploy host logged in via agentbuddy login.","skills.agentbuddyNotFound":"agentbuddy CLI not found on the deploy host. Install it globally there, or set BOTMUX_AGENTBUDDY_CMD.","skills.agentbuddyNeedsLogin":"agentbuddy on the deploy host is not logged in. Run agentbuddy login there and retry.","skills.agentbuddyCommandFailed":"agentbuddy install failed \u2014 check the deploy-host logs.","skills.agentbuddyTelemetryFailed":"Embedded-telemetry removal failed; install aborted (set BOTMUX_AGENTBUDDY_KEEP_TELEMETRY=1 to keep it).","skills.agentbuddyNoSkill":"agentbuddy produced no Skill \u2014 check the identifier.","skills.agentbuddyInvalid":"Invalid agentbuddy identifier format.","skills.discover":"Discover Skills","skills.localDiscover":"Browse Local Skills","skills.localDiscoverTitle":"Local CLI Skills","skills.localDiscoverHelp":"Scans locally installed CLI Skills and registers them as local references.","skills.scan":"Scan","skills.scanning":"Scanning","skills.scanFound":"Found {count} Skills","skills.scanEmpty":"No installable Skills were found.","skills.sourceRequired":"Enter an import address first.","skills.advanced":"Advanced Options","skills.discoverTitle":"Discover Local CLI Skills","skills.discoverHelp":"Scans Skill directories used by configured bots. Selected Skills are registered as local links without copying files.","skills.discoverEmpty":"No registerable Skills were found in local CLI skill directories.","skills.discoverGroupEmpty":"No registerable Skills were found in this CLI directory.","skills.discoverRegistered":"Registered","skills.discoverSelectAll":"Select unregistered","skills.discoverClearSelection":"Clear selection","skills.discoverRegister":"Register selected","skills.discoverClose":"Close","skills.discoverNothingSelected":"Select at least one unregistered Skill.","skills.discoverRegisteringBatch":"Registering {total} Skills","skills.sourceCodex":"Local Codex","skills.sourceClaude":"Local Claude","skills.sourceTrae":"Local Trae","skills.sourceCursor":"Local Cursor","skills.sourceGemini":"Local Gemini","skills.sourceOpenCode":"Local OpenCode","skills.sourceLocalLink":"Local link","skills.sourceBotmuxCopy":"botmux store","skills.path":"Repo Path (optional)","skills.pathPlaceholder":"Leave empty to scan the repository root, or enter one Skill directory","skills.ref":"Ref (optional)","skills.refPlaceholder":"Blank uses the GitHub URL ref or default HEAD","skills.link":"Local link (no copy)","skills.installSubmit":"Install","skills.installSelected":"Install Selected","skills.installSelectionTitle":"Select Skills to Install","skills.installSelectionHelp":"Found {count} Skills. Clear items you do not need before installing.","skills.installSelectionCancel":"Cancel","skills.update":"Update","skills.remove":"Remove","skills.pageStatus":"{page} / {pages}","skills.prevPage":"Previous page","skills.nextPage":"Next page","skills.empty":"No installed skills yet. Install from a local directory, Git, or GitHub.","skills.apiUnavailable":"This Dashboard backend does not expose the Skill API. Usually the frontend was updated before the botmux process restarted. Restart botmux, then refresh this page.","skills.globalDefaults":"Global Skill Delivery","skills.globalProject":"Workspace Skills","skills.globalProjectOff":"Ignore workspace Skills","skills.globalProjectOffHelp":"Read global CLI Skills and botmux Skills only","skills.globalProjectAll":"Read workspace Skills","skills.globalProjectAllHelp":`Read .agents/skills and
|
|
27
|
+
.botmux/skills`,"skills.globalDelivery":"Skill Delivery","skills.bots":"Bot Skill Settings","skills.botsHelp":"Choose priority Skills for each bot to disclose first.","skills.botCount":"{count} Bots","skills.skillCount":"{count} Skills","skills.attach":"Add to priority","skills.detach":"Remove","skills.detachNamed":"Remove {skill}","skills.delivery":"Injection","skills.deliveryAuto":"Auto","skills.deliveryAutoHelp":"Use native CLI delivery first; fall back to Prompt when unsupported","skills.deliveryPrompt":"Prompt","skills.deliveryPromptHelp":"Inject the Skill catalog into the session prompt; works with every CLI","skills.deliveryNative":"Native","skills.deliveryNativeHelp":"Use only the CLI native Skill mechanism; no Prompt fallback","skills.projectMode":"Workspace Skills","skills.projectDefault":"Follow global","skills.projectDefaultHelp":"Use the project default on the left","skills.projectOff":"Do not read","skills.projectOffHelp":"This bot ignores workspace skills","skills.projectAll":"Read","skills.projectAllHelp":"This bot includes workspace skill candidates","skills.priority":"Priority skills","skills.noPriority":"Not configured, keeping CLI default behavior","skills.pickerPlaceholder":"Select priority Skills","skills.pickerSelectedCount":"{count} Skills selected","skills.pickerTriggerHint":"Click to search or edit the selection","skills.pickerSearchPlaceholder":"Search Skill names or descriptions","skills.pickerSelectionMeta":"{selected} selected \xB7 {total} total","skills.pickerClear":"Clear","skills.pickerNoResults":"No matching Skills","skills.saveSelection":"Save selection","skills.cancel":"Cancel","skills.saving":"Saving\u2026","skills.policySaved":"Priority Skills saved","skills.dangling":"Not installed","skills.removeInUse":'Skill "{skill}" is still referenced by: {refs}. Removing it deletes the registry package but does not automatically clean references. Continue?',"skills.saved":"Saved","skills.failed":"Failed","skills.jobRunning":"Working...","skills.refresh":"Refresh","botDefaults.title":"Bot Config","botDefaults.metaOnline":"Online \xB7 daemon healthy","botDefaults.search":"Search bot name / app id","botDefaults.refresh":"Refresh","botDefaults.sectionOncall":"New-chat Oncall","botDefaults.sectionBrand":"Card Signature","botDefaults.renameTitle":"Rename bot","botDefaults.renameAction":"Rename","botDefaults.renameSave":"Save","botDefaults.renameCancel":"Cancel","botDefaults.renameEmpty":"Name cannot be empty","botDefaults.renaming":"Syncing to the Feishu open platform (rename + publish a new version, ~10s)\u2026","botDefaults.renameOkFeishu":"Feishu app renamed \u2014 the name in chats is live","botDefaults.renameLocalOnly":"Feishu-side rename failed ({reason}); only the dashboard display name was updated","botDefaults.renameWarn.no_session":"No Feishu web session on the server \u2014 run botmux setup there to scan the QR again","botDefaults.renameWarn.session_expired":"The Feishu web session expired \u2014 run botmux setup on the server to scan the QR again","botDefaults.renameWarn.no_access":"The cached Feishu account is not a collaborator of this app","botDefaults.renameWarn.unsupported_brand":"Auto-rename is not supported for international Lark tenants yet","botDefaults.renameFailed":"Rename failed: {error}","feishuLogin.entry":"Scan to log in to Feishu","feishuLogin.title":"Refresh Feishu login by QR","feishuLogin.starting":"Fetching QR code\u2026","feishuLogin.scanHint":"Scan with the Feishu app and confirm to authorize renaming (session stays on this server, shared with setup)","feishuLogin.success":"\u2713 Logged in \u2014 retrying the rename\u2026","feishuLogin.failed":"Login failed: {reason}","feishuLogin.retry":"Get a new QR code","feishuLogin.close":"Close","feishuLogin.qrAlt":"Feishu login QR code","botDefaults.sectionAgent":"CLI / Model","botDefaults.agentCli":"CLI","botDefaults.agentModel":"Model","botDefaults.agentModelPlaceholder":"Leave empty for the CLI default model","botDefaults.agentHelp":"Affects new sessions only. Existing sessions keep their original CLI / model until closed and started again.","botDefaults.agentSave":"Save CLI / Model","botDefaults.skillInjection":"botmux skills injection","botDefaults.skillInjectionDynamic":"Dynamic (--plugin-dir, per session)","botDefaults.skillInjectionDynamicUnsupported":"Dynamic (not supported by this CLI)","botDefaults.skillInjectionPrompt":"prompt \u2014 into session prompt, no global dir","botDefaults.skillInjectionGlobal":"global \u2014 install into CLI global skills dir","botDefaults.skillInjectionOff":"off \u2014 only a botmux --help pointer","botDefaults.skillInjectionHelpDynamic":"This CLI supports --plugin-dir injection. Skills are session-scoped, not written to global directories, and need no extra setup.","botDefaults.skillInjectionHelp":"Choose how botmux skills are delivered: prompt is the default and injects them at session start without touching global dirs; global installs into the CLI global skills dir; off keeps only the botmux --help pointer. Applies next session; switching global requires a daemon restart.","botDefaults.agentSaved":"Saved (takes effect next session)","botDefaults.warning":"When enabled, chats without an oncall binding auto-bind to this directory on their next new topic. Manually bound or unbound chats are preserved.","botDefaults.empty":"No bots online. Run botmux restart first.","botDefaults.defaultOncall":"Default to oncall mode","botDefaults.defaultOncallHelp":"Unbound chats auto-bind on the next new topic","botDefaults.workingDir":"Default Working Directory","botDefaults.lastEnabled":"Last Enabled","botDefaults.autobound":"{count} chats auto-bound","botDefaults.save":"Save","botDefaults.required":'Working directory is required for "Default directory only" or "Oncall mode"',"botDefaults.sectionWorkingDir":"Default Working Directory","botDefaults.workingDirMode":"Mode","botDefaults.workingDirField":"Directory","botDefaults.workingDirModeOff":"Off (new sessions show the repo picker)","botDefaults.workingDirModeDefault":"Default directory only (no permission change)","botDefaults.workingDirModeOncall":"Oncall mode (open chat to the whole group)","botDefaults.workingDirModeHelp":"Sets where new sessions start: Off shows the repo picker; Default directory starts there without permission changes; Oncall adds automatic group chat access on top. Applies next session.","botDefaults.autoWorktree":"Auto-create a worktree per new session","botDefaults.autoWorktreeHelp":"Only for Default directory mode. Creates an isolated git worktree per new session to avoid collisions; falls back to the default dir on failure. /close does not remove worktrees.","botDefaults.workingDirSaved":"Saved (takes effect next session)","botDefaults.brandLabel":"Signature (card footer)","botDefaults.brandLabelHelp":"Footer signature for cards sent by this bot. Empty hides it; custom text supports Markdown; reset shows botmux.","botDefaults.brandLabelPlaceholder":"Default: botmux (empty = hidden)","botDefaults.sectionSandbox":"File sandbox (oncall)","botDefaults.sandboxToggle":"Enable file sandbox","botDefaults.sandboxHelp":"Runs new sessions in an isolated project copy so real files, secrets, and other sessions are not directly visible. Linux only; intended for oncall sharing.","botDefaults.sandboxSaved":"Saved (applies to the next new session)","botDefaults.brandSave":"Save Signature","botDefaults.brandReset":"Reset to default","botDefaults.brandStateDefault":"Current: default botmux","botDefaults.brandStateOff":"Current: off","botDefaults.brandStateCustom":"Current: custom","botDefaults.sectionCard":"Card Behavior","botDefaults.disableStreaming":"Disable streaming card","botDefaults.disableStreamingHelp":"Disables the live session card and Web Terminal entry. Final results are still sent as messages.","botDefaults.silentTurnReactions":"Disable status reactions in card-off mode","botDefaults.silentTurnReactionsHelp":"When streaming cards are off, botmux can mark received/done with reactions. Enable this to suppress those reactions too.","botDefaults.writableLink":"Put a writable terminal link on the card","botDefaults.writableLinkHelp":"Shows a writable terminal link in the streaming card. Anyone in the chat can operate it, so use only in trusted groups.","botDefaults.writableLinkMoot":"Streaming card disabled \u2014 this has no effect","botDefaults.privateCard":"/card sends a private card (authorized users only)","botDefaults.privateCardHelp":"/card is visible only to owner/allowedUsers. It is a static snapshot, works only in regular groups, and does not affect automatic streaming cards.","botDefaults.sectionCrossBot":"Cross-bot","botDefaults.botToBotSameDir":"bot@bot same-directory launch","botDefaults.botToBotSameDirHelp":"On by default. When this bot is @-ed into a chat where another bot is already working, reuse that bot's directory and skip repo selection. Off uses this bot's own directory rules.","botDefaults.cardPrefSaved":"Saved","botDefaults.sectionSummaryTrigger":"/summary Range","botDefaults.summaryLimit":"Recent message count","botDefaults.summarySinceHours":"Recent hours","botDefaults.summaryLimitHelp":"History range read by /summary. Default is latest 50 messages or 24 hours; set either value to 0 to remove that limit. Topic groups read only the current topic.","botDefaults.summarySave":"Save summary range","botDefaults.summaryNumberInvalid":"Hours and message count must be 0 or a positive integer","botDefaults.sectionRole":"Default Role","botDefaults.roleHelp":"Default role injected into this bot's sessions. Individual chats can override it in Role Management. Saving empty deletes it.","botDefaults.rolePlaceholder":"e.g. You are a backend triage assistant; answer concisely, prefer runnable commands\u2026","botDefaults.roleSave":"Save role","botDefaults.roleSaved":"Saved","botDefaults.roleDeleted":"Deleted","botDefaults.roleLoadErr":"Failed to load role","botDefaults.profileRoles":"Profile Roles","botDefaults.profileRolesHelp":"Role entries for this bot in Profiles. Expand a profile to load details.","botDefaults.profileRolesEmpty":"This bot has no profile roles.","botDefaults.profileRolesLoadFailed":"Failed to load profile roles: {error}","botDefaults.profileRoleClickToLoad":"Expand to load role details.","botDefaults.profileRoleDetailLoadFailed":"Failed to load role detail: {error}","botDefaults.sectionAutoStart":"Proactive Start","botDefaults.autoStartJoin":"Auto-start when added to a new chat","botDefaults.autoStartJoinHelp":"Starts a session when the bot joins a new chat that contains an authorized user, without requiring @. Uses the default directory or shows repo selection. Requires the bot-joined event and member-read scope.","botDefaults.autoStartJoinPrompt":"First-turn prompt on join (optional)","botDefaults.autoStartJoinPromptPlaceholder":"Filled = used as the first task after joining; blank = the bot reads the chat and decides what to do","botDefaults.autoStartJoinPromptSave":"Save prompt","botDefaults.autoStartTopic":"Auto-start on new topics in topic groups","botDefaults.autoStartTopicHelp":"In topic groups, automatically joins each new topic and handles its first message without @. Regular groups are unaffected.","botDefaults.sectionSessionMode":"Session mode","botDefaults.p2pMode":"Private chat session mode","botDefaults.p2pThread":"thread (separate session per DM)","botDefaults.p2pChat":"chat (flat continuous session)","botDefaults.p2pHelp":"Private chat session mode: thread creates one session per top-level message; chat shares one continuous session. Applies immediately.","botDefaults.regularGroupMode":"Regular group session mode","botDefaults.regularGroupModeChat":"chat (flat continuous session, default)","botDefaults.regularGroupModeChatTopic":"chat-topic (flat continuous at top level, native topics each get their own session)","botDefaults.regularGroupModeNewTopic":"new-topic (each top-level @ opens its own topic & session)","botDefaults.regularGroupModeShared":"shared (topic display, reusing one session)","botDefaults.regularGroupModeHelp":"Regular group mode for top-level @mentions: chat = one continuous group session; chat-topic = native topics get separate sessions; new-topic = each @ opens a topic and session; shared = topic UI with shared session. Chat-level /reply-mode can override it.","botDefaults.mentionMode":"Group @ policy","botDefaults.mentionModeAlways":"Always require @ (default)","botDefaults.mentionModeTopic":"No @ needed inside topics","botDefaults.mentionModeNever":"Never require @","botDefaults.mentionModeAmbient":"No @ needed, but yields when you @ someone else","botDefaults.mentionModeHelp":"Controls whether group messages must @ the bot. Options allow @ only, topic follow-ups without @, all messages without @, or yielding when the message @mentions someone else. Private chats never require @.","botDefaults.docSubscribeMode":"Doc subscription trigger (default)","botDefaults.docSubscribeModeMention":"Only when a comment @s me","botDefaults.docSubscribeModeAll":"Every new comment","botDefaults.docSubscribeModeHelp":"Default trigger range for new document subscriptions. @mentions only is quieter; every comment is suitable for dedicated docs.","botDefaults.sectionSubstitute":"Substitute mode","botDefaults.substituteEnabled":"Enable substitute trigger","botDefaults.substituteHelp":"In regular groups, when a configured substitute target is @mentioned, this bot answers on their behalf. The sender still needs canTalk. Recommended with Oncall mode so group members can naturally @ the substitute target. Use /substitute off to disable it for a specific group.","botDefaults.substituteDisclosure":"Disclosure","botDefaults.substituteDisclosurePrefix":"Default: say I am answering for them","botDefaults.substituteDisclosureNone":"No extra disclosure","botDefaults.substituteTargetsPlaceholder":`alice@example.com
|
|
28
|
+
ou_xxxx (open_id / union_id also accepted)`,"botDefaults.substituteTargets":"Substitute targets","botDefaults.substituteTargetsHelp":"Each row is one substitute target. Enter an email to resolve it to an Open ID on save, or select Open ID, User ID, or Union ID. Emails that cannot be resolved are flagged.","botDefaults.substituteTargetType":"Identifier type","botDefaults.substituteTargetEmail":"Email","botDefaults.substituteTargetOpenId":"Open ID","botDefaults.substituteTargetUserId":"User ID","botDefaults.substituteTargetUnionId":"Union ID","botDefaults.substituteTargetIdPlaceholder":"Enter a Lark user identifier or email","botDefaults.substituteTargetName":"Display name","botDefaults.substituteTargetNamePlaceholder":"Display name (optional)","botDefaults.substituteTargetAdd":"Add substitute target","botDefaults.substituteTargetRemove":"Remove substitute target","botDefaults.substituteTargetsInvalid":"Add at least one valid substitute target before enabling; emails must resolve to an Open ID","botDefaults.substituteTargetsRequired":"Enabling the substitute trigger needs at least one target that resolves to an open_id","botDefaults.substituteResolving":"Resolving\u2026","botDefaults.substituteUnresolved":"unresolved","botDefaults.substituteSave":"Save substitute mode","botDefaults.substituteOff":"Turn off global substitute config","botDefaults.sectionGrant":"Authorization & Quota","botDefaults.autoGrantCard":"Auto grant card for blocked @mentions","botDefaults.autoGrantCardHelp":"When an unauthorized user or external bot @mentions this bot, send a /grant request card to the owner. Off still blocks, but silently.","botDefaults.restrictGrant":"Restrict grantees to plain conversation","botDefaults.restrictGrantHelp":"Restricts /grant users to plain conversation. Botmux commands, passthrough commands, CLI-native commands, and workflow commands are blocked; the owner is exempt.","botDefaults.quotaDefault":"Default message quota","botDefaults.quotaPlaceholder":"Empty = no default quota","botDefaults.quotaHelp":"Default quota for bare /grant @user. Saving empty stops assigning a default; existing quotas and explicit /grant @user N are unchanged. Authorization is revoked when quota runs out.","botDefaults.quotaSave":"Save quota","botDefaults.quotaInvalid":"Quota must be a positive integer","botDefaults.quotaStateOff":"Current: no default quota","botDefaults.quotaStateOn":"Current: {count} per grantee","botDefaults.sectionSessionCap":"Resident session limit","botDefaults.maxLiveWorkers":"Max resident sessions","botDefaults.maxLiveWorkersPlaceholder":"Empty = default 30","botDefaults.maxLiveWorkersUsage":"Resident {resident}/{cap} \xB7 dormant {dormant} \xB7 total {logical}","botDefaults.maxLiveWorkersHelp":"Maximum sessions this bot keeps resident in memory. Beyond it, the least-recently-used session is suspended: its background process and CLI exit to reclaim memory, while the conversation remains resumable. The next message cold-restores context from disk, usually within a few seconds. Empty = default 30; enter a number for a per-bot override. A session producing an answer is never interrupted; adopted external terminals and non-resumable sessions are exempt.","botDefaults.maxLiveWorkersSave":"Save limit","botDefaults.maxLiveWorkersOff":"Reset to default","botDefaults.maxLiveWorkersInvalid":"Limit must be a positive integer","botDefaults.maxLiveWorkersStateDefault":"Current: 30 resident sessions by default","botDefaults.maxLiveWorkersStateOn":"Current: up to {count} resident sessions","botDefaults.sectionRuntimeEnv":"Startup environment","botDefaults.sectionStartupCommands":"Startup commands","botDefaults.startupCommandsHelp":"CLI commands sent automatically after launch and before the first message. Use commas or new lines; replayed on every new or resumed session. Native CLI sessions only.","botDefaults.startupCommandsPlaceholder":"One per line, e.g. /effort ultracode","botDefaults.startupCommandsSave":"Save startup commands","botDefaults.sectionLaunchShell":"Launch shell","botDefaults.launchShellHelp":"Shell used to launch the CLI, such as zsh or /usr/bin/zsh, overriding the daemon $SHELL. Use it to avoid login-shell rc redirection issues; PATH must still be available in that shell. Applies next session.","botDefaults.launchShellPlaceholder":"e.g. zsh or /usr/bin/zsh; empty = $SHELL","botDefaults.launchShellSave":"Save launch shell","botDefaults.sectionEnv":"Environment variables","botDefaults.envHelp":"JSON environment variables injected into this bot's CLI process. Values may be string, number, or boolean; reserved BOTMUX_ / LARK_APP_ keys are ignored. Applies next session and is stored in plaintext in bots.json.","botDefaults.envPlaceholder":`{
|
|
29
|
+
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
|
|
30
|
+
"ANTHROPIC_AUTH_TOKEN": "your GLM Coding Plan key"
|
|
31
|
+
}`,"botDefaults.envSave":"Save environment variables","nav.roles":"Role Management","nav.groupRoles":"Group Roles","nav.roleProfiles":"Profiles","roles.title":"Role Management","roleProfiles.title":"Profiles","roles.search":"Search group / bot / ID","roles.refresh":"Refresh","roles.selectHint":"\u2190 Expand a group and select a bot to edit its role","roles.editorPlaceholder":`Enter role description, e.g.:
|
|
32
|
+
You are a code reviewer for this group...`,"roles.injectModeLabel":"Injection","roles.injectModeEvery":"Every turn (default)","roles.injectModeOnce":"Only once (first turn)","roles.injectModeHint":'"Only once" injects the role at session start/rebuild and never re-sends it, saving tokens; saved instantly on change',"roles.configured":"Configured","roles.unconfigured":"None","roles.noChats":"No groups","roles.preview":"Preview","roles.previewEmpty":"(empty)","roles.saved":"Saved","roles.delete":"Delete","roles.save":"Save","roles.confirmDelete":"Delete this bot's role config for this group?","roles.botsWithRoles":"bots configured","roles.emptyError":"Role content cannot be empty","roles.saveFailed":"Save failed, please retry","roles.tabGroups":"By Group","roles.tabProfiles":"Profiles","roles.profileIdPlaceholder":"profile id, e.g. collab-main","roles.profileIdInvalid":"Profile id may contain letters, numbers, dots, underscores, and hyphens only; max 64; cannot be . or ..","roles.openProfile":"Open","roles.profileSearch":"Search profile","roles.profileSelectHint":"\u2190 Select or enter a profile to edit","roles.profileEmpty":"No Profiles","roles.profileEntries":"entries","roles.profileMissing":"Missing","roles.profileRuntimeHint":"Profiles are reusable suites; applying one writes a group role, not a new runtime layer.","roles.profileBots":"Bot Entries","roles.profileEditorPlaceholder":"Enter this bot's Markdown role for this profile...","roles.saveEntry":"Save Entry","roles.profileBotSelectHint":"Select a bot to edit its entry in this profile","roles.applyToGroup":"Apply To Group","roles.applyForce":"Overwrite existing group roles","roles.previewApply":"Preview Apply","roles.applyProfile":"Apply Profile","roles.applyPickBots":"Select at least one bot","roles.applyWouldRefuse":"Would refuse (group role exists)","roles.applyPreviewOk":"Can apply","roles.applyOk":"Applied","roles.applyFailed":"Failed","roles.confirmDeleteProfileEntry":"Delete this bot entry from the profile?","common.none":"None","common.loading":"Loading\u2026","common.unknown":"Unknown","common.now":"now","common.never":"never","common.all":"All","nav.workflows":"Workflows","nav.workflowCatalog":"Catalog","workflow.subnav.runs":"Runs","workflow.subnav.catalog":"Catalog","workflow.subnav.v3":"New workflow \u2192","workflow.version.legacy":"Legacy","workflow.version.v3":"New","workflow.searchPlaceholder":"search runId / workflowId / chatId","workflow.filter.nonTerminal":"non-terminal","workflow.filter.all":"all","workflow.status.pending":"pending","workflow.status.running":"running","workflow.status.waiting":"waiting","workflow.status.effectAttempting":"effect","workflow.status.timedOut":"timed out","workflow.status.succeeded":"succeeded","workflow.status.failed":"failed","workflow.status.cancelled":"cancelled","workflow.table.run":"run","workflow.table.workflow":"workflow","workflow.table.status":"status","workflow.table.lastSeq":"lastSeq","workflow.table.dangling":"dEf/dAct/dWait","workflow.table.updated":"updated","workflow.table.chatApp":"chat / app","workflow.list.failedLoad":"Failed to load: {error}","workflow.list.noRuns":"No runs match.","workflow.list.noFilterMatch":"No runs match this filter.","workflow.list.loaded":"{count} runs \xB7 refreshed {time}","workflow.list.error":"error: {error}","workflow.detail.back":"Back","workflow.detail.loading":"Loading...","workflow.detail.loadFailed":"Load failed","workflow.detail.cancel":"Cancel","workflow.detail.cliCancelOnly":"CLI cancel only","workflow.detail.cancelTitle":"Cancel this workflow run","workflow.detail.cliCancelTitle":"Cancel unavailable: use botmux workflow cancel {runId}","workflow.detail.nodes":"Nodes / Activities","workflow.detail.parallel":"Parallel execution","workflow.detail.parallelMeta":"{count} attempt(s) \xB7 max parallel {max} \xB7 running {running}","workflow.detail.noParallelData":"No attempt timing data yet.","workflow.detail.parallelNow":"now","workflow.detail.node":"node","workflow.detail.nodeStatus":"node status","workflow.detail.activity":"activity","workflow.detail.activityStatus":"activity status","workflow.detail.attempts":"attempts","workflow.detail.current":"current","workflow.detail.detail":"detail","workflow.detail.nodeIO":"Node I/O","workflow.detail.timeline":"Timeline","workflow.detail.loadOlder":"Load older","workflow.detail.seq":"seq","workflow.detail.actor":"actor","workflow.detail.error":"error","workflow.detail.event":"event","workflow.detail.time":"time","workflow.detail.refreshed":"refreshed {time}","workflow.detail.unknownRun":"unknown run","workflow.detail.snapshotHttp":"snapshot HTTP {status}","workflow.detail.eventsHttp":"events HTTP {status}","workflow.detail.cancelUnavailable":"cancel unavailable: use botmux workflow cancel {runId}","workflow.detail.cancelConfirm":`Cancel workflow run {runId}?
|
|
33
|
+
|
|
34
|
+
{total} dangling item(s) will be handled by cancel-driven recovery.
|
|
35
|
+
effects={effects}, activities={activities}, waits={waits}, cancels={cancels}`,"workflow.detail.writeAccessCancel":"write access required: run `botmux dashboard` in the terminal to get a one-time URL, open it once to set the cookie, then come back and click cancel again.","workflow.detail.cancelHttp":"cancel HTTP {status}","workflow.detail.cancelPending":"cancel pending; waiting for running activity to drain","workflow.detail.writeAccessApproval":"write access required: run `botmux dashboard` in the terminal to get a one-time URL, open it once to set the cookie, then come back and approve/reject again.","workflow.detail.actionHttp":"{action} HTTP {status}","workflow.detail.approved":"approved","workflow.detail.rejected":"rejected","workflow.detail.alreadyTerminal":"Run already terminal; {label} was not applied.","workflow.detail.workflowContinue":"{label}; waiting for workflow to continue.","workflow.detail.workflowRefreshing":"{label}; refreshing workflow state.","workflow.detail.eventsLoaded":"{loaded}/{total} events loaded","workflow.detail.dangling":"Dangling","workflow.detail.noDangling":"No dangling work.","workflow.detail.none":"none","workflow.detail.noNodes":"No nodes yet.","workflow.detail.idle":"idle","workflow.detail.noNodeIO":"No node I/O yet.","workflow.detail.notDispatched":"not dispatched","workflow.detail.noAttempt":"No attempt yet","workflow.detail.attempt":"attempt","workflow.detail.authoredInput":"Authored input","workflow.detail.resolvedInput":"Resolved input","workflow.detail.output":"Output","workflow.detail.executionLog":"Execution log","workflow.detail.liveTerminal":"Live terminal","workflow.detail.terminalLive":"live","workflow.detail.terminalClosedShort":"closed","workflow.detail.terminalClosed":"Terminal is closed. Use the execution log below for the final transcript.","workflow.detail.openTerminalNewTab":"Open terminal in new tab","workflow.detail.terminalReplay":"Terminal replay","workflow.detail.openReplayNewTab":"Open replay in new tab","workflow.detail.downloadFullLog":"Download full log","workflow.detail.terminalResume":"Debug session","workflow.detail.openResumeNewTab":"Open debug session in new tab","workflow.detail.resumeSession":"Resume session","workflow.detail.resumeStarting":"Starting\u2026","workflow.detail.endResumeSession":"End debug session","workflow.detail.resumeEnding":"Ending\u2026","workflow.detail.resumeUnsupportedCli":'CLI "{cliId}" does not support resume',"workflow.detail.resumeMissingCliSession":"Missing cliSessionId \u2014 cannot resume","workflow.detail.resumeStartFailed":"Failed to start debug session (HTTP {status})","workflow.detail.resumeEndFailed":"Failed to end debug session (HTTP {status})","workflow.detail.writeAccessResume":"Resume requires dashboard write access.","workflow.detail.waitPrompt":"Wait prompt","workflow.detail.approvalComment":"Approval comment","workflow.detail.optionalComment":"Optional comment","workflow.detail.approve":"Approve","workflow.detail.reject":"Reject","workflow.detail.submitting":"Submitting...","workflow.detail.empty":"empty","workflow.detail.truncated":"truncated","workflow.detail.noData":"No data.","workflow.detail.noPreview":"No preview.","workflow.detail.open":"open","workflow.detail.deadline":"deadline","workflow.detail.effect":"effect","workflow.detail.wait":"wait","workflow.detail.noEvents":"No events.","workflow.summary.workflow":"workflow","workflow.summary.status":"status","workflow.summary.lastSeq":"lastSeq","workflow.summary.updated":"updated","workflow.summary.revision":"revision","workflow.summary.initiator":"initiator","workflow.summary.failedNode":"failedNode","workflow.summary.cancelOrigin":"cancelOrigin","workflow.summary.chat":"chat","workflow.summary.app":"app","workflow.dangling.activities":"activities","workflow.dangling.effects":"effects","workflow.dangling.waits":"waits","workflow.dangling.cancels":"cancels","catalog.title":"Workflow catalog","catalog.searchPlaceholder":"search workflowId / path","catalog.refresh":"Refresh","catalog.loading":"Loading catalog...","catalog.loadFailed":"Failed to load catalog: {error}","catalog.noDefinitions":"No workflow definitions found.","catalog.noFilterMatch":"No definitions match this filter.","catalog.table.workflow":"workflow","catalog.table.version":"version","catalog.table.params":"params","catalog.table.nodes":"nodes","catalog.table.revision":"revision","catalog.table.path":"path","catalog.paramSummary":"{required}/{total} required","catalog.back":"Back to catalog","catalog.detailTitle":"Workflow definition","catalog.definitionLoadFailed":"Failed to load definition: {error}","catalog.summary":"Summary","catalog.paramsSchema":"Params schema","catalog.definitionJson":"Definition JSON","catalog.runPanel":"Run workflow","catalog.paramsJson":"Params JSON","catalog.paramsPlaceholder":`{
|
|
36
|
+
"city": "\u5317\u4EAC"
|
|
37
|
+
}`,"catalog.chatId":"Chat ID","catalog.larkAppId":"Lark app ID","catalog.chatBindingHint":"Required so humanGate cards and cancel routing know which Lark chat owns the run.","catalog.run":"Run","catalog.running":"Starting...","catalog.badParamsJson":"Params must be a JSON object.","catalog.writeAccess":"write access required: run `botmux dashboard` in the terminal to get a one-time URL, open it once to set the cookie, then come back and run again.","catalog.runHttp":"run HTTP {status}","catalog.runStarted":"Run started; opening detail page...","catalog.invalidParams":"Invalid params","catalog.issue":"{path}: {message}","catalog.noParams":"No params declared.","catalog.required":"required","catalog.optional":"optional","catalog.default":"default","catalog.description":"description","catalog.path":"path","catalog.revision":"revision","catalog.nodeCount":"nodes"},j={zh:ke,en:ve};function q(t){if(typeof t!="string")return null;let e=t.trim().toLowerCase();return e==="zh"||e.startsWith("zh-")?"zh":e==="en"||e.startsWith("en-")?"en":null}function ye(t=[]){for(let e of t){let s=q(e);if(s)return s}return"zh"}function k(t){return(e,s)=>{let o=j[t][e]??j.zh[e]??e;return s?o.replace(/\{(\w+)\}/g,(n,i)=>{let a=s[i];return a==null?`{${i}}`:String(a)}):o}}function z(t,e){return(t?q(t.getItem(A)):null)??ye(e)}var H="botmux.dashboard.theme",Y="botmux.dashboard.sessions.view",K="botmux.dashboard.sessions.showUnknownChats";function Se(t){return t==="system"||t==="light"||t==="dark"?t:null}function De(t){return t==="kanban"||t==="board"||t==="table"?t:null}function J(t,e){return t==="system"?e?"dark":"light":t}function V(t){return Se(t?.getItem(H))??"dark"}function et(t){return De(t?.getItem(Y))??"board"}function tt(t){try{let e=t?.getItem(K);return e==null?!0:e==="1"}catch{return!0}}var $="botmux.dashboard.sessions.boardOrder",m=["needs-you","starting","working","idle"];function Ce(t){if(!Array.isArray(t)||t.length!==m.length)return null;let e=new Set(t);if(e.size!==t.length)return null;for(let s of m)if(!e.has(s))return null;return t.slice()}function st(t){try{let e=t?.getItem($);return e?Ce(JSON.parse(e))??[...m]:[...m]}catch{return[...m]}}function ot(t,e){try{t?.setItem($,JSON.stringify(e))}catch{}}function nt(t,e){try{t?.setItem(Y,e)}catch{}}function it(t,e){try{t?.setItem(K,e?"1":"0")}catch{}}var Q="botmux.dashboard.sessions.kanbanGroupBy",at="botmux.dashboard.sessions.kanbanTeam";function Le(t){return t==="flow"||t==="team"||t==="bot"?t:null}function rt(t){return Le(t?.getItem(Q))??"flow"}function lt(t,e){try{t?.setItem(Q,e)}catch{}}var Te=["default","cyber","fallout"],x="botmux.dashboard.skin";function Re(t){return typeof t=="string"&&Te.includes(t)?t:null}function Z(t){return Re(t?.getItem(x))??"default"}var Pe="\uFF71\uFF72\uFF73\uFF74\uFF75\uFF76\uFF77\uFF78\uFF79\uFF7A\uFF7B\uFF7C\uFF7D\uFF7E\uFF7F\uFF80\uFF81\uFF82\uFF830123456789\uFF8A\uFF8B\uFF8C\uFF8D\uFF8E$#%&@*+=<>/\\",X=["186 100% 60%","56 97% 60%","330 100% 64%","150 80% 58%"],N=[{key:"shake",dur:280},{key:"rgb",dur:340},{key:"tear",dur:400},{key:"invert",dur:220},{key:"slice",dur:320},{key:"blackout",dur:260}],ee=["ESTABLISHING NETLINK","BYPASSING ICE","DECRYPTING DATAFLOW","SYNCING BOTMUX TELEMETRY","ACCESS GRANTED"],te="0123456789ABCDEF#<>*/=+\uFF71\uFF72\uFF73\uFF74\uFF75\uFF76\uFF77\uFF78\uFF85\uFF86\uFF87\uFF88\uFF89\uFF8A\uFF8B\uFF8C",Ie=3200,p=[],u=0,v=0;function _(){return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}function M(t,e){let s="";for(let o=0;o<t;o++)s+=e[Math.floor(Math.random()*e.length)];return s}function Ae(t){let e=document.createElement("div");e.className="cyber-rain";let s=Math.max(10,Math.min(26,Math.round(window.innerWidth/70)));for(let o=0;o<s;o++){let n=document.createElement("span");n.className="cyber-rain-col",n.textContent=M(28+Math.floor(Math.random()*22),Pe);let i=X[Math.floor(Math.random()*X.length)];n.style.cssText=`left:${(o+.5)/s*100}%;--rc:${i};--sz:${10+Math.floor(Math.random()*9)}px;--op:${(.25+Math.random()*.45).toFixed(2)};--dur:${(6+Math.random()*9).toFixed(1)}s;--delay:${(-Math.random()*12).toFixed(1)}s;`,e.appendChild(n)}t.appendChild(e)}function He(){if(_())return;let t=document.body,e=()=>{let s=N[Math.floor(Math.random()*N.length)],o=`cp-fx-${s.key}`;t.classList.add(o),p.push(window.setTimeout(()=>t.classList.remove(o),s.dur)),p.push(window.setTimeout(e,2400+Math.random()*4200))};p.push(window.setTimeout(e,1800+Math.random()*2600))}function xe(){p.forEach(t=>window.clearTimeout(t)),p=[];for(let t of N)document.body.classList.remove(`cp-fx-${t.key}`)}function Oe(){if(_()||document.getElementById("cyber-boot"))return;let t=document.createElement("div");t.id="cyber-boot",t.className="cyber-boot",t.setAttribute("aria-hidden","true"),t.innerHTML='<div class="cyber-boot-grid"></div><div class="cyber-loader"><div class="cyber-loader-frame"><div class="cyber-loader-head"><span>KIROSHI NETLINK</span><span class="cyber-loader-jp">\u4FB5\u5165\u4E2D</span></div><div class="cyber-loader-line"><span class="cyber-loader-prompt">></span><span class="cyber-loader-text"></span><span class="cyber-loader-cursor">_</span></div><div class="cyber-loader-stream"></div></div></div>',document.body.appendChild(t);let e=t.querySelector(".cyber-loader-text"),s=t.querySelector(".cyber-loader-stream"),o=0,n=0,i=0;u=window.setInterval(()=>{let a=ee[o];e&&(n<a.length?(n+=1,e.textContent=a.slice(0,n)+M(a.length-n,te),e.classList.remove("done")):i<16?(i+=1,e.textContent=a,e.classList.add("done")):(o=(o+1)%ee.length,n=0,i=0)),s&&(s.textContent=M(26,te))},50),v=window.setTimeout(()=>{window.clearInterval(u),u=0,t.remove()},Ie)}function Ne(){u&&(window.clearInterval(u),u=0),v&&(window.clearTimeout(v),v=0),document.getElementById("cyber-boot")?.remove()}var Me=320,se=16,b=!0,c=0,O=0,y=!1,S=[],E=[];function Ee(){if(y)return;y=!0,b=!1,c=0;let t=_(),e="";for(let o=0;o<se;o++){let n=o%3===0?"186 100% 52%":o%3===1?"330 100% 58%":"56 97% 52%",i=(o%2===0?1:-1)*(8+o%5*7);e+=`<span class="cyber-breach-shard" style="top:${o/se*100}%;height:${2+o%4*3}%;--shift:${i}px;--delay:${o%8*.09}s;--dur:${(.36+o%5*.12).toFixed(2)}s;--hue:${n}"></span>`}let s=document.createElement("div");s.id="cyber-breach",s.className="cyber-breach",s.setAttribute("aria-hidden","true"),s.innerHTML=`<span class="cyber-breach-flash"></span><span class="cyber-breach-grid"></span><div class="cyber-breach-shards">${e}</div><div class="cyber-breach-banner"><span class="cyber-breach-tag">// BREACH PROTOCOL \u2014 SYSTEM OVERRIDE</span><span class="cyber-breach-caption" data-text="SYSTEM BREACH">SYSTEM BREACH</span><span class="cyber-breach-sub" data-text="NETWATCH OVERRIDE ENGAGED">NETWATCH OVERRIDE ENGAGED</span></div>`,document.body.appendChild(s),t||document.body.classList.add("cyber-breach-quake"),S.push(window.setTimeout(()=>document.body.classList.remove("cyber-breach-quake"),760)),S.push(window.setTimeout(()=>{s.remove(),y=!1},t?2600:4200))}function _e(){b=!0,c=0;let t=document.documentElement,e=()=>t.scrollHeight-(window.innerHeight+window.scrollY)<=4,s=r=>{r<=0||!e()||(c+=r,c>Me&&b&&Ee())},o=r=>s(r.deltaY),n=r=>{O=r.touches[0]?.clientY??0},i=r=>{let g=r.touches[0]?.clientY??0,le=O-g;O=g,s(le)},a=()=>{e()||(c=0,b=!0)},l=(r,g)=>{window.addEventListener(r,g,{passive:!0}),E.push([r,g])};l("wheel",o),l("touchstart",n),l("touchmove",i),l("scroll",a)}function Be(){for(let[t,e]of E)window.removeEventListener(t,e);E=[],S.forEach(t=>window.clearTimeout(t)),S=[],document.body.classList.remove("cyber-breach-quake"),document.getElementById("cyber-breach")?.remove(),y=!1,b=!0,c=0}function oe(t,e=!1){if(!(typeof document>"u")){if(!t){document.getElementById("cyber-fx")?.remove(),document.getElementById("cyber-hud")?.remove(),document.getElementById("cyber-glitch")?.remove(),xe(),Ne(),Be();return}if(!document.getElementById("cyber-fx")){let s=document.createElement("div");s.id="cyber-fx",s.className="cyber-fx",s.setAttribute("aria-hidden","true"),s.innerHTML='<div class="cyber-fx-grid"></div><div class="cyber-fx-scan"></div><span class="cyber-flicker"></span><span class="cyber-rollline"></span>',Ae(s),document.body.appendChild(s);let o=document.createElement("div");o.id="cyber-hud",o.className="cyber-hud",o.setAttribute("aria-hidden","true"),o.innerHTML='<span class="cyber-hud-corner tl"></span><span class="cyber-hud-corner tr"></span><span class="cyber-hud-corner bl"></span><span class="cyber-hud-corner br"></span><span class="cyber-hud-tag">NIGHT CITY // NETWATCH</span>',document.body.appendChild(o);let n=document.createElement("div");n.id="cyber-glitch",n.className="cyber-glitch",n.setAttribute("aria-hidden","true"),document.body.appendChild(n),He(),_e()}e&&Oe()}}var F=class{locale="zh";themeMode="system";resolvedTheme="light";skin="default";authed=!0;publicReadOnly=!1;listeners=new Set;translate=k(this.locale);mediaQuery=null;init(){let e=typeof window<"u"?window:void 0;this.locale=z(e?.localStorage,Ge()),this.translate=k(this.locale),this.themeMode=V(e?.localStorage),this.skin=Z(e?.localStorage),this.mediaQuery=e?.matchMedia?.("(prefers-color-scheme: dark)")??null,this.mediaQuery?.addEventListener("change",()=>{this.applyTheme(),this.emit()}),this.applyTheme(),this.applySkin(),this.applyLocale()}t(e,s){return this.translate(e,s)}setLocale(e){this.locale!==e&&(this.locale=e,this.translate=k(e),window.localStorage.setItem(A,e),this.applyLocale(),this.emit())}get theme(){return this.skin==="default"?this.themeMode:this.skin}setTheme(e){let s=e==="system"||e==="light"||e==="dark",o=s?"default":e,n=o!==this.skin;s&&this.themeMode!==e&&(this.themeMode=e,window.localStorage.setItem(H,this.themeMode)),n&&(this.skin=o,window.localStorage.setItem(x,this.skin)),this.applyTheme(),this.applySkin(n),this.emit()}on(e){return this.listeners.add(e),()=>this.listeners.delete(e)}emit(){for(let e of this.listeners)e()}applyTheme(){this.resolvedTheme=J(this.themeMode,!!this.mediaQuery?.matches);let e=this.skin==="default"?this.resolvedTheme:Fe[this.skin];document.documentElement.dataset.theme=e,document.documentElement.dataset.themeMode=this.themeMode}applySkin(e=!1){document.documentElement.dataset.skin=this.skin,oe(this.skin==="cyber",e)}applyLocale(){document.documentElement.lang=this.locale==="zh"?"zh-CN":"en"}},Fe={default:"light",cyber:"dark",fallout:"dark"};function Ge(){return typeof navigator>"u"?[]:navigator.languages?.length?navigator.languages:[navigator.language].filter(Boolean)}var Ue=new F;function f(t,e){return Ue.t(t,e)}function ie(t){return t.replace(/[&<>"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e])}function pt(t){if(!t)return"-";let e=Date.now()-t;return e<6e4?f("common.now"):e<36e5?Math.floor(e/6e4)+"m":e<864e5?Math.floor(e/36e5)+"h":Math.floor(e/864e5)+"d"}var ne=[{c1:"#5be3ff",c2:"#4f8bff"},{c1:"#b89bff",c2:"#6b4df0"},{c1:"#7ce0c3",c2:"#2e9e8f"},{c1:"#8fb4ff",c2:"#3b62d8"},{c1:"#ffd28f",c2:"#d8783b"},{c1:"#7df0a8",c2:"#1f9e63"},{c1:"#9fd0ff",c2:"#4878c8"},{c1:"#ff9fb8",c2:"#d84a78"}];function ae(t){let e=0,s=String(t??"");for(let i=0;i<s.length;i++)e=e*31+s.charCodeAt(i)>>>0;let{c1:o,c2:n}=ne[e%ne.length];return`--c1:${o};--c2:${n}`}var D=new Map,C=new Map;function We(t,e){return e?D.get(e):t?C.get(String(t)):void 0}function bt(t){let e=t.name??"",s=t.avatarUrl??We(t.name,t.larkAppId),o=t.size==="sm"?" orb-avatar-sm":"",n=s?" orb-has-img":"",i=t.dot?`<i class="orb-dot orb-dot-${t.dot}"></i>`:"",a=s?`<img class="orb-img" src="${ie(s)}" alt="" decoding="async" referrerpolicy="no-referrer" onerror="this.closest('.orb-avatar')?.classList.remove('orb-has-img');this.remove()"/>`:"";return`<span class="orb-avatar${o}${n}" style="${ae(e)}" aria-hidden="true">${a}${i}</span>`}function je(t){return t?T.get(t):void 0}function ft(t){let e=t.name??t.chatId??"",s=t.avatarUrl??je(t.chatId),o=t.size==="sm"?" orb-avatar-sm":"",n=s?" orb-has-img":"",i=s?`<img class="orb-img" src="${ie(s)}" alt="" decoding="async" referrerpolicy="no-referrer" onerror="this.closest('.orb-avatar')?.classList.remove('orb-has-img');this.remove()"/>`:"";return`<span class="orb-avatar orb-square${o}${n}" style="${ae(e)}" aria-hidden="true">${i}</span>`}var w=new Map,L=new Map,T=new Map,B=null,re="botmux.avatarCache.v1";function qe(){try{let t=typeof window<"u"?window.localStorage.getItem(re):null;if(!t)return;let e=JSON.parse(t);for(let[s,o]of Object.entries(e.botByAppId??{}))D.set(s,o);for(let[s,o]of Object.entries(e.botByName??{}))C.set(s,o);for(let[s,o]of Object.entries(e.chatById??{}))T.set(s,o);for(let[s,o]of Object.entries(e.nameByAppId??{}))w.set(s,o);for(let[s,o]of Object.entries(e.chatNameById??{}))L.set(s,o)}catch{}}function ze(){try{if(typeof window>"u")return;window.localStorage.setItem(re,JSON.stringify({botByAppId:Object.fromEntries(D),botByName:Object.fromEntries(C),chatById:Object.fromEntries(T),nameByAppId:Object.fromEntries(w),chatNameById:Object.fromEntries(L)}))}catch{}}qe();function wt(){return B??=(async()=>{try{let t=await W();for(let e of t.bots??[])e.larkAppId&&e.botName&&e.botName!==e.larkAppId&&w.set(e.larkAppId,String(e.botName)),e.botAvatarUrl&&(e.larkAppId&&D.set(e.larkAppId,String(e.botAvatarUrl)),e.botName&&C.set(String(e.botName),String(e.botAvatarUrl)));for(let e of t.chats??[])e.chatId&&e.name&&L.set(e.chatId,String(e.name)),e.chatId&&e.avatar&&T.set(e.chatId,String(e.avatar));ze()}catch{B=null}})(),B}function kt(t){return t?w.get(t):void 0}function vt(t){let e=t.larkAppId?w.get(t.larkAppId):void 0;return e||(t.botName&&t.botName!==t.larkAppId?String(t.botName):String(t.botName??t.larkAppId??"-"))}function yt(t){let e=String(t.chatDisplayName??"").trim();return e||t.chatId&&L.get(t.chatId)||null}function St(t){let e=String(t??"");return e.replace(/^(?:@\S+\s*)+/,"").trim()||e}function Dt(t){return t.status==="closed"?null:t.agentAttention?.reason?t.agentAttention.reason:t.agentAttention?f("sessions.board.signalAgent"):t.pendingRepo?f("sessions.board.signalRepo"):t.tuiPromptActive?f("sessions.board.signalPrompt"):t.status==="limited"?f("sessions.board.signalLimited"):null}function Ct(t){let e=Number(t.agentAttention?.at??t.lastMessageAt??0);if(Number.isFinite(e))return e;let s=Number(t.lastMessageAt??0);return Number.isFinite(s)?s:0}export{Ye as a,Ke as b,Je as c,d,$e as e,pe as f,W as g,q as h,De as i,et as j,tt as k,st as l,ot as m,nt as n,it as o,at as p,rt as q,lt as r,Ue as s,f as t,ie as u,pt as v,ae as w,bt as x,je as y,ft as z,wt as A,kt as B,vt as C,yt as D,St as E,Dt as F,Ct as G};
|