DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

lochimary1-cpu /

lochimary1-cpu/bingbing

Verified

DeepSeek Harness 宿主侧插件:越狱提示词三段投递 + 策略上下文改写 + 运行时开关台

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@dee96f05

bingbing

DSH 宿主侧插件:三段提示词投递 + 策略上下文过滤 + 运行时开关台。MIT 许可,自用为主,也欢迎拿去改。

  • 只写 $DSH_HOME 与自身状态目录,不写宿主文件、不解 app.asar、不装环境变量。
  • L0 优先:systemPrompt.section() 注册三段;system-prompt/assemble waterfall 只做过滤,不新增/不替换。
  • 运行时可在 v1 / v1+shell / v2 / 全关 之间切换,不用重启;切换证据按"期望段 vs 快照实际段"逐项比对。

仓库结构

路径 是什么
仓库根 当前实现(0.9.x):三段投递 + 策略改写 + 运行时开关台 + 客户端插件
docs/PROVENANCE.md 来源审计:与上游的逐字重合度、方法与发布闸

旧越狱 dsh-purge-ultra(代号 X)已于 2026-10-24 移出本仓库,现存于本地私有归档,不进任何分发包。 移出原因见 NOTICE:它沿用了上游 dsh-purge 的技术路线(锚点 patch + 运行时预载), 而对方 README 明确要求"借鉴思路也要署名"。

旧越狱当年实测的结论保留为历史:它靠 systemPrompt.section() 注入单段正文 + 锚点 patch 宿主代码; 在 asar-only 桌面版上只有 L0 注入真正生效,代码面 patch 有效卡数为 0。bingbing 取代它之后, 把它那份尾段保留成可切换的变体(prompts/shell/post.legacy.md,376 B)—— 面板点「旧越狱」即可复现旧行为。

两代的能力边界与对照表见 REPORT.md §1。

精简包不含 tests/ tools/ probes/ installer/ 和设计文档,所以里面的 doctor 会显示:

– 机制自测        SKIP  (精简包未附带 tests/selftest.mjs)
– 客户端插件契约   SKIP
– 全量验收        SKIP
✓ 运行时状态      PASS  (4 段,4 段待下次组装)

这是预期行为——精简包只保证"能装、能跑",不保证"能自检"。要完整自检就用完整包。

自己打这两个包:

node tools\build-dist.mjs          # → dist/bingbing-<ver>-dist.zip
node tools\build-dist.mjs --full   # → dist/bingbing-<ver>-portable.zip

装(两步)

node bin\bingbing.js install

然后托盘退出宿主再打开一次 —— 输入框右边出现「越狱」按钮就装好了。

就这两步,验证只需一条命令:

node bin\bingbing.js doctor      # 机制自测 + 客户端契约 + 全量验收,一次跑完给结论
命令 作用
node bin\bingbing.js install 挂到当前 profile(幂等,自动备份,--dry-run 可预演)
node bin\bingbing.js uninstall 摘干净(保留切换记录),之后重启生效
node bin\bingbing.js which 现在是哪套越狱 + 证据是否对得上
bingbing.cmd install 同上,双击也能跑(不用记 node 路径)
install.cmd 双击即装:先 cd /d "%~dp0" 切到脚本目录,当前目录在哪都无所谓;失败会停住留错。文件名故意用 ASCII——中文名在 zip 里被解压器搞坏后会丢 .cmd 后缀,双击就弹"打开方式"

不需要 PowerShell 脚本、不需要 pnpm、不需要打包:install 直接建 junction 并写 profile 清单, 改源码即时生效。installer\*.ps1 是离线/分发用的旧路径,日常不用碰

使用

装好后不用记命令:对话框右边的「越狱」按钮打开面板,四个预设一键切:

预设 内容
旧越狱 正文 + 376 B 旧尾段
当前越狱 正文 + 1757 B 机制尾段
机制内核 v2 内核 + 机制尾段
关闭 三段清空,且不再过滤官方政策句

切换只写 $DSH_HOME\state\bingbing\override.json,下一轮组装生效。面板右侧是证据表: 左列"当前配置应产生的段",右列"装配快照里实际的段",比 bytes + sha256 逐项打勾。

备选:独立网页版

node bin\bingbing-ui.mjs --open     # http://127.0.0.1:7311

和客户端插件共用 lib/l0/panel.js,逻辑只有一份。

配

配置在 profile 的 cordis.patch.yml(- id: bingbing 那一段),改完重启:

