dsh-ponytail:在 DeepSeek Harness 中接入 Ponytail 的薄适配层

前言

在 DeepSeek Harness(DSH)里做智能体开发时,系统提示、技能树和会话行为往往要单独维护一套。Ponytail upstream 已经提供成体系的指令与技能,但直接拷贝到 DSH 里会碰到版本对齐、会话模式隔离和持久化默认值等问题。社区里也有多种 dsh-ponytail 适配实现,侧重点各不相同。

下面介绍 Sepolian 维护的 dsh-ponytail:面向 DSH 0.2.0-rc.2 的薄适配层,沿用 Ponytail v4.13.0 的上游指令与技能,并在 DSH 侧提供隔离的会话模式与原生持久化默认配置。

这是什么

dsh-ponytail(仓库 Sepolian/dsh-ponytail)的定位是:A thin Ponytail adapter for DeepSeek Harness。插件通过 Cordis patch 挂入 DSH,把 vendor/ponytail/ 中锁定的上游资源(指令、配置模块、技能树与许可证)在运行时校验后交给上游渲染器,不在 TypeScript 里维护指令正文。

维护者:Sepolian。在 SkillHub 社区目录中分类为模型推理(目录页与 GitHub 无官方从属关系,仅为社区收录)。

当前包版本:0.1.0-rc.2(MIT;捆绑的 Ponytail 资源保留上游许可证)。

核心功能

上游 fidelity

  • 使用 Ponytail v4.13.0 指令;上游技能与资产字节未改。
  • 启动前校验 vendor 内 SHA256 清单;可选维护命令 npm run check:assets、npm run sync:upstream(需按 README 在 ../upstream/ponytail 放置指定 commit 的 checkout)。

模式与会话

  • lite / full / ultra / off 四档模式;初始持久化默认为 full。
  • 会话级覆盖:仅影响当前会话,进程销毁或重启后消失。
  • 持久化默认:写入 DSH 的 ponytail storage domain(依赖所选 host 的 storage backend);不同 DSH home 各自一份默认。
  • 原生进程内 spawn/fork 子进程在创建时继承父进程有效模式;之后父进程改模式不影响已创建子进程。经外部进程启动的子进程使用该 host 自身默认,未实现父级 override 透传。

斜杠命令与一次性技能

命令 作用
/ponytail 显示当前有效模式、会话覆盖与持久化默认
/ponytail lite、full、ultra、off 仅设置本会话模式
/ponytail default 清除本会话覆盖,跟随默认
/ponytail default lite、full、ultra、off durable 保存共享默认;已有会话覆盖保留
/ponytail status 只读状态查询
/ponytail-review [notes] 运行上游一次性 review 技能
/ponytail-audit [notes] 运行上游全库 audit 技能
/ponytail-debt [notes] 运行上游 shortcut-ledger 技能
/ponytail-gain [notes] 展示上游 measured-impact 记分板
/ponytail-help [notes] 展示上游命令/技能参考

独立消息发送 stop ponytail 或 normal mode 也会关闭当前接收会话;普通请求句子里出现这些短语不会切换模式。review/audit/debt/gain/help 为一次性任务,不改变持久化模式。

兼容性说明(README 原文要点)

  • Host API peer 目标:DSH 0.2.0-rc.2、Cordis ~4.0.4。
  • 官方 Web/base profile 提供 agent、system prompt、skills 与 native storage;自定义 profile 需自备同等能力与 durable storage-domain backend;命令在 native commands registry 可用时激活。
  • 若安装了显式 DSH complete-prompt 插件,会覆盖普通 prompt 段(含本插件注入部分)。
  • 运行时与包检查覆盖 Linux + Node 22;Windows/macOS 与 live 外部模型提供商未在 README 中声明已测。

安装与启用

环境要求:

  • Node ^22.19.0 || >=24.0.0
  • DSH 0.2.0-rc.2

README 推荐通过 GitHub Release 的 .tgz 资源(或本地 npm pack 产物)安装到 Web profile,而不是凭仓库名拼接 dsh plugin add github:...。

1、获取 tarball(Release 下载或源码构建后 npm pack)。

2、安装到 Web profile 并启动:

dsh plugin --profile web add /absolute/path/to/dsh-ponytail-0.1.0-rc.2.tgz
dsh --profile web

说明:tarball 安装不需要源码 checkout;可能从配置的 package registry 拉取运行时依赖。

若需从源码构建包(需自行 clone 仓库,本文不展开 clone 步骤),README 给出的校验与打包流程为:

npm ci
npm run typecheck
npm test
npm pack

npm ci 与 npm pack 会执行相同的自包含 prepare 构建;不要求 sibling upstream checkout。

典型用法

安装并进入 Web profile 后,在会话中用斜杠命令管理 Ponytail 模式,例如:

1、查看当前有效配置:

/ponytail

或 /ponytail status。

2、本会话临时改为 lite,不影响其他人或持久默认:

/ponytail lite

3、将团队共享默认改为 ultra(已有会话级覆盖仍保留):

/ponytail default ultra

4、需要上游 packaged 能力时,按 README 调用一次性技能,例如:

/ponytail-review 请重点看错误处理路径

具体技能行为以捆绑的上游 Ponytail 资产为准。

适用场景与注意

适合谁

  • 已在或计划使用 DSH 0.2.0-rc.2 Web/base(或具备 README 所列服务的自定义 profile)的开发者。
  • 希望在 DSH 内复用 Ponytail v4.13.0 指令与技能,并需要会话隔离的模式与可持久化的默认档位的团队。

务必知晓

  • 插件在当前 dsh 进程的权限下运行;安装前应阅读仓库源码与 MIT LICENSE 及 vendor/ponytail/LICENSE。
  • 每个 storage-domain facility 只应 mount 一个 adapter;native domain 不会在进程间广播默认变更。
  • peer 不匹配时包验收脚本会拒绝不兼容组合;升级 DSH 前应对照 README 的 Compatibility 与 package.json peer 范围。

结尾

dsh-ponytail 把 Ponytail 的上游资产以校验过的 vendor 形式接入 DSH,用薄适配层处理模式、命令与 storage,避免在适配代码里分叉指令文本。若你要在 Harness 里统一 Ponytail 行为并控制 lite/full/ultra/off,可按 Release tarball 安装到 Web profile,再用 /ponytail 系列命令管理。

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

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

小夜