前言¶
写代码的 agent 有个常见毛病:明明一个函数能解决的事,它会搭一层抽象、加一套配置、再补一段用不上的错误处理。想约束这种行为,常见做法是往系统提示里塞一段「请遵循 YAGNI」,效果因模型而异,而且每换一个 profile 都要重写一遍。
dsh-ponytail 走的是另一条路。DSH(DeepSeek Harness)的理念是「一切皆插件」,这个插件把 ponytail 的「最懒资深工程师」代码风格做成 6 个随包分发的技能,向技能注册表注册后即可使用,不需要用户写任何配置。下面介绍它的功能、安装方式和工作原理。
这是什么¶
一句话定位:dsh-ponytail(npm 包名 dsh-ponytail-skills)是一个把 DietrichGebert/ponytail 移植到 DeepSeek Harness Cordis 插件架构的技能插件,当前版本 0.1.3,许可证 MIT,维护者为 gongyijie85。
需要说明的是,这是非官方移植:技能内容改编自上游 ponytail(MIT,© DietrichGebert),DSH 移植部分 © gongyijie85。技能文件与上游完全一致(verbatim),argument-hint、license 等元数据原样透传。
六个技能¶
插件向 ctx.skills 注册表的 host 层注册技能提供者,6 个技能随包分发,位于 skills/<name>/SKILL.md:
| 技能 | 用途 |
|---|---|
ponytail |
核心模式:强制「最懒但能用的方案」,YAGNI → stdlib → 原生 → 一行 → 最小代码,支持 lite / full(默认)/ ultra 三档强度 |
ponytail-review |
只针对过度工程的代码评审,每行一个发现(位置、删什么、用什么替代) |
ponytail-audit |
全仓库过度工程审计(ponytail-review 的仓库版),排序输出「最大削减优先」 |
ponytail-debt |
把代码里所有 ponytail: 注释收进债务台账,延迟不烂尾 |
ponytail-gain |
展示 ponytail 的实测收益记分牌(基准中位数) |
ponytail-help |
全部模式/技能/命令的速查卡 |
全部技能对模型和用户都可调用(上游未设 disable-model-invocation)。
安装与启用¶
支持的 DSH 版本为 >=0.1.1-rc.2(已在上线版本验证,兼容更高版本)。npm 包名 dsh-ponytail 已被同名项目占用,所以本包发布为 dsh-ponytail-skills。三种安装方式:
# npm
dsh plugin --profile web add dsh-ponytail-skills
# GitHub
dsh plugin --profile web add github:gongyijie85/dsh-ponytail
# 本地开发
dsh plugin --profile web add D:\plugins\dsh-ponytail
装完重启 profile(dsh web),技能即可用 skill 工具加载。整个插件零运行时依赖,只使用 Node 内置模块。
工作原理¶
插件分两层:
1、Bundle 层:cordis.patch.yml 在 dsh-base 层插入插件行,后续层可按 id 定位。
2、提供者:lib/index.js 调用 ctx.skills.registerProvider(...),扫描 skills/ 目录,从 YAML frontmatter 解析 name / description 并返回完整技能定义,resourceBase 指向技能目录。
值得一提的细节是,上游技能文件使用了 description: > 折叠多行 frontmatter,提供者按 YAML 语义以单空格连接解析折叠标量,因此技能内容不需要任何改写就能原样使用。
典型用法¶
装好后对 agent 说「用 ponytail 模式写这段代码」,或者让模型在编码时自动采用。模式的优先级顺序是:
YAGNI → 复用现有代码 → 标准库 → 原生平台能力 → 一行 → 最小代码
强度分三档:lite / full(默认)/ ultra。退出时说 “stop ponytail” 即可。
适用场景与注意事项¶
适合两类场景:一是在 DSH 上做编码任务、希望默认输出精简实现的开发者;二是想清理存量代码的过度工程,可以用 ponytail-review 和 ponytail-audit 分别按行、按仓库两个粒度扫一遍。
安装前请注意:
- 插件以当前 dsh 进程的权限运行,建议先检查源码与许可证再安装。
- 这是非官方移植,许可证为 MIT:技能内容 © DietrichGebert,DSH 移植 © gongyijie85,细节见仓库的 LICENSE 文件。
小结¶
dsh-ponytail 做的事情不复杂:把一套已经成型的「最懒资深工程师」风格,按 DSH 的插件机制装进 ctx.skills 的 host 层。六个技能覆盖了写代码、评审、审计、债务记录几类场景,零运行时依赖,装上重启 profile 即用。
- 社区目录页(独立站点,与 DeepSeek / 幻方无官方从属关系):https://www.skillhub.cn/plugins/gongyijie85/dsh-ponytail
- GitHub 仓库:https://github.com/gongyijie85/dsh-ponytail