chore: 保存 Agent 安全优化前基线

This commit is contained in:
Logan.Li committed 2026-09-02 23:31:38 +08:00
1 parent 08696896f9
commit ff016347cd
116 files changed
+3858 -2485

No files matched your search

+13 -5
View File
@@ -19,7 +19,10 @@
"hintFollowUp": "Follow-ups include this thread's context",
"hintSelection": "Will include {{lines}} selected lines",
"hintSteps": "Up to {{max}} steps · nothing persisted",
"footerNote": "High risk requires confirmation · critical is blocked · session not saved"
"footerNote": "High risk requires confirmation · critical is blocked · session not saved",
"summarize": "Summarize",
"summarizeTitle": "Summarize the visible terminal output with AI (selection first); never runs commands",
"summarizeRequest": "Summarize the current terminal output"
},
"safety": {
"aria": "Agent safety mode",
@@ -32,7 +35,8 @@
"label": "Relaxed",
"short": "Confirm high risk only",
"description": "Read-only and routine edits run automatically; deletes, restarts, installs, etc. need confirmation."
}
},
"confirmAllTitle": "Confirm every command (read-only whitelist excepted)"
},
"risk": {
"safe": "Safe",
@@ -50,13 +54,16 @@
"confirmMessage": "SSH · {{target}}\n{{mode}}\n\n$ {{command}}",
"rejected": "Step {{round}} command rejected.",
"terminated": "Terminated",
"stoppedMessage": "Stopped. Interrupt requested for the running remote command."
"stoppedMessage": "Stopped. Interrupt requested for the running remote command.",
"inserted": "Round {{round}} command was inserted into the terminal input line without running; review it and press Enter yourself.",
"insertedClipboard": "Round {{round}} command was copied to the clipboard (terminal not writable); paste, review, then run."
},
"confirm": {
"reject": "Reject",
"once": "Once",
"always": "Always",
"hint": "Enter · Once Esc · Reject Always · skip similar confirmations this session"
"hint": "Enter · Once Esc · Reject Always · skip similar confirmations this session",
"insert": "Insert only"
},
"error": {
"noProvider": "Configure an AI provider in Settings → AI first",
@@ -73,7 +80,8 @@
"execFailed": "ssh-exec failed: {{error}}",
"execUnknown": "Unknown error",
"execNoOutput": "Command finished with no output",
"maxSteps": "Reached {{max}}-step limit; narrow the scope and retry"
"maxSteps": "Reached {{max}}-step limit; narrow the scope and retry",
"noOutput": "No terminal output to summarize"
},
"output": {
"empty": "(empty output)",
+3 -1
View File
@@ -109,7 +109,9 @@
"closeAll": "Close all",
"clone": "Duplicate tab",
"openSftp": "Open SFTP"
}
},
"renameAria": "Rename tab {{title}}",
"renameHint": "Double-click to rename"
},
"sidebar": {
"brandSub": "SSH / SFTP terminal",
+6 -1
View File
@@ -31,6 +31,7 @@
"group": {
"newSessionHere": "New session here",
"newGroup": "New group",
"sortByName": "Sort by name",
"renameGroup": "Rename group",
"deleteEmptyGroup": "Delete empty group"
},
@@ -94,9 +95,13 @@
"title": "VNC remote desktop",
"desc": "RFB · cross-platform graphical session"
},
"import": {
"title": "Import sessions",
"desc": "Import hosts from OpenSSH config or an export file"
},
"recentEmpty": {
"title": "No saved sessions",
"desc": "Try quick connect, or create a session to reuse later"
"desc": "Try quick connect, create a session, or import existing hosts"
}
},
"launcher": {
+5 -1
View File
@@ -45,7 +45,11 @@
"connecting": "Connecting…",
"reconnecting": "Auto-reconnecting{{attempt}}…",
"reconnectingAttempt": " ({{count}})",
"localShellExited": "Local shell exited"
"localShellExited": "Local shell exited",
"localDisconnected": "Local terminal closed",
"localDisconnectedHint": "The local shell has exited. One click below starts it again.",
"localConnectFailedHint": "Failed to start the local shell. Make sure the selected shell still exists.",
"localShellClosedHint": "Reopen the shell to keep using the local terminal."
},
"hostKey": {
"titleNew": "Verify host key",
+13 -5
View File
@@ -19,7 +19,10 @@
"hintFollowUp": "フォローアップにはこのスレッドのコンテキストが含まれます",
"hintSelection": "選択した {{lines}} 行を含めます",
"hintSteps": "最大 {{max}} ステップ · 何も保存しません",
"footerNote": "高リスクは確認が必要 · クリティカルはブロック · セッションは保存されません"
"footerNote": "高リスクは確認が必要 · クリティカルはブロック · セッションは保存されません",
"summarize": "出力を要約",
"summarizeTitle": "表示中の端末出力を AI が要約します(選択範囲を優先)。コマンドは実行しません",
"summarizeRequest": "現在の端末出力を要約"
},
"safety": {
"aria": "エージェントの安全モード",
@@ -32,7 +35,8 @@
"label": "緩和",
"short": "高リスクのみ確認",
"description": "読み取り専用や日常の編集は自動実行 · 削除、再起動、インストール等は確認が必要です。"
}
},
"confirmAllTitle": "すべてのコマンドを確認(読み取り専用ホワイトリストを除く)"
},
"risk": {
"safe": "安全",
@@ -50,13 +54,16 @@
"confirmMessage": "SSH · {{target}}\n{{mode}}\n\n$ {{command}}",
"rejected": "ステップ {{round}} のコマンドは拒否されました。",
"terminated": "終了しました",
"stoppedMessage": "停止しました。実行中のリモートコマンドに中断要求を送信しました。"
"stoppedMessage": "停止しました。実行中のリモートコマンドに中断要求を送信しました。",
"inserted": "ラウンド {{round}} のコマンドを入力行に挿入しました(未実行)。確認してから Enter で実行してください。",
"insertedClipboard": "ラウンド {{round}} のコマンドをクリップボードにコピーしました(端末に書き込めません)。貼り付けて確認してから実行してください。"
},
"confirm": {
"reject": "拒否",
"once": "1 回のみ",
"always": "常に",
"hint": "Enter · 1 回のみ Esc · 拒否 常に · このセッションで同種の確認をスキップ"
"hint": "Enter · 1 回のみ Esc · 拒否 常に · このセッションで同種の確認をスキップ",
"insert": "挿入のみ"
},
"error": {
"noProvider": "先に「設定 → AI」で AI プロバイダーを設定してください",
@@ -73,7 +80,8 @@
"execFailed": "ssh-exec 失敗: {{error}}",
"execUnknown": "不明なエラー",
"execNoOutput": "コマンドは出力なしで完了",
"maxSteps": "{{max}} ステップの上限に達しました · 範囲を絞って再試行してください"
"maxSteps": "{{max}} ステップの上限に達しました · 範囲を絞って再試行してください",
"noOutput": "要約できる端末出力がありません"
},
"output": {
"empty": "(出力なし)",
+3 -1
View File
@@ -109,7 +109,9 @@
"closeAll": "すべて閉じる",
"clone": "タブを複製",
"openSftp": "SFTP を開く"
}
},
"renameAria": "タブ {{title}} の名前を変更",
"renameHint": "ダブルクリックで名前変更"
},
"sidebar": {
"brandSub": "SSH / SFTP ターミナル",
+6 -1
View File
@@ -31,6 +31,7 @@
"group": {
"newSessionHere": "ここに新規セッション",
"newGroup": "新規グループ",
"sortByName": "名前で並べ替え",
"renameGroup": "グループ名を変更",
"deleteEmptyGroup": "空のグループを削除"
},
@@ -94,9 +95,13 @@
"title": "VNC リモートデスクトップ",
"desc": "RFB · クロスプラットフォームのグラフィカルセッション"
},
"import": {
"title": "セッションをインポート",
"desc": "OpenSSH 設定またはエクスポートファイルからホストを取り込みます"
},
"recentEmpty": {
"title": "保存済みセッションはありません",
"desc": "クイック接続を試すか、後で再利用するためのセッションを作成"
"desc": "クイック接続、新規作成、または既存ホストのインポート"
}
},
"launcher": {
+5 -1
View File
@@ -45,7 +45,11 @@
"connecting": "接続中…",
"reconnecting": "自動再接続中{{attempt}}…",
"reconnectingAttempt": " ({{count}})",
"localShellExited": "ローカルシェルが終了しました"
"localShellExited": "ローカルシェルが終了しました",
"localDisconnected": "ローカル端末は終了しました",
"localDisconnectedHint": "ローカルシェルが終了しました。下のボタンで再び開始して作業を続けられます。",
"localConnectFailedHint": "ローカルシェルを起動できませんでした。選択したシェルが存在するか確認してください。",
"localShellClosedHint": "シェルを再開するとローカル端末を引き続き利用できます。"
},
"hostKey": {
"titleNew": "ホスト鍵を確認",
+13 -5
View File
@@ -19,7 +19,10 @@
"hintFollowUp": "후속 질문은 이 스레드의 컨텍스트를 포함합니다",
"hintSelection": "선택한 {{lines}}줄을 포함합니다",
"hintSteps": "최대 {{max}}단계 · 저장되지 않음",
"footerNote": "고위험은 확인 필요 · 치명적 작업은 차단됨 · 세션 저장 안 함"
"footerNote": "고위험은 확인 필요 · 치명적 작업은 차단됨 · 세션 저장 안 함",
"summarize": "출력 요약",
"summarizeTitle": "보이는 터미널 출력을 AI로 요약합니다(선택 텍스트 우선). 명령은 실행하지 않습니다",
"summarizeRequest": "현재 터미널 출력 요약"
},
"safety": {
"aria": "에이전트 안전 모드",
@@ -32,7 +35,8 @@
"label": "완화",
"short": "고위험만 확인",
"description": "읽기 전용 및 일상적인 편집은 자동으로 실행됩니다; 삭제, 재시작, 설치 등은 확인이 필요합니다."
}
},
"confirmAllTitle": "모든 명령 확인(읽기 전용 화이트리스트 제외)"
},
"risk": {
"safe": "안전",
@@ -50,13 +54,16 @@
"confirmMessage": "SSH · {{target}}\n{{mode}}\n\n$ {{command}}",
"rejected": "{{round}}단계 명령이 거부되었습니다.",
"terminated": "종료됨",
"stoppedMessage": "중지됨. 실행 중인 원격 명령에 대해 인터럽트가 요청되었습니다."
"stoppedMessage": "중지됨. 실행 중인 원격 명령에 대해 인터럽트가 요청되었습니다.",
"inserted": "{{round}}번째 명령을 입력 줄에 삽입했지만 실행하지 않았습니다. 확인 후 직접 Enter를 눌러 실행하세요.",
"insertedClipboard": "{{round}}번째 명령을 클립보드에 복사했습니다(터미널에 쓸 수 없음). 붙여넣고 확인한 뒤 실행하세요."
},
"confirm": {
"reject": "거부",
"once": "1회",
"always": "항상",
"hint": "Enter · 1회 Esc · 거부 항상 · 이 세션에서 유사한 확인 건너뛰기"
"hint": "Enter · 1회 Esc · 거부 항상 · 이 세션에서 유사한 확인 건너뛰기",
"insert": "삽입만"
},
"error": {
"noProvider": "먼저 설정 → AI에서 AI 제공자를 구성하세요",
@@ -73,7 +80,8 @@
"execFailed": "ssh-exec 실패: {{error}}",
"execUnknown": "알 수 없는 오류",
"execNoOutput": "명령이 출력 없이 완료됨",
"maxSteps": "{{max}}단계 한도에 도달했습니다; 범위를 좁히고 재시도하세요"
"maxSteps": "{{max}}단계 한도에 도달했습니다; 범위를 좁히고 재시도하세요",
"noOutput": "요약할 터미널 출력이 없습니다"
},
"output": {
"empty": "(빈 출력)",
+3 -1
View File
@@ -109,7 +109,9 @@
"closeAll": "모두 닫기",
"clone": "탭 복제",
"openSftp": "SFTP 열기"
}
},
"renameAria": "탭 {{title}} 이름 바꾸기",
"renameHint": "더블 클릭해 이름 변경"
},
"sidebar": {
"brandSub": "SSH / SFTP 터미널",
+6 -1
View File
@@ -31,6 +31,7 @@
"group": {
"newSessionHere": "여기에 새 세션",
"newGroup": "새 그룹",
"sortByName": "이름순 정렬",
"renameGroup": "그룹 이름 변경",
"deleteEmptyGroup": "빈 그룹 삭제"
},
@@ -94,9 +95,13 @@
"title": "VNC 원격 데스크톱",
"desc": "RFB · 크로스 플랫폼 그래픽 세션"
},
"import": {
"title": "세션 가져오기",
"desc": "OpenSSH 설정 또는 내보내기 파일에서 호스트를 가져옵니다"
},
"recentEmpty": {
"title": "저장된 세션 없음",
"desc": "빠른 연결을 시도하거나, 나중에 재사용할 세션을 생성하세요"
"desc": "빠른 연결, 세션 생성, 또는 기존 호스트 가져오기"
}
},
"launcher": {
+5 -1
View File
@@ -45,7 +45,11 @@
"connecting": "연결 중…",
"reconnecting": "자동 재연결 중{{attempt}}…",
"reconnectingAttempt": " ({{count}})",
"localShellExited": "로컬 셸이 종료됨"
"localShellExited": "로컬 셸이 종료됨",
"localDisconnected": "로컬 터미널 종료됨",
"localDisconnectedHint": "로컬 셸이 종료되었습니다. 아래를 누르면 다시 시작해 작업을 이어갑니다.",
"localConnectFailedHint": "로컬 셸을 시작하지 못했습니다. 선택한 셸이 존재하는지 확인하세요.",
"localShellClosedHint": "셸을 다시 열면 로컬 터미널을 계속 사용할 수 있습니다."
},
"hostKey": {
"titleNew": "호스트 키 확인",
+13 -5
View File
@@ -19,7 +19,10 @@
"hintFollowUp": "Уточнения включают контекст этой ветки",
"hintSelection": "Будет включено {{lines}} выбранных строк",
"hintSteps": "До {{max}} шагов · ничего не сохраняется",
"footerNote": "Высокий риск требует подтверждения · критический блокируется · сеанс не сохраняется"
"footerNote": "Высокий риск требует подтверждения · критический блокируется · сеанс не сохраняется",
"summarize": "Сводка",
"summarizeTitle": "AI суммирует видимый вывод терминала (сначала выделение); команды не выполняются",
"summarizeRequest": "Суммируйте текущий вывод терминала"
},
"safety": {
"aria": "Режим безопасности агента",
@@ -32,7 +35,8 @@
"label": "Свободный",
"short": "Подтверждать только высокий риск",
"description": "Команды только для чтения и обычные правки выполняются автоматически; удаления, перезапуски, установки и т. п. требуют подтверждения."
}
},
"confirmAllTitle": "Подтверждать каждую команду (кроме белого списка только для чтения)"
},
"risk": {
"safe": "Безопасно",
@@ -50,13 +54,16 @@
"confirmMessage": "SSH · {{target}}\n{{mode}}\n\n$ {{command}}",
"rejected": "Команда шага {{round}} отклонена.",
"terminated": "Прервано",
"stoppedMessage": "Остановлено. Запрошено прерывание выполняемой удалённой команды."
"stoppedMessage": "Остановлено. Запрошено прерывание выполняемой удалённой команды.",
"inserted": "Команда раунда {{round}} вставлена в строку ввода терминала без выполнения; проверьте и нажмите Enter сами.",
"insertedClipboard": "Команда раунда {{round}} скопирована в буфер обмена (терминал недоступен для записи); вставьте, проверьте и выполните."
},
"confirm": {
"reject": "Отклонить",
"once": "Один раз",
"always": "Всегда",
"hint": "Enter · Один раз Esc · Отклонить Всегда · пропускать похожие подтверждения в этом сеансе"
"hint": "Enter · Один раз Esc · Отклонить Всегда · пропускать похожие подтверждения в этом сеансе",
"insert": "Только вставить"
},
"error": {
"noProvider": "Сначала настройте AI-провайдера в Настройки → AI",
@@ -73,7 +80,8 @@
"execFailed": "Сбой ssh-exec: {{error}}",
"execUnknown": "Неизвестная ошибка",
"execNoOutput": "Команда завершилась без вывода",
"maxSteps": "Достигнут лимит в {{max}} шагов; сузьте задачу и повторите"
"maxSteps": "Достигнут лимит в {{max}} шагов; сузьте задачу и повторите",
"noOutput": "Нет вывода терминала для сводки"
},
"output": {
"empty": "(пустой вывод)",
+3 -1
View File
@@ -109,7 +109,9 @@
"closeAll": "Закрыть все",
"clone": "Дублировать вкладку",
"openSftp": "Открыть SFTP"
}
},
"renameAria": "Переименовать вкладку {{title}}",
"renameHint": "Двойной клик — переименовать"
},
"sidebar": {
"brandSub": "Терминал SSH / SFTP",
+6 -1
View File
@@ -31,6 +31,7 @@
"group": {
"newSessionHere": "Новый сеанс здесь",
"newGroup": "Новая группа",
"sortByName": "Сортировать по имени",
"renameGroup": "Переименовать группу",
"deleteEmptyGroup": "Удалить пустую группу"
},
@@ -94,9 +95,13 @@
"title": "Удалённый рабочий стол VNC",
"desc": "RFB · кроссплатформенный графический сеанс"
},
"import": {
"title": "Импорт сеансов",
"desc": "Импорт хостов из OpenSSH config или файла экспорта"
},
"recentEmpty": {
"title": "Сохранённых сеансов нет",
"desc": "Попробуйте быстрое подключение или создайте сеанс для повторного использования"
"desc": "Быстрое подключение, новый сеанс или импорт существующих хостов"
}
},
"launcher": {
+5 -1
View File
@@ -45,7 +45,11 @@
"connecting": "Подключение…",
"reconnecting": "Автопереподключение{{attempt}}…",
"reconnectingAttempt": " ({{count}})",
"localShellExited": "Локальная оболочка завершилась"
"localShellExited": "Локальная оболочка завершилась",
"localDisconnected": "Локальный терминал закрыт",
"localDisconnectedHint": "Локальная оболочка завершилась. Один клик ниже — и она запустится снова.",
"localConnectFailedHint": "Не удалось запустить локальную оболочку. Убедитесь, что выбранная оболочка существует.",
"localShellClosedHint": "Откройте оболочку снова, чтобы продолжить работу в локальном терминале."
},
"hostKey": {
"titleNew": "Проверка ключа хоста",
+13 -5
View File
@@ -19,7 +19,10 @@
"hintFollowUp": "Các theo dõi bao gồm ngữ cảnh của luồng này",
"hintSelection": "Sẽ bao gồm {{lines}} dòng đã chọn",
"hintSteps": "Tối đa {{max}} bước · không lưu gì",
"footerNote": "Rủi ro cao cần xác nhận · rủi ro nghiêm trọng bị chặn · phiên không được lưu"
"footerNote": "Rủi ro cao cần xác nhận · rủi ro nghiêm trọng bị chặn · phiên không được lưu",
"summarize": "Tóm tắt",
"summarizeTitle": "AI tóm tắt đầu ra terminal đang hiển thị (ưu tiên vùng chọn), không chạy lệnh nào",
"summarizeRequest": "Tóm tắt đầu ra terminal hiện tại"
},
"safety": {
"aria": "Chế độ an toàn của agent",
@@ -32,7 +35,8 @@
"label": "Thoải mái",
"short": "Chỉ xác nhận rủi ro cao",
"description": "Chỉ đọc và chỉnh sửa thông thường chạy tự động; xóa, khởi động lại, cài đặt, v.v. cần xác nhận."
}
},
"confirmAllTitle": "Xác nhận mọi lệnh (trừ danh sách trắng chỉ đọc)"
},
"risk": {
"safe": "An toàn",
@@ -50,13 +54,16 @@
"confirmMessage": "SSH · {{target}}\n{{mode}}\n\n$ {{command}}",
"rejected": "Lệnh bước {{round}} đã bị từ chối.",
"terminated": "Đã chấm dứt",
"stoppedMessage": "Đã dừng. Đã yêu cầu ngắt cho lệnh từ xa đang chạy."
"stoppedMessage": "Đã dừng. Đã yêu cầu ngắt cho lệnh từ xa đang chạy.",
"inserted": "Lệnh vòng {{round}} đã được chèn vào dòng nhập của terminal, chưa chạy; hãy kiểm tra rồi tự nhấn Enter.",
"insertedClipboard": "Lệnh vòng {{round}} đã được sao chép vào clipboard (terminal không ghi được); dán, kiểm tra rồi mới chạy."
},
"confirm": {
"reject": "Từ chối",
"once": "Một lần",
"always": "Luôn luôn",
"hint": "Enter · Một lần Esc · Từ chối Luôn luôn · bỏ qua các xác nhận tương tự trong phiên này"
"hint": "Enter · Một lần Esc · Từ chối Luôn luôn · bỏ qua các xác nhận tương tự trong phiên này",
"insert": "Chỉ chèn"
},
"error": {
"noProvider": "Cấu hình nhà cung cấp AI trong Cài đặt → AI trước tiên",
@@ -73,7 +80,8 @@
"execFailed": "ssh-exec thất bại: {{error}}",
"execUnknown": "Lỗi không xác định",
"execNoOutput": "Lệnh hoàn tất không có đầu ra",
"maxSteps": "Đã đạt giới hạn {{max}} bước; thu hẹp phạm vi và thử lại"
"maxSteps": "Đã đạt giới hạn {{max}} bước; thu hẹp phạm vi và thử lại",
"noOutput": "Không có đầu ra terminal để tóm tắt"
},
"output": {
"empty": "(đầu ra rỗng)",
+3 -1
View File
@@ -109,7 +109,9 @@
"closeAll": "Đóng tất cả",
"clone": "Nhân đôi tab",
"openSftp": "Mở SFTP"
}
},
"renameAria": "Đổi tên thẻ {{title}}",
"renameHint": "Nhấn đúp để đổi tên"
},
"sidebar": {
"brandSub": "Terminal SSH / SFTP",
+6 -1
View File
@@ -31,6 +31,7 @@
"group": {
"newSessionHere": "Phiên mới tại đây",
"newGroup": "Nhóm mới",
"sortByName": "Sắp xếp theo tên",
"renameGroup": "Đổi tên nhóm",
"deleteEmptyGroup": "Xóa nhóm rỗng"
},
@@ -94,9 +95,13 @@
"title": "Màn hình từ xa VNC",
"desc": "RFB · phiên đồ họa đa nền tảng"
},
"import": {
"title": "Nhập phiên",
"desc": "Nhập máy chủ từ cấu hình OpenSSH hoặc tệp xuất"
},
"recentEmpty": {
"title": "Chưa có phiên đã lưu",
"desc": "Thử kết nối nhanh, hoặc tạo phiên để dùng lại sau"
"desc": "Thử kết nối nhanh, tạo phiên, hoặc nhập máy chủ có sẵn"
}
},
"launcher": {
+5 -1
View File
@@ -45,7 +45,11 @@
"connecting": "Đang kết nối…",
"reconnecting": "Đang tự kết nối lại{{attempt}}…",
"reconnectingAttempt": " ({{count}})",
"localShellExited": "Shell cục bộ đã thoát"
"localShellExited": "Shell cục bộ đã thoát",
"localDisconnected": "Terminal cục bộ đã đóng",
"localDisconnectedHint": "Shell cục bộ đã thoát. Một chạm bên dưới để mở lại và tiếp tục.",
"localConnectFailedHint": "Không thể khởi động shell cục bộ. Hãy kiểm tra shell đã chọn còn tồn tại.",
"localShellClosedHint": "Mở lại shell để tiếp tục dùng terminal cục bộ."
},
"hostKey": {
"titleNew": "Xác minh khóa máy chủ",
+13 -5
View File
@@ -19,7 +19,10 @@
"hintFollowUp": "继续追问将带上本轮上下文",
"hintSelection": "将附带选中 {{lines}} 行",
"hintSteps": "最多 {{max}} 步 · 不落盘",
"footerNote": "高风险需确认 · critical 拒绝 · 会话不落盘"
"footerNote": "高风险需确认 · critical 拒绝 · 会话不落盘",
"summarize": "总结输出",
"summarizeTitle": "用 AI 总结当前终端可见输出(优先使用选中文本),不执行任何命令",
"summarizeRequest": "总结当前终端输出"
},
"safety": {
"aria": "Agent 安全模式",
@@ -32,7 +35,8 @@
"label": "宽松",
"short": "仅高风险确认",
"description": "查看和普通修改自动执行;删除、重启、安装等高风险操作需要确认。"
}
},
"confirmAllTitle": "所有命令都需确认(只读白名单除外)"
},
"risk": {
"safe": "安全",
@@ -50,13 +54,16 @@
"confirmMessage": "SSH · {{target}}\n{{mode}}\n\n$ {{command}}",
"rejected": "已拒绝第 {{round}} 步命令。",
"terminated": "已终止",
"stoppedMessage": "已终止。正在执行的远端命令已请求中断。"
"stoppedMessage": "已终止。正在执行的远端命令已请求中断。",
"inserted": "第 {{round}} 轮命令已插入终端输入行,未执行;请检查后自行回车运行。",
"insertedClipboard": "第 {{round}} 轮命令已复制到剪贴板(当前终端不可写入);粘贴后请检查再运行。"
},
"confirm": {
"reject": "Reject",
"once": "Once",
"always": "Always",
"hint": "Enter · Once Esc · Reject Always · 本会话同类命令不再确认"
"hint": "Enter · Once Esc · Reject Always · 本会话同类命令不再确认",
"insert": "插入不执行"
},
"error": {
"noProvider": "请先在设置 → 大模型配置 Provider",
@@ -73,7 +80,8 @@
"execFailed": "ssh-exec 失败:{{error}}",
"execUnknown": "未知错误",
"execNoOutput": "命令执行完成,无输出",
"maxSteps": "已达 {{max}} 步上限,请缩小范围后重试"
"maxSteps": "已达 {{max}} 步上限,请缩小范围后重试",
"noOutput": "终端没有可总结的输出"
},
"output": {
"empty": "(空输出)",
+3 -1
View File
@@ -109,7 +109,9 @@
"closeAll": "关闭全部",
"clone": "克隆标签",
"openSftp": "打开 SFTP"
}
},
"renameAria": "重命名标签 {{title}}",
"renameHint": "双击重命名"
},
"sidebar": {
"brandSub": "SSH / SFTP 终端",
+6 -1
View File
@@ -31,6 +31,7 @@
"group": {
"newSessionHere": "在此新建会话",
"newGroup": "新建分组",
"sortByName": "按名称排序",
"renameGroup": "重命名分组",
"deleteEmptyGroup": "删除空分组"
},
@@ -94,9 +95,13 @@
"title": "VNC 远程桌面",
"desc": "RFB · 跨平台图形会话"
},
"import": {
"title": "导入会话",
"desc": "从 OpenSSH 配置或导出文件导入主机"
},
"recentEmpty": {
"title": "暂无已保存会话",
"desc": "用快速连接试连,或新建会话以便复用"
"desc": "用快速连接试连,新建会话,或导入已有主机"
}
},
"launcher": {
+5 -1
View File
@@ -45,7 +45,11 @@
"connecting": "正在连接…",
"reconnecting": "自动重连中{{attempt}}…",
"reconnectingAttempt": " ({{count}})",
"localShellExited": "本地 Shell 已退出"
"localShellExited": "本地 Shell 已退出",
"localDisconnected": "本地终端已关闭",
"localDisconnectedHint": "本地 Shell 会话已结束。点下方一键重新开启,即可继续使用。",
"localConnectFailedHint": "本地 Shell 启动失败,请确认所选 Shell 仍然存在",
"localShellClosedHint": "重新打开 Shell 即可继续使用本地终端"
},
"hostKey": {
"titleNew": "确认主机密钥",
+13 -5
View File
@@ -19,7 +19,10 @@
"hintFollowUp": "繼續追問將帶上本輪上下文",
"hintSelection": "將附帶選中 {{lines}} 行",
"hintSteps": "最多 {{max}} 步 · 不落盤",
"footerNote": "高風險需確認 · critical 拒絕 · 連線不落盤"
"footerNote": "高風險需確認 · critical 拒絕 · 連線不落盤",
"summarize": "摘要輸出",
"summarizeTitle": "用 AI 摘要目前終端機可見輸出(優先使用選取文字),不執行任何命令",
"summarizeRequest": "摘要目前終端機輸出"
},
"safety": {
"aria": "Agent 安全模式",
@@ -32,7 +35,8 @@
"label": "寬鬆",
"short": "僅高風險確認",
"description": "查看和一般修改自動執行;刪除、重啟、安裝等高風險操作需要確認。"
}
},
"confirmAllTitle": "所有命令都需確認(唯讀白名單除外)"
},
"risk": {
"safe": "安全",
@@ -50,13 +54,16 @@
"confirmMessage": "SSH · {{target}}\n{{mode}}\n\n$ {{command}}",
"rejected": "已拒絕第 {{round}} 步命令。",
"terminated": "已終止",
"stoppedMessage": "已終止。正在執行的遠端命令已請求中斷。"
"stoppedMessage": "已終止。正在執行的遠端命令已請求中斷。",
"inserted": "第 {{round}} 輪命令已插入終端機輸入行,未執行;請檢查後自行按 Enter 執行。",
"insertedClipboard": "第 {{round}} 輪命令已複製到剪貼簿(目前終端機不可寫入);貼上後請檢查再執行。"
},
"confirm": {
"reject": "Reject",
"once": "Once",
"always": "Always",
"hint": "Enter · Once Esc · Reject Always · 本連線同類命令不再確認"
"hint": "Enter · Once Esc · Reject Always · 本連線同類命令不再確認",
"insert": "插入不執行"
},
"error": {
"noProvider": "請先在設定 → 大模型設定 Provider",
@@ -73,7 +80,8 @@
"execFailed": "ssh-exec 失敗:{{error}}",
"execUnknown": "未知錯誤",
"execNoOutput": "命令執行完成,無輸出",
"maxSteps": "已達 {{max}} 步上限,請縮小範圍後重試"
"maxSteps": "已達 {{max}} 步上限,請縮小範圍後重試",
"noOutput": "終端機沒有可摘要的輸出"
},
"output": {
"empty": "(空輸出)",
+3 -1
View File
@@ -109,7 +109,9 @@
"closeAll": "關閉全部",
"clone": "克隆分頁",
"openSftp": "開啟 SFTP"
}
},
"renameAria": "重新命名標籤 {{title}}",
"renameHint": "雙擊重新命名"
},
"sidebar": {
"brandSub": "SSH / SFTP 終端機",
+6 -1
View File
@@ -31,6 +31,7 @@
"group": {
"newSessionHere": "在此新增連線",
"newGroup": "新增群組",
"sortByName": "依名稱排序",
"renameGroup": "重新命名群組",
"deleteEmptyGroup": "刪除空群組"
},
@@ -94,9 +95,13 @@
"title": "VNC 遠端桌面",
"desc": "RFB · 跨平台圖形連線"
},
"import": {
"title": "匯入連線",
"desc": "從 OpenSSH 設定或匯出檔匯入主機"
},
"recentEmpty": {
"title": "暫無已儲存連線",
"desc": "用快速連線試連,或新增連線以便重用"
"desc": "用快速連線試連,新增連線,或匯入既有主機"
}
},
"launcher": {
+5 -1
View File
@@ -45,7 +45,11 @@
"connecting": "正在連線…",
"reconnecting": "自動重連中{{attempt}}…",
"reconnectingAttempt": " ({{count}})",
"localShellExited": "本機 Shell 已結束"
"localShellExited": "本機 Shell 已結束",
"localDisconnected": "本機終端機已關閉",
"localDisconnectedHint": "本機 Shell 會話已結束。點下方一鍵重新開啟,即可繼續使用。",
"localConnectFailedHint": "本機 Shell 啟動失敗,請確認所選 Shell 仍然存在",
"localShellClosedHint": "重新開啟 Shell 即可繼續使用本機終端機"
},
"hostKey": {
"titleNew": "確認主機金鑰",