DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

58fly /

58fly/dsh-ponytail-58fly

Verified

DSH plugin: a self-maintained lazy-mode (ponytail) plugin — mode-graded guidance ladder, fence-aware prompt filtering, six skills, settings panel

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: main@e3b4ee78

🦥 dsh-ponytail

🌐 中文 · English

少写代码,先找现成方案。

The smallest change that fully solves the task.

版本 宿主 技能 依赖 许可

INSTALL
两步上手

# ① 把插件装进你的 profile(--profile 必填,官方模板:web / headless / acp / sdk)
dsh plugin --profile web add dsh-ponytail-58fly

# ② 重启 DSH 生效

装完在会话里敲 /ponytail 看当前档位。设置页 →「Ponytail 档位」可切换。

离线或内网从 tarball 装:

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

桌面版(Electron 独占的 profile,dsh plugin 会拒绝写入):

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

CORE
它做了什么

在系统提示里挂一段决策阶梯,让模型动手写代码前先过六道问:

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

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

档位 行为
off 完全关闭,本会话恢复普通开发模式
lite 按要求做,另附一行「更小的选项」让用户自己挑
full 默认。完整阶梯
ultra 额外质疑需求本身:动手前先反驳需求不成立的部分。适合需求还没定形的时候,代价是更慢、更啰嗦、可能推翻你已经想好的方案

阶梯进 system prompt 的固定段,只在会话诞生时渲染一次;切档走尾部 system-reminder 注入完整指令。切档不会让整个提示词前缀失效,KV cache 不报废。

SKILLS
六个技能

命令 用途
/ponytail 查看或切换档位(lite / full / ultra / off)
/ponytail-review 按六阶审查一个改动:逻辑、安全、负载、测试、性能、有没有多余的代码
/ponytail-audit 全仓审计:bug、安全洞、慢路径、该删该合的分支
/ponytail-debt 盘点欠下的技术债(仓库里所有 shortcut: 注释)
/ponytail-gain 量化这次偷懒省下了多少
/ponytail-help 用法速查

模型也会自动调用:六份描述都是中文重写 + 原样保留英文触发词(be lazy / simplest solution / yagni / debt),中英文提问都能命中。

斜杠命令后面必须跟一个半角空格:

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

宿主的斜杠手势正则只认 ASCII 空白边界。写成 /ponytail,xxx(跟全角逗号)或 /ponytail(全角斜杠)不会触发,命令会被当成普通文字。

CONFIG
配置

字段 类型 说明
defaultMode enum 默认档位:off / lite / full / ultra,缺省 full
skillDir string 技能目录。相对路径按 $DSH_HOME 解析,缺省 $DSH_HOME/ponytail-58fly/skills
locale enum 语言:zh / en。Schemastery 已声明,当前无消费点

三者都不给默认值:Cordis 校验会把缺省 fill 成显式配置,一旦给了默认值,「配过」与「没配过」就不可区分,设置面板会替用户撒谎。

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

# 环境变量:影响所有新会话的默认档位
export PONYTAIL_DEFAULT_MODE=ultra
# profile 的 cordis.patch.yml
- patch:
    - id: ponytail-58fly
      config:
        defaultMode: ultra
# 会话内即时切换(不是 shell 命令,敲在对话框里)
/ponytail ultra

改错了没生效:设置页的面板逐层显示哪一层盖住了它,以及那一层现在写的是什么。

COMPAT
兼容性

项 要求
Node >=20
DSH >=0.2.0-rc.1 <0.3.0-0。engines.dsh 是唯一的版本闸门:宿主看到它会直接跳过 peer 检查,装错宿主版本就是装不上,不会降级运行
Peers @deepseek-ai/cordis ~4.1.0、@deepseek-ai/schemastery ~3.19.0,由宿主提供,本包不安装也不打包
Deps 零。不是洁癖:dsh plugin add <本地目录> 生成的是 link:,pnpm 不会安装插件的 dependencies,任何运行时 import 都会 ERR_MODULE_NOT_FOUND。所以六份技能都靠宿主自己的注册表读包内 skills/,本包不 import 任何东西
Inject 两个 @deepseek-ai/dsh-client-ui-* 模块,宿主没装就降级为「没有设置面板」,命令与配置照常可用

TROUBLESHOOT
排障

现象 成因 处置
装完没有设置面板 宿主缺 dsh-client-ui-settings-general(槽位声明)或 dsh-client-ui-settings(configForms 通道) 预期降级,非故障。命令、配置、环境变量都能完成全部操作
dsh.client.inject 写了短名没生效 宿主按包名查模块图,短名被静默跳过 写全名 @deepseek-ai/dsh-client-*
面板显示「宿主未服务该配置命名空间」 configForms 起来了但没为本命名空间服务表单,通常是插件不是经 profile 配置图装载 改 cordis.patch.yml 或用环境变量
技能列表是空的 ① skillDir 被覆盖成了空目录 ② 某个 SKILL.md 少了 description ③ frontmatter 写了旧键 ① 改回 ${package}/skills ②③ 日志搜「frontmatter 非法」,只会跳过那一条
斜杠命令敲了没反应 斜杠后少了半角空格,或用了全角「/」 见上面「六个技能」
装时提示 Agent skills awaiting approval pnpm 把依赖自带的 skills/ 链进编码 agent 的技能目录,等批准 批不批准都不影响本插件:六个技能由 DSH 自己的注册表读包内 skills/

SOURCE
来源与许可

本插件是全新开发的原创项目:代码与六个中文技能正文均为本仓原创。规则思想参考 DietrichGebert/ponytail(MIT),设计取舍与宿主契约实测证据见 docs/research/dsh-plugin-contract-0.2.2.md。

MIT,见 LICENSE。

—/ 5

No ratings yet

Verified DSH bundle

Commit e3b4ee78f64f

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout