dsh-ponytail:DeepSeek Harness 的极简编码模式

前言

DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在实际开发中,智能体容易陷入过度设计的陷阱,导致代码冗余或调试困难。dsh-ponytail 是一个适配到 DSH 的插件,它将 DietrichGebert/ponytail 的极简编码原则引入 DSH 的工作流。

该插件为 DSH 提供了一套结构化的“懒惰 senior dev”规则集,支持会话级模式切换,并包含用于代码精简、审查和审计的一组技能。

安装

该插件依赖 @deepseek-ai/cordis (4.0.1) 和 @deepseek-ai/schemastery (3.18.x),兼容 Node.js 22.x / 24.x。安装时需要指定一个 Profile(例如 web、tui 或自定义名称)。

使用官方仓库安装:

dsh plugin --profile web add github:MengYuil/dsh-ponytail

安装完成后,重启该 Profile(dsh web 或 dsh tui)即可生效。

核心模式

插件通过 /ponytail 命令注入结构化的规则集。核心模式分为以下几种档位,它们的区别在于规则语义,而非仅仅是 Prompt 片段的替换:

  • Common(所有非 off 档位共享):将请求转化为可观察的完成条件,沿真实调用流取证,执行“检查 → 修改 → 最窄有效验证 → 检查最终 diff”的闭环,非平凡逻辑只留最小可执行检查。
  • Safety(任何档位都不可删):包含输入校验、防数据丢失的错误处理、安全措施、无障碍要求及明确验收项。
  • lite:减少仪式感,直接执行,完整交付明确要求,不挑战明确需求。
  • full(默认):完整执行七级决策阶梯(YAGNI → 复用 → 标准库 → 原生 → 已装依赖 → 一行 → 最小实现),默认选择最短正确实现。
  • ultra:新增代码前先求证,优先删除或复用,主动质疑投机性功能,复杂需求先给最小正确版。
  • off:完全不注入规则。

这些模式是会话级的,A 会话的模式设置不影响 B 会话。

常用命令

  • /ponytail lite|full|ultra|off:显式切换当前会话模式。
  • /ponytail:查看当前模式状态。若当前为 off,会自动恢复到有效默认档(默认为 full)。
  • /ponytail status:查询当前模式,显示该模式是来自会话覆盖还是配置默认值。
  • /ponytail reset:清除当前会话的覆盖设置,重新跟随有效配置。

一次性技能

以下技能为一次性触发,不会进入常驻 Prompt,用完即止:

  • /ponytail-help:显示参考卡。
  • /ponytail-review:针对最近改动进行审查,指出过度工程及位置。
  • /ponytail-audit:对全仓库进行过度工程审计,返回高价值发现。
  • /ponytail-debt:收割代码中的 ponytail: 注释,生成债务账本。
  • /ponytail-gain:显示参考计分板(代码减少、Token/成本/延迟效果取决于模型与任务,非插件保证)。

停用与恢复

随时可以通过以下命令停用模式:

  • stop ponytail
  • normal mode
  • 停止 ponytail
  • 关闭 ponytail
  • 普通模式
  • 正常模式

恢复时只需发送 /ponytail。

配置

插件支持通过环境变量、Profile 配置或用户配置文件来设置默认模式。默认模式优先级如下:

会话 override > PONYTAIL_DEFAULT_MODE 环境变量 > Profile cordis.patch.yml 配置 > 用户 config.json > full

Profile 级配置

在 Profile 的 cordis.patch.yml 中配置 defaultMode,例如:

- insert:
    - id: ponytail
      name: '@mengyuly/dsh-ponytail'
      config:
        defaultMode: lite

修改 Profile 配置后需要重启该 Profile 才能生效。

用户级配置

在 ~/.config/ponytail/config.json(Windows 为 %APPDATA%\ponytail\config.json)中设置:

{
  "defaultMode": "lite"
}

用户配置支持热更新(约 1 秒轮询),非法值不会导致插件崩溃。

依赖与兼容性

  • 运行时依赖:
    • @deepseek-ai/cordis (4.0.1)
    • @deepseek-ai/schemastery (3.18.x)
  • 环境要求:
    • Node.js 22.x / 24.x
    • DeepSeek Harness (commit b150a551 构建)
  • 兼容性:
    • web profile 已验证。
    • tui 和 headless profile 未完整验证。

注意事项

  • 效率收益有条件:插件通过增加 Prompt 体积来减少过度设计,但其收益取决于具体任务。当任务本身已很简单时,收益可能接近零,甚至出现额外输入开销。它不是“省 Token 开关”,也不保证跨模型的成本节省。
  • 发行包结构:npm 发行包不包含 scripts/ 目录,不提供维护脚本入口。
  • 错误处理:配置错误(如非法 JSON、非法 defaultMode)只会告警一次,不会刷屏。
  • 父子代理:DSH 的 subagent 工具是隔离派生,但全局 system-prompt 仍会参与组装。插件通过 PONYTAIL_SUBAGENT_MATCHER 正则匹配筛选子代理,不宣称父子 Prompt 继承。
羽毛球分组比赛记分
小程序二维码

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

小夜