@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.
Files changed (64) hide show
  1. package/agent/.mailmap +4 -0
  2. package/agent/apps/desktop/README.md +3 -3
  3. package/agent/apps/desktop/assets/icon.icns +0 -0
  4. package/agent/apps/desktop/assets/icon.ico +0 -0
  5. package/agent/apps/desktop/assets/icon.png +0 -0
  6. package/agent/apps/desktop/electron/backend-ready.cjs +2 -2
  7. package/agent/apps/desktop/electron/dashboard-token.cjs +3 -3
  8. package/agent/apps/desktop/electron/hardening.cjs +1 -1
  9. package/agent/apps/desktop/electron/main.cjs +65 -65
  10. package/agent/apps/desktop/index.html +1 -1
  11. package/agent/apps/desktop/package.json +11 -11
  12. package/agent/apps/desktop/public/apple-touch-icon.png +0 -0
  13. package/agent/apps/desktop/public/claw-mark.png +0 -0
  14. package/agent/apps/desktop/scripts/set-exe-identity.cjs +2 -2
  15. package/agent/apps/desktop/src/app/chat/composer/controls.tsx +2 -0
  16. package/agent/apps/desktop/src/app/chat/composer/index.tsx +10 -0
  17. package/agent/apps/desktop/src/app/chat/composer/pod-credits.tsx +49 -0
  18. package/agent/apps/desktop/src/app/chat/index.tsx +1 -1
  19. package/agent/apps/desktop/src/app/chat/sidebar/index.tsx +4 -2
  20. package/agent/apps/desktop/src/app/desktop-controller.tsx +18 -0
  21. package/agent/apps/desktop/src/app/gateway/hooks/use-gateway-request.ts +1 -1
  22. package/agent/apps/desktop/src/app/messaging/index.tsx +5 -5
  23. package/agent/apps/desktop/src/app/routes.ts +9 -1
  24. package/agent/apps/desktop/src/app/session/hooks/use-message-stream.ts +3 -3
  25. package/agent/apps/desktop/src/app/settings/constants.ts +5 -5
  26. package/agent/apps/desktop/src/app/settings/model-settings.tsx +1 -1
  27. package/agent/apps/desktop/src/app/settings/providers-settings.tsx +46 -1
  28. package/agent/apps/desktop/src/app/settings/uninstall-section.tsx +5 -5
  29. package/agent/apps/desktop/src/app/types.ts +9 -1
  30. package/agent/apps/desktop/src/app/wallet/index.tsx +244 -0
  31. package/agent/apps/desktop/src/app/x402/index.tsx +162 -0
  32. package/agent/apps/desktop/src/components/assistant-ui/thread.tsx +1 -1
  33. package/agent/apps/desktop/src/components/brand-mark.tsx +2 -2
  34. package/agent/apps/desktop/src/components/chat/intro-copy.jsonl +6 -6
  35. package/agent/apps/desktop/src/components/chat/intro.tsx +4 -4
  36. package/agent/apps/desktop/src/components/model-picker.tsx +64 -4
  37. package/agent/apps/desktop/src/components/pod-setup-dialog.tsx +227 -0
  38. package/agent/apps/desktop/src/hermes.ts +109 -3
  39. package/agent/apps/desktop/src/i18n/en.ts +80 -78
  40. package/agent/apps/desktop/src/i18n/ja.ts +82 -82
  41. package/agent/apps/desktop/src/i18n/runtime.test.ts +2 -2
  42. package/agent/apps/desktop/src/i18n/zh-hant.ts +82 -82
  43. package/agent/apps/desktop/src/i18n/zh.ts +87 -87
  44. package/agent/apps/desktop/src/lib/desktop-fs.ts +1 -1
  45. package/agent/apps/desktop/src/lib/desktop-slash-commands.ts +4 -4
  46. package/agent/apps/desktop/src/store/composer.ts +7 -0
  47. package/agent/apps/desktop/src/store/onboarding.ts +5 -5
  48. package/agent/apps/desktop/src/themes/presets.ts +54 -54
  49. package/agent/cli.py +184 -10
  50. package/agent/hermes_cli/distribution.py +188 -8
  51. package/agent/hermes_cli/providers.py +29 -0
  52. package/agent/hermes_cli/web_server.py +403 -34
  53. package/agent/plugins/model-providers/usepod/__init__.py +7 -1
  54. package/agent/scripts/release.py +1 -0
  55. package/agent/web/public/claw-logo.png +0 -0
  56. package/agent/web/src/App.tsx +6 -4
  57. package/agent/web/src/components/ChatSidebar.tsx +5 -0
  58. package/agent/web/src/components/ModelPickerDialog.tsx +28 -1
  59. package/agent/web/src/components/PodCredits.tsx +57 -0
  60. package/agent/web/src/components/PodSetupDialog.tsx +240 -0
  61. package/agent/web/src/lib/api.ts +135 -0
  62. package/agent/web/src/pages/AgentMailPage.tsx +684 -0
  63. package/agent/web/src/pages/WalletPage.tsx +53 -5
  64. package/package.json +1 -1
@@ -43,25 +43,25 @@ export const en: Translations = {
43
43
  },
44
44
 
45
45
  boot: {
46
- ready: 'Hermes Desktop is 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 Hermes settings',
50
+ loadingSettings: 'Loading Claw Agent settings',
51
51
  loadingSessions: 'Loading recent sessions',
52
52
  startingDesktopConnection: 'Starting desktop connection',
53
- startingHermesDesktop: 'Starting Hermes Desktop…'
53
+ startingHermesDesktop: 'Starting Claw Agent Desktop…'
54
54
  },
55
55
  errors: {
56
- backgroundExited: 'Hermes background process exited.',
57
- backgroundExitedDuringStartup: 'Hermes background process exited during startup.',
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: "Hermes couldn't start",
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 Hermes backend is older than this desktop build and may not work correctly. Update to align them.',
102
- updateHermes: 'Update Hermes',
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 Hermes Desktop.',
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: 'Hermes is waiting for your response.',
141
- turnDoneTitle: 'Hermes finished',
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 Hermes defaults?',
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 Hermes is in the background.',
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: 'Hermes asked a question or needs a password or secret.'
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 Hermes was in the background.'
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: 'Hermes',
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 Hermes Desktop',
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 Hermes follow your system setting.',
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: 'Hermes Desktop',
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
- 'Hermes checks for updates automatically in the background and lets you know when one is ready.',
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 Hermes configuration...',
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
- 'Hermes Desktop starts its own local gateway by default. Use a remote gateway when you want this app to control an already-running Hermes backend on another machine or behind a trusted proxy. Pick a profile below to give it its own remote host.',
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 Hermes backend on localhost. This is the default and works offline.',
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 Hermes backend. Hosted gateways use OAuth or a username and password; self-hosted ones may use a session token.',
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: 'Hermes Desktop will reconnect using the saved settings.',
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 ? ` · Hermes ${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. Hermes runs the browser sign-in for you, right here in the app.',
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 Hermes desktop' },
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) => `Hermes ${version} · Active sessions ${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 Hermes',
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 Hermes environments: separate config, skills, and SOUL.md.',
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. Hermes will run it and deliver results to the destination you pick.',
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 Hermes...',
1208
- placeholderReconnecting: 'Reconnecting to Hermes…',
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 Hermes a task',
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: 'Hermes will fetch the page and include it as context for this turn.',
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 Hermes…',
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 Hermes can’t update itself from inside the app.',
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 Hermes is ready to install.',
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 Hermes backend is ready to install.',
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 Hermes from the command line, so updates run there too. Paste this into your terminal:',
1374
- manualPickedUp: 'Hermes will pick up the new version next time you launch it.',
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 Hermes updater will take over in its own window and reopen Hermes when it’s done.',
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. Hermes reconnects automatically when it’s back.',
1381
- applyingClose: 'Hermes will close to apply the update.',
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: 'Hermes needs a one-time install',
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 Hermes Agent',
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 Hermes CLI or desktop instance is running. Stop any running Hermes instances, then retry. Check the details below or the desktop log for the full transcript.',
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 Hermes installer is downloading dependencies and configuring your machine. Subsequent launches will skip this step.',
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 Hermes Agent",
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: 'Hermes is finishing install. This usually takes under a minute on first run.',
1438
- starting: 'Starting Hermes…',
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 Hermes',
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 Hermes at a local or self-hosted OpenAI-compatible endpoint (vLLM, llama.cpp, Ollama, etc).'
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 — Hermes connects automatically',
1472
- loopback: 'Opens your browser to sign in — Hermes connects automatically',
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 Hermes there.',
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 Hermes there and you'll be connected automatically — nothing to copy or paste.`,
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 => `Hermes Desktop v${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: 'Hermes inference gateway status',
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}. Hermes will only show the first 512 KB.`,
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: 'Hermes is restarting...',
1697
- askRestart: 'Ask Hermes to restart the server',
1698
- lookingRestart: taskId => `Hermes is looking for a preview server to restart (${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: 'Hermes is working in the background. Watch the preview console for progress.',
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 => `Hermes finished restarting the preview server${message ? `: ${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: 'Hermes could not restart the server.',
1715
+ restartFailedMessage: 'Claw Agent could not restart the server.',
1714
1716
  stillWorking:
1715
- 'Hermes is still working, but no restart result has arrived yet. The server command may be running in the foreground.',
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: 'Hermes is loading a response',
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: 'Hermes gateway is not connected',
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). Hermes won’t ask again for commands like this — in this session or any future one.`,
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: 'Hermes gateway is not connected',
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: 'Hermes gateway is not connected',
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: 'Hermes needs your sudo password to run a privileged command. It is sent only to your local agent.',
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: 'Hermes needs a credential to continue.',
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 Hermes Desktop to use Save Image.',
1873
- restartToSaveImages: 'Restart Hermes Desktop to save images',
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',