@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 ja = defineLocale({
43
43
  },
44
44
 
45
45
  boot: {
46
- ready: 'Hermes Desktop の準備ができました',
46
+ ready: 'Claw Agent Desktop の準備ができました',
47
47
  desktopBootFailedWithMessage: message => `デスクトップの起動に失敗しました: ${message}`,
48
48
  steps: {
49
49
  connectingGateway: 'ライブデスクトップゲートウェイに接続中',
50
- loadingSettings: 'Hermes の設定を読み込み中',
50
+ loadingSettings: 'Claw Agent の設定を読み込み中',
51
51
  loadingSessions: '最近のセッションを読み込み中',
52
52
  startingDesktopConnection: 'デスクトップ接続を開始中',
53
- startingHermesDesktop: 'Hermes Desktop を起動中…'
53
+ startingHermesDesktop: 'Claw Agent Desktop を起動中…'
54
54
  },
55
55
  errors: {
56
- backgroundExited: 'Hermes バックグラウンドプロセスが終了しました。',
57
- backgroundExitedDuringStartup: '起動中に Hermes バックグラウンドプロセスが終了しました。',
56
+ backgroundExited: 'Claw Agent バックグラウンドプロセスが終了しました。',
57
+ backgroundExitedDuringStartup: '起動中に Claw Agent バックグラウンドプロセスが終了しました。',
58
58
  backendStopped: 'バックエンドが停止しました',
59
59
  desktopBootFailed: 'デスクトップの起動に失敗しました',
60
60
  gatewaySignInRequired: 'ゲートウェイへのサインインが必要です',
61
61
  ipcBridgeUnavailable: 'デスクトップ IPC ブリッジが利用できません。'
62
62
  },
63
63
  failure: {
64
- title: 'Hermes を起動できませんでした',
64
+ title: 'Claw Agent を起動できませんでした',
65
65
  description:
66
66
  'バックグラウンドゲートウェイが起動しませんでした。以下の回復手順をお試しください。チャットや設定は削除されません。',
67
67
  remoteTitle: 'リモートゲートウェイへのサインインが必要です',
@@ -99,8 +99,8 @@ export const ja = defineLocale({
99
99
  copyDetailFailed: '通知の詳細をコピーできませんでした',
100
100
  backendOutOfDateTitle: 'バックエンドが古いです',
101
101
  backendOutOfDateMessage:
102
- 'Hermes バックエンドがこのデスクトップビルドより古く、正常に動作しない場合があります。更新して揃えてください。',
103
- updateHermes: 'Hermes を更新',
102
+ 'Claw Agent バックエンドがこのデスクトップビルドより古く、正常に動作しない場合があります。更新して揃えてください。',
103
+ updateHermes: 'Claw Agent を更新',
104
104
  updateReadyTitle: '更新の準備ができました',
105
105
  updateReadyMessage: count => `${count} 件の新しい変更が利用可能です。`,
106
106
  seeWhatsNew: '新機能を見る',
@@ -108,7 +108,7 @@ export const ja = defineLocale({
108
108
  elevenLabsNeedsKey: 'ElevenLabs STT には ELEVENLABS_API_KEY が必要です。',
109
109
  elevenLabsRejectedKey: 'ElevenLabs が API キーを拒否しました (401)。',
110
110
  methodNotAllowed:
111
- 'デスクトップバックエンドがそのリクエストを拒否しました (405 Method Not Allowed)。Hermes Desktop を再起動してください。',
111
+ 'デスクトップバックエンドがそのリクエストを拒否しました (405 Method Not Allowed)。Claw Agent Desktop を再起動してください。',
112
112
  microphonePermission: 'マイクのアクセス許可が拒否されました。',
113
113
  openaiRejectedApiKey: 'OpenAI が API キーを拒否しました。',
114
114
  openaiRejectedApiKeyWithStatus: status => `OpenAI が API キーを拒否しました (${status} invalid_api_key)。`,
@@ -138,8 +138,8 @@ export const ja = defineLocale({
138
138
  approveAction: '承認',
139
139
  rejectAction: '拒否',
140
140
  inputTitle: '入力が必要です',
141
- inputBody: 'Hermes が応答を待っています。',
142
- turnDoneTitle: 'Hermes が完了しました',
141
+ inputBody: 'Claw Agent が応答を待っています。',
142
+ turnDoneTitle: 'Claw Agent が完了しました',
143
143
  turnDoneBody: '応答の準備ができました。',
144
144
  turnErrorTitle: 'ターンが失敗しました',
145
145
  backgroundDoneTitle: 'バックグラウンドタスクが完了しました',
@@ -176,7 +176,7 @@ export const ja = defineLocale({
176
176
  exportConfig: '設定を書き出す',
177
177
  importConfig: '設定を読み込む',
178
178
  resetToDefaults: 'デフォルトに戻す',
179
- resetConfirm: 'すべての設定を Hermes のデフォルトに戻しますか?',
179
+ resetConfirm: 'すべての設定を Claw Agent のデフォルトに戻しますか?',
180
180
  exportFailed: '書き出しに失敗しました',
181
181
  resetFailed: 'リセットに失敗しました',
182
182
  nav: {
@@ -198,7 +198,7 @@ export const ja = defineLocale({
198
198
  'アプリ内トーストとは別の、ネイティブのデスクトップ通知です。設定は端末ごとに保存されます。',
199
199
  enableAll: '通知を有効にする',
200
200
  enableAllDesc: 'マスタースイッチ。オフにすると以下のすべての通知を無効にします。',
201
- focusedHint: '完了通知は Hermes がバックグラウンドにあるときのみ表示されます。',
201
+ focusedHint: '完了通知は Claw Agent がバックグラウンドにあるときのみ表示されます。',
202
202
  kinds: {
203
203
  approval: {
204
204
  label: '承認が必要',
@@ -206,11 +206,11 @@ export const ja = defineLocale({
206
206
  },
207
207
  input: {
208
208
  label: '入力が必要',
209
- description: 'Hermes が質問したか、パスワードやシークレットを必要としています。'
209
+ description: 'Claw Agent が質問したか、パスワードやシークレットを必要としています。'
210
210
  },
211
211
  turnDone: {
212
212
  label: '応答完了',
213
- description: 'Hermes がバックグラウンドのときにターンが完了しました。'
213
+ description: 'Claw Agent がバックグラウンドのときにターンが完了しました。'
214
214
  },
215
215
  turnError: {
216
216
  label: 'ターン失敗',
@@ -222,7 +222,7 @@ export const ja = defineLocale({
222
222
  }
223
223
  },
224
224
  test: 'テスト通知を送信',
225
- testTitle: 'Hermes',
225
+ testTitle: 'Claw Agent',
226
226
  testBody: '通知は正常に動作しています。',
227
227
  testSent:
228
228
  'テストを送信しました。表示されない場合は、OS の通知許可と集中モード/おやすみモードを確認してください。',
@@ -242,7 +242,7 @@ export const ja = defineLocale({
242
242
  advanced: '詳細'
243
243
  },
244
244
  searchPlaceholder: {
245
- about: 'Hermes Desktop について',
245
+ about: 'Claw Agent Desktop について',
246
246
  config: '設定を検索…',
247
247
  gateway: 'ゲートウェイ接続…',
248
248
  keys: 'API キーを検索…',
@@ -259,7 +259,7 @@ export const ja = defineLocale({
259
259
  intro:
260
260
  'デスクトップ専用の表示設定です。モードは明るさ、テーマはアクセントカラーとチャット面のスタイルを制御します。',
261
261
  colorMode: 'カラーモード',
262
- colorModeDesc: '固定モードを選ぶか、Hermes をシステム設定に合わせます。',
262
+ colorModeDesc: '固定モードを選ぶか、Claw Agent をシステム設定に合わせます。',
263
263
  toolViewTitle: 'ツール呼び出しの表示',
264
264
  toolViewDesc: 'プロダクト表示は生のツールペイロードを隠し、テクニカル表示は入出力をすべて表示します。',
265
265
  translucencyTitle: 'ウィンドウの透過',
@@ -444,10 +444,10 @@ export const ja = defineLocale({
444
444
  showReasoning: 'バックエンドが推論内容を提供したときに表示します。'
445
445
  },
446
446
  timezone:
447
- 'Hermes がローカル時刻のコンテキストを必要とするときに使用します。空欄ならシステムのタイムゾーンを使います。',
447
+ 'Claw Agent がローカル時刻のコンテキストを必要とするときに使用します。空欄ならシステムのタイムゾーンを使います。',
448
448
  agent: {
449
449
  imageInputMode: '画像添付をモデルへ送る方法を制御します。',
450
- maxTurns: 'Hermes が 1 回の実行を停止するまでのツール呼び出しターン上限です。'
450
+ maxTurns: 'Claw Agent が 1 回の実行を停止するまでのツール呼び出しターン上限です。'
451
451
  },
452
452
  terminal: {
453
453
  cwd: 'ツールとターミナル作業のデフォルトプロジェクトフォルダーです。',
@@ -457,9 +457,9 @@ export const ja = defineLocale({
457
457
  codeExecution: {
458
458
  mode: 'コード実行を現在のプロジェクトにどれだけ厳密に制限するかを設定します。'
459
459
  },
460
- fileReadMaxChars: 'Hermes が 1 回のファイル読み取りで取得できる最大文字数です。',
460
+ fileReadMaxChars: 'Claw Agent が 1 回のファイル読み取りで取得できる最大文字数です。',
461
461
  approvals: {
462
- mode: '明示的な承認が必要なコマンドを Hermes がどう扱うかを設定します。',
462
+ mode: '明示的な承認が必要なコマンドを Claw Agent がどう扱うかを設定します。',
463
463
  timeout: '承認プロンプトがタイムアウトするまで待つ時間です。'
464
464
  },
465
465
  security: {
@@ -489,11 +489,11 @@ export const ja = defineLocale({
489
489
  },
490
490
  updates: {
491
491
  nonInteractiveLocalChanges:
492
- 'アプリから Hermes 自身を更新するとき、ローカルのソース変更を保持するか破棄するかを選びます。ターミナル更新では常に確認されます。'
492
+ 'アプリから Claw Agent 自身を更新するとき、ローカルのソース変更を保持するか破棄するかを選びます。ターミナル更新では常に確認されます。'
493
493
  }
494
494
  }),
495
495
  about: {
496
- heading: 'Hermes Desktop',
496
+ heading: 'Claw Agent Desktop',
497
497
  version: value => `バージョン ${value}`,
498
498
  versionUnavailable: 'バージョンを取得できません',
499
499
  updates: '更新',
@@ -510,7 +510,7 @@ export const ja = defineLocale({
510
510
  lastChecked: age => `前回確認: ${age}`,
511
511
  justNowSuffix: ' · たった今',
512
512
  automaticUpdates: '自動更新',
513
- automaticUpdatesDesc: 'Hermes はバックグラウンドで自動的に更新を確認し、利用可能になったら通知します。',
513
+ automaticUpdatesDesc: 'Claw Agent はバックグラウンドで自動的に更新を確認し、利用可能になったら通知します。',
514
514
  branchCommit: (branch, commit) => `ブランチ ${branch} · コミット ${commit}`,
515
515
  never: '未確認',
516
516
  justNow: 'たった今',
@@ -523,7 +523,7 @@ export const ja = defineLocale({
523
523
  noneParen: '(なし)',
524
524
  notSet: '未設定',
525
525
  commaSeparated: 'カンマ区切りの値',
526
- loading: 'Hermes の設定を読み込み中...',
526
+ loading: 'Claw Agent の設定を読み込み中...',
527
527
  emptyTitle: '設定項目がありません',
528
528
  emptyDesc: 'このセクションには調整できる設定がありません。',
529
529
  failedLoad: '設定の読み込みに失敗しました',
@@ -560,7 +560,7 @@ export const ja = defineLocale({
560
560
  title: 'ゲートウェイ接続',
561
561
  envOverride: 'env オーバーライド',
562
562
  intro:
563
- 'Hermes Desktop はデフォルトで独自のローカルゲートウェイを起動します。別のマシンや信頼できるプロキシの背後で既に動作している Hermes バックエンドをこのアプリで制御する場合は、リモートゲートウェイを使用してください。以下でプロファイルを選択して、それぞれのリモートホストを設定します。',
563
+ 'Claw Agent Desktop はデフォルトで独自のローカルゲートウェイを起動します。別のマシンや信頼できるプロキシの背後で既に動作している Claw Agent バックエンドをこのアプリで制御する場合は、リモートゲートウェイを使用してください。以下でプロファイルを選択して、それぞれのリモートホストを設定します。',
564
564
  appliesTo: '適用対象',
565
565
  allProfiles: 'すべてのプロファイル',
566
566
  defaultConnection: '独自のオーバーライドがないすべてのプロファイルのデフォルト接続。',
@@ -571,10 +571,10 @@ export const ja = defineLocale({
571
571
  '保存された設定を使用するには HERMES_DESKTOP_REMOTE_URL と HERMES_DESKTOP_REMOTE_TOKEN の設定を解除してください。',
572
572
  localTitle: 'ローカルゲートウェイ',
573
573
  localDesc:
574
- 'ローカルホストでプライベートな Hermes バックエンドを起動します。これがデフォルトで、オフラインでも動作します。',
574
+ 'ローカルホストでプライベートな Claw Agent バックエンドを起動します。これがデフォルトで、オフラインでも動作します。',
575
575
  remoteTitle: 'リモートゲートウェイ',
576
576
  remoteDesc:
577
- 'このデスクトップシェルをリモートの Hermes バックエンドに接続します。ホスト型ゲートウェイは OAuth またはユーザー名とパスワードを使用します。自己ホスト型はセッショントークンを使用する場合があります。',
577
+ 'このデスクトップシェルをリモートの Claw Agent バックエンドに接続します。ホスト型ゲートウェイは OAuth またはユーザー名とパスワードを使用します。自己ホスト型はセッショントークンを使用する場合があります。',
578
578
  remoteUrlTitle: 'リモート URL',
579
579
  remoteUrlDesc:
580
580
  'リモートダッシュボードバックエンドのベース URL。/hermes などのパスプレフィックスもサポートしています。',
@@ -613,9 +613,9 @@ export const ja = defineLocale({
613
613
  enterUrlFirst: '最初にリモート URL を入力してください。',
614
614
  restartingTitle: 'ゲートウェイ接続を再起動中',
615
615
  savedTitle: 'ゲートウェイ設定を保存しました',
616
- restartingMessage: 'Hermes Desktop は保存された設定を使用して再接続します。',
616
+ restartingMessage: 'Claw Agent Desktop は保存された設定を使用して再接続します。',
617
617
  savedMessage: '次回起動時に保存されます。',
618
- connectedTo: (baseUrl, version) => `${baseUrl}${version ? ` · Hermes ${version}` : ''} に接続しました`,
618
+ connectedTo: (baseUrl, version) => `${baseUrl}${version ? ` · Claw Agent ${version}` : ''} に接続しました`,
619
619
  reachableTitle: 'リモートゲートウェイに到達可能',
620
620
  signedOutTitle: 'サインアウトしました',
621
621
  signedOutMessage: 'リモートゲートウェイセッションをクリアしました。',
@@ -689,7 +689,7 @@ export const ja = defineLocale({
689
689
  connectAccount: 'アカウントを接続',
690
690
  haveApiKey: 'API キーをお持ちですか?',
691
691
  intro:
692
- 'サブスクリプションでサインインします。API キーのコピーは不要です。Hermes がアプリ内でブラウザーサインインを代行します。',
692
+ 'サブスクリプションでサインインします。API キーのコピーは不要です。Claw Agent がアプリ内でブラウザーサインインを代行します。',
693
693
  connected: '接続済み',
694
694
  collapse: '折りたたむ',
695
695
  connectAnother: '別のプロバイダーを接続',
@@ -860,7 +860,7 @@ export const ja = defineLocale({
860
860
  },
861
861
  nav: {
862
862
  newChat: { title: '新しいセッション', detail: '新しいセッションを開始' },
863
- settings: { title: '設定', detail: 'Hermes デスクトップを設定' },
863
+ settings: { title: '設定', detail: 'Claw Agent デスクトップを設定' },
864
864
  skills: { title: 'スキルとツール', detail: 'スキル、ツールセット、プロバイダーを有効化' },
865
865
  messaging: { title: 'メッセージング', detail: 'Telegram、Slack、Discord などを設定' },
866
866
  artifacts: { title: 'アーティファクト', detail: '生成された出力を閲覧' }
@@ -882,10 +882,10 @@ export const ja = defineLocale({
882
882
  noSessions: 'セッションはまだありません。',
883
883
  gatewayRunning: 'メッセージングゲートウェイが実行中',
884
884
  gatewayStopped: 'メッセージングゲートウェイが停止中',
885
- hermesActiveSessions: (version, count) => `Hermes ${version} · アクティブセッション ${count}`,
885
+ hermesActiveSessions: (version, count) => `Claw Agent ${version} · アクティブセッション ${count}`,
886
886
  restartGateway: 'ゲートウェイを再起動',
887
887
  gatewayRestartFailed: 'ゲートウェイの再起動に失敗しました。',
888
- updateHermes: 'Hermes を更新',
888
+ updateHermes: 'Claw Agent を更新',
889
889
  actionRunning: '実行中',
890
890
  actionDone: '完了',
891
891
  actionFailed: '失敗',
@@ -1099,7 +1099,7 @@ export const ja = defineLocale({
1099
1099
  deleteDescMid: ' が削除され、その ',
1100
1100
  deleteDescSuffix: ' ディレクトリが削除されます。この操作は元に戻せません。',
1101
1101
  deleting: '削除中...',
1102
- createDesc: 'プロファイルは独立した Hermes 環境です:設定、スキル、SOUL.md が別々になります。',
1102
+ createDesc: 'プロファイルは独立した Claw Agent 環境です:設定、スキル、SOUL.md が別々になります。',
1103
1103
  nameLabel: '名前',
1104
1104
  cloneFrom: '複製元',
1105
1105
  cloneFromNone: 'なし(空)',
@@ -1186,7 +1186,7 @@ export const ja = defineLocale({
1186
1186
  everyHourAt: minute => `毎時 :${minute} に`,
1187
1187
  newCron: '新しい Cron',
1188
1188
  emptyDescNew:
1189
- 'Cron 式でプロンプトを実行するスケジュールを設定します。Hermes が実行して、選択した宛先に結果を送信します。',
1189
+ 'Cron 式でプロンプトを実行するスケジュールを設定します。Claw Agent が実行して、選択した宛先に結果を送信します。',
1190
1190
  emptyDescSearch: '検索キーワードを広げてください。',
1191
1191
  emptyTitleNew: 'スケジュールされたジョブがまだありません',
1192
1192
  emptyTitleSearch: '一致なし',
@@ -1333,12 +1333,12 @@ export const ja = defineLocale({
1333
1333
  composer: {
1334
1334
  message: 'メッセージ',
1335
1335
  wakingProfile: profile => `${profile} を起動中…`,
1336
- placeholderStarting: 'Hermes を起動中...',
1337
- placeholderReconnecting: 'Hermes に再接続中…',
1336
+ placeholderStarting: 'Claw Agent を起動中...',
1337
+ placeholderReconnecting: 'Claw Agent に再接続中…',
1338
1338
  placeholderFollowUp: 'フォローアップを送信',
1339
1339
  newSessionPlaceholders: [
1340
1340
  '何を作りますか?',
1341
- 'Hermes にタスクを与える',
1341
+ 'Claw Agent にタスクを与える',
1342
1342
  '何か考えていることはありますか?',
1343
1343
  '必要なことを説明してください',
1344
1344
  '何に取り組みますか?',
@@ -1398,7 +1398,7 @@ export const ja = defineLocale({
1398
1398
  'composer.history': 'ポップオーバー / 履歴を切り替え'
1399
1399
  },
1400
1400
  attachUrlTitle: 'URL を添付',
1401
- attachUrlDesc: 'Hermes がページを取得し、このターンのコンテキストとして含めます。',
1401
+ attachUrlDesc: 'Claw Agent がページを取得し、このターンのコンテキストとして含めます。',
1402
1402
  urlPlaceholder: 'https://example.com/post',
1403
1403
  urlHintPre: '完全な URL を入力してください。例: ',
1404
1404
  attach: '添付',
@@ -1476,7 +1476,7 @@ export const ja = defineLocale({
1476
1476
  fetch: 'ダウンロード中…',
1477
1477
  pull: 'もうすぐ完了…',
1478
1478
  pydeps: '仕上げ中…',
1479
- restart: 'Hermes を再起動中…',
1479
+ restart: 'Claw Agent を再起動中…',
1480
1480
  manual: 'ターミナルから更新',
1481
1481
  error: '更新が一時停止中'
1482
1482
  },
@@ -1484,15 +1484,15 @@ export const ja = defineLocale({
1484
1484
  checkFailedTitle: '更新を確認できませんでした',
1485
1485
  tryAgain: '再試行',
1486
1486
  notAvailableTitle: '更新は利用できません',
1487
- unsupportedMessage: 'このバージョンの Hermes はアプリ内から自分を更新できません。',
1487
+ unsupportedMessage: 'このバージョンの Claw Agent はアプリ内から自分を更新できません。',
1488
1488
  connectionRetry: '接続を確認してもう一度試してください。',
1489
1489
  latestBody: '最新バージョンを実行しています。',
1490
1490
  latestBodyBackend: 'バックエンドは最新バージョンを実行しています。',
1491
1491
  allSetTitle: '準備完了',
1492
1492
  availableTitle: '新しい更新が利用可能',
1493
- availableBody: '新しいバージョンの Hermes をインストールする準備ができています。',
1493
+ availableBody: '新しいバージョンの Claw Agent をインストールする準備ができています。',
1494
1494
  availableTitleBackend: 'バックエンドの更新があります',
1495
- availableBodyBackend: '接続中の Hermes バックエンドの新しいバージョンをインストールできます。',
1495
+ availableBodyBackend: '接続中の Claw Agent バックエンドの新しいバージョンをインストールできます。',
1496
1496
  availableBodyNoChangelog:
1497
1497
  '新しいバージョンを利用できます。このインストール形式ではリリースノートは表示できません。',
1498
1498
  updateNow: '今すぐ更新',
@@ -1500,14 +1500,14 @@ export const ja = defineLocale({
1500
1500
  moreChanges: count => `さらに ${count} 件の変更が含まれています。`,
1501
1501
  manualTitle: 'ターミナルから更新',
1502
1502
  manualBody:
1503
- 'Hermes をコマンドラインからインストールしたため、更新もそこで実行されます。これをターミナルに貼り付けてください:',
1504
- manualPickedUp: 'Hermes は次回起動時に新しいバージョンを読み込みます。',
1503
+ 'Claw Agent をコマンドラインからインストールしたため、更新もそこで実行されます。これをターミナルに貼り付けてください:',
1504
+ manualPickedUp: 'Claw Agent は次回起動時に新しいバージョンを読み込みます。',
1505
1505
  copy: 'コピー',
1506
1506
  copied: 'コピーしました',
1507
1507
  done: '完了',
1508
- applyingBody: 'Hermes アップデーターが独自のウィンドウで引き継ぎ、完了後に Hermes を再度開きます。',
1509
- applyingBodyBackend: 'リモートバックエンドが更新を適用して再起動します。復帰すると Hermes が自動的に再接続します。',
1510
- applyingClose: 'Hermes は更新を適用するために閉じます。',
1508
+ applyingBody: 'Claw Agent アップデーターが独自のウィンドウで引き継ぎ、完了後に Claw Agent を再度開きます。',
1509
+ applyingBodyBackend: 'リモートバックエンドが更新を適用して再起動します。復帰すると Claw Agent が自動的に再接続します。',
1510
+ applyingClose: 'Claw Agent は更新を適用するために閉じます。',
1511
1511
  errorTitle: '更新が完了しませんでした',
1512
1512
  errorBody: 'ご安心ください。何も失われていません。今すぐ再試行できます。',
1513
1513
  notNow: '今は後で',
@@ -1530,7 +1530,7 @@ export const ja = defineLocale({
1530
1530
  skipped: 'スキップ',
1531
1531
  failed: '失敗'
1532
1532
  },
1533
- oneTimeTitle: 'Hermes には一度限りのインストールが必要です',
1533
+ oneTimeTitle: 'Claw Agent には一度限りのインストールが必要です',
1534
1534
  unsupportedDesc: platform =>
1535
1535
  `${platform} では自動の初回インストールはまだ利用できません。ターミナルを開いて以下のコマンドを実行し、このアプリを再起動してください。以降の起動ではこの手順はスキップされます。`,
1536
1536
  installCommand: 'インストールコマンド',
@@ -1539,12 +1539,12 @@ export const ja = defineLocale({
1539
1539
  installTo: 'インストール先',
1540
1540
  retryAfterRun: '実行しました — 再試行',
1541
1541
  failedTitle: 'インストールに失敗しました',
1542
- settingUpTitle: 'Hermes Agent を設定中',
1542
+ settingUpTitle: 'Claw Agent を設定中',
1543
1543
  finishingTitle: '仕上げ中',
1544
1544
  failedDesc:
1545
- 'インストール手順のいずれかが失敗しました。Windows では、別の Hermes CLI またはデスクトップインスタンスが実行中の場合に発生することがあります。実行中の Hermes インスタンスをすべて停止してから再試行してください。詳細は以下またはデスクトップログで確認できます。',
1545
+ 'インストール手順のいずれかが失敗しました。Windows では、別の Claw Agent CLI またはデスクトップインスタンスが実行中の場合に発生することがあります。実行中の Claw Agent インスタンスをすべて停止してから再試行してください。詳細は以下またはデスクトップログで確認できます。',
1546
1546
  activeDesc:
1547
- 'これは一回限りのセットアップです。Hermes インストーラーが依存関係をダウンロードしてマシンを設定しています。以降の起動ではこの手順はスキップされます。',
1547
+ 'これは一回限りのセットアップです。Claw Agent インストーラーが依存関係をダウンロードしてマシンを設定しています。以降の起動ではこの手順はスキップされます。',
1548
1548
  progress: (completed, total) => `${total} ステップ中 ${completed} 完了`,
1549
1549
  currentStage: stage => ` — 現在: ${stage}`,
1550
1550
  fetchingManifest: 'インストーラーマニフェストを取得中...',
@@ -1562,10 +1562,10 @@ export const ja = defineLocale({
1562
1562
  },
1563
1563
 
1564
1564
  onboarding: {
1565
- headerTitle: 'Hermes Agent のセットアップをしましょう',
1565
+ headerTitle: 'Claw Agent のセットアップをしましょう',
1566
1566
  headerDesc: 'チャットを始めるにはモデルプロバイダーを接続してください。ほとんどのオプションはワンクリックです。',
1567
- preparingInstall: 'Hermes はインストールを完了中です。初回実行では通常 1 分以内に完了します。',
1568
- starting: 'Hermes を起動中…',
1567
+ preparingInstall: 'Claw Agent はインストールを完了中です。初回実行では通常 1 分以内に完了します。',
1568
+ starting: 'Claw Agent を起動中…',
1569
1569
  lookingUpProviders: 'プロバイダーを検索中...',
1570
1570
  collapse: '折りたたむ',
1571
1571
  otherProviders: 'その他のプロバイダー',
@@ -1573,7 +1573,7 @@ export const ja = defineLocale({
1573
1573
  chooseLater: '後でプロバイダーを選択します',
1574
1574
  recommended: '推奨',
1575
1575
  connected: '接続済み',
1576
- featuredPitch: '1 つのサブスクリプションで 300 以上の最先端モデル — Hermes を実行するための推奨方法',
1576
+ featuredPitch: '1 つのサブスクリプションで 300 以上の最先端モデル — Claw Agent を実行するための推奨方法',
1577
1577
  openRouterPitch: '1 つのキーで数百のモデル — 堅実なデフォルト',
1578
1578
  apiKeyOptions: {
1579
1579
  openrouter: {
@@ -1586,7 +1586,7 @@ export const ja = defineLocale({
1586
1586
  local: {
1587
1587
  short: 'セルフホスト',
1588
1588
  description:
1589
- 'ローカルまたはセルフホストの OpenAI 互換エンドポイント(vLLM、llama.cpp、Ollama など)に Hermes を接続。'
1589
+ 'ローカルまたはセルフホストの OpenAI 互換エンドポイント(vLLM、llama.cpp、Ollama など)に Claw Agent を接続。'
1590
1590
  }
1591
1591
  },
1592
1592
  backToSignIn: 'サインインに戻る',
@@ -1598,8 +1598,8 @@ export const ja = defineLocale({
1598
1598
  update: '更新',
1599
1599
  flowSubtitles: {
1600
1600
  pkce: 'ブラウザーを開いてサインインし、ここに戻ります',
1601
- device_code: 'ブラウザーで確認ページを開きます — Hermes が自動接続します',
1602
- loopback: 'サインインのためブラウザーを開きます — Hermes が自動接続します',
1601
+ device_code: 'ブラウザーで確認ページを開きます — Claw Agent が自動接続します',
1602
+ loopback: 'サインインのためブラウザーを開きます — Claw Agent が自動接続します',
1603
1603
  external: 'ターミナルで一度サインインして、チャットに戻ります'
1604
1604
  },
1605
1605
  startingSignIn: provider => `${provider} のサインインを開始中...`,
@@ -1610,12 +1610,12 @@ export const ja = defineLocale({
1610
1610
  pickDifferentProvider: '別のプロバイダーを選択',
1611
1611
  signInWith: provider => `${provider} でサインイン`,
1612
1612
  openedBrowser: provider => `${provider} をブラウザーで開きました。`,
1613
- authorizeThere: 'そこで Hermes を承認してください。',
1613
+ authorizeThere: 'そこで Claw Agent を承認してください。',
1614
1614
  copyAuthCode: '認証コードをコピーして以下に貼り付けてください。',
1615
1615
  pasteAuthCode: '認証コードを貼り付け',
1616
1616
  reopenAuthPage: '認証ページを再度開く',
1617
1617
  autoBrowser: provider =>
1618
- `${provider} をブラウザーで開きました。Hermes をそこで承認すれば自動接続されます。コピーや貼り付けは不要です。`,
1618
+ `${provider} をブラウザーで開きました。Claw Agent をそこで承認すれば自動接続されます。コピーや貼り付けは不要です。`,
1619
1619
  reopenSignInPage: 'サインインページを再度開く',
1620
1620
  waitingAuthorize: '承認を待っています...',
1621
1621
  externalPending: provider =>
@@ -1704,7 +1704,7 @@ export const ja = defineLocale({
1704
1704
  update: '更新',
1705
1705
  updateInProgress: '更新中',
1706
1706
  commitsBehind: (count, branch) => `${branch} より ${count} コミット遅れています`,
1707
- desktopVersion: version => `Hermes Desktop v${version}`,
1707
+ desktopVersion: version => `Claw Agent Desktop v${version}`,
1708
1708
  backendVersion: version => `バックエンド v${version}`,
1709
1709
  clientLabel: version => `クライアント v${version}`,
1710
1710
  backendLabel: version => `バックエンド v${version}`,
@@ -1721,7 +1721,7 @@ export const ja = defineLocale({
1721
1721
  gatewayConnecting: '接続中',
1722
1722
  gatewayOffline: 'オフライン',
1723
1723
  gatewayRestarting: '再起動中…',
1724
- gatewayTitle: 'Hermes 推論ゲートウェイのステータス',
1724
+ gatewayTitle: 'Claw Agent 推論ゲートウェイのステータス',
1725
1725
  agents: 'エージェント',
1726
1726
  closeAgents: 'エージェントを閉じる',
1727
1727
  openAgents: 'エージェントを開く',
@@ -1793,7 +1793,7 @@ export const ja = defineLocale({
1793
1793
  binaryTitle: 'これはバイナリファイルのようです',
1794
1794
  binaryBody: label => `${label} をプレビューすると読み取り不能なテキストが表示される場合があります。`,
1795
1795
  largeTitle: 'このファイルは大きいです',
1796
- largeBody: (label, size) => `${label} は ${size} です。Hermes は最初の 512 KB のみを表示します。`,
1796
+ largeBody: (label, size) => `${label} は ${size} です。Claw Agent は最初の 512 KB のみを表示します。`,
1797
1797
  previewAnyway: 'とにかくプレビュー',
1798
1798
  truncated: '最初の 512 KB を表示しています。',
1799
1799
  noInlineTitle: 'インラインプレビューなし',
@@ -1823,11 +1823,11 @@ export const ja = defineLocale({
1823
1823
  serverNotFound: 'サーバーが見つかりません',
1824
1824
  failedToLoad: 'プレビューの読み込みに失敗しました',
1825
1825
  tryAgain: '再試行',
1826
- restarting: 'Hermes を再起動中...',
1827
- askRestart: 'Hermes にサーバーの再起動を依頼',
1828
- lookingRestart: taskId => `Hermes は再起動するプレビューサーバーを検索中です (${taskId})`,
1826
+ restarting: 'Claw Agent を再起動中...',
1827
+ askRestart: 'Claw Agent にサーバーの再起動を依頼',
1828
+ lookingRestart: taskId => `Claw Agent は再起動するプレビューサーバーを検索中です (${taskId})`,
1829
1829
  restartingTitle: 'プレビューサーバーを再起動中',
1830
- restartingMessage: 'Hermes はバックグラウンドで作業中です。進捗はプレビューコンソールで確認してください。',
1830
+ restartingMessage: 'Claw Agent はバックグラウンドで作業中です。進捗はプレビューコンソールで確認してください。',
1831
1831
  startRestartFailed: message => `サーバー再起動を開始できませんでした: ${message}`,
1832
1832
  restartFailed: 'サーバーの再起動に失敗しました',
1833
1833
  hideConsole: 'プレビューコンソールを非表示',
@@ -1835,15 +1835,15 @@ export const ja = defineLocale({
1835
1835
  hideDevTools: 'プレビュー DevTools を非表示',
1836
1836
  openDevTools: 'プレビュー DevTools を開く',
1837
1837
  finishedRestarting: message =>
1838
- `Hermes がプレビューサーバーの再起動を完了しました${message ? `: ${message}` : ''}`,
1838
+ `Claw Agent がプレビューサーバーの再起動を完了しました${message ? `: ${message}` : ''}`,
1839
1839
  failedRestarting: message => `サーバーの再起動に失敗しました: ${message}`,
1840
1840
  unknownError: '不明なエラー',
1841
1841
  restartedTitle: 'プレビューサーバーが再起動しました',
1842
1842
  reloadingNow: 'プレビューを再読み込み中です。',
1843
1843
  restartFailedTitle: 'プレビューの再起動に失敗しました',
1844
- restartFailedMessage: 'Hermes がサーバーを再起動できませんでした。',
1844
+ restartFailedMessage: 'Claw Agent がサーバーを再起動できませんでした。',
1845
1845
  stillWorking:
1846
- 'Hermes はまだ作業中ですが、再起動の結果がまだ届いていません。サーバーコマンドがフォアグラウンドで実行されている可能性があります。',
1846
+ 'Claw Agent はまだ作業中ですが、再起動の結果がまだ届いていません。サーバーコマンドがフォアグラウンドで実行されている可能性があります。',
1847
1847
  workspaceReloading: 'ワークスペースが変更され、プレビューを再読み込み中',
1848
1848
  fileChanged: url => `ファイルが変更され、プレビューを再読み込み中: ${url}`,
1849
1849
  filesChanged: (count, url) => `${count} 件のファイルが変更され、プレビューを再読み込み中: ${url}`,
@@ -1861,7 +1861,7 @@ export const ja = defineLocale({
1861
1861
  thread: {
1862
1862
  loadingSession: 'セッションを読み込み中',
1863
1863
  showEarlier: '以前のメッセージを表示',
1864
- loadingResponse: 'Hermes が応答を読み込み中',
1864
+ loadingResponse: 'Claw Agent が応答を読み込み中',
1865
1865
  thinking: '考え中',
1866
1866
  today: time => `今日 ${time}`,
1867
1867
  yesterday: time => `昨日 ${time}`,
@@ -1888,7 +1888,7 @@ export const ja = defineLocale({
1888
1888
  attachingFile: '添付中…'
1889
1889
  },
1890
1890
  approval: {
1891
- gatewayDisconnected: 'Hermes ゲートウェイが接続されていません',
1891
+ gatewayDisconnected: 'Claw Agent ゲートウェイが接続されていません',
1892
1892
  sendFailed: '承認応答を送信できませんでした',
1893
1893
  run: '実行',
1894
1894
  command: 'コマンド',
@@ -1899,12 +1899,12 @@ export const ja = defineLocale({
1899
1899
  reject: '拒否',
1900
1900
  alwaysTitle: 'このコマンドを常に許可しますか?',
1901
1901
  alwaysDescription: pattern =>
1902
- `これにより "${pattern}" パターンが永続的な許可リスト (~/.hermes/config.yaml) に追加されます。Hermes はこのセッションや将来のセッションで、このようなコマンドについて再度尋ねません。`,
1902
+ `これにより "${pattern}" パターンが永続的な許可リスト (~/.hermes/config.yaml) に追加されます。Claw Agent はこのセッションや将来のセッションで、このようなコマンドについて再度尋ねません。`,
1903
1903
  alwaysAllow: '常に許可'
1904
1904
  },
1905
1905
  clarify: {
1906
1906
  notReady: '明確化リクエストはまだ準備できていません',
1907
- gatewayDisconnected: 'Hermes ゲートウェイが接続されていません',
1907
+ gatewayDisconnected: 'Claw Agent ゲートウェイが接続されていません',
1908
1908
  sendFailed: '明確化応答を送信できませんでした',
1909
1909
  loadingQuestion: '質問を読み込み中…',
1910
1910
  other: 'その他(回答を入力)',
@@ -1941,15 +1941,15 @@ export const ja = defineLocale({
1941
1941
  },
1942
1942
 
1943
1943
  prompts: {
1944
- gatewayDisconnected: 'Hermes ゲートウェイが接続されていません',
1944
+ gatewayDisconnected: 'Claw Agent ゲートウェイが接続されていません',
1945
1945
  sudoSendFailed: 'sudo パスワードを送信できませんでした',
1946
1946
  secretSendFailed: 'シークレットを送信できませんでした',
1947
1947
  sudoTitle: '管理者パスワード',
1948
1948
  sudoDesc:
1949
- 'Hermes は特権コマンドを実行するために sudo パスワードが必要です。ローカルエージェントにのみ送信されます。',
1949
+ 'Claw Agent は特権コマンドを実行するために sudo パスワードが必要です。ローカルエージェントにのみ送信されます。',
1950
1950
  sudoPlaceholder: 'sudo パスワード',
1951
1951
  secretTitle: 'シークレットが必要です',
1952
- secretDesc: 'Hermes は続行するための認証情報が必要です。',
1952
+ secretDesc: 'Claw Agent は続行するための認証情報が必要です。',
1953
1953
  secretPlaceholder: 'シークレット値'
1954
1954
  },
1955
1955
 
@@ -2001,8 +2001,8 @@ export const ja = defineLocale({
2001
2001
  sessionExportFailed: 'セッションをエクスポートできませんでした',
2002
2002
  imageSaved: '画像を保存しました',
2003
2003
  downloadStarted: 'ダウンロードを開始しました',
2004
- restartToUseSaveImage: '画像を保存するには Hermes Desktop を再起動してください。',
2005
- restartToSaveImages: '画像を保存するには Hermes Desktop を再起動してください',
2004
+ restartToUseSaveImage: '画像を保存するには Claw Agent Desktop を再起動してください。',
2005
+ restartToSaveImages: '画像を保存するには Claw Agent Desktop を再起動してください',
2006
2006
  imageDownloadFailed: '画像のダウンロードに失敗しました',
2007
2007
  openImage: '画像を開く',
2008
2008
  downloadImage: '画像をダウンロード',
@@ -18,7 +18,7 @@ describe('desktop i18n runtime translator', () => {
18
18
  it('translates string paths for the active runtime locale', () => {
19
19
  setRuntimeI18nLocale('zh')
20
20
 
21
- expect(translateNow('boot.ready')).toBe('Hermes 桌面版已就绪')
21
+ expect(translateNow('boot.ready')).toBe('Claw Agent 桌面版已就绪')
22
22
  expect(translateNow('notifications.voice.noSpeechDetected')).toBe('没有检测到语音')
23
23
  expect(translateNow('composer.lookupNoMatches')).toBe('没有匹配项。')
24
24
  expect(translateNow('assistant.tool.statusRecovered')).toBe('已恢复')
@@ -61,7 +61,7 @@ describe('desktop i18n runtime translator', () => {
61
61
  boot.ready = undefined
62
62
  setRuntimeI18nLocale('ja')
63
63
 
64
- expect(translateNow('boot.ready')).toBe('Hermes Desktop is ready')
64
+ expect(translateNow('boot.ready')).toBe('Claw Agent Desktop is ready')
65
65
  } finally {
66
66
  boot.ready = originalReady
67
67
  }