前言¶
长时间与智能体对话容易让人产生“我好像在干点什么”的错觉:token 流动、diff 展示、多巴胺落下,但身体却几乎没动。脖子变硬、下午犯困、肩膀模糊,这些身体反馈被“等会儿再动”的拖延不断推迟。于是有人把这种对身体的“隐形透支”具象化:每发一条消息,就欠一个俯卧撑。等欠得足够多,就不得不起身完成。这个插件就是为此而生。
这是什么¶
dsh-pushups 是一个 DeepSeek Harness(DSH)的 Web GUI 插件。它会在消息输入框旁显示“Push-ups: X”的计数器,每发送一条合法的人类消息,计数加一。当计数累积到一定程度,通过点击计数卡片或一键按钮完成“偿还”,抵消债务。插件由 ivanlebedvideo 维护,开源协议为 MIT。
核心功能¶
- 消息计数:一条合法的人类消息对应一个俯卧撑。计数器显示在对话页面的输入框旁。
- 支付方式:点击计数卡片,弹出对话框,可选择部分支付(+5、+10、+25、全部)、自定义金额,并切换界面语言(英文/Русский/中文,默认英文)。
- 一键结清:输入框旁提供单次点击的 ✓ 按钮,当已完成的俯卧撑数量足以抵消债务时,可一键完成支付,无需打开对话框。
- 代理工具:Host 端注册只读工具
pushups_status,智能体可以回答“сколько я должен?”(我欠多少)以获取实时债务数字。 - 数据持久化:Host 端维护一个 JSON 状态文件,记录安装时间、总消息数、当前债务、连胜天数、每日计数(上限 400 天)以及最近 500 次支付记录。
- 安装与禁用:通过
plugin_manager的install_bundle指定绝对路径或 git 检出目录安装,禁用只需设置enabled: false。
安装与启用¶
安装前请确认:
- DSH 版本为 0.2.0-rc.1 或更高,并启用 web profile;
- 无需额外构建步骤,Client 端为纯 JavaScript。
安装步骤如下:
- 从绝对路径安装:
plugin_manager
action: install_bundle
target: /absolute/path/to/dsh-pushups
- 或从 git 仓库安装:
git clone https://github.com/ivanlebedvideo/dsh-pushups.git
然后使用 install_bundle 安装该目录。
安装后,新 bundle 会自动激活;在浏览器页面刷新(Ctrl+R)即可加载新的 Client 模块。
如需禁用:
plugin_manager
action: set_plugin
target: pushups
enabled: false
典型用法¶
- 在 Web GUI 中与智能体对话,每发一条消息,输入框旁的计数器加一。
- 当计数达到不想继续累积的程度,点击计数卡片或右侧的 ✓ 按钮,完成支付。
- 支付后,债务清零;未完成的部分保留,可继续通过部分支付或全部支付抵消。
- 智能体可通过
pushups_status工具查询当前债务,回答“我欠多少”等自然语言问题。
适用场景与注意¶
- 适合在 Web GUI 中使用 DSH 的开发者,希望将对话行为与身体活动建立简单联系。
- 插件仅在 Web GUI 中生效;其他客户端(TUI、ACP、SDK)不产生计数。
- 计数器为全局,跨所有会话与项目。
- 连胜逻辑依赖 Host 机器本地时间,在任意消息、支付或状态读取时触发,非定时任务。
- 不提供数据迁移;状态文件版本不匹配时会重置。
- 安装前建议检查源码与许可证,确保符合使用规范。
小结¶
dsh-pushups 把“敲键盘”的隐形代价显化为一个可感知的数字:每条消息一个俯卧撑。它不承诺改善姿势,只是让“现在就起身”变得比“再写一条”更直接。当你觉得欠得够多了,就站起来完成它。这个简单的机制,或许能帮你把“稍后”变成“现在”。
参考资料¶
- GitHub 仓库:https://github.com/ivanlebedvideo/dsh-pushups
- 插件目录页:https://www.skillhub.cn/plugins/ivanlebedvideo/dsh-pushups