DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

wobenshiwomu /

wobenshiwomu/dsh-bite

Verified

DeepSeek Harness 插件:咬钩 —— 钉住的关键回合(提问+回复打包)在上下文压缩后自动找回重注入,压缩也带不走;Web UI 钉子按钮 + 肥鱼掠食动画 | Pin your turns; survive compaction

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

dsh-bite

DSH Market

DeepSeek Harness 插件:咬钩 —— 钉住的内容,压缩也带不走。 上下文压缩(compaction)会把聊过的东西揉成一团摘要,被压掉的原文模型就再也看不见了。 dsh-bite 让你把关键回合"钉住":压缩之后,自动把钉子内容打捞回来、重新塞回模型眼前。 点按钮的时候,一只 Q 版大肥鱼还会从屏幕左边掠过,把钉子一口吃掉。

特点

  • 一条钉子按钮:每条助手回复的操作行上一枚小按钮,绿色「钉住」→ 点击 → 变红「已钉」;再点一次直接解钉。
  • 肥鱼掠食动画:落钉时鱼从屏幕左侧与按钮同高窜出,嘴越过按钮那一刻按钮才变色 —— 数据先行,动画纯粹是表演。
  • 抗压缩找回:插件监听会话里的压缩事件;压缩一旦把钉子的原文冲掉,下一个请求前自动把钉子内容(用户原话 + 当时回复)注入回去,并注明"这是历史背景,不是新指令"。
  • 斜杠命令:/pin 钉最近一轮、/pins 列出、/unpin [序号] 解钉 —— 全流程无 UI 也能用(headless 一致)。
  • 全留痕:所有找回注记走 source.kind = 'dsh-bite' 的会话事件,日志里可审计、可检索。
  • 完整保留:钉子保存完整原文(默认不截断:原问题 + 回复全量入库、全量找回);每会话默认最多 12 条,超出丢最旧并在响应里提示。

安装

GitHub 直装(推荐,国内网络可直连,无需 npm 账号):

dsh plugin --profile web add 'https://codeload.github.com/wobenshiwomu/dsh-bite/tar.gz/v0.1.1'

或在图形界面:侧栏「插件」→ 添加插件 → 填上面这条 URL。装完重启 DSH 生效。 URL 末段的 v0.1.1 是版本标签;升级时换成本仓库的新版本标签重装即可。

无需配置,开箱即用:装好即生效 —— 钉子存储默认在 $DSH_HOME/storages/dsh-bite/,客户端按钮与肥鱼动画随插件自带。 下面的配置全部可选,只想自定义行为时才需要。

本地/开发安装(本机路径):

dsh plugin --profile web add /path/to/dsh-bite

可选配置(profile 用户层 cordis.patch.yml,覆盖构建默认;不配置即用默认值):

# 示例:仅当要改默认值(12 条 / 完整保留)时才需要
- id: dsh-bite
  config:
    maxPins: 12          # 每会话钉子上限(超出丢最旧)
    maxPinChars: 0       # 0=完整保留(默认);设正数则按预算截断(用户 40% / 回复 60%)
    # storageDir: ''     # 钉子存储目录,默认 $DSH_HOME/storages/dsh-bite

使用

  • 按钮:助手回复操作行 → 绿色「钉住」点击落钉(肥鱼出没),红色「已钉」再点解钉。
  • 命令:/pin(钉最近一轮)/ /pins(列出,带摘要)/ /unpin(解最新一条)/ /unpin 2(按序号)。

它怎么工作(机制)

  1. 落钉:点按钮(或 /pin)→ 宿主按 messageId 在会话日志里精确定位那一轮:向前回溯最近一条真实用户消息 (跳过各种插件注入的注记),把用户原话 + 当时回复打包成一条钉子(按预算截断)。
  2. 盯压缩:插件监听 session/event,记录每一次 compaction/end。
  3. 找回:在下一个模型请求前的 agent/pre-step 里,若同时满足: ① 自上次找回之后发生过新的压缩;② 至少一条钉子的消息已不在当前请求面(被 shadow 掉了) → 把真正丢失的钉子拼成一条注记注入请求,标记 source.kind = 'dsh-bite', subtype = 'digest'。
  4. 兼容任何压缩后端(官方 basic / 第三方压缩引擎都行):它不替换压缩,只在压缩之后把你的钉子捞回来。

配置项(全量 · 全部可选,不配置即取默认)

键 默认 说明
maxPins 12 每会话钉子上限(超出丢最旧,响应里带提示)
maxPinChars 0 0=完整保留原文(默认,不截断);>0=按预算截断(用户 40% / 回复 60%)
storageDir $DSH_HOME/storages/dsh-bite 钉子存储目录

客户端动画常量(鱼高 240px、时长 900ms、嘴心比例 0.444 / 0.803)在 src/client/index.jsx 顶部,想微调改那里。

小提醒:/pin 命令名与生态里个别插件(如 dsh-pin-recall)可能相同;同装时有任何一条不生效,以先注册者为准。

测试

npm install   # 首次:安装测试所需的宿主依赖
npm test      # 仿真测试:44 项断言(提取/存储/上限/压缩侦测/找回/命令/路由)

已知边界

  • 找回的时机是"下一次请求前":压缩发生后如果一直没有任何新请求,钉子不会主动注入(它服务于对话,不服务于空闲状态)。
  • 压缩摘要本身也可能带上你钉的内容(摘要由模型撰写),无妨 —— 找回注记是保底。
  • 子代理会话不参与找回(它们有自己的上下文生命周期)。
  • 钉子默认完整保留原文,不截断;钉子越长,压缩后找回时占用的上下文越多(取舍:宁可多带,不带残)。钉子总量很大时,可以配合压缩线一起考虑成本。

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 96a1c376158d

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