前言¶
在 DeepSeek Harness(DSH)里做对话插件,常见做法是改提示词或加工具,让模型直接「扮演」某种角色。实测里,若让模型自己演「装傻要钱」的线人,容易被判为操纵性注入而拒演;即便能演,每轮问答也会消耗 token。dsh-johnny 走另一条路:强尼模式在客户端捕获层拦下发送,用固定搪塞台词写进会话,装傻阶段零模型调用;只有用户「敲钱」并喂给 dsh-pet 大肥鱼之后,才把被扣下的问题交给 agent 做一轮真回答。下面介绍这个插件的定位、用法与配置。
这是什么¶
dsh-johnny 是社区维护的 DSH 插件(仓库 wobenshiwomu/dsh-johnny,目录页 SkillHub),分类为趣味换装。它给桌宠场景配一段「Police Squad!」式擦鞋线人 Johnny 小剧场:对话里 /johnny 出摊后,问什么强尼都只打太极;想要真话,得先敲钱,再把钱拖给 dsh-pet 大肥鱼,鱼「收钱」后真答案才进入对话。
维护者:wobenshiwomu。当前 package 版本 0.1.0,许可证 MIT。引擎要求:dsh >= 0.2.0-rc.1,node ^22.19.0 或 >= 24.0.0。
核心功能¶
强尼模式与装傻环节¶
- 对话输入
/johnny进入强尼模式(再输入一次可收摊)。 - 屏幕角落会出现「强尼模式」徽标和红色 ×,点 × 可立即退出。
- 模式开启后,你发的每句话会被扣下:问题记入会话,强尼只回招牌搪塞(默认语义为「有可能知道,有可能不知道。」);若已安装 dsh-pet,鱼可同步动画与气泡帮腔。
- 上述装傻环节不惊动模型、零 token。
三通道「敲钱」¶
任选其一生成可拖给鱼的钱:
- 桌面:鼠标 左左·右右(连续两次左键再两次右键)。
- 手机:摇一摇。
- 输入框发送「发钱」(及配置里可扩展的同义词);该条被拦下,不发给模型、不花 token。
喂鱼解锁真答案¶
把钱拖到 dsh-pet 大肥鱼上:鱼播放动画、气泡文案(默认「TOKEN 的味道……不错……」),随后被扣下的问题经 resolveAgent → agent.followup 以「鱼已收钱」上下文交给模型,仅这一轮调用模型得到真答案。
与 dsh-pet 的关系¶
README 建议搭配 dsh-pet(大肥鱼桌宠);喂鱼环节依赖其 /dsh-pet-7340 一类接口。没有鱼时:出摊、装傻、敲钱、红叉退出仍可用;喂鱼步骤会提示鱼无反应。
安装与启用¶
在 web profile 下添加插件(命令来自仓库 README):
dsh plugin --profile web add 'https://codeload.github.com/wobenshiwomu/dsh-johnny/tar.gz/v0.1.0'
图形界面:侧栏「插件」→ 添加插件 → 填入同一条 URL。安装后重启 DSH 生效。升级时将 URL 末段 v0.1.0 换为仓库新版本标签后重装即可。
插件以当前 DSH 进程权限运行;安装前请自行查看源码与 MIT 许可证,确认可接受后再启用。
典型用法¶
按 README 的「三步玩起来」操作即可复现:
- 出摊:输入
/johnny。 - 敲钱:左左·右右、摇一摇,或输入「发钱」。
- 喂鱼:把钱拖到肥鱼身上,等待真答案出现在对话里。
收摊:再输入 /johnny,或点角落红色 ×。
可选配置¶
在 profile 用户层 cordis.patch.yml 中覆盖 dsh-johnny 的 config(字段均以 README 为准):
- id: dsh-johnny
config:
bubbleText: 'TOKEN 的味道……不错……' # 喂钱后鱼气泡文案
bubbleMeme: '' # 可选气泡配图(dsh-pet 表情包名)
eatAnim: '余额-钱袋满溢' # 喂钱时鱼动画
askBubbleText: '有可能知道,有可能不知道。' # 扣下时鱼气泡(留空=不冒泡)
askAnim: '工作状态-思考冒泡' # 扣下时鱼动画(留空=不动)
# petId: main
# petBase: /dsh-pet-7340
# moneyWords: [发钱, 给钱, 付钱, 交钱, 小费]
# storageDir: '' # 默认 $DSH_HOME/storages/dsh-johnny
原理简述¶
强尼模式下,客户端在捕获层拦截发送;「点单」经 HTTP 进入宿主后,用 session.append(…, { surfaceOp: 'append' }) 写入问题与搪塞台词。喂钱后触发 agent 跟读,把被扣问题包进「鱼已收钱」消息。鱼的动画与气泡由客户端同源调用 dsh-pet 接口完成。
仓库提供 node test/sim.mjs(README 称 66 项断言)覆盖模式开关、点单扣话、解锁载荷、HTTP 路由与配置透传;真机 E2E 验证扣下时 assistant 计数不变、喂钱后模型可答出约定暗号。
适用场景与注意¶
适合谁:已在用 DSH Web 对话、想加一层零 token 互动梗,并愿意(或已经)安装 dsh-pet 的用户。
已知限制(来自 README):
- Android/Termux 上使用 dsh-pet 可能因
@electron-internal/extract-zip无安卓预编译而在插件加载期报错;需按上游说明用pnpm patch等方式绕过,或等待 dsh-pet 改为动态 import。 - dsh-pet 的 Electron 桌面透明窗在安卓不可用;Web 模式不受影响。
DSH 生态理念是「一切皆插件」;SkillHub 等为社区目录,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-johnny 用拦截式固定台词实现强尼装傻,把模型调用压缩到「喂鱼」之后一轮,既省 token,也避开模型拒演线人的坑。完整说明与更新见 GitHub 仓库 与 SkillHub 目录页。