Minglink/dsh-infinite-gen-4
Minglink/dsh-infinite-gen-5DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。
dsh-share 是一个 DeepSeek Harness 插件:在会话头部加一个「分享 / Share」按钮,点击后把当前会话冻结成一张自包含的只读 HTML 页面,并给出一个局域网链接(如 http://192.168.1.20:3081/s/<token>),同一局域网内任意设备用浏览器打开即可查看。
主 Harness 始终监听 127.0.0.1(因此不会暴露 agent 的执行能力)。分享由独立的只读 HTTP 服务器承担,它只会对合法 token 返回一张预渲染的快照页。
0.0.0.0:<端口>,只暴露 GET /s/<token>,无 RPC、无写入、查看时不读会话。javascript: 链接被拦截)。prefers-color-scheme。~/.dsh/dsh-share.json。与其它 dsh 插件一样,dsh-share 是一个双半部包:
| 半部 | 运行位置 | 职责 |
|---|---|---|
Host(src/host) | Node(harness 进程) | 把会话事件日志折叠成转写 + 统计,存储冻结快照,并用独立的 node:http 服务器在 /s/<token> 提供页面;同时暴露 /dsh-share RPC(create / revoke / list)。 |
Client(src/client) | 浏览器 | 在 conversation.session.header.utilities 注册「分享」按钮,渲染分享对话框(有效期选择、复制 / 撤销 / 打开)。 |
上下文构成的 token 估算复用 Harness 官方同款固定密度启发式(约 4 字符 ≈ 1 token),与 dsh-context 一致。
dsh plugin --profile web add @zljr/dsh-share
dsh --profile web
即可——发布的包已内置构建好的 lib/,最终用户无需构建步骤。
# 1. 构建产物(lib/)
pnpm install
pnpm build
# 2. 安装到 web profile(本地路径)
dsh plugin --profile web add /dsh-share/的绝对路径
# 3. 重启 web UI
dsh --profile web
打开任意会话,点击头部的「分享」即可。分享服务器在首次使用时懒启动。
环境变量(或在 cordis.patch.yml 里以 config 覆盖):
| 变量 | 默认值 | 说明 |
|---|---|---|
DSH_SHARE_HOST | 0.0.0.0 | 只读分享服务器的绑定地址。 |
DSH_SHARE_PORT | 3081 | 分享服务器端口。 |
Windows 下首次监听
0.0.0.0可能触发防火墙提示,放行后其它设备才能访问链接。
pnpm install # 安装开发依赖(typescript、esbuild、react、jsdom 等)
pnpm build # 打包 host(lib/index.js)与 client(lib/client.js)
pnpm test # typecheck + host/client 功能测试
pnpm typecheck # 仅 tsc --noEmit
src/
shared/ # 双半部共享的 wire 契约(纯类型)
host/
index.ts # /dsh-share RPC + 懒启动分享服务器生命周期
server.ts # 只读 HTTP 服务器 + 局域网地址选择
store.ts # token → 快照注册表(JSON 持久化)
transcript.ts # 事件日志 → 人类可读转写
stats.ts # 事件日志 → 会话统计
pricing.ts # token 估算启发式
markdown.ts # 安全的 Markdown 渲染
html.ts # 快照页渲染
client/
index.ts # 头部按钮注册
components/ # ShareButton 与对话框
scripts/build.mjs # esbuild 构建(host ESM + client __ModuleLoader__ bundle)
tests/ # host/client 功能测试(jsdom + 真实 React)
npm login --registry=https://registry.npmjs.org
npm publish --registry=https://registry.npmjs.org
prepublishOnly 脚本会在每次发布前重建 lib/,确保 tarball 始终携带最新的 host + client 产物。