@clawpump/claw-agent 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent/.mailmap +4 -0
- package/agent/apps/desktop/README.md +3 -3
- package/agent/apps/desktop/assets/icon.icns +0 -0
- package/agent/apps/desktop/assets/icon.ico +0 -0
- package/agent/apps/desktop/assets/icon.png +0 -0
- package/agent/apps/desktop/electron/backend-ready.cjs +2 -2
- package/agent/apps/desktop/electron/dashboard-token.cjs +3 -3
- package/agent/apps/desktop/electron/hardening.cjs +1 -1
- package/agent/apps/desktop/electron/main.cjs +65 -65
- package/agent/apps/desktop/index.html +1 -1
- package/agent/apps/desktop/package.json +11 -11
- package/agent/apps/desktop/public/apple-touch-icon.png +0 -0
- package/agent/apps/desktop/public/claw-mark.png +0 -0
- package/agent/apps/desktop/scripts/set-exe-identity.cjs +2 -2
- package/agent/apps/desktop/src/app/chat/composer/controls.tsx +2 -0
- package/agent/apps/desktop/src/app/chat/composer/index.tsx +10 -0
- package/agent/apps/desktop/src/app/chat/composer/pod-credits.tsx +49 -0
- package/agent/apps/desktop/src/app/chat/index.tsx +1 -1
- package/agent/apps/desktop/src/app/chat/sidebar/index.tsx +4 -2
- package/agent/apps/desktop/src/app/desktop-controller.tsx +18 -0
- package/agent/apps/desktop/src/app/gateway/hooks/use-gateway-request.ts +1 -1
- package/agent/apps/desktop/src/app/messaging/index.tsx +5 -5
- package/agent/apps/desktop/src/app/routes.ts +9 -1
- package/agent/apps/desktop/src/app/session/hooks/use-message-stream.ts +3 -3
- package/agent/apps/desktop/src/app/settings/constants.ts +5 -5
- package/agent/apps/desktop/src/app/settings/model-settings.tsx +1 -1
- package/agent/apps/desktop/src/app/settings/providers-settings.tsx +46 -1
- package/agent/apps/desktop/src/app/settings/uninstall-section.tsx +5 -5
- package/agent/apps/desktop/src/app/types.ts +9 -1
- package/agent/apps/desktop/src/app/wallet/index.tsx +244 -0
- package/agent/apps/desktop/src/app/x402/index.tsx +162 -0
- package/agent/apps/desktop/src/components/assistant-ui/thread.tsx +1 -1
- package/agent/apps/desktop/src/components/brand-mark.tsx +2 -2
- package/agent/apps/desktop/src/components/chat/intro-copy.jsonl +6 -6
- package/agent/apps/desktop/src/components/chat/intro.tsx +4 -4
- package/agent/apps/desktop/src/components/model-picker.tsx +64 -4
- package/agent/apps/desktop/src/components/pod-setup-dialog.tsx +227 -0
- package/agent/apps/desktop/src/hermes.ts +109 -3
- package/agent/apps/desktop/src/i18n/en.ts +80 -78
- package/agent/apps/desktop/src/i18n/ja.ts +82 -82
- package/agent/apps/desktop/src/i18n/runtime.test.ts +2 -2
- package/agent/apps/desktop/src/i18n/zh-hant.ts +82 -82
- package/agent/apps/desktop/src/i18n/zh.ts +87 -87
- package/agent/apps/desktop/src/lib/desktop-fs.ts +1 -1
- package/agent/apps/desktop/src/lib/desktop-slash-commands.ts +4 -4
- package/agent/apps/desktop/src/store/composer.ts +7 -0
- package/agent/apps/desktop/src/store/onboarding.ts +5 -5
- package/agent/apps/desktop/src/themes/presets.ts +54 -54
- package/agent/cli.py +184 -10
- package/agent/hermes_cli/distribution.py +188 -8
- package/agent/hermes_cli/providers.py +29 -0
- package/agent/hermes_cli/web_server.py +403 -34
- package/agent/plugins/model-providers/usepod/__init__.py +7 -1
- package/agent/scripts/release.py +1 -0
- package/agent/web/public/claw-logo.png +0 -0
- package/agent/web/src/App.tsx +6 -4
- package/agent/web/src/components/ChatSidebar.tsx +5 -0
- package/agent/web/src/components/ModelPickerDialog.tsx +28 -1
- package/agent/web/src/components/PodCredits.tsx +57 -0
- package/agent/web/src/components/PodSetupDialog.tsx +240 -0
- package/agent/web/src/lib/api.ts +135 -0
- package/agent/web/src/pages/AgentMailPage.tsx +684 -0
- package/agent/web/src/pages/WalletPage.tsx +53 -5
- package/package.json +1 -1
|
@@ -43,25 +43,25 @@ export const en: Translations = {
|
|
|
43
43
|
},
|
|
44
44
|
|
|
45
45
|
boot: {
|
|
46
|
-
ready: '
|
|
46
|
+
ready: 'Claw Agent Desktop is ready',
|
|
47
47
|
desktopBootFailedWithMessage: message => `Desktop boot failed: ${message}`,
|
|
48
48
|
steps: {
|
|
49
49
|
connectingGateway: 'Connecting live desktop gateway',
|
|
50
|
-
loadingSettings: 'Loading
|
|
50
|
+
loadingSettings: 'Loading Claw Agent settings',
|
|
51
51
|
loadingSessions: 'Loading recent sessions',
|
|
52
52
|
startingDesktopConnection: 'Starting desktop connection',
|
|
53
|
-
startingHermesDesktop: 'Starting
|
|
53
|
+
startingHermesDesktop: 'Starting Claw Agent Desktop…'
|
|
54
54
|
},
|
|
55
55
|
errors: {
|
|
56
|
-
backgroundExited: '
|
|
57
|
-
backgroundExitedDuringStartup: '
|
|
56
|
+
backgroundExited: 'Claw Agent background process exited.',
|
|
57
|
+
backgroundExitedDuringStartup: 'Claw Agent background process exited during startup.',
|
|
58
58
|
backendStopped: 'Backend stopped',
|
|
59
59
|
desktopBootFailed: 'Desktop boot failed',
|
|
60
60
|
gatewaySignInRequired: 'Gateway sign-in required',
|
|
61
61
|
ipcBridgeUnavailable: 'Desktop IPC bridge is unavailable.'
|
|
62
62
|
},
|
|
63
63
|
failure: {
|
|
64
|
-
title: "
|
|
64
|
+
title: "Claw Agent couldn't start",
|
|
65
65
|
description:
|
|
66
66
|
"The background gateway didn't come up. Try one of the recovery steps below. Nothing here deletes your chats or settings.",
|
|
67
67
|
remoteTitle: 'Remote gateway sign-in required',
|
|
@@ -98,8 +98,8 @@ export const en: Translations = {
|
|
|
98
98
|
copyDetailFailed: 'Could not copy notification detail',
|
|
99
99
|
backendOutOfDateTitle: 'Backend out of date',
|
|
100
100
|
backendOutOfDateMessage:
|
|
101
|
-
'Your
|
|
102
|
-
updateHermes: 'Update
|
|
101
|
+
'Your Claw Agent backend is older than this desktop build and may not work correctly. Update to align them.',
|
|
102
|
+
updateHermes: 'Update Claw Agent',
|
|
103
103
|
updateReadyTitle: 'Update ready',
|
|
104
104
|
updateReadyMessage: count => `${count} new change${count === 1 ? '' : 's'} available.`,
|
|
105
105
|
seeWhatsNew: "See what's new",
|
|
@@ -107,7 +107,7 @@ export const en: Translations = {
|
|
|
107
107
|
elevenLabsNeedsKey: 'ElevenLabs STT needs ELEVENLABS_API_KEY.',
|
|
108
108
|
elevenLabsRejectedKey: 'ElevenLabs rejected the API key (401).',
|
|
109
109
|
methodNotAllowed:
|
|
110
|
-
'The desktop backend rejected that request (405 Method Not Allowed). Try restarting
|
|
110
|
+
'The desktop backend rejected that request (405 Method Not Allowed). Try restarting Claw Agent Desktop.',
|
|
111
111
|
microphonePermission: 'Microphone permission was denied.',
|
|
112
112
|
openaiRejectedApiKey: 'OpenAI rejected the API key.',
|
|
113
113
|
openaiRejectedApiKeyWithStatus: status => `OpenAI rejected the API key (${status} invalid_api_key).`,
|
|
@@ -137,8 +137,8 @@ export const en: Translations = {
|
|
|
137
137
|
approveAction: 'Approve',
|
|
138
138
|
rejectAction: 'Reject',
|
|
139
139
|
inputTitle: 'Input needed',
|
|
140
|
-
inputBody: '
|
|
141
|
-
turnDoneTitle: '
|
|
140
|
+
inputBody: 'Claw Agent is waiting for your response.',
|
|
141
|
+
turnDoneTitle: 'Claw Agent finished',
|
|
142
142
|
turnDoneBody: 'The response is ready.',
|
|
143
143
|
turnErrorTitle: 'Turn failed',
|
|
144
144
|
backgroundDoneTitle: 'Background task finished',
|
|
@@ -263,7 +263,7 @@ export const en: Translations = {
|
|
|
263
263
|
exportConfig: 'Export config',
|
|
264
264
|
importConfig: 'Import config',
|
|
265
265
|
resetToDefaults: 'Reset to defaults',
|
|
266
|
-
resetConfirm: 'Reset all settings to
|
|
266
|
+
resetConfirm: 'Reset all settings to Claw Agent defaults?',
|
|
267
267
|
exportFailed: 'Export failed',
|
|
268
268
|
resetFailed: 'Reset failed',
|
|
269
269
|
nav: {
|
|
@@ -285,7 +285,7 @@ export const en: Translations = {
|
|
|
285
285
|
'Native desktop notifications, separate from in-app toasts. These are device-local — each computer keeps its own settings.',
|
|
286
286
|
enableAll: 'Enable notifications',
|
|
287
287
|
enableAllDesc: 'Master switch. Turn this off to silence every notification below.',
|
|
288
|
-
focusedHint: 'Completion alerts only fire while
|
|
288
|
+
focusedHint: 'Completion alerts only fire while Claw Agent is in the background.',
|
|
289
289
|
kinds: {
|
|
290
290
|
approval: {
|
|
291
291
|
label: 'Approval needed',
|
|
@@ -293,11 +293,11 @@ export const en: Translations = {
|
|
|
293
293
|
},
|
|
294
294
|
input: {
|
|
295
295
|
label: 'Input needed',
|
|
296
|
-
description: '
|
|
296
|
+
description: 'Claw Agent asked a question or needs a password or secret.'
|
|
297
297
|
},
|
|
298
298
|
turnDone: {
|
|
299
299
|
label: 'Response ready',
|
|
300
|
-
description: 'A turn finished while
|
|
300
|
+
description: 'A turn finished while Claw Agent was in the background.'
|
|
301
301
|
},
|
|
302
302
|
turnError: {
|
|
303
303
|
label: 'Turn failed',
|
|
@@ -309,7 +309,7 @@ export const en: Translations = {
|
|
|
309
309
|
}
|
|
310
310
|
},
|
|
311
311
|
test: 'Send test notification',
|
|
312
|
-
testTitle: '
|
|
312
|
+
testTitle: 'Claw Agent',
|
|
313
313
|
testBody: 'Notifications are working.',
|
|
314
314
|
testSent: 'Test sent. If nothing appears, check your OS notification permissions and Focus/Do Not Disturb.',
|
|
315
315
|
testUnsupported: 'This system does not support native notifications.',
|
|
@@ -328,7 +328,7 @@ export const en: Translations = {
|
|
|
328
328
|
advanced: 'Advanced'
|
|
329
329
|
},
|
|
330
330
|
searchPlaceholder: {
|
|
331
|
-
about: 'About
|
|
331
|
+
about: 'About Claw Agent Desktop',
|
|
332
332
|
config: 'Search settings...',
|
|
333
333
|
gateway: 'Gateway connection...',
|
|
334
334
|
keys: 'Search API keys...',
|
|
@@ -345,7 +345,7 @@ export const en: Translations = {
|
|
|
345
345
|
intro:
|
|
346
346
|
'These are desktop-only display preferences. Mode controls brightness; theme controls the accent palette and chat surface styling.',
|
|
347
347
|
colorMode: 'Color Mode',
|
|
348
|
-
colorModeDesc: 'Pick a fixed mode or let
|
|
348
|
+
colorModeDesc: 'Pick a fixed mode or let Claw Agent follow your system setting.',
|
|
349
349
|
toolViewTitle: 'Tool Call Display',
|
|
350
350
|
toolViewDesc: 'Product hides raw tool payloads; Technical shows full input/output.',
|
|
351
351
|
translucencyTitle: 'Window Translucency',
|
|
@@ -371,7 +371,7 @@ export const en: Translations = {
|
|
|
371
371
|
fieldLabels: FIELD_LABELS,
|
|
372
372
|
fieldDescriptions: FIELD_DESCRIPTIONS,
|
|
373
373
|
about: {
|
|
374
|
-
heading: '
|
|
374
|
+
heading: 'Claw Agent Desktop',
|
|
375
375
|
version: value => `Version ${value}`,
|
|
376
376
|
versionUnavailable: 'Version unavailable',
|
|
377
377
|
updates: 'Updates',
|
|
@@ -389,7 +389,7 @@ export const en: Translations = {
|
|
|
389
389
|
justNowSuffix: ' · just now',
|
|
390
390
|
automaticUpdates: 'Automatic updates',
|
|
391
391
|
automaticUpdatesDesc:
|
|
392
|
-
'
|
|
392
|
+
'Claw Agent checks for updates automatically in the background and lets you know when one is ready.',
|
|
393
393
|
branchCommit: (branch, commit) => `Branch ${branch} · Commit ${commit}`,
|
|
394
394
|
never: 'never',
|
|
395
395
|
justNow: 'just now',
|
|
@@ -402,7 +402,7 @@ export const en: Translations = {
|
|
|
402
402
|
noneParen: '(none)',
|
|
403
403
|
notSet: 'Not set',
|
|
404
404
|
commaSeparated: 'comma-separated values',
|
|
405
|
-
loading: 'Loading
|
|
405
|
+
loading: 'Loading Claw Agent configuration...',
|
|
406
406
|
emptyTitle: 'Nothing to configure',
|
|
407
407
|
emptyDesc: 'This section has no adjustable settings.',
|
|
408
408
|
failedLoad: 'Settings failed to load',
|
|
@@ -439,7 +439,7 @@ export const en: Translations = {
|
|
|
439
439
|
title: 'Gateway Connection',
|
|
440
440
|
envOverride: 'env override',
|
|
441
441
|
intro:
|
|
442
|
-
'
|
|
442
|
+
'Claw Agent Desktop starts its own local gateway by default. Use a remote gateway when you want this app to control an already-running Claw Agent backend on another machine or behind a trusted proxy. Pick a profile below to give it its own remote host.',
|
|
443
443
|
appliesTo: 'Applies to',
|
|
444
444
|
allProfiles: 'All profiles',
|
|
445
445
|
defaultConnection: 'Default connection for every profile that has no override of its own.',
|
|
@@ -449,10 +449,10 @@ export const en: Translations = {
|
|
|
449
449
|
envOverrideDesc:
|
|
450
450
|
'Unset HERMES_DESKTOP_REMOTE_URL and HERMES_DESKTOP_REMOTE_TOKEN to use the saved setting below.',
|
|
451
451
|
localTitle: 'Local gateway',
|
|
452
|
-
localDesc: 'Start a private
|
|
452
|
+
localDesc: 'Start a private Claw Agent backend on localhost. This is the default and works offline.',
|
|
453
453
|
remoteTitle: 'Remote gateway',
|
|
454
454
|
remoteDesc:
|
|
455
|
-
'Connect this desktop shell to a remote
|
|
455
|
+
'Connect this desktop shell to a remote Claw Agent backend. Hosted gateways use OAuth or a username and password; self-hosted ones may use a session token.',
|
|
456
456
|
remoteUrlTitle: 'Remote URL',
|
|
457
457
|
remoteUrlDesc: 'Base URL for the remote dashboard backend. Path prefixes are supported, for example /hermes.',
|
|
458
458
|
probing: 'Checking how this gateway authenticates…',
|
|
@@ -486,9 +486,9 @@ export const en: Translations = {
|
|
|
486
486
|
enterUrlFirst: 'Enter a remote URL first.',
|
|
487
487
|
restartingTitle: 'Gateway connection restarting',
|
|
488
488
|
savedTitle: 'Gateway settings saved',
|
|
489
|
-
restartingMessage: '
|
|
489
|
+
restartingMessage: 'Claw Agent Desktop will reconnect using the saved settings.',
|
|
490
490
|
savedMessage: 'Saved for the next restart.',
|
|
491
|
-
connectedTo: (baseUrl, version) => `Connected to ${baseUrl}${version ? ` ·
|
|
491
|
+
connectedTo: (baseUrl, version) => `Connected to ${baseUrl}${version ? ` · Claw Agent ${version}` : ''}`,
|
|
492
492
|
reachableTitle: 'Remote gateway reachable',
|
|
493
493
|
signedOutTitle: 'Signed out',
|
|
494
494
|
signedOutMessage: 'Cleared the remote gateway session.',
|
|
@@ -564,7 +564,7 @@ export const en: Translations = {
|
|
|
564
564
|
connectAccount: 'Connect an account',
|
|
565
565
|
haveApiKey: 'Have an API key instead?',
|
|
566
566
|
intro:
|
|
567
|
-
'Sign in with a subscription — no API key to copy.
|
|
567
|
+
'Sign in with a subscription — no API key to copy. Claw Agent runs the browser sign-in for you, right here in the app.',
|
|
568
568
|
connected: 'Connected',
|
|
569
569
|
collapse: 'Collapse',
|
|
570
570
|
connectAnother: 'Connect another provider',
|
|
@@ -740,7 +740,7 @@ export const en: Translations = {
|
|
|
740
740
|
},
|
|
741
741
|
nav: {
|
|
742
742
|
newChat: { title: 'New session', detail: 'Start a fresh session' },
|
|
743
|
-
settings: { title: 'Settings', detail: 'Configure
|
|
743
|
+
settings: { title: 'Settings', detail: 'Configure Claw Agent desktop' },
|
|
744
744
|
skills: { title: 'Skills & Tools', detail: 'Enable skills, toolsets, and providers' },
|
|
745
745
|
messaging: { title: 'Messaging', detail: 'Set up Telegram, Slack, Discord, and more' },
|
|
746
746
|
artifacts: { title: 'Artifacts', detail: 'Browse generated outputs' }
|
|
@@ -762,10 +762,10 @@ export const en: Translations = {
|
|
|
762
762
|
noSessions: 'No sessions yet.',
|
|
763
763
|
gatewayRunning: 'Messaging gateway running',
|
|
764
764
|
gatewayStopped: 'Messaging gateway stopped',
|
|
765
|
-
hermesActiveSessions: (version, count) => `
|
|
765
|
+
hermesActiveSessions: (version, count) => `Claw Agent ${version} · Active sessions ${count}`,
|
|
766
766
|
restartGateway: 'Restart gateway',
|
|
767
767
|
gatewayRestartFailed: 'Gateway restart failed.',
|
|
768
|
-
updateHermes: 'Update
|
|
768
|
+
updateHermes: 'Update Claw Agent',
|
|
769
769
|
actionRunning: 'running',
|
|
770
770
|
actionDone: 'done',
|
|
771
771
|
actionFailed: 'failed',
|
|
@@ -971,7 +971,7 @@ export const en: Translations = {
|
|
|
971
971
|
deleteDescMid: ' and remove its ',
|
|
972
972
|
deleteDescSuffix: ' directory. This cannot be undone.',
|
|
973
973
|
deleting: 'Deleting...',
|
|
974
|
-
createDesc: 'Profiles are independent
|
|
974
|
+
createDesc: 'Profiles are independent Claw Agent environments: separate config, skills, and SOUL.md.',
|
|
975
975
|
nameLabel: 'Name',
|
|
976
976
|
cloneFrom: 'Clone from',
|
|
977
977
|
cloneFromNone: 'None (blank)',
|
|
@@ -1058,7 +1058,7 @@ export const en: Translations = {
|
|
|
1058
1058
|
everyHourAt: minute => `Every hour at :${minute}`,
|
|
1059
1059
|
newCron: 'New cron',
|
|
1060
1060
|
emptyDescNew:
|
|
1061
|
-
'Schedule a prompt to run on a cron expression.
|
|
1061
|
+
'Schedule a prompt to run on a cron expression. Claw Agent will run it and deliver results to the destination you pick.',
|
|
1062
1062
|
emptyDescSearch: 'Try a broader search query.',
|
|
1063
1063
|
emptyTitleNew: 'No scheduled jobs yet',
|
|
1064
1064
|
emptyTitleSearch: 'No matches',
|
|
@@ -1151,7 +1151,9 @@ export const en: Translations = {
|
|
|
1151
1151
|
'new-session': 'New session',
|
|
1152
1152
|
skills: 'Skills & Tools',
|
|
1153
1153
|
messaging: 'Messaging',
|
|
1154
|
-
artifacts: 'Artifacts'
|
|
1154
|
+
artifacts: 'Artifacts',
|
|
1155
|
+
wallet: 'Wallet',
|
|
1156
|
+
x402: 'x402 Marketplace'
|
|
1155
1157
|
},
|
|
1156
1158
|
searchAria: 'Search sessions',
|
|
1157
1159
|
searchPlaceholder: 'Search sessions…',
|
|
@@ -1204,12 +1206,12 @@ export const en: Translations = {
|
|
|
1204
1206
|
composer: {
|
|
1205
1207
|
message: 'Message',
|
|
1206
1208
|
wakingProfile: profile => `Waking up ${profile}…`,
|
|
1207
|
-
placeholderStarting: 'Starting
|
|
1208
|
-
placeholderReconnecting: 'Reconnecting to
|
|
1209
|
+
placeholderStarting: 'Starting Claw Agent...',
|
|
1210
|
+
placeholderReconnecting: 'Reconnecting to Claw Agent…',
|
|
1209
1211
|
placeholderFollowUp: 'Send follow-up',
|
|
1210
1212
|
newSessionPlaceholders: [
|
|
1211
1213
|
'What are we building?',
|
|
1212
|
-
'Give
|
|
1214
|
+
'Give Claw Agent a task',
|
|
1213
1215
|
"What's on your mind?",
|
|
1214
1216
|
'Describe what you need',
|
|
1215
1217
|
'What should we tackle?',
|
|
@@ -1270,7 +1272,7 @@ export const en: Translations = {
|
|
|
1270
1272
|
'composer.history': 'cycle popover / history'
|
|
1271
1273
|
},
|
|
1272
1274
|
attachUrlTitle: 'Attach a URL',
|
|
1273
|
-
attachUrlDesc: '
|
|
1275
|
+
attachUrlDesc: 'Claw Agent will fetch the page and include it as context for this turn.',
|
|
1274
1276
|
urlPlaceholder: 'https://example.com/post',
|
|
1275
1277
|
urlHintPre: 'Include the full URL, e.g. ',
|
|
1276
1278
|
attach: 'Attach',
|
|
@@ -1348,7 +1350,7 @@ export const en: Translations = {
|
|
|
1348
1350
|
fetch: 'Downloading…',
|
|
1349
1351
|
pull: 'Almost there…',
|
|
1350
1352
|
pydeps: 'Finishing up…',
|
|
1351
|
-
restart: 'Restarting
|
|
1353
|
+
restart: 'Restarting Claw Agent…',
|
|
1352
1354
|
manual: 'Update from your terminal',
|
|
1353
1355
|
error: 'Update paused'
|
|
1354
1356
|
},
|
|
@@ -1356,29 +1358,29 @@ export const en: Translations = {
|
|
|
1356
1358
|
checkFailedTitle: 'Couldn’t check for updates',
|
|
1357
1359
|
tryAgain: 'Try again',
|
|
1358
1360
|
notAvailableTitle: 'Update not available',
|
|
1359
|
-
unsupportedMessage: 'This version of
|
|
1361
|
+
unsupportedMessage: 'This version of Claw Agent can’t update itself from inside the app.',
|
|
1360
1362
|
connectionRetry: 'Check your connection and try again.',
|
|
1361
1363
|
latestBody: 'You’re running the latest version.',
|
|
1362
1364
|
latestBodyBackend: 'The backend is running the latest version.',
|
|
1363
1365
|
allSetTitle: 'You’re all set',
|
|
1364
1366
|
availableTitle: 'New update available',
|
|
1365
|
-
availableBody: 'A new version of
|
|
1367
|
+
availableBody: 'A new version of Claw Agent is ready to install.',
|
|
1366
1368
|
availableTitleBackend: 'Backend update available',
|
|
1367
|
-
availableBodyBackend: 'A newer version of the connected
|
|
1369
|
+
availableBodyBackend: 'A newer version of the connected Claw Agent backend is ready to install.',
|
|
1368
1370
|
availableBodyNoChangelog: 'A newer version is ready. Release notes aren’t available for this install type.',
|
|
1369
1371
|
updateNow: 'Update now',
|
|
1370
1372
|
maybeLater: 'Maybe later',
|
|
1371
1373
|
moreChanges: count => `+ ${count} more change${count === 1 ? '' : 's'} included.`,
|
|
1372
1374
|
manualTitle: 'Update from your terminal',
|
|
1373
|
-
manualBody: 'You installed
|
|
1374
|
-
manualPickedUp: '
|
|
1375
|
+
manualBody: 'You installed Claw Agent from the command line, so updates run there too. Paste this into your terminal:',
|
|
1376
|
+
manualPickedUp: 'Claw Agent will pick up the new version next time you launch it.',
|
|
1375
1377
|
copy: 'Copy',
|
|
1376
1378
|
copied: 'Copied',
|
|
1377
1379
|
done: 'Done',
|
|
1378
|
-
applyingBody: 'The
|
|
1380
|
+
applyingBody: 'The Claw Agent updater will take over in its own window and reopen Claw Agent when it’s done.',
|
|
1379
1381
|
applyingBodyBackend:
|
|
1380
|
-
'The remote backend is applying the update and will restart.
|
|
1381
|
-
applyingClose: '
|
|
1382
|
+
'The remote backend is applying the update and will restart. Claw Agent reconnects automatically when it’s back.',
|
|
1383
|
+
applyingClose: 'Claw Agent will close to apply the update.',
|
|
1382
1384
|
errorTitle: 'Update didn’t finish',
|
|
1383
1385
|
errorBody: 'No worries — nothing was lost. You can try again now.',
|
|
1384
1386
|
notNow: 'Not now',
|
|
@@ -1400,7 +1402,7 @@ export const en: Translations = {
|
|
|
1400
1402
|
skipped: 'Skipped',
|
|
1401
1403
|
failed: 'Failed'
|
|
1402
1404
|
},
|
|
1403
|
-
oneTimeTitle: '
|
|
1405
|
+
oneTimeTitle: 'Claw Agent needs a one-time install',
|
|
1404
1406
|
unsupportedDesc: platform =>
|
|
1405
1407
|
`Automated first-launch install isn’t available on ${platform} yet. Open Terminal and run the command below, then relaunch this app. Subsequent launches will skip this step.`,
|
|
1406
1408
|
installCommand: 'Install command',
|
|
@@ -1409,12 +1411,12 @@ export const en: Translations = {
|
|
|
1409
1411
|
installTo: 'Will install to',
|
|
1410
1412
|
retryAfterRun: 'I’ve run it -- retry',
|
|
1411
1413
|
failedTitle: 'Installation failed',
|
|
1412
|
-
settingUpTitle: 'Setting up
|
|
1414
|
+
settingUpTitle: 'Setting up Claw Agent',
|
|
1413
1415
|
finishingTitle: 'Finishing up',
|
|
1414
1416
|
failedDesc:
|
|
1415
|
-
'One of the install steps failed. On Windows, this can happen if another
|
|
1417
|
+
'One of the install steps failed. On Windows, this can happen if another Claw Agent CLI or desktop instance is running. Stop any running Claw Agent instances, then retry. Check the details below or the desktop log for the full transcript.',
|
|
1416
1418
|
activeDesc:
|
|
1417
|
-
'This is a one-time setup. The
|
|
1419
|
+
'This is a one-time setup. The Claw Agent installer is downloading dependencies and configuring your machine. Subsequent launches will skip this step.',
|
|
1418
1420
|
progress: (completed, total) => `${completed} of ${total} steps complete`,
|
|
1419
1421
|
currentStage: stage => ` -- now: ${stage}`,
|
|
1420
1422
|
fetchingManifest: 'Fetching installer manifest...',
|
|
@@ -1432,10 +1434,10 @@ export const en: Translations = {
|
|
|
1432
1434
|
},
|
|
1433
1435
|
|
|
1434
1436
|
onboarding: {
|
|
1435
|
-
headerTitle: "Let's get you setup with
|
|
1437
|
+
headerTitle: "Let's get you setup with Claw Agent",
|
|
1436
1438
|
headerDesc: 'Connect a model provider to start chatting. Most options take one click.',
|
|
1437
|
-
preparingInstall: '
|
|
1438
|
-
starting: 'Starting
|
|
1439
|
+
preparingInstall: 'Claw Agent is finishing install. This usually takes under a minute on first run.',
|
|
1440
|
+
starting: 'Starting Claw Agent…',
|
|
1439
1441
|
lookingUpProviders: 'Looking up providers...',
|
|
1440
1442
|
collapse: 'Collapse',
|
|
1441
1443
|
otherProviders: 'Other providers',
|
|
@@ -1443,7 +1445,7 @@ export const en: Translations = {
|
|
|
1443
1445
|
chooseLater: "I'll choose a provider later",
|
|
1444
1446
|
recommended: 'Recommended',
|
|
1445
1447
|
connected: 'Connected',
|
|
1446
|
-
featuredPitch: 'One subscription, 300+ frontier models — the recommended way to run
|
|
1448
|
+
featuredPitch: 'One subscription, 300+ frontier models — the recommended way to run Claw Agent',
|
|
1447
1449
|
openRouterPitch: 'One key, hundreds of models — a solid default',
|
|
1448
1450
|
apiKeyOptions: {
|
|
1449
1451
|
openrouter: {
|
|
@@ -1455,7 +1457,7 @@ export const en: Translations = {
|
|
|
1455
1457
|
xai: { short: 'Grok models', description: 'Direct access to xAI Grok models.' },
|
|
1456
1458
|
local: {
|
|
1457
1459
|
short: 'self-hosted',
|
|
1458
|
-
description: 'Point
|
|
1460
|
+
description: 'Point Claw Agent at a local or self-hosted OpenAI-compatible endpoint (vLLM, llama.cpp, Ollama, etc).'
|
|
1459
1461
|
}
|
|
1460
1462
|
},
|
|
1461
1463
|
backToSignIn: 'Back to sign in',
|
|
@@ -1468,8 +1470,8 @@ export const en: Translations = {
|
|
|
1468
1470
|
update: 'Update',
|
|
1469
1471
|
flowSubtitles: {
|
|
1470
1472
|
pkce: 'Opens your browser to sign in, then continues here',
|
|
1471
|
-
device_code: 'Opens a verification page in your browser —
|
|
1472
|
-
loopback: 'Opens your browser to sign in —
|
|
1473
|
+
device_code: 'Opens a verification page in your browser — Claw Agent connects automatically',
|
|
1474
|
+
loopback: 'Opens your browser to sign in — Claw Agent connects automatically',
|
|
1473
1475
|
external: 'Sign in once in your terminal, then come back to chat'
|
|
1474
1476
|
},
|
|
1475
1477
|
startingSignIn: provider => `Starting sign-in for ${provider}...`,
|
|
@@ -1480,12 +1482,12 @@ export const en: Translations = {
|
|
|
1480
1482
|
pickDifferentProvider: 'Pick a different provider',
|
|
1481
1483
|
signInWith: provider => `Sign in with ${provider}`,
|
|
1482
1484
|
openedBrowser: provider => `We opened ${provider} in your browser.`,
|
|
1483
|
-
authorizeThere: 'Authorize
|
|
1485
|
+
authorizeThere: 'Authorize Claw Agent there.',
|
|
1484
1486
|
copyAuthCode: 'Copy the authorization code and paste it below.',
|
|
1485
1487
|
pasteAuthCode: 'Paste authorization code',
|
|
1486
1488
|
reopenAuthPage: 'Re-open authorization page',
|
|
1487
1489
|
autoBrowser: provider =>
|
|
1488
|
-
`We opened ${provider} in your browser. Authorize
|
|
1490
|
+
`We opened ${provider} in your browser. Authorize Claw Agent there and you'll be connected automatically — nothing to copy or paste.`,
|
|
1489
1491
|
reopenSignInPage: 'Re-open sign-in page',
|
|
1490
1492
|
waitingAuthorize: 'Waiting for you to authorize...',
|
|
1491
1493
|
externalPending: provider =>
|
|
@@ -1574,7 +1576,7 @@ export const en: Translations = {
|
|
|
1574
1576
|
update: 'update',
|
|
1575
1577
|
updateInProgress: 'Update in progress',
|
|
1576
1578
|
commitsBehind: (count, branch) => `${count} commit${count === 1 ? '' : 's'} behind ${branch}`,
|
|
1577
|
-
desktopVersion: version => `
|
|
1579
|
+
desktopVersion: version => `Claw Agent Desktop v${version}`,
|
|
1578
1580
|
backendVersion: version => `Backend v${version}`,
|
|
1579
1581
|
clientLabel: version => `client v${version}`,
|
|
1580
1582
|
backendLabel: version => `backend v${version}`,
|
|
@@ -1591,7 +1593,7 @@ export const en: Translations = {
|
|
|
1591
1593
|
gatewayConnecting: 'connecting',
|
|
1592
1594
|
gatewayOffline: 'offline',
|
|
1593
1595
|
gatewayRestarting: 'restarting…',
|
|
1594
|
-
gatewayTitle: '
|
|
1596
|
+
gatewayTitle: 'Claw Agent inference gateway status',
|
|
1595
1597
|
agents: 'Agents',
|
|
1596
1598
|
closeAgents: 'Close agents',
|
|
1597
1599
|
openAgents: 'Open agents',
|
|
@@ -1663,7 +1665,7 @@ export const en: Translations = {
|
|
|
1663
1665
|
binaryTitle: 'This looks like a binary file',
|
|
1664
1666
|
binaryBody: label => `Previewing ${label} may show unreadable text.`,
|
|
1665
1667
|
largeTitle: 'This file is large',
|
|
1666
|
-
largeBody: (label, size) => `${label} is ${size}.
|
|
1668
|
+
largeBody: (label, size) => `${label} is ${size}. Claw Agent will only show the first 512 KB.`,
|
|
1667
1669
|
previewAnyway: 'Preview anyway',
|
|
1668
1670
|
truncated: 'Showing first 512 KB.',
|
|
1669
1671
|
noInlineTitle: 'No inline preview',
|
|
@@ -1693,26 +1695,26 @@ export const en: Translations = {
|
|
|
1693
1695
|
serverNotFound: 'Server not found',
|
|
1694
1696
|
failedToLoad: 'Preview failed to load',
|
|
1695
1697
|
tryAgain: 'Try again',
|
|
1696
|
-
restarting: '
|
|
1697
|
-
askRestart: 'Ask
|
|
1698
|
-
lookingRestart: taskId => `
|
|
1698
|
+
restarting: 'Claw Agent is restarting...',
|
|
1699
|
+
askRestart: 'Ask Claw Agent to restart the server',
|
|
1700
|
+
lookingRestart: taskId => `Claw Agent is looking for a preview server to restart (${taskId})`,
|
|
1699
1701
|
restartingTitle: 'Restarting preview server',
|
|
1700
|
-
restartingMessage: '
|
|
1702
|
+
restartingMessage: 'Claw Agent is working in the background. Watch the preview console for progress.',
|
|
1701
1703
|
startRestartFailed: message => `Could not start server restart: ${message}`,
|
|
1702
1704
|
restartFailed: 'Server restart failed',
|
|
1703
1705
|
hideConsole: 'Hide preview console',
|
|
1704
1706
|
showConsole: 'Show preview console',
|
|
1705
1707
|
hideDevTools: 'Hide preview DevTools',
|
|
1706
1708
|
openDevTools: 'Open preview DevTools',
|
|
1707
|
-
finishedRestarting: message => `
|
|
1709
|
+
finishedRestarting: message => `Claw Agent finished restarting the preview server${message ? `: ${message}` : ''}`,
|
|
1708
1710
|
failedRestarting: message => `Server restart failed: ${message}`,
|
|
1709
1711
|
unknownError: 'unknown error',
|
|
1710
1712
|
restartedTitle: 'Preview server restarted',
|
|
1711
1713
|
reloadingNow: 'Reloading the preview now.',
|
|
1712
1714
|
restartFailedTitle: 'Preview restart failed',
|
|
1713
|
-
restartFailedMessage: '
|
|
1715
|
+
restartFailedMessage: 'Claw Agent could not restart the server.',
|
|
1714
1716
|
stillWorking:
|
|
1715
|
-
'
|
|
1717
|
+
'Claw Agent is still working, but no restart result has arrived yet. The server command may be running in the foreground.',
|
|
1716
1718
|
workspaceReloading: 'Workspace changed, reloading preview',
|
|
1717
1719
|
fileChanged: url => `File changed, reloading preview: ${url}`,
|
|
1718
1720
|
filesChanged: (count, url) => `${count} file changes, reloading preview: ${url}`,
|
|
@@ -1730,7 +1732,7 @@ export const en: Translations = {
|
|
|
1730
1732
|
thread: {
|
|
1731
1733
|
loadingSession: 'Loading session',
|
|
1732
1734
|
showEarlier: 'Show earlier messages',
|
|
1733
|
-
loadingResponse: '
|
|
1735
|
+
loadingResponse: 'Claw Agent is loading a response',
|
|
1734
1736
|
thinking: 'Thinking',
|
|
1735
1737
|
today: time => `Today, ${time}`,
|
|
1736
1738
|
yesterday: time => `Yesterday, ${time}`,
|
|
@@ -1758,7 +1760,7 @@ export const en: Translations = {
|
|
|
1758
1760
|
attachingFile: 'Attaching…'
|
|
1759
1761
|
},
|
|
1760
1762
|
approval: {
|
|
1761
|
-
gatewayDisconnected: '
|
|
1763
|
+
gatewayDisconnected: 'Claw Agent gateway is not connected',
|
|
1762
1764
|
sendFailed: 'Could not send approval response',
|
|
1763
1765
|
run: 'Run',
|
|
1764
1766
|
command: 'Command',
|
|
@@ -1769,12 +1771,12 @@ export const en: Translations = {
|
|
|
1769
1771
|
reject: 'Reject',
|
|
1770
1772
|
alwaysTitle: 'Always allow this command?',
|
|
1771
1773
|
alwaysDescription: pattern =>
|
|
1772
|
-
`This adds the “${pattern}” pattern to your permanent allowlist (~/.hermes/config.yaml).
|
|
1774
|
+
`This adds the “${pattern}” pattern to your permanent allowlist (~/.hermes/config.yaml). Claw Agent won’t ask again for commands like this — in this session or any future one.`,
|
|
1773
1775
|
alwaysAllow: 'Always allow'
|
|
1774
1776
|
},
|
|
1775
1777
|
clarify: {
|
|
1776
1778
|
notReady: 'Clarify request is not ready yet',
|
|
1777
|
-
gatewayDisconnected: '
|
|
1779
|
+
gatewayDisconnected: 'Claw Agent gateway is not connected',
|
|
1778
1780
|
sendFailed: 'Could not send clarify response',
|
|
1779
1781
|
loadingQuestion: 'Loading question…',
|
|
1780
1782
|
other: 'Other (type your answer)',
|
|
@@ -1811,14 +1813,14 @@ export const en: Translations = {
|
|
|
1811
1813
|
},
|
|
1812
1814
|
|
|
1813
1815
|
prompts: {
|
|
1814
|
-
gatewayDisconnected: '
|
|
1816
|
+
gatewayDisconnected: 'Claw Agent gateway is not connected',
|
|
1815
1817
|
sudoSendFailed: 'Could not send sudo password',
|
|
1816
1818
|
secretSendFailed: 'Could not send secret',
|
|
1817
1819
|
sudoTitle: 'Administrator password',
|
|
1818
|
-
sudoDesc: '
|
|
1820
|
+
sudoDesc: 'Claw Agent needs your sudo password to run a privileged command. It is sent only to your local agent.',
|
|
1819
1821
|
sudoPlaceholder: 'sudo password',
|
|
1820
1822
|
secretTitle: 'Secret required',
|
|
1821
|
-
secretDesc: '
|
|
1823
|
+
secretDesc: 'Claw Agent needs a credential to continue.',
|
|
1822
1824
|
secretPlaceholder: 'secret value'
|
|
1823
1825
|
},
|
|
1824
1826
|
|
|
@@ -1869,8 +1871,8 @@ export const en: Translations = {
|
|
|
1869
1871
|
sessionExportFailed: 'Could not export session',
|
|
1870
1872
|
imageSaved: 'Image saved',
|
|
1871
1873
|
downloadStarted: 'Download started',
|
|
1872
|
-
restartToUseSaveImage: 'Restart
|
|
1873
|
-
restartToSaveImages: 'Restart
|
|
1874
|
+
restartToUseSaveImage: 'Restart Claw Agent Desktop to use Save Image.',
|
|
1875
|
+
restartToSaveImages: 'Restart Claw Agent Desktop to save images',
|
|
1874
1876
|
imageDownloadFailed: 'Image download failed',
|
|
1875
1877
|
openImage: 'Open image',
|
|
1876
1878
|
downloadImage: 'Download image',
|