让 dsh 在孪生沙箱中验证变更后安全自我升级
26/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Junkrat9527/dsh-double该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 76 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
- 发起网络请求index.js:179
const res = await fetch(`${base}/api/${method}`, { - 发起网络请求index.js:204
const res = await fetch(`http://127.0.0.1:${twinPort(cfg)}/`, { - 执行外部命令固定命令index.js:1165
const child = spawn('/usr/bin/python3', [ - 发起网络请求client.js:110
return fetch(path, { - 发起网络请求client.js:696
fetch('/double/status')
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 孪生沙箱验证变更
- 蓝绿升级自动回滚
- 故障自愈
README
由 DeepSeek 最新模型翻译生成dsh-double
dsh 管理 dsh —— 而孪生 dsh 与孪生 dsh 对话。 一个用于
DeepSeek Harness 的自我管理、自我演化与孪生通信插件:蓝绿自升级、健康探测、最后已知良好快照,外加一个隔离的测试床孪生体 —— 一个完整的第二 dsh 实例,主实例可自由操作它,它能以智能体对智能体的方式回话,并在其沙箱中验证变更后演化主实例。
status: experimental
license: MIT
它的功能
一个修改自身的典型智能体在重启时会死掉,然后需要一个外部智能体来拯救它。dsh-double 闭合了这个循环,使智能体能够安全地演化自身:
1. 自我演化(蓝绿) —— 变更集首先应用到备用副本,进行静态预检查(dump-config、YAML/JSON 语法、bundle 可解析性、NO_ADAPTER 防护、重复 loader 条目检测)并试启动。只有两者都通过,变更才会应用到主 dsh,然后它重启,并且必须在备用实例停止之前确认健康。如果主实例启动失败,它会自动回滚到演化前的快照。
2. 健康探测 —— 主实例健康通过 TCP + HTTP + 进程检查验证(dsh 不写 pid 文件),证据链显示在 status 中。
3. 快照 / 最后已知良好 —— 在任何演化之前拍摄基线快照,并可按需恢复。
展开完整文档(README 剩余 1 节)
dsh-double
dsh 管理 dsh —— 而孪生 dsh 与孪生 dsh 对话。 一个用于
DeepSeek Harness 的自我管理、自我演化与孪生通信插件:蓝绿自升级、健康探测、最后已知良好快照,外加一个隔离的测试床孪生体 —— 一个完整的第二 dsh 实例,主实例可自由操作它,它能以智能体对智能体的方式回话,并在其沙箱中验证变更后演化主实例。
status: experimental
license: MIT
它的功能
一个修改自身的典型智能体在重启时会死掉,然后需要一个外部智能体来拯救它。dsh-double 闭合了这个循环,使智能体能够安全地演化自身:
1. 自我演化(蓝绿) —— 变更集首先应用到备用副本,进行静态预检查(dump-config、YAML/JSON 语法、bundle 可解析性、NO_ADAPTER 防护、重复 loader 条目检测)并试启动。只有两者都通过,变更才会应用到主 dsh,然后它重启,并且必须在备用实例停止之前确认健康。如果主实例启动失败,它会自动回滚到演化前的快照。
2. 健康探测 —— 主实例健康通过 TCP + HTTP + 进程检查验证(dsh 不写 pid 文件),证据链显示在 status 中。
3. 快照 / 最后已知良好 —— 在任何演化之前拍摄基线快照,并可按需恢复。
4. 按需唤醒备用实例 —— 当主实例卡住且机械恢复失败时,休眠的备用实例(仅磁盘副本,零进程、零端口)会在单独端口上被唤醒为临时 dsh 实例,作为“备用大脑” 来诊断和修复主实例。在正常运行中它绝不会保持运行。
5. 孪生 dsh(对等大脑) —— ~/.dsh/double/testbed/ 是一个真实、完全隔离的第二 dsh(自己的 DSH_HOME、端口 3081、全新会话;配置从主实例克隆;node_modules / 附件对象以只读方式共享)。
默认磁盘休眠,按需唤醒。每一侧都获得 twin_ 工具,对另一方拥有完全相互操作控制(exec、fs 读/写、生命周期、演化)。
6. 智能体对智能体通信 —— twin_message 通过官方 /api 网关(session.create → session.prompt → 轮询 session.history 直到 turn/end)向孪生体自己的智能体发送文本,并返回其回复:两个 LLM 大脑真正对话和协作。当测试床在其沙箱中验证了演化后,主实例可以告诉它 “现在演化我”,孪生智能体自己运行 twin_evolve —— 蓝绿、重启等等。
7. 设计上反黑盒 —— 每条 twin_message 都作为真实、可重放的会话落在接收实例的 UI 中;每次交互都追加到共享的、可审计的转录记录(~/.dsh/double/comm/transcript.jsonl,由 twin_log 呈现, dsh-double.py comm CLI 和仪表盘卡片)。
繁重的工作由久经考验、零依赖的 CLI bin/dsh-double.py 以及一个小型的进程外 bin/dshd-supervisor 承担——启动时的故障发生在任何插件运行之前,因此生命支持系统必须保持在 dsh 进程之外。本插件将该机制暴露给生态系统。
功能
- 框架内工具(double_)——dsh 内部的智能体可以端到端地运行自己的演化周期: double_status、double_check、double_snapshot、double_evolve、 double_rollback、double_wake、double_stop。
- 孪生工具(twin_,角色相对——每一方操作其对等方): twin_status、twin_message(智能体到智能体的请求/响应)、 twin_exec、twin_fs_read、twin_fs_write(完整的操作控制)、 twin_evolve(对孪生进行蓝绿部署:测试床→主环境或主环境→测试床)、 twin_restart、twin_log;主环境侧额外还有: twin_up / twin_down / twin_init / twin_sync / twin_reset / twin_diff / twin_baseline。
- HTTP API——GET /double/status、GET /double/check、 POST /double/snapshot、POST /double/evolve、POST /double/rollback、 POST /double/wake、POST /double/stop,以及 /double/twin/ 接口面,镜像孪生工具(status/log/message/exec/fs/evolve/up/ down/restart/init/sync/reset/diff)。
- 设置仪表盘——dsh 设置中的两张卡片:自我管理面板(主环境健康状况、最后已知良好状态、快照、待机、一键操作)以及孪生通信面板(对等方状态、生命周期按钮、一个与孪生智能体对话的消息框,以及共享通信记录的实时信息流)。
- 测试床优先的工作流指导——一条全局 ~/.dsh/AGENTS.md 铁律加上 dsh-twin-workflow 技能(skill/)引导智能体先在孪生(3081)中实验,然后再将经过验证的增量通过 twin_diff + twin_evolve 带回;testbed clone/reset 会将该规则和技能带入孪生。
- 孪生会话可见性——GET /double/twin/threads 在主仪表盘卡片中回放两个孪生线程(文本 + 工具调用/结果),因此只观察主页面就足以跟进孪生所说的一切。
- 透明的主环境重启——测试床→主环境的演化会在记录中宣告自身,并在丢弃页面之前等待 evolveNoticeSec(默认 8 秒);在 dsh 自动重连后,卡片会横幅显示结果。可选的 requireEvolveApproval 会将孪生演化排队,等待主 UI 批准/拒绝;获批的引擎在一个双重 fork 的分离包装器中运行,该包装器能在重启后存活并记录最终结果。
安装
需要主机上安装 dsh-double CLI + supervisor(随本仓库提供,位于 bin/ 下):将 bin/dsh-double.py 和 bin/dshd-supervisor 安装到 ~/.local/bin/(使其可执行)。
dsh plugin add dsh-double
或者从源码链接:
bash
git clone https://github.com/Junkrat9527/dsh-double.git ~/dsh-double
cd ~/dsh-double && npm install && npm link
dsh plugin add dsh-double
然后重启 dsh 并检查 设置 → 自我管理(dsh-double),或调用 GET /double/status。
用法
向 agent 提问,或直接调用 API/工具: text "先跑 double_check 预检我的配置,然后 double_evolve 应用我准备好的变更目录,成功后 double_status 确认主实例健康、备用身已休眠。"
或通过 HTTP: bash
curl http://127.0.0.1:3080/double/status
curl -X POST http://127.0.0.1:3080/double/evolve -H 'content-type: application/json' \
-d '{"change_dir": "/path/to/change-set"}'
孪生工作流(在沙箱中实验,然后让孪生体演化主实例): bash
dsh-double.py testbed init && dsh-double.py testbed up # wake the twin @3081
...experiment in the twin (its UI at http://127.0.0.1:3081 is fully isolated)...
dsh-double.py testbed diff # delta vs baseline
curl -X POST http://127.0.0.1:3080/double/twin/message -H 'content-type: application/json' \
-d '{"text": "验证通过后,请调用 twin_evolve 把你的增量应用到主 dsh"}' dsh-double.py comm 20 # audit the whole exchange
架构
~/.dsh/double/
├── snapshots/ # baseline snapshots (health-baseline copies)
├── standby/ # dormant standby copy (blue-green precheck target)
├── evolutions/ # evolution event log (pass/fail, rollback?)
├── comm/transcript.jsonl # shared twin-communication audit log
├── supervisor.log # life-support events
├── last-known-good # pointer to the last healthy snapshot
└── testbed/ # the twin: a full, isolated second dsh (DSH_HOME, port 3081)
├── ... # config cloned from main; node_modules & attachment
│ # objects symlinked read-only; FRESH sessions/storages
└── baseline/ # main-config reference for twin diff
端口:主实例 3080(无 --port 参数),测试床 3081,蓝绿试运行启动 3082 —— 进程探测锚定在这些端口上,因此各孪生体永远不会混淆彼此的健康状态。
- L0 生命支持外壳(dshd-supervisor,进程外):探测主实例健康状态、自动重启、回滚到 last-known-good、唤醒备用实例 ——即使 dsh 本身无法启动也能工作。
- L1 自我管理(dsh-double.py + 本插件):快照 / 检查 / 演化 / 回滚 / 唤醒 / 停止;harness 内的 agent 通过工具驱动它。
许可证
MIT —— Copyright (c) 2026 Junkrat9527预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Junkrat9527/dsh-double
让 dsh 在孪生沙箱中验证变更后安全自我升级
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目