Chuyển đến nội dung chính

dsh-ponytail

Đã xác minh

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.

Cài đặt

dsh plugin add dsh-ponytail

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.

Thẻ

Tác giả

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 等 无命令适配器的入口不显示命令,但规则注入与技能目录不受影响。