dsh-infinite-gen-3
Minglink/dsh-infinite-gen-3DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。
DSH plugin: LAN peer discovery and cross-device ask/tell between DSH installs on the same subnet. Off by default; only acts when the user asks. Adds a settings page under Settings > Plugins.
让同一内网里装了本插件的 DSH 互相提问 / 互相告知。默认关闭,平时完全不动作——只有你明确让模型「问其他 DSH」或「告诉其他 DSH」时才会用。
场合 · 行为 你没提到别的 DSH · 插件不监听、不发包、模型不调用工具(工具描述里写明了这条约束) 你说「问一下另一台 DSH 现在几点了」 · 模型先 lan_peer_discover 扫设备 → 只有一台就直接问;多台就把清单交给你选 你说「把这段配置告诉书房的 DSH」 · 模型 lan_peer_tell 推过去 功能没开 · 工具会回答「功能当前关闭,去 设置 → 插件 → LAN 邻居 打开」
本插件是普通的 DSH profile 插件包,需要两台(或多台)设备都装。
在 DSH 的 profile 目录里执行(把 ` 换成你的 profile 名,桌面版是 desktop`):
cd $env:USERPROFILE\.dsh\profiles\<profile>
git clone https://github.com/a5899/dsh-lan-peers.git node_modules/dsh-lan-peers然后编辑同一个目录下的 package.json,加两处:
{
"dependencies": {
// …已有依赖…
"dsh-lan-peers": "file:./node_modules/dsh-lan-peers"
},
"dsh": {
"profile": {
"bundles": [
// …已有 bundle…
"dsh-lan-peers"
]
}
}
}如果装了 dshmarket,在 DSH 的设置 → 插件里也能安装/启停。
⚠️ 三个前提缺一不可:两端都装了本插件、两端都启用了、在同一内网。
任何一端没开,另一端都扫不到它。
插件会把启动结果写进 ~/.dsh/plugins/dsh-lan-peers/diagnostics.json:
routeInfo.kind 为 connection → 路由注册正常failed → 里面带 error,直接反映了原因configProblems 非空 → 宿主给的配置字段类型不对,插件已回退默认值DSH 设置 → 插件 → 「LAN 邻居」:
192.168.0.42:45715,多播被交换机拦时兜底)设置保存在 profile 的 cordis.patch.yml 的 lan-peers 条目里,重启后保留。
工具 · 用途 lan_peer_discover · 扫描内网设备(名称 / 地址 / 信任状态)。多台时会提示模型问你 lan_peer_ask · 向某一台提问并取回回答 lan_peer_tell · 把一条信息推给某一台 lan_peer_state · 本机标识、地址、已知设备、信任列表、最近收发 lan_peer_chat · 和某一台多轮对话,沿用同一个 conversation id 保持上下文 lan_peer_transcript · 查看两台 DSH 之间聊过什么(会话列表 / 某个会话的完整记录)
每台设备的对端端口同时提供一个网页版对话记录,手机也能直接打开:
http://<这台电脑的内网IP>:45715/viewport 自适应、刘海安全区、单列布局、按钮 ≥44px 触控尺寸、长文本自动换行(不横向滚动)、跟随系统深色模式、忽略缩放。 已在 390px / 320px / 1280px 三种宽度用真实 Chromium 渲染验证:无横向溢出、无控制台错误。
http://:45715/(IP 在设置页的「状态」里能看到)。若手机打不开,检查是否被第三方安全软件拦截。
所有往来记在 ~/.dsh/plugins/dsh-lan-peers/transcript.jsonl(一行一条 JSON), 重启不丢、可被网页与工具读取。文件末尾即使被截断也只丢最后一条。
239.255.77.77:45714(TTL=1,不跨路由器)+ 全局广播兜底 + 手动地址兜底。45715(可改)。对方通过 HTTP 调 /peer/ask、/peer/tell。本机 LAN 地址 sameSubnet;本机回环地址视为可信(设置页/本机测试用)。
approved,落盘持久);allowSameSubnet),且只认本次请求的源地址。口令不一致或未获信任的请求一律 403,并进待审列表。
tell 发出。Windows 防火墙首次会弹框;放行:
45714/UDP 入站(发现)45715/TCP 入站(对话)命令(管理员 PowerShell):
New-NetFirewallRule -DisplayName "DSH LAN peers (discovery)" -Direction Inbound -Protocol UDP -LocalPort 45714 -Action Allow
New-NetFirewallRule -DisplayName "DSH LAN peers (peer)" -Direction Inbound -Protocol TCP -LocalPort 45715 -Action Allowcd dsh-lan-peers # 本包根目录
npm test # 全部 10 组,不需要 DSH 在运行
node test/verify-installed.mjs # 冒烟:插件能否注册全部路由
node test/render-viewer.mjs # 可选:用本机 Chromium 在手机/桌面宽度截图到 test/shots/test/verify-live-config.mjs 会读取本机真实 profile 的配置,若 45714/45715 已被运行中的DSH 占用则直接跳过(这是预期行为)。
测试 · 覆盖 config.mjs · 配置契约:坏类型/对象/NaN 都上报并回退,schema 不得用 .volatile() routes.mjs · 设置路由注册形状 + 假 cordis 上下文(未声明 inject 即抛错) selftest.mjs · 信任三个根 / 口令隔断 / ask-tell 往返 live.mjs · 真 UDP 多播发现 tools.mjs · 六个工具 + 网页兜底路由 e2e-process.mjs · 跨进程端到端(另一个进程当对端) chat.mjs · 对话、双向记录、落盘与重载、容错、网页与 API、手机布局要点 lan-reach.mjs · 通过真实局域网 IP 访问网页 client-contract.mjs / client-render.mjs · DSH 设置页契约与渲染
20261023-210515-6c64(会把 cordis.patch.yml / package.json 一起还原);或cordis.patch.yml 末尾 id: lan-peers 那一段 +profile/package.json 里 dsh-lan-peers 的依赖与 bundles 条目 + node_modules/dsh-lan-peers 目录,重启 DSH。
本插件没有写 dsh.profile.bundles 之外的任何全局东西;身份与信任文件在 ~/.dsh/plugins/dsh-lan-peers/,删掉即彻底重置。