Skip to content

dsh-ponytail

Verified

dsh-ponytail · v0.2.0 · MIT

Ponytail lazy senior dev mode for DeepSeek Harness: per-turn minimal-code ruleset injection, /ponytail mode command, deactivation words, and the six ponytail skills.

Install

dsh plugin add dsh-ponytail

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Published to npm without a public repository. Inspect the package contents before installing.

Tags

Creators

Readme

dsh-ponytail

Ponytail(lazy senior dev mode)的 DeepSeek Harness 插件。

规则集来自 DietrichGebert/ponytail(MIT): 写代码前先爬 7 级梯子(YAGNI → 复用代码库 → 标准库 → 平台原生 → 已装依赖 → 一行 → 最小实现), 强度级别 lite / full(默认)/ ultra,可 off 关闭。

功能

  • 每轮注入:全局 system-prompt 段落 ponytail:policy(order 106)按当前模式注入上游规则集, 主代理与子代理同享(子代理继承最近活跃祖先会话的模式)。
  • 命令(经 dsh-commands,Web UI 直接可用):
    • /ponytail [lite|full|ultra|off] 切换强度;/ponytail(无参)或 /ponytail status 报告当前状态;
    • /ponytail default <mode> 持久化默认模式(写入 ~/.dsh/settings.yamlponytail: 段);
    • /ponytail-review/ponytail-audit/ponytail-debt/ponytail-gain/ponytail-help: 向会话排入对应技能(走 DSH 的用户显式技能注入路径)。
  • 技能:6 个上游 SKILL.md 以 runtime skill 注册进 ctx.skills(出现在技能目录,可用 skill 工具加载)。
  • 停用词:整条消息为 "stop ponytail" 或 "normal mode" 时,在该步组装前关闭 ponytail。
  • 默认模式解析顺序PONYTAIL_DEFAULT_MODE 环境变量 → ponytail settings 命名空间 (composition base + 用户文档)→ full

安装

dsh plugin --profile web add dsh-ponytail

一条命令完成:安装依赖并把包自动挂载进 dsh.profile.bundles(包内 cordis.patch.yml 声明 dsh.bundle.patch,profile boot 会合并它)。重启(或等待 HMR)后生效。

曾用手动 cordis.patch.yml insert 方式挂载过的 profile,切到本渠道前请先移除手动行, 避免双挂载。

卸载

dsh plugin --profile web remove dsh-ponytail

上游单一事实源

不复制任何指令文本:运行时通过 createRequire 解析 @dietrichgebert/ponytail 包根, 直接 requirehooks/ponytail-config.jshooks/ponytail-instructions.js, 从 skills/ 目录读取 SKILL.md(与 @arnilo/prism-ponytail 的做法一致)。

开发

npm install
npm test        # node --test,11 个用例

发现与分享

  • npm:npm search dsh-plugin(keyword:dsh-plugin / deepseek-harness / dsh
  • GitHub:dsh-plugin topic;装 dsh-find-plugin 后可直接让 agent 检索
  • 发布:npm publish(需 npm 账号;建议同时给 GitHub 仓库加 dsh-plugin topic)

已知边界(方案 B 取舍)

  • 模式状态为进程内 per-session,不写入会话日志(自定义会话事件类型不在 dsh-session 的已知事件集合中,持久化读路径会拒绝);resume 后回到默认模式。 完整对齐(会话投影 + UI 徽章 + 事件持久化)为方案 C。
  • 技能命令依赖 dsh-tool-skill 的用户显式注入路径(/name 手势),headless 等 无命令适配器的入口不显示命令,但规则注入与技能目录不受影响。