dsh-web-remote 0.2.0 → 0.4.0

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/client.js CHANGED
@@ -42,6 +42,14 @@ window.__ModuleLoader__.load({
42
42
  tip_reconnecting: "隧道断开,正在自动重连,无需操作。",
43
43
  tip_disconnected: "已断开,配置与授权已保留,点击接入即可恢复。",
44
44
  tip_external: "该主机由 rdsh CLI / 服务托管,请用 rdsh 命令管理。",
45
+ uiCompatLabel: "端到端加密时,信任为本地访问(兼容模式)",
46
+ uiCompatDesc: "(默认开启;共享主机可关闭)",
47
+ accessCodeLabel: "访问密码",
48
+ accessCodeBadgeSet: "已设置",
49
+ accessCodeBadgeUnset: "未设置",
50
+ accessCodePlaceholder: "输入新密码(至少 4 位)",
51
+ accessCodeSet: "设置",
52
+ accessCodeClear: "清除",
45
53
  };
46
54
 
47
55
  const en = {
@@ -69,6 +77,14 @@ window.__ModuleLoader__.load({
69
77
  tip_reconnecting: "The tunnel dropped; it is reconnecting automatically — no action needed.",
70
78
  tip_disconnected: "Disconnected — config and auth are kept. Click Connect to resume.",
71
79
  tip_external: "This host is managed by the rdsh CLI/service; manage it with rdsh commands.",
80
+ uiCompatLabel: "Trust as local access when E2EE (compatibility)",
81
+ uiCompatDesc: "(on by default; disable for shared hosts)",
82
+ accessCodeLabel: "Access code",
83
+ accessCodeBadgeSet: "Set",
84
+ accessCodeBadgeUnset: "Not set",
85
+ accessCodePlaceholder: "New code (min 4 chars)",
86
+ accessCodeSet: "Set",
87
+ accessCodeClear: "Clear",
72
88
  };
73
89
 
74
90
  const CSS = `
@@ -97,6 +113,10 @@ window.__ModuleLoader__.load({
97
113
  .dsh-web-remote-btn-primary:hover:not(:disabled){background:var(--dsw-alias-button-primary-hover)}
98
114
  .dsh-web-remote-btn-danger{color:var(--dsw-alias-state-error-primary);box-shadow:inset 0 0 0 1px var(--dsw-alias-state-error-primary)}
99
115
  .dsh-web-remote-btn-danger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger)}
116
+ .dsh-web-remote-accesscode{display:flex;align-items:center;gap:8px}
117
+ .dsh-web-remote-accesscode input{flex:1;min-width:0}
118
+ .dsh-web-remote-accesscode-badge{flex:0 0 auto;font-size:12px;line-height:22px;padding:0 10px;border-radius:11px;box-shadow:inset 0 0 0 1px var(--dsw-alias-border-l2);color:var(--dsw-alias-label-tertiary)}
119
+ .dsh-web-remote-accesscode-badge.set{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-success-primary);color:var(--dsw-alias-state-success-primary)}
100
120
  `;
101
121
 
102
122
  let styleInjected = false;
@@ -133,6 +153,10 @@ window.__ModuleLoader__.load({
133
153
  const [busy, setBusy] = React.useState(false);
134
154
  const [confirmOverwrite, setConfirmOverwrite] = React.useState(false);
135
155
  const [savedToken, setSavedToken] = React.useState(false);
156
+ const [uiCompat, setUiCompat] = React.useState(true);
157
+ const [hasAccessCode, setHasAccessCode] = React.useState(false);
158
+ const [codeInput, setCodeInput] = React.useState("");
159
+ const [codeBusy, setCodeBusy] = React.useState(false);
136
160
 
137
161
  React.useEffect(() => {
138
162
  let alive = true;
@@ -146,6 +170,8 @@ window.__ModuleLoader__.load({
146
170
  if (typeof v.name === "string") setName(v.name);
147
171
  if (typeof v.message === "string" && v.message !== "") setMessage(v.message);
148
172
  setSavedToken(v.hasToken === true);
173
+ if (typeof v.uiCompat === "boolean") setUiCompat(v.uiCompat);
174
+ if (typeof v.hasAccessCode === "boolean") setHasAccessCode(v.hasAccessCode);
149
175
  } catch {
150
176
  /* 瞬时错误忽略,下一轮重试 */
151
177
  }
@@ -206,6 +232,38 @@ window.__ModuleLoader__.load({
206
232
  }
207
233
  };
208
234
 
235
+ const setCode = async () => {
236
+ setCodeBusy(true);
237
+ try {
238
+ const res = await rpc.call("/remote-access", "set-access-code", { args: { code: codeInput } });
239
+ if (!res.ok) {
240
+ setMessage(res.error ? res.error.message : "set-access-code failed");
241
+ } else {
242
+ setCodeInput("");
243
+ setHasAccessCode(res.value?.hasAccessCode === true);
244
+ setMessage(undefined);
245
+ }
246
+ } finally {
247
+ setCodeBusy(false);
248
+ }
249
+ };
250
+
251
+ const clearCode = async () => {
252
+ setCodeBusy(true);
253
+ try {
254
+ const res = await rpc.call("/remote-access", "set-access-code", { args: { code: null } });
255
+ if (!res.ok) {
256
+ setMessage(res.error ? res.error.message : "clear-access-code failed");
257
+ } else {
258
+ setCodeInput("");
259
+ setHasAccessCode(false);
260
+ setMessage(undefined);
261
+ }
262
+ } finally {
263
+ setCodeBusy(false);
264
+ }
265
+ };
266
+
209
267
  const disabled = busy || external;
210
268
  // 未接入态需要令牌;断开态可留空(复用已保存授权)
211
269
  const canConnect = !disabled && hub.trim() !== "" && (status !== "unconfigured" || token.trim() !== "");
@@ -293,6 +351,66 @@ window.__ModuleLoader__.load({
293
351
  )
294
352
  : React.createElement("p", { className: "dsh-web-remote-tip" }, t("tip_" + status));
295
353
 
354
+ const compatToggle = external
355
+ ? null
356
+ : React.createElement(
357
+ "label",
358
+ { className: "dsh-web-remote-compat" },
359
+ React.createElement("input", {
360
+ type: "checkbox",
361
+ checked: uiCompat,
362
+ disabled,
363
+ onChange: (e) => {
364
+ const v = e.target.checked;
365
+ setUiCompat(v);
366
+ void rpc.call("/remote-access", "set-ui-compat", { args: { enabled: v } });
367
+ },
368
+ }),
369
+ " ",
370
+ t("uiCompatLabel"),
371
+ React.createElement("span", { className: "dsh-web-remote-compat-desc" }, " ", t("uiCompatDesc")),
372
+ );
373
+
374
+ const accessCodeRow = external
375
+ ? null
376
+ : React.createElement(
377
+ "div",
378
+ { className: "dsh-web-remote-field" },
379
+ React.createElement("label", null, t("accessCodeLabel")),
380
+ React.createElement(
381
+ "div",
382
+ { className: "dsh-web-remote-accesscode" },
383
+ React.createElement(
384
+ "span",
385
+ { className: "dsh-web-remote-accesscode-badge" + (hasAccessCode ? " set" : "") },
386
+ hasAccessCode ? t("accessCodeBadgeSet") : t("accessCodeBadgeUnset"),
387
+ ),
388
+ React.createElement("input", {
389
+ type: "password",
390
+ value: codeInput,
391
+ disabled: disabled || codeBusy,
392
+ placeholder: t("accessCodePlaceholder"),
393
+ onChange: (e) => setCodeInput(e.target.value),
394
+ }),
395
+ React.createElement(
396
+ "button",
397
+ {
398
+ className: "dsh-web-remote-btn dsh-web-remote-btn-primary",
399
+ disabled: disabled || codeBusy || codeInput.length < 4,
400
+ onClick: setCode,
401
+ },
402
+ t("accessCodeSet"),
403
+ ),
404
+ hasAccessCode
405
+ ? React.createElement(
406
+ "button",
407
+ { className: "dsh-web-remote-btn dsh-web-remote-btn-danger", disabled: disabled || codeBusy, onClick: clearCode },
408
+ t("accessCodeClear"),
409
+ )
410
+ : null,
411
+ ),
412
+ );
413
+
296
414
  return React.createElement(
297
415
  "div",
298
416
  { className: "dsh-web-remote" },
@@ -300,6 +418,8 @@ window.__ModuleLoader__.load({
300
418
  tip,
301
419
  message ? React.createElement("p", { className: "dsh-web-remote-msg" }, message) : null,
302
420
  form,
421
+ compatToggle,
422
+ accessCodeRow,
303
423
  actions,
304
424
  );
305
425
  }
package/dist/index.js CHANGED
@@ -32,6 +32,9 @@ export function apply(ctx) {
32
32
  let currentHub;
33
33
  let currentName;
34
34
  let lastMessage;
35
+ let liveCompat; // 运行中切换的 dshUiCompat(覆盖 host.json)
36
+ let liveAccessCode; // 运行中切换的访问密码(undefined=未初始化;null=关闭)
37
+ let currentConfig = null; // 最近一次读到的 host.json
35
38
  const hooks = {
36
39
  onState: (s, detail) => {
37
40
  liveState = s;
@@ -96,23 +99,60 @@ export function apply(ctx) {
96
99
  config.insecure = insecure;
97
100
  await saveConfig(DEFAULT_HOST_CONFIG_PATH, config);
98
101
  // 起隧道:转发到本进程 dsh
99
- currentHub = hub;
100
- currentName = joinedName;
101
- lastMessage = undefined;
102
- handle = startJoin({
103
- hubUrl: hub,
104
- token: hostToken,
105
- insecure,
106
- target: { host: "127.0.0.1", port: ctx.webServer.port },
107
- role: "plugin",
108
- hooks,
109
- });
102
+ startTunnel(config, hub, hostToken, joinedName, insecure);
110
103
  return ok({ status: "connecting", hub, name });
111
104
  }
112
105
  catch (e) {
113
106
  return err("register-failed", e instanceof Error ? e.message : String(e));
114
107
  }
115
108
  }
109
+ /** 起隧道并同步面板状态(connect / autoConnect 共用;转发到本进程 dsh)。 */
110
+ function startTunnel(config, hub, token, name, insecure) {
111
+ currentConfig = config;
112
+ liveCompat = config.dshUiCompat?.trustE2EEAsLoopback !== false;
113
+ liveAccessCode = config.gateway?.accessCode ?? null;
114
+ currentHub = hub;
115
+ currentName = name;
116
+ lastMessage = undefined;
117
+ handle = startJoin({
118
+ hubUrl: hub,
119
+ token,
120
+ insecure,
121
+ target: { host: "127.0.0.1", port: ctx.webServer.port },
122
+ role: "plugin",
123
+ dshUiCompat: config.dshUiCompat,
124
+ gateway: config.gateway,
125
+ name,
126
+ hooks,
127
+ });
128
+ }
129
+ /**
130
+ * 启动时自动接入:host.json 已是 join 模式且有持久化 host token、隧道未被 CLI/他人持有 →
131
+ * 复用 token 自动建隧道(与 CLI `rdsh host serve` 行为一致,消除「需先点接入才有隧道」的鸡生蛋)。
132
+ * 任一前置条件不满足则静默跳过,面板保持 disconnected,由用户手动接入。
133
+ */
134
+ async function autoConnect() {
135
+ try {
136
+ if (handle !== null)
137
+ return;
138
+ const held = readJoinLock();
139
+ if (held !== null && held.role === "cli")
140
+ return;
141
+ const config = await loadConfig(DEFAULT_HOST_CONFIG_PATH);
142
+ if (config.mode !== "join" || typeof config.hub !== "string" || config.hub === "")
143
+ return;
144
+ if (readPersistedToken(config.hub) === null)
145
+ return;
146
+ const { token: hostToken, insecure, name: joinedName } = await registerJoin({
147
+ hubUrl: config.hub,
148
+ name: config.name,
149
+ });
150
+ startTunnel(config, config.hub, hostToken, joinedName, insecure);
151
+ }
152
+ catch {
153
+ // 自动接入失败不阻塞面板;用户可手动接入重试
154
+ }
155
+ }
116
156
  async function disconnect() {
117
157
  if (handle !== null) {
118
158
  await handle.stop();
@@ -153,14 +193,24 @@ export function apply(ctx) {
153
193
  }
154
194
  async function state() {
155
195
  try {
196
+ const compat = uiCompatEnabled();
156
197
  if (handle !== null && liveState !== null) {
157
- return ok({ status: mapState(liveState), hub: currentHub, name: currentName, message: lastMessage, hasToken: true });
198
+ return ok({
199
+ status: mapState(liveState),
200
+ hub: currentHub,
201
+ name: currentName,
202
+ message: lastMessage,
203
+ hasToken: true,
204
+ uiCompat: compat,
205
+ hasAccessCode: accessCodeEnabled(),
206
+ });
158
207
  }
159
208
  const held = readJoinLock();
160
209
  if (held !== null && held.role === "cli") {
161
- return ok({ status: "external" });
210
+ return ok({ status: "external", uiCompat: compat, hasAccessCode: accessCodeEnabled() });
162
211
  }
163
212
  const config = await loadConfig(DEFAULT_HOST_CONFIG_PATH);
213
+ const hasAccessCode = config.gateway?.accessCode != null;
164
214
  if (config.mode === "join" && config.hub !== undefined) {
165
215
  return ok({
166
216
  status: "disconnected",
@@ -168,9 +218,69 @@ export function apply(ctx) {
168
218
  name: config.name,
169
219
  message: lastMessage,
170
220
  hasToken: readPersistedToken(config.hub) !== null,
221
+ uiCompat: compat,
222
+ hasAccessCode,
171
223
  });
172
224
  }
173
- return ok({ status: "unconfigured" });
225
+ return ok({ status: "unconfigured", uiCompat: compat, hasAccessCode });
226
+ }
227
+ catch (e) {
228
+ return err("internal", e instanceof Error ? e.message : String(e));
229
+ }
230
+ }
231
+ /** 读当前 dshUiCompat 开关(内存覆盖 > host.json;缺省 true)。 */
232
+ function uiCompatEnabled() {
233
+ if (liveCompat !== undefined)
234
+ return liveCompat;
235
+ return currentConfig?.dshUiCompat?.trustE2EEAsLoopback !== false;
236
+ }
237
+ /** 当前访问密码是否启用(运行中 live 优先;否则读最近 host.json;缺省 false)。 */
238
+ function accessCodeEnabled() {
239
+ if (liveAccessCode !== undefined)
240
+ return liveAccessCode !== null;
241
+ return currentConfig?.gateway?.accessCode != null;
242
+ }
243
+ async function setAccessCode(args) {
244
+ try {
245
+ const raw = args.code;
246
+ // null/undefined = 清除;否则必须是 ≥4 的非空字符串
247
+ let code;
248
+ if (raw === null || raw === undefined) {
249
+ code = null;
250
+ }
251
+ else if (typeof raw === "string" && raw.length >= 4) {
252
+ code = raw;
253
+ }
254
+ else {
255
+ return err("bad-request", "code must be null or a string of at least 4 chars");
256
+ }
257
+ // ① 内存即时生效(运行中的隧道;缺省也写入供下次连接)
258
+ liveAccessCode = code;
259
+ handle?.setAccessCode(code);
260
+ // ② 持久化 host.json
261
+ const config = await loadConfig(DEFAULT_HOST_CONFIG_PATH);
262
+ config.gateway = { accessCode: code };
263
+ await saveConfig(DEFAULT_HOST_CONFIG_PATH, config);
264
+ currentConfig = config;
265
+ return ok({ hasAccessCode: code !== null });
266
+ }
267
+ catch (e) {
268
+ return err("internal", e instanceof Error ? e.message : String(e));
269
+ }
270
+ }
271
+ async function setUiCompat(args) {
272
+ try {
273
+ if (typeof args.enabled !== "boolean")
274
+ return err("bad-request", "enabled (boolean) required");
275
+ // ① 内存即时生效(运行中的隧道;缺省也写入供下次连接)
276
+ liveCompat = args.enabled;
277
+ handle?.setUiCompat(args.enabled);
278
+ // ② 持久化 host.json
279
+ const config = await loadConfig(DEFAULT_HOST_CONFIG_PATH);
280
+ config.dshUiCompat = { trustE2EEAsLoopback: args.enabled };
281
+ await saveConfig(DEFAULT_HOST_CONFIG_PATH, config);
282
+ currentConfig = config;
283
+ return ok({ enabled: args.enabled });
174
284
  }
175
285
  catch (e) {
176
286
  return err("internal", e instanceof Error ? e.message : String(e));
@@ -187,10 +297,16 @@ export function apply(ctx) {
187
297
  return await revoke();
188
298
  case "state":
189
299
  return await state();
300
+ case "set-ui-compat":
301
+ return await setUiCompat(args);
302
+ case "set-access-code":
303
+ return await setAccessCode(args);
190
304
  default:
191
305
  return err("bad-request", `unknown endpoint ${endpoint}`);
192
306
  }
193
307
  }, { authority: "loopback" });
308
+ // 启动自动接入(静默;CLI 托管时跳过,见 autoConnect 前置条件)
309
+ void autoConnect();
194
310
  ctx.on("dispose", () => {
195
311
  void handle?.stop();
196
312
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-web-remote",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Remote access for DeepSeek Harness: join a rdsh hub from the DSH web UI (plugin, no CLI)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,7 +25,7 @@
25
25
  "node": ">=22"
26
26
  },
27
27
  "dependencies": {
28
- "rdsh-gateway": "0.5.0"
28
+ "rdsh-gateway": "0.7.0"
29
29
  },
30
30
  "dsh": {
31
31
  "bundle": {