@tunnelbox/dsh-tunnelbox 0.1.28 → 0.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/README.zh-CN.md +1 -2
- package/dist/index.mjs +41 -43
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -98,7 +98,7 @@ Each instance appears separately on the phone by `type=dsh` + its own agentID.
|
|
|
98
98
|
|
|
99
99
|
## Multilingual
|
|
100
100
|
|
|
101
|
-
User-visible output supports 8 languages (`zh-CN` / `zh-TW` / `en-US` / `ja-JP` / `ko-KR` / `fr-FR` / `de-DE` / `es-ES`). Resolution order: `TUNNELBOX_LANG` >
|
|
101
|
+
User-visible output supports 8 languages (`zh-CN` / `zh-TW` / `en-US` / `ja-JP` / `ko-KR` / `fr-FR` / `de-DE` / `es-ES`). Resolution order: `TUNNELBOX_LANG` > system locale > `en-US`.
|
|
102
102
|
|
|
103
103
|
## Troubleshooting
|
|
104
104
|
|
|
@@ -111,8 +111,7 @@ User-visible output supports 8 languages (`zh-CN` / `zh-TW` / `en-US` / `ja-JP`
|
|
|
111
111
|
|
|
112
112
|
## State files
|
|
113
113
|
|
|
114
|
-
- `~/.tunnelbox/remote-state.dsh.json` — agentID
|
|
115
|
-
- `~/.tunnelbox/remote-pairing.json` — latest pairing info
|
|
114
|
+
- `~/.tunnelbox/remote-state.dsh.json` — agentID (+ language)
|
|
116
115
|
- `~/.tunnelbox/tunnelbox.log` — plugin log
|
|
117
116
|
|
|
118
117
|
## Uninstall
|
package/README.zh-CN.md
CHANGED
|
@@ -111,8 +111,7 @@ DSH_HOME=~/.dsh-b DSH_PERMISSION_MODE=danger-full-access dsh --profile tunnelbox
|
|
|
111
111
|
|
|
112
112
|
## 状态文件
|
|
113
113
|
|
|
114
|
-
- `~/.tunnelbox/remote-state.dsh.json` — agentID
|
|
115
|
-
- `~/.tunnelbox/remote-pairing.json` — 最新配对信息
|
|
114
|
+
- `~/.tunnelbox/remote-state.dsh.json` — agentID(+ 语言)
|
|
116
115
|
- `~/.tunnelbox/tunnelbox.log` — 插件日志
|
|
117
116
|
|
|
118
117
|
## 卸载
|
package/dist/index.mjs
CHANGED
|
@@ -208,7 +208,6 @@ var zh_CN_default = {
|
|
|
208
208
|
"perm.promptResource": "opencode \u8BF7\u6C42\u8BBF\u95EE\u8D44\u6E90\uFF1A{list}",
|
|
209
209
|
"perm.promptTool": "opencode \u8BF7\u6C42\u6267\u884C {tool}",
|
|
210
210
|
"qr.codeLabel": "\u914D\u5BF9\u7801",
|
|
211
|
-
"qr.fileWritten": "\u914D\u5BF9\u4FE1\u606F\u5DF2\u5199\u5165: {path}",
|
|
212
211
|
"qr.openHint": "\u6253\u5F00 tunnelbox App\uFF0C\u7528\u300C\u626B\u4E00\u626B\u914D\u5BF9\u300D\u626B\u63CF\u4E0A\u65B9\u4E8C\u7EF4\u7801\uFF0C\u6216\u624B\u52A8\u8F93\u5165\u914D\u5BF9\u7801\u3002",
|
|
213
212
|
"qr.titleNoType": "tunnelbox \u624B\u673A\u914D\u5BF9",
|
|
214
213
|
"qr.titleWithType": "tunnelbox {type} \u624B\u673A\u914D\u5BF9",
|
|
@@ -400,6 +399,8 @@ var zh_CN_default = {
|
|
|
400
399
|
"adapter.logToolReason": "dsh \u8BF7\u6C42\u6267\u884C\u5DE5\u5177 {tool}",
|
|
401
400
|
"adapter.logGatewayConnected": "\u5DF2\u8FDE\u63A5\u672C\u673A OpenClaw Gateway\uFF08{version}\uFF09",
|
|
402
401
|
"adapter.logGatewayDisconnected": "\u4E0E OpenClaw Gateway \u65AD\u5F00\uFF0C\u6B63\u5728\u7531\u5B98\u65B9\u5BA2\u6237\u7AEF\u91CD\u8FDE\u2026",
|
|
402
|
+
"adapter.logSessionResync": "\u4F1A\u8BDD {session}\uFF1Aagent \u4E8B\u4EF6 seq \u524D\u8DF3\uFF0C\u91CD\u62C9\u5386\u53F2",
|
|
403
|
+
"adapter.warnGatewayVersionBelowSupported": "OpenClaw Gateway {version} \u4F4E\u4E8E\u6700\u4F4E\u652F\u6301\u7248\u672C {min}\uFF1B\u90E8\u5206\u529F\u80FD\u53EF\u80FD\u4E0D\u53EF\u7528",
|
|
403
404
|
"adapter.logGatewayConnectFailed": "\u65E0\u6CD5\u8FDE\u63A5\u672C\u673A OpenClaw Gateway\uFF08\u8BF7\u68C0\u67E5\u7F51\u5173\u9274\u6743\uFF1Atoken \u6216\u8BBE\u5907\u5BA1\u6279\uFF09",
|
|
404
405
|
"adapter.logGatewayCredentialSource": "\u4F7F\u7528\u6765\u81EA {source} \u7684 OpenClaw Gateway \u51ED\u636E",
|
|
405
406
|
"adapter.logGatewayAutoStart": "\u672C\u673A OpenClaw Gateway \u672A\u8FD0\u884C\uFF0C\u6B63\u5728\u542F\u52A8\uFF08mode={mode}\uFF09\u2026",
|
|
@@ -420,6 +421,7 @@ var zh_CN_default = {
|
|
|
420
421
|
"adapter.checkAuthStatusMissing": "\u4E0D\u5B58\u5728",
|
|
421
422
|
"adapter.checkAuthStatusUnparsable": "\u89E3\u6790\u5931\u8D25",
|
|
422
423
|
"adapter.checkAuthMode": "\u9274\u6743\u6A21\u5F0F\uFF1A{mode}",
|
|
424
|
+
"adapter.checkAuthExtraPaths": "\u989D\u5916\u51ED\u636E\u6587\u4EF6\uFF1A{paths}",
|
|
423
425
|
"adapter.checkAuthSource": "\u51ED\u636E\u6765\u6E90\uFF1A{source}",
|
|
424
426
|
"adapter.checkAuthReachable": "\u7F51\u5173\u53EF\u8FBE\uFF1A{value}",
|
|
425
427
|
"adapter.saveTokenPrompt": "\u8BF7\u7C98\u8D34 OpenClaw Gateway token\uFF08\u53EF\u7528 `openclaw gateway auth-token --show` \u67E5\u770B\uFF09\u540E\u56DE\u8F66\uFF1A",
|
|
@@ -451,6 +453,7 @@ var zh_CN_default = {
|
|
|
451
453
|
"adapter.errAppServerExit": "codex app-server \u5DF2\u9000\u51FA\uFF0C\u8FDB\u884C\u4E2D\u7684\u5BA1\u6279/\u9009\u62E9\u5DF2\u81EA\u52A8\u62D2\u7EDD",
|
|
452
454
|
"adapter.logUnsupportedServerRequest": "\u6682\u4E0D\u652F\u6301\u7684 app-server \u8BF7\u6C42: {method}",
|
|
453
455
|
"adapter.logQuestionNative": "\u9009\u62E9\u8BF7\u6C42 \u2192 \u624B\u673A\u9009\u62E9\u5361 questionID={id} (session={session})",
|
|
456
|
+
"adapter.logQuestionReplyFailed": "\u63D0\u95EE\u5E94\u7B54\u5931\u8D25\uFF08{id}\uFF09\uFF1A{message}",
|
|
454
457
|
"adapter.logPermissionNative": "\u5BA1\u6279\u8BF7\u6C42 \u2192 \u624B\u673A\u6743\u9650\u5361 permissionID={id} (session={session})",
|
|
455
458
|
"adapter.checkAppServerOk": "codex app-server \u53EF\u7528",
|
|
456
459
|
"adapter.checkAppServerMissing": "\u5F53\u524D Codex CLI \u4E0D\u652F\u6301 `codex app-server`\uFF08\u8BF7\u5347\u7EA7 Codex CLI\uFF09",
|
|
@@ -614,7 +617,6 @@ var zh_TW_default = {
|
|
|
614
617
|
"perm.promptResource": "opencode \u8ACB\u6C42\u5B58\u53D6\u8CC7\u6E90\uFF1A{list}",
|
|
615
618
|
"perm.promptTool": "opencode \u8ACB\u6C42\u57F7\u884C {tool}",
|
|
616
619
|
"qr.codeLabel": "\u914D\u5C0D\u78BC",
|
|
617
|
-
"qr.fileWritten": "\u914D\u5C0D\u8CC7\u8A0A\u5DF2\u5BEB\u5165: {path}",
|
|
618
620
|
"qr.openHint": "\u958B\u555F tunnelbox App\uFF0C\u7528\u300C\u6383\u63CF\u914D\u5C0D\u300D\u6383\u63CF\u4E0A\u65B9 QR Code\uFF0C\u6216\u624B\u52D5\u8F38\u5165\u914D\u5C0D\u78BC\u3002",
|
|
619
621
|
"qr.titleNoType": "tunnelbox \u624B\u6A5F\u914D\u5C0D",
|
|
620
622
|
"qr.titleWithType": "tunnelbox {type} \u624B\u6A5F\u914D\u5C0D",
|
|
@@ -806,6 +808,8 @@ var zh_TW_default = {
|
|
|
806
808
|
"adapter.logToolReason": "dsh \u8ACB\u6C42\u57F7\u884C\u5DE5\u5177 {tool}",
|
|
807
809
|
"adapter.logGatewayConnected": "\u5DF2\u9023\u63A5\u672C\u6A5F OpenClaw Gateway\uFF08{version}\uFF09",
|
|
808
810
|
"adapter.logGatewayDisconnected": "\u8207 OpenClaw Gateway \u65B7\u958B\uFF0C\u6B63\u5728\u7531\u5B98\u65B9\u5BA2\u6236\u7AEF\u91CD\u9023\u2026",
|
|
811
|
+
"adapter.logSessionResync": "\u5DE5\u4F5C\u968E\u6BB5 {session}\uFF1Aagent \u4E8B\u4EF6 seq \u524D\u8DF3\uFF0C\u91CD\u65B0\u8F09\u5165\u6B77\u53F2",
|
|
812
|
+
"adapter.warnGatewayVersionBelowSupported": "OpenClaw Gateway {version} \u4F4E\u65BC\u6700\u4F4E\u652F\u63F4\u7248\u672C {min}\uFF1B\u90E8\u5206\u529F\u80FD\u53EF\u80FD\u7121\u6CD5\u4F7F\u7528",
|
|
809
813
|
"adapter.logGatewayConnectFailed": "\u7121\u6CD5\u9023\u63A5\u672C\u6A5F OpenClaw Gateway\uFF08\u8ACB\u6AA2\u67E5\u9598\u9053\u9451\u6B0A\uFF1Atoken \u6216\u88DD\u7F6E\u5BE9\u6279\uFF09",
|
|
810
814
|
"adapter.logGatewayCredentialSource": "\u4F7F\u7528\u4F86\u81EA {source} \u7684 OpenClaw Gateway \u6191\u8B49",
|
|
811
815
|
"adapter.logGatewayAutoStart": "\u672C\u6A5F OpenClaw Gateway \u672A\u57F7\u884C\uFF0C\u6B63\u5728\u555F\u52D5\uFF08mode={mode}\uFF09\u2026",
|
|
@@ -826,6 +830,7 @@ var zh_TW_default = {
|
|
|
826
830
|
"adapter.checkAuthStatusMissing": "\u4E0D\u5B58\u5728",
|
|
827
831
|
"adapter.checkAuthStatusUnparsable": "\u89E3\u6790\u5931\u6557",
|
|
828
832
|
"adapter.checkAuthMode": "\u9451\u6B0A\u6A21\u5F0F\uFF1A{mode}",
|
|
833
|
+
"adapter.checkAuthExtraPaths": "\u984D\u5916\u6191\u8B49\u6A94\u6848\uFF1A{paths}",
|
|
829
834
|
"adapter.checkAuthSource": "\u6191\u8B49\u4F86\u6E90\uFF1A{source}",
|
|
830
835
|
"adapter.checkAuthReachable": "\u9598\u9053\u53EF\u9054\uFF1A{value}",
|
|
831
836
|
"adapter.saveTokenPrompt": "\u8ACB\u8CBC\u4E0A OpenClaw Gateway token\uFF08\u53EF\u7528 `openclaw gateway auth-token --show` \u67E5\u770B\uFF09\u5F8C\u6309 Enter\uFF1A",
|
|
@@ -857,6 +862,7 @@ var zh_TW_default = {
|
|
|
857
862
|
"adapter.errAppServerExit": "codex app-server \u5DF2\u7D50\u675F\uFF0C\u9032\u884C\u4E2D\u7684\u5BE9\u6279/\u9078\u64C7\u5DF2\u81EA\u52D5\u62D2\u7D55",
|
|
858
863
|
"adapter.logUnsupportedServerRequest": "\u66AB\u4E0D\u652F\u63F4\u7684 app-server \u8ACB\u6C42: {method}",
|
|
859
864
|
"adapter.logQuestionNative": "\u9078\u64C7\u8ACB\u6C42 \u2192 \u624B\u6A5F\u9078\u64C7\u5361 questionID={id} (session={session})",
|
|
865
|
+
"adapter.logQuestionReplyFailed": "\u63D0\u554F\u61C9\u7B54\u5931\u6557\uFF08{id}\uFF09\uFF1A{message}",
|
|
860
866
|
"adapter.logPermissionNative": "\u5BE9\u6279\u8ACB\u6C42 \u2192 \u624B\u6A5F\u6B0A\u9650\u5361 permissionID={id} (session={session})",
|
|
861
867
|
"adapter.checkAppServerOk": "codex app-server \u53EF\u7528",
|
|
862
868
|
"adapter.checkAppServerMissing": "\u76EE\u524D Codex CLI \u4E0D\u652F\u63F4 `codex app-server`\uFF08\u8ACB\u5347\u7D1A Codex CLI\uFF09",
|
|
@@ -1020,7 +1026,6 @@ var en_US_default = {
|
|
|
1020
1026
|
"perm.promptResource": "opencode requests access to resources: {list}",
|
|
1021
1027
|
"perm.promptTool": "opencode requests to run {tool}",
|
|
1022
1028
|
"qr.codeLabel": "Pairing code",
|
|
1023
|
-
"qr.fileWritten": "Pairing info written to: {path}",
|
|
1024
1029
|
"qr.openHint": "Open the tunnelbox app on your phone and scan the QR code above, or enter the pairing code manually in the app.",
|
|
1025
1030
|
"qr.titleNoType": "tunnelbox phone pairing",
|
|
1026
1031
|
"qr.titleWithType": "tunnelbox {type} phone pairing",
|
|
@@ -1212,6 +1217,8 @@ var en_US_default = {
|
|
|
1212
1217
|
"adapter.logToolReason": "dsh requests to run tool {tool}",
|
|
1213
1218
|
"adapter.logGatewayConnected": "Connected to local OpenClaw Gateway ({version})",
|
|
1214
1219
|
"adapter.logGatewayDisconnected": "Disconnected from OpenClaw Gateway; the official client is reconnecting\u2026",
|
|
1220
|
+
"adapter.logSessionResync": "Session {session}: agent event gap, reloading history",
|
|
1221
|
+
"adapter.warnGatewayVersionBelowSupported": "OpenClaw Gateway {version} is below the minimum supported version {min}; some features may be unavailable",
|
|
1215
1222
|
"adapter.logGatewayConnectFailed": "Cannot connect to local OpenClaw Gateway (check gateway auth: token or device approval)",
|
|
1216
1223
|
"adapter.logGatewayCredentialSource": "Using OpenClaw Gateway credential from {source}",
|
|
1217
1224
|
"adapter.logGatewayAutoStart": "Local OpenClaw Gateway is not running; starting it (mode={mode})\u2026",
|
|
@@ -1232,6 +1239,7 @@ var en_US_default = {
|
|
|
1232
1239
|
"adapter.checkAuthStatusMissing": "missing",
|
|
1233
1240
|
"adapter.checkAuthStatusUnparsable": "unparsable",
|
|
1234
1241
|
"adapter.checkAuthMode": "auth mode: {mode}",
|
|
1242
|
+
"adapter.checkAuthExtraPaths": "extra credential files: {paths}",
|
|
1235
1243
|
"adapter.checkAuthSource": "credential source: {source}",
|
|
1236
1244
|
"adapter.checkAuthReachable": "gateway reachable: {value}",
|
|
1237
1245
|
"adapter.saveTokenPrompt": "Paste the OpenClaw Gateway token (from `openclaw gateway auth-token --show`) and press Enter:",
|
|
@@ -1263,6 +1271,7 @@ var en_US_default = {
|
|
|
1263
1271
|
"adapter.errAppServerExit": "codex app-server exited; pending approvals/choices were auto-declined",
|
|
1264
1272
|
"adapter.logUnsupportedServerRequest": "unsupported app-server request: {method}",
|
|
1265
1273
|
"adapter.logQuestionNative": "choice request -> phone choice card questionID={id} (session={session})",
|
|
1274
|
+
"adapter.logQuestionReplyFailed": "Question reply failed ({id}): {message}",
|
|
1266
1275
|
"adapter.logPermissionNative": "approval request -> phone approval card permissionID={id} (session={session})",
|
|
1267
1276
|
"adapter.checkAppServerOk": "codex app-server available",
|
|
1268
1277
|
"adapter.checkAppServerMissing": "this Codex CLI does not support `codex app-server` (please upgrade Codex CLI)",
|
|
@@ -1426,7 +1435,6 @@ var ja_JP_default = {
|
|
|
1426
1435
|
"perm.promptResource": "opencode \u304C\u30EA\u30BD\u30FC\u30B9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u8981\u6C42: {list}",
|
|
1427
1436
|
"perm.promptTool": "opencode \u304C {tool} \u306E\u5B9F\u884C\u3092\u8981\u6C42",
|
|
1428
1437
|
"qr.codeLabel": "\u30DA\u30A2\u30EA\u30F3\u30B0\u30B3\u30FC\u30C9",
|
|
1429
|
-
"qr.fileWritten": "\u30DA\u30A2\u30EA\u30F3\u30B0\u60C5\u5831\u3092\u66F8\u304D\u8FBC\u307F\u307E\u3057\u305F: {path}",
|
|
1430
1438
|
"qr.openHint": "tunnelbox App \u3092\u958B\u304D\u3001\u4E0A\u306E QR \u30B3\u30FC\u30C9\u3092\u30B9\u30AD\u30E3\u30F3\u3059\u308B\u304B\u3001App \u3067\u30DA\u30A2\u30EA\u30F3\u30B0\u30B3\u30FC\u30C9\u3092\u624B\u52D5\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
1431
1439
|
"qr.titleNoType": "tunnelbox \u30B9\u30DE\u30DB\u30DA\u30A2\u30EA\u30F3\u30B0",
|
|
1432
1440
|
"qr.titleWithType": "tunnelbox {type} \u30B9\u30DE\u30DB\u30DA\u30A2\u30EA\u30F3\u30B0",
|
|
@@ -1618,6 +1626,8 @@ var ja_JP_default = {
|
|
|
1618
1626
|
"adapter.logToolReason": "dsh \u304C\u30C4\u30FC\u30EB {tool} \u306E\u5B9F\u884C\u3092\u8981\u6C42\u3057\u3066\u3044\u307E\u3059",
|
|
1619
1627
|
"adapter.logGatewayConnected": "\u30ED\u30FC\u30AB\u30EB OpenClaw Gateway \u306B\u63A5\u7D9A\u3057\u307E\u3057\u305F\uFF08{version}\uFF09",
|
|
1620
1628
|
"adapter.logGatewayDisconnected": "OpenClaw Gateway \u304B\u3089\u5207\u65AD\u3055\u308C\u307E\u3057\u305F\u3002\u516C\u5F0F\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u304C\u518D\u63A5\u7D9A\u3057\u3066\u3044\u307E\u3059\u2026",
|
|
1629
|
+
"adapter.logSessionResync": "\u30BB\u30C3\u30B7\u30E7\u30F3 {session}\uFF1Aagent \u30A4\u30D9\u30F3\u30C8\u306E seq \u304C\u98DB\u3093\u3060\u305F\u3081\u5C65\u6B74\u3092\u518D\u53D6\u5F97\u3057\u307E\u3059",
|
|
1630
|
+
"adapter.warnGatewayVersionBelowSupported": "OpenClaw Gateway {version} \u306F\u6700\u4F4E\u30B5\u30DD\u30FC\u30C8\u30D0\u30FC\u30B8\u30E7\u30F3 {min} \u672A\u6E80\u3067\u3059\u3002\u4E00\u90E8\u6A5F\u80FD\u304C\u5229\u7528\u3067\u304D\u306A\u3044\u5834\u5408\u304C\u3042\u308A\u307E\u3059",
|
|
1621
1631
|
"adapter.logGatewayConnectFailed": "\u30ED\u30FC\u30AB\u30EB OpenClaw Gateway \u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\uFF08\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u8A8D\u8A3C\u3092\u78BA\u8A8D\uFF1Atoken \u307E\u305F\u306F\u30C7\u30D0\u30A4\u30B9\u627F\u8A8D\uFF09",
|
|
1622
1632
|
"adapter.logGatewayCredentialSource": "{source} \u306E OpenClaw Gateway \u8A8D\u8A3C\u60C5\u5831\u3092\u4F7F\u7528\u3057\u307E\u3059",
|
|
1623
1633
|
"adapter.logGatewayAutoStart": "\u30ED\u30FC\u30AB\u30EB OpenClaw Gateway \u304C\u8D77\u52D5\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u8D77\u52D5\u3057\u307E\u3059\uFF08mode={mode}\uFF09\u2026",
|
|
@@ -1638,6 +1648,7 @@ var ja_JP_default = {
|
|
|
1638
1648
|
"adapter.checkAuthStatusMissing": "\u5B58\u5728\u3057\u307E\u305B\u3093",
|
|
1639
1649
|
"adapter.checkAuthStatusUnparsable": "\u89E3\u6790\u5931\u6557",
|
|
1640
1650
|
"adapter.checkAuthMode": "\u8A8D\u8A3C\u30E2\u30FC\u30C9: {mode}",
|
|
1651
|
+
"adapter.checkAuthExtraPaths": "\u8FFD\u52A0\u306E\u8A8D\u8A3C\u60C5\u5831\u30D5\u30A1\u30A4\u30EB: {paths}",
|
|
1641
1652
|
"adapter.checkAuthSource": "\u8A8D\u8A3C\u60C5\u5831\u306E\u53D6\u5F97\u5143: {source}",
|
|
1642
1653
|
"adapter.checkAuthReachable": "\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u5230\u9054\u53EF\u80FD: {value}",
|
|
1643
1654
|
"adapter.saveTokenPrompt": "OpenClaw Gateway \u306E\u30C8\u30FC\u30AF\u30F3\u3092\u8CBC\u308A\u4ED8\u3051\u3066 Enter\uFF08`openclaw gateway auth-token --show` \u3067\u78BA\u8A8D\uFF09:",
|
|
@@ -1669,6 +1680,7 @@ var ja_JP_default = {
|
|
|
1669
1680
|
"adapter.errAppServerExit": "codex app-server \u304C\u7D42\u4E86\u3057\u307E\u3057\u305F\u3002\u4FDD\u7559\u4E2D\u306E\u627F\u8A8D/\u9078\u629E\u306F\u81EA\u52D5\u7684\u306B\u62D2\u5426\u3055\u308C\u307E\u3057\u305F",
|
|
1670
1681
|
"adapter.logUnsupportedServerRequest": "\u672A\u5BFE\u5FDC\u306E app-server \u30EA\u30AF\u30A8\u30B9\u30C8: {method}",
|
|
1671
1682
|
"adapter.logQuestionNative": "\u9078\u629E\u30EA\u30AF\u30A8\u30B9\u30C8 -> \u30B9\u30DE\u30DB\u9078\u629E\u30AB\u30FC\u30C9 questionID={id} (session={session})",
|
|
1683
|
+
"adapter.logQuestionReplyFailed": "\u8CEA\u554F\u3078\u306E\u5FDC\u7B54\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08{id}\uFF09\uFF1A{message}",
|
|
1672
1684
|
"adapter.logPermissionNative": "\u627F\u8A8D\u30EA\u30AF\u30A8\u30B9\u30C8 -> \u30B9\u30DE\u30DB\u627F\u8A8D\u30AB\u30FC\u30C9 permissionID={id} (session={session})",
|
|
1673
1685
|
"adapter.checkAppServerOk": "codex app-server \u5229\u7528\u53EF\u80FD",
|
|
1674
1686
|
"adapter.checkAppServerMissing": "\u3053\u306E Codex CLI \u306F `codex app-server` \u306B\u5BFE\u5FDC\u3057\u3066\u3044\u307E\u305B\u3093\uFF08Codex CLI \u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\uFF09",
|
|
@@ -1832,7 +1844,6 @@ var ko_KR_default = {
|
|
|
1832
1844
|
"perm.promptResource": "opencode\uAC00 \uB9AC\uC18C\uC2A4 \uC811\uADFC\uC744 \uC694\uCCAD: {list}",
|
|
1833
1845
|
"perm.promptTool": "opencode\uAC00 {tool} \uC2E4\uD589\uC744 \uC694\uCCAD",
|
|
1834
1846
|
"qr.codeLabel": "\uD398\uC5B4\uB9C1 \uCF54\uB4DC",
|
|
1835
|
-
"qr.fileWritten": "\uD398\uC5B4\uB9C1 \uC815\uBCF4\uAC00 \uAE30\uB85D\uB428: {path}",
|
|
1836
1847
|
"qr.openHint": "tunnelbox \uC571\uC744 \uC5F4\uACE0 \uC704 QR \uCF54\uB4DC\uB97C \uC2A4\uCE94\uD558\uAC70\uB098, \uC571\uC5D0\uC11C \uD398\uC5B4\uB9C1 \uCF54\uB4DC\uB97C \uC9C1\uC811 \uC785\uB825\uD558\uC138\uC694.",
|
|
1837
1848
|
"qr.titleNoType": "tunnelbox \uD734\uB300\uD3F0 \uD398\uC5B4\uB9C1",
|
|
1838
1849
|
"qr.titleWithType": "tunnelbox {type} \uD734\uB300\uD3F0 \uD398\uC5B4\uB9C1",
|
|
@@ -2024,6 +2035,8 @@ var ko_KR_default = {
|
|
|
2024
2035
|
"adapter.logToolReason": "dsh\uAC00 \uB3C4\uAD6C {tool} \uC2E4\uD589\uC744 \uC694\uCCAD\uD569\uB2C8\uB2E4",
|
|
2025
2036
|
"adapter.logGatewayConnected": "\uB85C\uCEEC OpenClaw Gateway\uC5D0 \uC5F0\uACB0\uB428({version})",
|
|
2026
2037
|
"adapter.logGatewayDisconnected": "OpenClaw Gateway\uC640 \uC5F0\uACB0\uC774 \uB04A\uC5B4\uC84C\uC2B5\uB2C8\uB2E4. \uACF5\uC2DD \uD074\uB77C\uC774\uC5B8\uD2B8\uAC00 \uC7AC\uC5F0\uACB0 \uC911\u2026",
|
|
2038
|
+
"adapter.logSessionResync": "\uC138\uC158 {session}: agent \uC774\uBCA4\uD2B8 seq\uAC00 \uAC74\uB108\uB6F0\uC5B4 \uAE30\uB85D\uC744 \uB2E4\uC2DC \uBD88\uB7EC\uC635\uB2C8\uB2E4",
|
|
2039
|
+
"adapter.warnGatewayVersionBelowSupported": "OpenClaw Gateway {version}\uC774(\uAC00) \uCD5C\uC18C \uC9C0\uC6D0 \uBC84\uC804 {min}\uBCF4\uB2E4 \uB0AE\uC2B5\uB2C8\uB2E4. \uC77C\uBD80 \uAE30\uB2A5\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",
|
|
2027
2040
|
"adapter.logGatewayConnectFailed": "\uB85C\uCEEC OpenClaw Gateway\uC5D0 \uC5F0\uACB0\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4(\uAC8C\uC774\uD2B8\uC6E8\uC774 \uC778\uC99D \uD655\uC778: token \uB610\uB294 \uC7A5\uCE58 \uC2B9\uC778)",
|
|
2028
2041
|
"adapter.logGatewayCredentialSource": "{source}\uC5D0\uC11C OpenClaw Gateway \uC790\uACA9 \uC99D\uBA85\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4",
|
|
2029
2042
|
"adapter.logGatewayAutoStart": "\uB85C\uCEEC OpenClaw Gateway\uAC00 \uC2E4\uD589 \uC911\uC774 \uC544\uB2C8\uC5B4\uC11C \uC2DC\uC791\uD569\uB2C8\uB2E4(mode={mode})\u2026",
|
|
@@ -2044,6 +2057,7 @@ var ko_KR_default = {
|
|
|
2044
2057
|
"adapter.checkAuthStatusMissing": "\uC5C6\uC74C",
|
|
2045
2058
|
"adapter.checkAuthStatusUnparsable": "\uD30C\uC2F1 \uC2E4\uD328",
|
|
2046
2059
|
"adapter.checkAuthMode": "\uC778\uC99D \uBAA8\uB4DC: {mode}",
|
|
2060
|
+
"adapter.checkAuthExtraPaths": "\uCD94\uAC00 \uC790\uACA9 \uC99D\uBA85 \uD30C\uC77C: {paths}",
|
|
2047
2061
|
"adapter.checkAuthSource": "\uC790\uACA9 \uC99D\uBA85 \uCD9C\uCC98: {source}",
|
|
2048
2062
|
"adapter.checkAuthReachable": "\uAC8C\uC774\uD2B8\uC6E8\uC774 \uB3C4\uB2EC \uAC00\uB2A5: {value}",
|
|
2049
2063
|
"adapter.saveTokenPrompt": "OpenClaw Gateway \uD1A0\uD070\uC744 \uBD99\uC5EC\uB123\uACE0 Enter(`openclaw gateway auth-token --show`\uB85C \uD655\uC778):",
|
|
@@ -2075,6 +2089,7 @@ var ko_KR_default = {
|
|
|
2075
2089
|
"adapter.errAppServerExit": "codex app-server \uAC00 \uC885\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB300\uAE30 \uC911\uC778 \uC2B9\uC778/\uC120\uD0DD\uC740 \uC790\uB3D9\uC73C\uB85C \uAC70\uBD80\uB418\uC5C8\uC2B5\uB2C8\uB2E4",
|
|
2076
2090
|
"adapter.logUnsupportedServerRequest": "\uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 app-server \uC694\uCCAD: {method}",
|
|
2077
2091
|
"adapter.logQuestionNative": "\uC120\uD0DD \uC694\uCCAD -> \uD734\uB300\uD3F0 \uC120\uD0DD \uCE74\uB4DC questionID={id} (session={session})",
|
|
2092
|
+
"adapter.logQuestionReplyFailed": "\uC9C8\uBB38 \uC751\uB2F5 \uC2E4\uD328({id}): {message}",
|
|
2078
2093
|
"adapter.logPermissionNative": "\uC2B9\uC778 \uC694\uCCAD -> \uD734\uB300\uD3F0 \uC2B9\uC778 \uCE74\uB4DC permissionID={id} (session={session})",
|
|
2079
2094
|
"adapter.checkAppServerOk": "codex app-server \uC0AC\uC6A9 \uAC00\uB2A5",
|
|
2080
2095
|
"adapter.checkAppServerMissing": "\uC774 Codex CLI \uB294 `codex app-server` \uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4 (Codex CLI \uB97C \uC5C5\uADF8\uB808\uC774\uB4DC\uD558\uC138\uC694)",
|
|
@@ -2238,7 +2253,6 @@ var fr_FR_default = {
|
|
|
2238
2253
|
"perm.promptResource": "opencode demande l'acc\xE8s aux ressources : {list}",
|
|
2239
2254
|
"perm.promptTool": "opencode demande d'ex\xE9cuter {tool}",
|
|
2240
2255
|
"qr.codeLabel": "Code d'appairage",
|
|
2241
|
-
"qr.fileWritten": "Informations d'appairage \xE9crites dans : {path}",
|
|
2242
2256
|
"qr.openHint": "Ouvrez l'application tunnelbox sur votre t\xE9l\xE9phone et scannez le QR ci-dessus, ou saisissez le code d'appairage manuellement dans l'application.",
|
|
2243
2257
|
"qr.titleNoType": "appairage t\xE9l\xE9phone tunnelbox",
|
|
2244
2258
|
"qr.titleWithType": "appairage t\xE9l\xE9phone tunnelbox {type}",
|
|
@@ -2430,6 +2444,8 @@ var fr_FR_default = {
|
|
|
2430
2444
|
"adapter.logToolReason": "dsh demande d'ex\xE9cuter l'outil {tool}",
|
|
2431
2445
|
"adapter.logGatewayConnected": "Connect\xE9 au Gateway OpenClaw local ({version})",
|
|
2432
2446
|
"adapter.logGatewayDisconnected": "D\xE9connect\xE9 du Gateway OpenClaw ; le client officiel se reconnecte\u2026",
|
|
2447
|
+
"adapter.logSessionResync": "Session {session} : saut de seq des \xE9v\xE9nements agent, rechargement de l'historique",
|
|
2448
|
+
"adapter.warnGatewayVersionBelowSupported": "Le Gateway OpenClaw {version} est inf\xE9rieur \xE0 la version minimale prise en charge {min} ; certaines fonctionnalit\xE9s peuvent \xEAtre indisponibles",
|
|
2433
2449
|
"adapter.logGatewayConnectFailed": "Impossible de se connecter au Gateway OpenClaw local (v\xE9rifiez l'authentification : token ou approbation de l'appareil)",
|
|
2434
2450
|
"adapter.logGatewayCredentialSource": "Utilisation des identifiants OpenClaw Gateway depuis {source}",
|
|
2435
2451
|
"adapter.logGatewayAutoStart": "Le Gateway OpenClaw local n'est pas d\xE9marr\xE9 ; d\xE9marrage (mode={mode})\u2026",
|
|
@@ -2450,6 +2466,7 @@ var fr_FR_default = {
|
|
|
2450
2466
|
"adapter.checkAuthStatusMissing": "absente",
|
|
2451
2467
|
"adapter.checkAuthStatusUnparsable": "illisible",
|
|
2452
2468
|
"adapter.checkAuthMode": "mode d'authentification : {mode}",
|
|
2469
|
+
"adapter.checkAuthExtraPaths": "fichiers d'identification suppl\xE9mentaires : {paths}",
|
|
2453
2470
|
"adapter.checkAuthSource": "source des identifiants : {source}",
|
|
2454
2471
|
"adapter.checkAuthReachable": "Gateway joignable : {value}",
|
|
2455
2472
|
"adapter.saveTokenPrompt": "Collez le token du Gateway OpenClaw (via `openclaw gateway auth-token --show`) puis Entr\xE9e :",
|
|
@@ -2481,6 +2498,7 @@ var fr_FR_default = {
|
|
|
2481
2498
|
"adapter.errAppServerExit": "codex app-server s'est arr\xEAt\xE9 ; les approbations/choix en attente ont \xE9t\xE9 refus\xE9s automatiquement",
|
|
2482
2499
|
"adapter.logUnsupportedServerRequest": "requ\xEAte app-server non prise en charge : {method}",
|
|
2483
2500
|
"adapter.logQuestionNative": "demande de choix -> carte de choix du t\xE9l\xE9phone questionID={id} (session={session})",
|
|
2501
|
+
"adapter.logQuestionReplyFailed": "\xC9chec de la r\xE9ponse \xE0 la question ({id}) : {message}",
|
|
2484
2502
|
"adapter.logPermissionNative": "demande d'approbation -> carte d'approbation du t\xE9l\xE9phone permissionID={id} (session={session})",
|
|
2485
2503
|
"adapter.checkAppServerOk": "codex app-server disponible",
|
|
2486
2504
|
"adapter.checkAppServerMissing": "ce Codex CLI ne prend pas en charge `codex app-server` (veuillez mettre \xE0 jour Codex CLI)",
|
|
@@ -2644,7 +2662,6 @@ var de_DE_default = {
|
|
|
2644
2662
|
"perm.promptResource": "opencode fordert Zugriff auf Ressourcen: {list}",
|
|
2645
2663
|
"perm.promptTool": "opencode fordert die Ausf\xFChrung von {tool} an",
|
|
2646
2664
|
"qr.codeLabel": "Pairing-Code",
|
|
2647
|
-
"qr.fileWritten": "Pairing-Informationen geschrieben in: {path}",
|
|
2648
2665
|
"qr.openHint": "\xD6ffnen Sie die tunnelbox-App auf dem Telefon und scannen Sie den QR-Code oben, oder geben Sie den Pairing-Code manuell in der App ein.",
|
|
2649
2666
|
"qr.titleNoType": "tunnelbox Telefon-Pairing",
|
|
2650
2667
|
"qr.titleWithType": "tunnelbox {type} Telefon-Pairing",
|
|
@@ -2836,6 +2853,8 @@ var de_DE_default = {
|
|
|
2836
2853
|
"adapter.logToolReason": "dsh fordert die Ausf\xFChrung des Tools {tool} an",
|
|
2837
2854
|
"adapter.logGatewayConnected": "Mit lokalem OpenClaw Gateway verbunden ({version})",
|
|
2838
2855
|
"adapter.logGatewayDisconnected": "Vom OpenClaw Gateway getrennt; der offizielle Client verbindet sich neu\u2026",
|
|
2856
|
+
"adapter.logSessionResync": "Sitzung {session}: agent-Event-seq-L\xFCcke, Verlauf wird neu geladen",
|
|
2857
|
+
"adapter.warnGatewayVersionBelowSupported": "OpenClaw Gateway {version} liegt unter der minimal unterst\xFCtzten Version {min}; einige Funktionen sind m\xF6glicherweise nicht verf\xFCgbar",
|
|
2839
2858
|
"adapter.logGatewayConnectFailed": "Verbindung zum lokalen OpenClaw Gateway nicht m\xF6glich (Gateway-Authentifizierung pr\xFCfen: Token oder Ger\xE4tefreigabe)",
|
|
2840
2859
|
"adapter.logGatewayCredentialSource": "OpenClaw-Gateway-Anmeldedaten aus {source} werden verwendet",
|
|
2841
2860
|
"adapter.logGatewayAutoStart": "Lokales OpenClaw Gateway l\xE4uft nicht; wird gestartet (mode={mode})\u2026",
|
|
@@ -2856,6 +2875,7 @@ var de_DE_default = {
|
|
|
2856
2875
|
"adapter.checkAuthStatusMissing": "fehlt",
|
|
2857
2876
|
"adapter.checkAuthStatusUnparsable": "nicht lesbar",
|
|
2858
2877
|
"adapter.checkAuthMode": "Auth-Modus: {mode}",
|
|
2878
|
+
"adapter.checkAuthExtraPaths": "zus\xE4tzliche Anmeldedateien: {paths}",
|
|
2859
2879
|
"adapter.checkAuthSource": "Quelle der Anmeldedaten: {source}",
|
|
2860
2880
|
"adapter.checkAuthReachable": "Gateway erreichbar: {value}",
|
|
2861
2881
|
"adapter.saveTokenPrompt": "OpenClaw-Gateway-Token einf\xFCgen (via `openclaw gateway auth-token --show`) und Enter dr\xFCcken:",
|
|
@@ -2887,6 +2907,7 @@ var de_DE_default = {
|
|
|
2887
2907
|
"adapter.errAppServerExit": "codex app-server wurde beendet; ausstehende Genehmigungen/Auswahlen wurden automatisch abgelehnt",
|
|
2888
2908
|
"adapter.logUnsupportedServerRequest": "nicht unterst\xFCtzte app-server-Anfrage: {method}",
|
|
2889
2909
|
"adapter.logQuestionNative": "Auswahlanfrage -> Auswahlkarte am Handy questionID={id} (session={session})",
|
|
2910
|
+
"adapter.logQuestionReplyFailed": "Antwort auf Frage fehlgeschlagen ({id}): {message}",
|
|
2890
2911
|
"adapter.logPermissionNative": "Genehmigungsanfrage -> Genehmigungskarte am Handy permissionID={id} (session={session})",
|
|
2891
2912
|
"adapter.checkAppServerOk": "codex app-server verf\xFCgbar",
|
|
2892
2913
|
"adapter.checkAppServerMissing": "diese Codex CLI unterst\xFCtzt `codex app-server` nicht (bitte Codex CLI aktualisieren)",
|
|
@@ -3050,7 +3071,6 @@ var es_ES_default = {
|
|
|
3050
3071
|
"perm.promptResource": "opencode solicita acceso a los recursos: {list}",
|
|
3051
3072
|
"perm.promptTool": "opencode solicita ejecutar {tool}",
|
|
3052
3073
|
"qr.codeLabel": "C\xF3digo de emparejamiento",
|
|
3053
|
-
"qr.fileWritten": "Informaci\xF3n de emparejamiento escrita en: {path}",
|
|
3054
3074
|
"qr.openHint": "Abra la aplicaci\xF3n tunnelbox en el tel\xE9fono y escanee el c\xF3digo QR superior, o introduzca el c\xF3digo de emparejamiento manualmente en la aplicaci\xF3n.",
|
|
3055
3075
|
"qr.titleNoType": "emparejamiento de tel\xE9fono tunnelbox",
|
|
3056
3076
|
"qr.titleWithType": "emparejamiento de tel\xE9fono tunnelbox {type}",
|
|
@@ -3242,6 +3262,8 @@ var es_ES_default = {
|
|
|
3242
3262
|
"adapter.logToolReason": "dsh solicita ejecutar la herramienta {tool}",
|
|
3243
3263
|
"adapter.logGatewayConnected": "Conectado al Gateway OpenClaw local ({version})",
|
|
3244
3264
|
"adapter.logGatewayDisconnected": "Desconectado del Gateway OpenClaw; el cliente oficial se est\xE1 reconectando\u2026",
|
|
3265
|
+
"adapter.logSessionResync": "Sesi\xF3n {session}: salto de seq en eventos agent, recargando el historial",
|
|
3266
|
+
"adapter.warnGatewayVersionBelowSupported": "El Gateway OpenClaw {version} es inferior a la versi\xF3n m\xEDnima admitida {min}; algunas funciones pueden no estar disponibles",
|
|
3245
3267
|
"adapter.logGatewayConnectFailed": "No se puede conectar al Gateway OpenClaw local (revisa la autenticaci\xF3n: token o aprobaci\xF3n del dispositivo)",
|
|
3246
3268
|
"adapter.logGatewayCredentialSource": "Usando credenciales de OpenClaw Gateway desde {source}",
|
|
3247
3269
|
"adapter.logGatewayAutoStart": "El Gateway OpenClaw local no est\xE1 en ejecuci\xF3n; inici\xE1ndolo (mode={mode})\u2026",
|
|
@@ -3262,6 +3284,7 @@ var es_ES_default = {
|
|
|
3262
3284
|
"adapter.checkAuthStatusMissing": "ausente",
|
|
3263
3285
|
"adapter.checkAuthStatusUnparsable": "ilegible",
|
|
3264
3286
|
"adapter.checkAuthMode": "modo de autenticaci\xF3n: {mode}",
|
|
3287
|
+
"adapter.checkAuthExtraPaths": "archivos de credenciales adicionales: {paths}",
|
|
3265
3288
|
"adapter.checkAuthSource": "origen de credenciales: {source}",
|
|
3266
3289
|
"adapter.checkAuthReachable": "Gateway accesible: {value}",
|
|
3267
3290
|
"adapter.saveTokenPrompt": "Pega el token del Gateway OpenClaw (con `openclaw gateway auth-token --show`) y pulsa Enter:",
|
|
@@ -3293,6 +3316,7 @@ var es_ES_default = {
|
|
|
3293
3316
|
"adapter.errAppServerExit": "codex app-server se cerr\xF3; las aprobaciones/elecciones pendientes se rechazaron autom\xE1ticamente",
|
|
3294
3317
|
"adapter.logUnsupportedServerRequest": "solicitud de app-server no admitida: {method}",
|
|
3295
3318
|
"adapter.logQuestionNative": "solicitud de elecci\xF3n -> tarjeta de elecci\xF3n del tel\xE9fono questionID={id} (session={session})",
|
|
3319
|
+
"adapter.logQuestionReplyFailed": "Error al responder la pregunta ({id}): {message}",
|
|
3296
3320
|
"adapter.logPermissionNative": "solicitud de aprobaci\xF3n -> tarjeta de aprobaci\xF3n del tel\xE9fono permissionID={id} (session={session})",
|
|
3297
3321
|
"adapter.checkAppServerOk": "codex app-server disponible",
|
|
3298
3322
|
"adapter.checkAppServerMissing": "este Codex CLI no admite `codex app-server` (actualiza Codex CLI)",
|
|
@@ -3491,8 +3515,6 @@ function loadState(type) {
|
|
|
3491
3515
|
if (parsed.agentId && parsed.agentId.length >= 16) {
|
|
3492
3516
|
return {
|
|
3493
3517
|
agentId: parsed.agentId,
|
|
3494
|
-
relayUrl: parsed.relayUrl || "",
|
|
3495
|
-
claimed: parsed.claimed === true,
|
|
3496
3518
|
lang: parsed.lang ? normalizeLang(parsed.lang) : void 0
|
|
3497
3519
|
};
|
|
3498
3520
|
}
|
|
@@ -3503,26 +3525,6 @@ function loadState(type) {
|
|
|
3503
3525
|
return fallback;
|
|
3504
3526
|
}
|
|
3505
3527
|
}
|
|
3506
|
-
function writePairingFile(code, type, lang) {
|
|
3507
|
-
const p = join(baseName(), `remote-pairing${suffix(type)}.txt`);
|
|
3508
|
-
try {
|
|
3509
|
-
mkdirSync(dirname(p), { recursive: true });
|
|
3510
|
-
const label = t(lang ?? resolveLang(), "qr.codeLabel");
|
|
3511
|
-
writeFileSync(p, `${label}: ${code}
|
|
3512
|
-
`, "utf8");
|
|
3513
|
-
} catch {
|
|
3514
|
-
}
|
|
3515
|
-
return p;
|
|
3516
|
-
}
|
|
3517
|
-
function writePairingJson(info, type) {
|
|
3518
|
-
const p = join(baseName(), `remote-pairing${suffix(type)}.json`);
|
|
3519
|
-
try {
|
|
3520
|
-
mkdirSync(dirname(p), { recursive: true });
|
|
3521
|
-
writeFileSync(p, JSON.stringify(info, null, 2), "utf8");
|
|
3522
|
-
} catch {
|
|
3523
|
-
}
|
|
3524
|
-
return p;
|
|
3525
|
-
}
|
|
3526
3528
|
function injectedRelayUrl() {
|
|
3527
3529
|
return "wss://relay.tunnelbox.top" ? "wss://relay.tunnelbox.top".replace(/\/+$/, "") : "";
|
|
3528
3530
|
}
|
|
@@ -3572,7 +3574,6 @@ function padVisual(s, width, align = "left") {
|
|
|
3572
3574
|
}
|
|
3573
3575
|
async function printPairing(code, type, name2, lang) {
|
|
3574
3576
|
const resolved = lang ? normalizeLang(lang) : resolveLang();
|
|
3575
|
-
const file = writePairingFile(code, type, resolved);
|
|
3576
3577
|
const tt = (key, vars) => t(resolved, key, vars);
|
|
3577
3578
|
const title = type ? tt("qr.titleWithType", { type }) : tt("qr.titleNoType");
|
|
3578
3579
|
const codeLine = `${tt("qr.codeLabel")}: ${code}`;
|
|
@@ -3600,7 +3601,6 @@ async function printPairing(code, type, name2, lang) {
|
|
|
3600
3601
|
} catch {
|
|
3601
3602
|
console.log(" " + tt("qr.unavailable"));
|
|
3602
3603
|
}
|
|
3603
|
-
console.log(" " + tt("qr.fileWritten", { path: file }));
|
|
3604
3604
|
console.log("");
|
|
3605
3605
|
}
|
|
3606
3606
|
var DEFAULT_PAGE_SIZE = 20;
|
|
@@ -4072,7 +4072,7 @@ function findDir(dir, name2) {
|
|
|
4072
4072
|
}
|
|
4073
4073
|
|
|
4074
4074
|
// src/bridge.ts
|
|
4075
|
-
var VERSION = true ? "0.1.
|
|
4075
|
+
var VERSION = true ? "0.1.30" : "0.0.0-dev";
|
|
4076
4076
|
var AGENT_TYPE = "dsh";
|
|
4077
4077
|
var APPROVAL_TIMEOUT_MS = 12e4;
|
|
4078
4078
|
var ADAPTER_COMMANDS = [
|
|
@@ -4090,7 +4090,7 @@ var TunnelboxBridge = class {
|
|
|
4090
4090
|
}
|
|
4091
4091
|
ws = new RelayClient();
|
|
4092
4092
|
state = loadState(AGENT_TYPE);
|
|
4093
|
-
|
|
4093
|
+
paired = false;
|
|
4094
4094
|
everConnected = false;
|
|
4095
4095
|
relayBase = "";
|
|
4096
4096
|
/** sessionID → 活动 AgentHandle(本进程生命周期)。 */
|
|
@@ -4208,7 +4208,6 @@ ${err.stack}` : ""));
|
|
|
4208
4208
|
timezone: localTimezone()
|
|
4209
4209
|
};
|
|
4210
4210
|
this.send(envelope("agent.info", info));
|
|
4211
|
-
if (!this.claimed) this.send(envelope("pair.create", {}));
|
|
4212
4211
|
}
|
|
4213
4212
|
getSessionPersistence() {
|
|
4214
4213
|
return this.ctx.get("sessionPersistence");
|
|
@@ -4218,17 +4217,17 @@ ${err.stack}` : ""));
|
|
|
4218
4217
|
switch (env.type) {
|
|
4219
4218
|
case "pair.created": {
|
|
4220
4219
|
const code = env.payload.code;
|
|
4221
|
-
writePairingJson({ code, relayUrl: this.relayBase, at: Date.now() }, AGENT_TYPE);
|
|
4222
4220
|
this.log(this.t("adapter.logPairCode", { code }));
|
|
4223
4221
|
void printPairing(code, AGENT_TYPE, hostname(), this.lang);
|
|
4224
4222
|
return;
|
|
4225
4223
|
}
|
|
4226
|
-
case "agent.
|
|
4227
|
-
|
|
4228
|
-
this.
|
|
4229
|
-
|
|
4230
|
-
this.
|
|
4224
|
+
case "agent.status": {
|
|
4225
|
+
const status = env.payload;
|
|
4226
|
+
this.paired = status?.claimed === true;
|
|
4227
|
+
if (this.paired) this.log(this.t("adapter.logClaimed"));
|
|
4228
|
+
else this.send(envelope("pair.create", {}));
|
|
4231
4229
|
return;
|
|
4230
|
+
}
|
|
4232
4231
|
case "agent.revoked":
|
|
4233
4232
|
this.resetIdentity();
|
|
4234
4233
|
return;
|
|
@@ -4915,9 +4914,8 @@ ${err.stack}` : ""));
|
|
|
4915
4914
|
}
|
|
4916
4915
|
resetIdentity() {
|
|
4917
4916
|
this.log(this.t("adapter.logResetIdentity"));
|
|
4918
|
-
this.
|
|
4917
|
+
this.paired = false;
|
|
4919
4918
|
this.state.agentId = randomBytes2(16).toString("hex");
|
|
4920
|
-
this.state.claimed = false;
|
|
4921
4919
|
saveState(this.state, AGENT_TYPE);
|
|
4922
4920
|
this.ws.close();
|
|
4923
4921
|
this.connect(this.relayBase);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tunnelbox/dsh-tunnelbox",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.30",
|
|
4
4
|
"description": "tunnelbox 的 dsh 原生 Cordis 插件:手机远程驱动 DeepSeek Harness(agent/session/tools/审批/中止)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.mjs",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@deepseek-ai/schemastery": "^3.18.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@tunnelbox/core": "0.1.
|
|
39
|
+
"@tunnelbox/core": "0.1.30",
|
|
40
40
|
"@types/node": "^22.0.0",
|
|
41
41
|
"esbuild": "^0.24.0",
|
|
42
42
|
"typescript": "^5.4.5"
|