dsh-mini-remote 0.1.9 → 0.2.1
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/CHANGELOG.md +67 -0
- package/README.en.md +198 -141
- package/README.md +198 -148
- package/client/client.js +1931 -3
- package/lib/build.js +32 -1
- package/lib/devices.js +372 -0
- package/lib/index.js +1773 -36
- package/lib/mirror.js +1715 -0
- package/lib/page.html +1556 -71
- package/lib/page.js +4 -1
- package/lib/remotes.js +279 -0
- package/lib/server.js +1278 -24
- package/lib/store.js +41 -0
- package/package.json +2 -2
package/lib/store.js
CHANGED
|
@@ -27,6 +27,18 @@ export function createStore({ file, maxHistory = 50, maxSessions = 12 }) {
|
|
|
27
27
|
historyBySession: {}, // sessionId -> [{ role, text, timestamp, sessionId }]
|
|
28
28
|
/** 手机当前遥控的那个会话。 */
|
|
29
29
|
boundSessionId: null,
|
|
30
|
+
/**
|
|
31
|
+
* 「进阶设置(电脑端界面)」的开关。**默认关**。
|
|
32
|
+
*
|
|
33
|
+
* 为什么默认关:打开它 = 把这个令牌的权限**从「我们那张手机页暴露的那点事」
|
|
34
|
+
* 扩到整个电脑端设置面**(模型配置、凭据页、插件装卸、会话记录……)。
|
|
35
|
+
* 那是能力的大幅扩张,不该在用户不知情的时候发生——所以要他自己开,
|
|
36
|
+
* 而且界面上会把后果写清楚。
|
|
37
|
+
*
|
|
38
|
+
* 关着的时候那条代理路由**根本不存在**(见 server.js 里的判断),
|
|
39
|
+
* 不是「前端藏起来、后端还开着」。
|
|
40
|
+
*/
|
|
41
|
+
mirrorEnabled: false,
|
|
30
42
|
/** 手机会话在线状态,用于决定要不要发外部推送。 */
|
|
31
43
|
presence: 'foreground',
|
|
32
44
|
lastSeen: 0,
|
|
@@ -353,6 +365,9 @@ export function createStore({ file, maxHistory = 50, maxSessions = 12 }) {
|
|
|
353
365
|
}
|
|
354
366
|
}
|
|
355
367
|
if (raw.boundSessionId) state.boundSessionId = raw.boundSessionId
|
|
368
|
+
// 进阶模式:**只有明确是 true 才算开**。缺失、损坏、写成别的值一律当关——
|
|
369
|
+
// 这个开关关系到权限大小,读不出来时必须往「关」那边倒。
|
|
370
|
+
if (raw.mirrorEnabled === true) state.mirrorEnabled = true
|
|
356
371
|
}
|
|
357
372
|
} catch {
|
|
358
373
|
// 首次运行没有文件,或文件损坏——都不该让插件起不来。
|
|
@@ -372,6 +387,7 @@ export function createStore({ file, maxHistory = 50, maxSessions = 12 }) {
|
|
|
372
387
|
latestBySession: state.latestBySession,
|
|
373
388
|
historyBySession: state.historyBySession,
|
|
374
389
|
boundSessionId: state.boundSessionId,
|
|
390
|
+
mirrorEnabled: state.mirrorEnabled,
|
|
375
391
|
}))
|
|
376
392
|
renameSync(tmp, file)
|
|
377
393
|
} catch {
|
|
@@ -407,6 +423,31 @@ export function createStore({ file, maxHistory = 50, maxSessions = 12 }) {
|
|
|
407
423
|
s.running = running
|
|
408
424
|
},
|
|
409
425
|
|
|
426
|
+
/**
|
|
427
|
+
* 开/关「进阶设置(电脑端界面)」。**立即落盘**,不等那 500 毫秒的合并写。
|
|
428
|
+
*
|
|
429
|
+
* 为什么破例:这是个权限开关。用户开了之后马上就会去点那个入口,
|
|
430
|
+
* 万一这中间进程没了,重启后应当还是他最后选的那个状态——
|
|
431
|
+
* 合并写那 500 毫秒的窗口在这里不值得省。
|
|
432
|
+
*/
|
|
433
|
+
setMirrorEnabled(enabled) {
|
|
434
|
+
state.mirrorEnabled = enabled === true
|
|
435
|
+
try {
|
|
436
|
+
mkdirSync(dirname(file), { recursive: true })
|
|
437
|
+
const tmp = `${file}.tmp`
|
|
438
|
+
writeFileSync(tmp, JSON.stringify({
|
|
439
|
+
latestBySession: state.latestBySession,
|
|
440
|
+
historyBySession: state.historyBySession,
|
|
441
|
+
boundSessionId: state.boundSessionId,
|
|
442
|
+
mirrorEnabled: state.mirrorEnabled,
|
|
443
|
+
}))
|
|
444
|
+
renameSync(tmp, file)
|
|
445
|
+
} catch {
|
|
446
|
+
// 落盘失败不影响本次运行——内存里那个值照常生效。
|
|
447
|
+
}
|
|
448
|
+
return state.mirrorEnabled
|
|
449
|
+
},
|
|
450
|
+
|
|
410
451
|
setSubagentRunning(parentSessionId, childSessionId, running) {
|
|
411
452
|
if (!parentSessionId || !childSessionId) return
|
|
412
453
|
const group = state.subagentRunningBySession[parentSessionId]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-mini-remote",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "DSH 极简移动端遥控器:只把「你的指令」和「AI 的最终回复」送到手机,屏蔽全部中间过程。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"engines": {
|
|
26
26
|
"node": "^22.19.0 || >=24.0.0",
|
|
27
|
-
"dsh": ">=0.1.5-rc.2"
|
|
27
|
+
"dsh": ">=0.1.5-rc.2 <0.3.0"
|
|
28
28
|
},
|
|
29
29
|
"author": "xingzhen199186",
|
|
30
30
|
"repository": {
|