dsh-ponytail-58fly:在 DSH 里用档位化的「少写代码」决策阶梯

前言

在 DSH 里做智能体辅助开发时,模型往往倾向于直接动手写新代码、加新依赖。仓库里已有实现、标准库能力、一行能写清的逻辑,经常被跳过。要系统性压住这种冲动,单靠会话里临时叮嘱不够稳定,也不便于在团队内统一强度。

下面介绍维护者 58fly 发布的 DSH 工作流插件 dsh-ponytail-58fly(npm 包名同为 dsh-ponytail-58fly)。它在系统提示里挂载一道固定的六步决策阶梯,并通过 off / lite / full / ultra 四档控制约束强度;同时提供六个斜杠技能与可选设置面板。规则思想参考上游 DietrichGebert/ponytail(MIT),实现与技能正文为本仓原创。插件在 SkillHub 目录 归类为「工作流」;社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

这是什么

dsh-ponytail-58fly 是面向 DeepSeek Harness(DSH)0.2.x 的自维护 lazy-mode(ponytail)插件:档位分级引导、与代码围栏相关的提示过滤、六份技能目录,以及 Web 端设置页中的「Ponytail 档位」配置。运行时依赖为零,技能由宿主注册表从包内 skills/ 读取。

宿主版本由 engines.dsh 闸门约束,装错版本会直接装不上,不会静默降级运行。

核心功能

六步决策阶梯

阶梯进入 system prompt 的固定段,仅在会话创建时渲染一次;切换档位通过尾部 system-reminder 注入完整指令,不会让整个提示词前缀失效(有利于 KV cache)。

动手写代码前,模型按顺序过六道问:

# 先问 命中就用
1 这东西需要存在吗? 不需要就跳过,一行说明省了什么
2 仓库里已经有了? 照周围的用法用它
3 标准库或平台原生特性? 用原生,除非项目自己有约定
4 已装的依赖里有? 用,绝不新增依赖
5 能写成一眼看懂的一行? 一行
6 都不行 能跑通的最少那份代码

四档强度

档位只决定强度,不改变阶梯本身:

档位 行为
off 完全关闭,本会话恢复普通开发模式
lite 按要求做,另附一行「更小的选项」供选择
full 默认,完整阶梯
ultra 额外质疑需求本身;适合需求未定形时,代价是更慢、更啰嗦,可能推翻既有方案

六个技能

斜杠命令后必须跟半角空格;全角「/」或全角逗号不会触发宿主手势。

命令 用途
/ponytail 查看或切换档位
/ponytail-review 按六阶审查改动:逻辑、安全、负载、测试、性能、多余代码
/ponytail-audit 全仓审计
/ponytail-debt 盘点 shortcut: 注释标出的技术债
/ponytail-gain 本机效率统计与档位分布
/ponytail-help 用法速查

技能描述为中文重写,并保留英文触发词(如 be lazy、yagni),中英文提问均可命中。

配置与优先级

Cordis 配置字段(三者均不在插件内写死默认值,由校验与设置面板显式呈现):

字段 类型 说明
defaultMode enum off / lite / full / ultra,面板侧缺省表现为 full
skillDir string 相对 $DSH_HOME;缺省路径为 $DSH_HOME/ponytail-58fly/skills
locale enum zh / en,已声明,当前无消费点

改默认档位三条等价路径,优先级为:环境变量 > profile 补丁 > 内置兜底。

export PONYTAIL_DEFAULT_MODE=ultra
# profile 的 cordis.patch.yml
- patch:
    - id: ponytail-58fly
      config:
        defaultMode: ultra

会话内即时切换(敲在对话框,非 shell):

/ponytail ultra

若未生效,设置面板会逐层显示哪一层配置覆盖了当前值。

安装与启用

前提:Node >=20,DSH >=0.2.0-rc.1 且 <0.3.0-0(README 徽章写宿主 DSH 0.2.x);--profile 必填,官方模板含 web / headless / acp / sdk。

# ① 把插件装进 profile
dsh plugin --profile web add dsh-ponytail-58fly

# ② 重启 DSH 生效

装完后在会话里执行 /ponytail 查看当前档位;或在设置页「Ponytail 档位」切换。

离线或内网可从 tarball 安装(示例版本与 README 一致):

pnpm run build && npm pack
dsh plugin --profile web add ./dsh-ponytail-58fly-0.3.1.tgz

桌面版 Electron 独占 profile 时,dsh plugin 会拒绝写入,需在 profile 目录用 pnpm 添加本地包:

cd ~/.dsh/profiles/desktop && pnpm add /path/to/dsh-ponytail-58fly-0.3.1.tgz

注意: 插件以当前 DSH 进程的权限运行。安装前应自行查看 GitHub 仓库 源码与 MIT LICENSE,确认符合你的安全与合规要求。

典型用法

查看或讨论某功能是否值得加代码时,带上半角空格:

/ponytail 这个功能要加缓存吗
/ponytail-review 看看这个 diff

需要默认更激进地质疑需求时,在 profile 或环境中把 defaultMode 设为 ultra,或新开会话前设置 PONYTAIL_DEFAULT_MODE。

若宿主未安装 @deepseek-ai/dsh-client-ui-settings 相关模块,设置面板会降级缺失,但斜杠命令、环境变量与 cordis.patch.yml 仍可完成全部操作(README 排障表中的预期行为)。

适用场景与注意

适合希望在 DSH 会话里统一「先找现成方案、最小改动解决问题」纪律的团队或个人;ultra 适合需求探索阶段,off 适合需要放开约束的专项任务。

Peers 为 @deepseek-ai/cordis ~4.1.0、@deepseek-ai/schemastery ~3.19.0,由宿主提供。本包零运行时依赖,勿在插件包内新增会被 link: 安装方式忽略的 dependencies。

常见排障:斜杠无响应时检查半角空格与 ASCII 斜杠;技能列表为空时核对 skillDir 与各 SKILL.md 的 frontmatter;装时若出现 Agent skills awaiting approval,与 pnpm 链入的其他技能目录有关,不影响本插件六个技能从包内加载。

结尾

dsh-ponytail-58fly 把 ponytail 式决策阶梯做成 DSH 可配置的长期约束,用档位调节强度,用六个命令覆盖审查、审计与统计。目录页:https://www.skillhub.cn/plugins/58fly/dsh-ponytail-58fly;源码与完整说明:https://github.com/58fly/dsh-ponytail-58fly。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye