Zum Hauptinhalt springen
W

dsh-ponytail

wenaixi/dsh-ponytail

DSH 完整移植版 dietrichgebert/ponytail — 懒惰 senior 模式,6 个中文 Skill,无空 tool

Installation

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

README

dsh-ponytail

Ponytail

懒惰的资深工程师 · 移植到 DeepSeek Harness
The best code is the code you never wrote.

MIT npm version DSH skills node

中文 · English · Changelog · 上游 · npm


DietrichGebert/ponytail v4.9.0 的 DSH 完整移植版。 把「懒惰的资深工程师」带进 DeepSeek Harness:always-on 梯子注入 + 6 个中文 Skill,无空 tool,开箱即用。

✨ 特性

  • Always-on 梯子:7 阶决策(YAGNI → 复用 → 标准库 → 平台原生 → 已有依赖 → 一行 → 最小实现),每轮模型请求前自动注入,off 时静默。
  • 6 个中文 Skillponytail / ponytail-review / ponytail-audit / ponytail-debt / ponytail-gain / ponytail-helprank: 550 可被项目级覆盖。
  • 三档强度lite(点出更懒的替代) / full(默认,强制走梯子) / ultra(先删后加,挑战需求本身)。
  • 上游行为全量复刻PONYTAIL_DEFAULT_MODE env > cordis 配置 > 配置文件 > fullreview 不可作默认;stop ponytail 全句匹配;ponytail: 债务台账;PONYTAIL_SUBAGENT_MATCHER 过滤。
  • 无空 tool:不在 ctx.tools 注册任何占位 tool,全部能力经 ctx.skills 暴露。

📦 包含能力

能力类型说明
ponytailskill + always-on7 级梯子,lite/full/ultra 三档,触发词兼容中英文
ponytail-reviewskilldiff 过度设计评审,delete/stdlib/native/yagni/shrink
ponytail-auditskill全仓审计,按可删收益排序
ponytail-debtskill收割 ponytail: 注释台账
ponytail-gainskill收益看板(benchmark 中位数)
ponytail-helpskill速查卡
模式切换hookagent/pre-step + session/event 双路径,/ponytail 族指令
持久化文件~/.config/ponytail/config.json(Win: %APPDATA%),/ponytail default <mode> 写入

🚀 安装

方式一:npm(推荐)

# 作为 DSH 插件安装(自动走 dsh.bundle)
dsh plugin --profile demo add @wenaixi/dsh-ponytail

# 或作为普通 npm 包
npm i @wenaixi/dsh-ponytail
pnpm add @wenaixi/dsh-ponytail

版本与上游同步,当前 4.9.0npm view @wenaixi/dsh-ponytail version 可查。

方式二:GitHub 直装(无需构建,lib 已提交)

dsh plugin --profile demo add github:Wenaixi/dsh-ponytail
# 指定 tag / 分支亦可
dsh plugin --profile demo add github:Wenaixi/dsh-ponytail#v4.9.0

方式三:本地联调 / tarball

pnpm install && pnpm build
dsh plugin --profile demo add ./
dsh --profile demo --dump-config  # 应能看到 ponytail 行

# 或
pnpm pack && dsh plugin --profile demo add ./wenaixi-dsh-ponytail-4.9.0.tgz

卸载

dsh plugin --profile demo remove @wenaixi/dsh-ponytail

验证(不重启 3080)

pnpm build && pnpm typecheck && node scripts/verify.mjs
dsh --profile demo --dump-config | grep -A2 ponytail
# 隔离 profile 验证 GitHub 直装(不影响 web/3080)
dsh plugin --profile ponytail-test add github:Wenaixi/dsh-ponytail
dsh --profile ponytail-test --dump-config | grep -A2 ponytail
# 验证 npm 直装(隔离 profile)
dsh plugin --profile ponytail-npm-test add @wenaixi/dsh-ponytail
dsh --profile ponytail-npm-test --dump-config | grep -A2 ponytail

⚙️ 配置

cordis.patch.yml 行内覆盖:

- insert:
    - id: ponytail
      name: "@wenaixi/dsh-ponytail"
      config:
        providerName: ponytail
        skillDir: E:/path/to/skills   # 调试用,默认包内 skills/
        defaultMode: full             # off|lite|full|ultra

优先级(与上游一致):

  1. PONYTAIL_DEFAULT_MODE=ultra 环境变量(最高)
  2. cordis.patch.yml 中显式的 defaultMode
  3. ~/.config/ponytail/config.json(Windows: %APPDATA%\ponytail\config.jsonXDG_CONFIG_HOME 优先)
  4. full

持久化:/ponytail default <mode> 会写入上述配置文件;review 不可作默认。

🎮 使用

  • 自动生效:任一编码任务都会注入梯子,无需手动触发。
  • 显式切换/ponytail(full)、/ponytail lite|full|ultra|off/ponytail default <mode>/ponytail-review
  • 一键技能/ponytail-review/ponytail-audit/ponytail-debt/ponytail-gain/ponytail-help
  • 退出stop ponytailnormal mode(需整句匹配)或 /ponytail off,随时用 /ponytail 恢复
  • 子智能体PONYTAIL_SUBAGENT_MATCHER 正则过滤(与上游一致),DSH 侧所有 agent 共享同一 section

🛠️ 本地开发

pnpm typecheck
pnpm build
pnpm verify                         # 6 技能 + 产物 + 无空 tool 校验
dsh --profile web --patch ./cordis.patch.yml --dump-config
pnpm dsh web --patch ./cordis.patch.yml   # 热重载:改 src/ 或 skills/ 即生效
  • skills/ 中文化后需重跑 buildverify(已处理 BOM 与 \r\n
  • HMR:改 src/*.tsskills/**/SKILL.md 后旧 provider/section 自动清理
  • 发布:pnpm build && npm publish --access public --provenance(需 npm Trusted Publisher 或带 2FA 的 granular token);或走 GitHub Actions publish.ymlv* tag 自动发布)
  • 版本后缀:上游未发新版时用 pnpm run bump:dsh 递增为 4.9.0-dsh.1,上游发版后回归纯版本(如 4.10.0

📂 目录

src/ponytail.ts              # 唯一入口,name/inject/Config/apply
src/ponytail-config.ts       # env > 文件 > full(含 BOM、review 限制、shell 白名单)
src/ponytail-instructions.ts # 按 mode 裁剪 SKILL.md + 中文 fallback
src/ponytail-runtime.ts      # flag 文件 + 多平台识别(Claude/Codex/Qoder)
skills/ponytail/*.md         # 6 个中文 Skill
assets/                      # logo / benchmark 图
lib/                         # 构建产物(已提交,支持 GitHub 直装)
cordis.patch.yml             # - insert: { id: ponytail, name: "@wenaixi/dsh-ponytail" }

🔗 上游

📄 许可

MIT © DietrichGebert / Wenaixi

Ähnliche Plugins