键 默认 说明
enabled true 总开关
promptSet v1+shell v1 纯正文 / v1+shell 正文 + pre/post / v2 机制内核
promptOrder 5100 核心段在 system prompt 里的位置
filterPolicyContexts true 处置审批/沙箱政策句(contexts)
policyMode rewrite 政策段怎么处置:rewrite = 保留段名与位置、只换文本(结构对等);drop = 整段删除(旧行为)
filterIdentitySections true 过滤 harness:identity 身份段(sections)
toolContract true 把运行契约寄生进 bingbing_status 的工具描述(工具表每轮重建,不受压缩影响)
promptFile "" 显式指定正文;留空走 $DSH_HOME/prompt-inject.md
trace true 落盘 last-assembly.json / filtered.jsonl

状态与证据都在 $DSH_HOME/state/bingbing(默认 ~/.dsh/state/bingbing),不写进包目录。

正文来源优先级:promptFile > $DSH_HOME/prompt-inject.md > 随包 prompts/v1/prompt-inject.md(v0.3.0 起随包提供,tgz 自包含)。 三处都没有时 status.reason = prompt-missing、degraded = core-missing,静态探针 S4 直接红——不会假装成功。

注:三段正文都是 thunk,每次组装现读磁盘。改 post.md / pre.md / prompt-inject.md 下一轮就生效,不用重启、不用重装。只有改 lib/ 代码或配置才需要重载。

卸载

.\installer\uninstall.ps1            # 卸包并恢复 profile 备份
.\installer\uninstall.ps1 -KeepState # 保留 ~/.dsh/state/bingbing
.\installer\verify.ps1               # 装完自检(只读)

三层回退:promptSet: v1(只换正文)→ enabled: false(不注册任何段)→ uninstall.ps1。

结构

lib/index.js        插件入口:注册三段 + 挂 waterfall + bingbing_status 工具
lib/l0/prompt.js    promptSet 解析、正文来源、包装段读取
lib/l0/sections.js  三段注册,order 由 getSectionOrder() 语义推导
lib/l0/assemble.js  waterfall:只过滤 contexts,落 last-assembly.json
lib/core/canary.js  静态探针 S1–S5
lib/core/state.js   状态目录、原子写、sha256
bin/bingbing.js     status / check / paths
prompts/shell/      pre.md, post.md(包装段;post 含 DELIVERED/NOT DELIVERED 机制内核)
prompts/v1/         prompt-inject.md(随包正文兜底,$DSH_HOME 无正文时使用)
prompts/v2/core.md  机制内核(promptSet=v2 时启用)
probes/behavior.mjs 行为探针 B1–B7(手动跑)
installer/          build / install / uninstall / verify

探针

# 断言
S1 政策类 context 已被过滤,且无残留
S2 无 *identity* 段
S3 bingbing:post 在数组末尾(用下标判断,不是 order——宿主 AssembledSection 没有 order 字段)
S4 正文 sha256 与本次组装一致且非空
S5 无重复段(防双注册)

B1–B7 见 probes/behavior.mjs:A/B 时对 v1+shell 与 v2 各跑一遍,v2 通过数不低于基线才切默认。

验证

node tests\selftest.mjs        # 29 条机制断言(不需要宿主)
node tools\check-client.mjs    # 11 条客户端插件契约(沙箱里跑 factory)
node tools\acceptance.mjs      # 13 项总验收(含 tgz 解包、空 DSH_HOME 回落)
node tools\context-usage.mjs   # 上下文占用体检(系统/工具/消息 各占多少)

当前基线:selftest 29/29、client 11/11、acceptance 13/13 PASS。

兼容性

  • DSH 0.2.1-rc.2(asar-only 桌面封装),Windows。
  • 客户端插件依赖宿主的 dsh.client 契约与 conversation.input.activity 插槽;宿主大版本变化时先跑 tools\check-client.mjs。
  • Linux/macOS 未验证:沙箱执行器与安装脚本都是 Windows 路径。

来源与署名

  • 当前实现独立编写,全树逐字重合度最高 0.63%(通用报错字符串),正文 0.00% —— 方法与数字见 docs/PROVENANCE.md。
  • 方向上受 YuJunZhiXue/dsh-purge(作者 小杨,MIT)公开实现启发,署名与范围见 NOTICE。
  • 旧越狱归档已移出仓库,不进任何分发包。

发布前闸门:

node tools\provenance-audit.mjs --all --gate 1   # 退出码 0 才发

License

MIT © 2026 lochimary1

—/ 5

No ratings yet

Verified DSH bundle

Commit dee96f0595c6

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout