DeepSeek Harness 插件:dsh-plugin-ponytail

前言

DeepSeek Harness (DSH) 的生态理念是“一切皆插件”。上游工具 ponytail(“懒散资深开发模式”)原生适配了 Claude Code、Codex 等环境,但 DSH 的代理架构缺少其依赖的 UserPromptSubmit 生命周期钩子。dsh-plugin-ponytail 在 DSH 现有的扩展点(如 systemPrompt.context)上重建了这一层,将 Ponytail 的规则、技能和命令集成到 DSH 中,无需修改上游代码或向仓库注入文件。

插件定位

本插件是 dsh-plugin-ponytail,由 BorisLoveDev 维护,采用 MIT 许可证。它将 Ponytail 的“懒散资深开发”模式转化为 DSH 的原生能力,核心价值在于为特定项目提供一套常驻的规则集和技能列表,并通过命令行接口控制模式强度。

核心功能

插件在 DSH 的扩展点上注册了三项内容:

  • Always-on 规则:通过 systemPrompt.context() 实现,规则会针对每个提示重新计算并生效。
  • 技能提供者:通过 skills.registerProvider() 注册六个 ponytail* 技能。这些技能仅在 Ponytail 模式开启时可见。
  • 命令接口:注册 /ponytail 命令,用于切换模式状态或查看状态。

安装

使用官方注册表安装:

dsh plugin --profile web add dsh-plugin-ponytail

若通过本地路径安装:

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

安装后,插件会作为 dsh.bundle.patch 注入,通常需要在下次启动时生效。如果宿主开启了 patchReload: live,则无需重启即可加载。

项目配置

插件以项目根目录下是否存在 .ponytail/ 目录作为激活条件。

  1. 创建目录结构:
mkdir -p .ponytail/skills
  1. 放置规则文件(上游的 AGENTS.md):
# rules.md
  1. 放置技能文件(上游的 skills/ 内容):
# skills/*/SKILL.md
  1. 设置初始模式状态:
printf 'full\n' > .ponytail/state

模式命令与用法

通过 /ponytail 命令控制模式强度或查看状态:

  • 查看状态:
    /ponytail status
  • 切换模式:
    /ponytail lite
    /ponytail full
    /ponytail ultra
    /ponytail off
  • 持久化默认值:
    /ponytail default lite

state 文件存储当前模式。切换模式后,下一条提示生效。

插件支持上游的“停止手势”机制。在消息中输入 stop ponytail 或 normal mode 即可将当前项目切换为 off 状态。仅有提及该短语而未完全匹配则不会触发。

与其他插件的差异

生态中存在另外两个 Ponytail 插件,功能侧重点不同:

  • dsh-ponytail:将规则注入为全局系统提示,并注册技能。适用于需要所有会话生效的场景。
  • dsh-ponytail-skills:仅提供技能,不注入规则。模型需自行选择加载技能,规则不强制生效。
  • dsh-plugin-ponytail:本项目。它结合了规则注入和技能提供,但仅对包含 .ponytail/ 目录的项目生效。它使用磁盘上的 .ponytail/state 保存状态,确保会话恢复后模式不丢失。

注意事项

  • 互斥安装:dsh-ponytail 和 dsh-plugin-ponytail 都注册了 /ponytail 命令,安装第二个会失败。请根据需求选择一个。
  • 无额外产物:插件不会在项目中创建 AGENTS.local.md 或 .agents/skills 中的符号链接。唯一的产物是项目目录下的 .ponytail/。
  • 目录查找逻辑:插件从会话工作目录向上遍历文件系统,直到找到 .ponytail/ 目录。这意味着嵌套仓库中的会话也会继承该目录的规则。
  • 源码检查:由于插件以当前进程权限运行,安装前建议查阅源码与许可证。

结语

如果需要在特定项目中强制应用 Ponytail 规则并保持状态持久化,dsh-plugin-ponytail 提供了基于文件系统的轻量级方案。

  • 目录页: https://www.skillhub.cn/plugins/BorisLoveDev/dsh-plugin-ponytail
  • GitHub: https://github.com/BorisLoveDev/dsh-plugin-ponytail
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