@mengyuly/dsh-ponytail 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,17 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
6
  ## Unreleased
7
7
 
8
+ ## [0.4.1] - 2026-10-08
9
+
10
+ ### Changed
11
+
12
+ - Synchronize bilingual README, settings tooltips, recommendations and skill
13
+ help with the actual Lite behavior and complete seven-rung ladder.
14
+ - Refresh pinned download links, update instructions, non-model verification,
15
+ build-source guidance and verified compatibility notes.
16
+ - Add relevant npm search keywords, homepage and issue links. No core rule
17
+ or mode behavior changes; `latest` remains the default release channel.
18
+
8
19
  ## [0.4.0] - 2026-10-08
9
20
 
10
21
  ### Added
package/README.md CHANGED
@@ -15,15 +15,15 @@
15
15
 
16
16
  - **最新版(latest)**:
17
17
  `https://github.com/MengYuil/dsh-ponytail/releases/latest/download/mengyuly-dsh-ponytail.tgz`
18
- - **固定版本 v0.3.4**(按 Tag 不可变):
19
- `https://github.com/MengYuil/dsh-ponytail/releases/download/v0.3.4/mengyuly-dsh-ponytail.tgz`
18
+ - **固定版本 v0.4.1**(按 Tag 不可变):
19
+ `https://github.com/MengYuil/dsh-ponytail/releases/download/v0.4.1/mengyuly-dsh-ponytail.tgz`
20
20
 
21
21
  说明:
22
22
 
23
23
  - **latest**:适合快速安装体验,会随最新 Release 更新;固定资产名
24
24
  `mengyuly-dsh-ponytail.tgz` 在每个 Release 中保持不变,因此该 URL
25
25
  不会因版本号变化而失效,**不适合作为不可变依赖**。
26
- - **固定版本**:适合可复现安装,URL 中固定 Tag(如 `v0.3.4`),按 Tag
26
+ - **固定版本**:适合可复现安装,URL 中固定 Tag(如 `v0.4.1`),按 Tag
27
27
  不可变;资产名同样为 `mengyuly-dsh-ponytail.tgz`。
28
28
  - npm 安装仍走 npm Registry 或 `dsh plugin` 命令。
29
29
  - 固定资产名由 `scripts/release-assets.mjs` 生成并验证(`node scripts/release-assets.mjs`,仅仓库维护者)。
@@ -32,6 +32,9 @@
32
32
 
33
33
  装进某个 profile(`web` 可换成 `tui`/自定义名):
34
34
 
35
+ 推荐从 npm 安装稳定版:`dsh plugin --profile web add @mengyuly/dsh-ponytail`。
36
+ 需要固定本版时使用 `dsh plugin --profile web add @mengyuly/dsh-ponytail@0.4.1`。
37
+
35
38
  ```bash
36
39
  # 方式一:本地链接(当前 dsh 核 ≥ 0.1.x)
37
40
  dsh plugin --profile web add link:$(pwd)
@@ -47,23 +50,36 @@ dsh plugin --profile web add file:./mengyuly-dsh-ponytail.tgz
47
50
  dsh plugin --profile web add @mengyuly/dsh-ponytail
48
51
  ```
49
52
 
50
- 装完重启 profile 生效(`dsh web` / `dsh tui`)。装载完成后,会话技能目录里会出现 6 个 `ponytail*` 技能,发 `/ponytail-help` 立即验证。
53
+ 装完重启 profile 生效(例如 `dsh web`)。发 `/ponytail status` 查看实际模式与来源,
54
+ 或 `/ponytail help` 查看命令帮助;两者均不调用模型。默认注册 6 个 `ponytail*` 技能,
55
+ 关闭附加技能后目录相应减少。`/ponytail-help` 是会请求模型工作的技能,不是零调用的安装检查。
56
+
57
+ ### 更新已有安装
58
+
59
+ ```bash
60
+ dsh plugin --profile web update @mengyuly/dsh-ponytail
61
+ ```
62
+
63
+ 更新后重启对应 profile。GitHub、链接或本地 tgz 安装请重新添加所需来源;
64
+ 不要把 npm 更新命令当成改变安装来源的保证。
51
65
 
52
66
  > `lib/index.js` 是自包含 bundle(已内联 `dsh-llm` / `dsh-skill`——npm 无兼容版本),运行时依赖两个已发布的 peer:`@deepseek-ai/cordis`(4.0.1)与 `@deepseek-ai/schemastery`(3.18.x)。`schemastery` 刻意保持外置而非内联:其 schema DSL 用 `new Function` 编译 `callback` 字符串,外置后**发行产物不含任何动态代码执行**(CI 有专门检查)。GitHub / tgz / npm 三种安装方式都不需要 dsh 源码树。
53
67
 
54
- > 说明:`src/` 是源码、`lib/` 是预构建产物(开箱即可加载,无需编译)。源码主仓在 deepseek-harness 的 `packages/community/ponytail`;改源码后用 `DSH_CHECKOUT=/path/to/deepseek-harness node scripts/sync-dist.mjs` 重建并同步完整 `lib/`(见下「发行维护」)。
68
+ > 说明:当前下游源码以本仓库 `src/` 为准,`lib/` 是随包提供的预构建产物。
69
+ > deepseek-harness 的 `packages/community/ponytail` 是历史内联依赖基线。
70
+ > 下游构建使用 `node scripts/build-ui.mjs`;不要用 `sync:dist` 覆盖尚未同步到宿主的下游修改(详见「发行维护」)。
55
71
 
56
72
  ## 功能
57
73
 
58
74
  - **核心模式** `/ponytail` — 每轮注入结构化的懒惰开发者规则集,**三个档位是真实不同的 Prompt 片段**(不只是换一行):
59
75
  - **Common(所有非 off 档共享)**:先把请求转成可观察的完成条件;沿真实调用流取证,但决策阶梯是快速反射、不是研究项目;按“检查 → 修改 → 最窄有效验证 → 检查最终 diff”闭环执行;非平凡逻辑只留一个最小可执行检查,不额外搭测试框架或 fixtures;只汇报已验证结果。
60
76
  - **Safety(任何档位都不可删)**:输入校验、防数据丢失的错误处理、安全措施、无障碍、明确验收项、先理解问题、「最小 diff ≠ 正确修复」。
61
- - **`lite`**:直接执行、减少仪式;完整交付明确要求;可以一句话指出更简方案,但**不挑战明确需求**。
77
+ - **`lite`**:完整交付明确要求,**必须用一句话指出更简方案,由用户选择**;没有可行替代时如实说明,不编造方案,也不擅自改变需求范围。
62
78
  - **`full`(默认)**:完整七级阶梯(YAGNI → 复用 → 标准库 → 原生 → 已装依赖 → 一行 → 最小实现),默认选最短正确实现,修根因而非症状。
63
79
  - **`ultra`**:新增代码前先要证据,优先删除或复用;主动质疑投机性功能/缓存/抽象/配置/新依赖;复杂需求先给最小正确版并说明扩大条件;**不是无脑拒绝**。
64
80
  - `off`:完全不注入。
65
81
  - 档位**会话级**(会话 A 不影响会话 B,会话结束自动释放)。
66
- - 裸 `/ponytail`:已启用时只报告;`off` 时恢复到有效默认档(默认也是 `off` 则回 `full`)。
82
+ - 裸 `/ponytail`:支持原生命令菜单的 Web 会打开模式选择器;其他宿主中,已启用时只报告,`off` 时恢复到有效默认档(默认也是 `off` 则回 `full`)。
67
83
  - `/ponytail status`:只查询、永不修改,并显示当前模式来自会话覆盖还是配置默认值。
68
84
  - `/ponytail reset`:清除当前会话覆盖,重新跟随有效配置默认值。
69
85
  - `/ponytail lite|full|ultra|off`:显式切换。
@@ -168,17 +184,17 @@ Smoke Benchmark 只提供方向性证据(见 `docs/dsh-smoke-summary.md`)。
168
184
  - 档位差异在**规则语义**上(见上),三者 Prompt 体积相近(实测见上表)。
169
185
  - 上游 Claude 专属的 statusline 徽标无 DSH 对应物,MCP 服务器因 DSH 有一等 system-prompt 注入点而弃用。
170
186
  - 用户 `config.json` 热更新;`PONYTAIL_DEFAULT_MODE` 与 Profile config 需重启生效。
171
- - 发行 `lib/` 是预编译产物;改源码请回主仓重建后同步。
187
+ - 发行 `lib/` 是预编译产物;下游修改在本仓库构建,并核对安装包与源码的一致性。
172
188
 
173
189
  ## 兼容矩阵(实测,不虚构)
174
190
 
175
191
  | 组件 | 已验证环境 | 备注 |
176
192
  |---|---|---|
177
193
  | Node.js | 22.x / 24.x | CI 矩阵 4 组合全绿 |
178
- | OS | ubuntu-latest / windows-latest | CI 矩阵 |
194
+ | OS | ubuntu-24.04 / windows-latest | CI 矩阵 |
179
195
  | DSH | commit `b150a551`(构建所用 checkout) | 与正式发布版本的精确对应关系**待确认** |
180
196
  | Cordis | 4.0.1(构建所用 vendor) | 同上 |
181
- | web profile | 已验证 | 本机真实 profile 长期运行 + 三路径隔离安装实测(npm / GitHub / tgz) |
197
+ | web profile | 已验证 | WSL Debian 隔离真实 DSH:加载、保存/重启持久化、优先级、技能开关及命令;npm/pnpm 安装验证 |
182
198
  | tui profile | 未验证 | 未在 tui profile 中启动测试 |
183
199
  | headless profile | 未验证 | 未完整启动;插件单元测试运行于无 UI 环境 |
184
200
  | npm tarball | 已验证 | 内容/版本/安装后 smoke/NodeNext consumer |
@@ -188,7 +204,7 @@ Smoke Benchmark 只提供方向性证据(见 `docs/dsh-smoke-summary.md`)。
188
204
 
189
205
  ## 测试环境与权威关系
190
206
 
191
- - 本机(Linux,Node.js **v24.16.0**,deepseek-harness checkout 构建)与 CI 矩阵(**ubuntu-latest + windows-latest × Node 22/24**)上验证通过。与之精确匹配的已发布 DSH/Cordis 版本**待确认**——checkout 是预发布工作树,非发布 tag。
207
+ - 本机 WSL Debian(Node.js **v24.16.0**,DSH checkout CLI 标识 **0.1.1-rc.2**)、Windows Node 24 与 CI(**ubuntu-24.04 + windows-latest × Node 22/24**)上验证。真实宿主 checkout 为 `b150a551`,不是正式发布 tag;不能据此声称所有 DSH 发布版本都兼容。
192
208
  - 历史宿主构建基线来自 deepseek-harness monorepo 的 `packages/community/ponytail`;当前 `@mengyuly/dsh-ponytail` 的下游适配修改以本仓库 `src/` 为准,随包附构建产物。
193
209
 
194
210
  ## 发行维护
@@ -218,8 +234,10 @@ Smoke Benchmark 只提供方向性证据(见 `docs/dsh-smoke-summary.md`)。
218
234
  ```bash
219
235
  DSH_CHECKOUT=/path/to/deepseek-harness node scripts/sync-dist.mjs
220
236
  ```
221
- 该命令在权威 checkout 中重建(`tsc` 生成声明 + `tsdown` 打包运行时),同步 `lib/index.js`、`lib/invariant.js`、`lib/types/*.d.ts`,生成 `dist-provenance.json`(记录权威 checkout 的真实 commit SHA 与工具链版本),并自动执行一致性校验;产物有变化时会提示提交。**完整构建一致性由本命令在发布流程中完成——发行镜像 CI 不会重新构建权威 monorepo。**
222
- - **CI 能力边界(如实)**:CI(ubuntu + windows 矩阵)执行上述静态验证与打包/消费测试,但**不重新构建权威 monorepo**;`verify:dist` 是导出表面/签名/运行时导出的一致性检查,**不是**与权威构建的字节级等价证明——后者由 `sync:dist` 在发布流程中保证。
237
+ 该命令重建宿主 checkout 的基线,并覆盖本仓库的源码、JS、声明和 provenance。
238
+ **仅在下游修改已经同步到该 checkout、且确认需要完整重建时使用**;不应作为日常下游构建命令。
239
+ - **CI 能力边界(如实)**:CI 执行静态验证、源码/下游产物哈希及打包/消费测试,
240
+ **不重新构建宿主 monorepo**。这些检查不证明当前下游产物等同于宿主基线的全量重新构建,也不证明模型服从率或效率收益。
223
241
  - `dist-provenance.json` 随 npm 包发布,便于审计构建来源。
224
242
  - 本机验证时若 `npm_execpath` 指向其他包管理器(如 pnpm/yarn shim),脚本会自动回退到 PATH 上的 `npm`;临时目录失败时保留需设 `PONYTAIL_VERIFY_KEEP_TEMP=1`。
225
243
  - **安全**:`scripts/**` 仅用于开发/构建/发行验证,**不进入 npm tarball**、无安装生命周期钩子、运行时入口不引用、发布包 `package.json` 不暴露这些维护命令;`child_process` 告警属于可接受的开发工具风险。详见 [SECURITY.md](SECURITY.md)。
package/README_EN.md CHANGED
@@ -23,8 +23,8 @@ not guarantees)”).
23
23
 
24
24
  - **Latest release**:
25
25
  `https://github.com/MengYuil/dsh-ponytail/releases/latest/download/mengyuly-dsh-ponytail.tgz`
26
- - **Pinned version v0.3.4** (immutable per tag):
27
- `https://github.com/MengYuil/dsh-ponytail/releases/download/v0.3.4/mengyuly-dsh-ponytail.tgz`
26
+ - **Pinned version v0.4.1** (immutable per tag):
27
+ `https://github.com/MengYuil/dsh-ponytail/releases/download/v0.4.1/mengyuly-dsh-ponytail.tgz`
28
28
 
29
29
  Notes:
30
30
 
@@ -33,7 +33,7 @@ Notes:
33
33
  the URL never breaks on a version bump — which also means it is **not
34
34
  suitable as an immutable dependency**.
35
35
  - **Pinned version**: good for reproducible installs; the URL pins a tag
36
- (e.g. `v0.3.4`) that is immutable per tag; the asset name is likewise
36
+ (e.g. `v0.4.1`) that is immutable per tag; the asset name is likewise
37
37
  `mengyuly-dsh-ponytail.tgz`.
38
38
  - npm installs still go through the npm Registry or the `dsh plugin` command.
39
39
  - The fixed asset name is produced and verified by
@@ -44,6 +44,9 @@ Notes:
44
44
 
45
45
  Install into a profile (replace `web` with `tui` or a custom name):
46
46
 
47
+ Recommended stable npm install: `dsh plugin --profile web add @mengyuly/dsh-ponytail`.
48
+ To pin this release: `dsh plugin --profile web add @mengyuly/dsh-ponytail@0.4.1`.
49
+
47
50
  ```bash
48
51
  # Option 1: local link (current dsh cores >= 0.1.x)
49
52
  dsh plugin --profile web add link:$(pwd)
@@ -60,9 +63,21 @@ dsh plugin --profile web add file:./mengyuly-dsh-ponytail.tgz
60
63
  dsh plugin --profile web add @mengyuly/dsh-ponytail
61
64
  ```
62
65
 
63
- Restart the profile after installing (`dsh web` / `dsh tui`) for it to take
64
- effect. Once loaded, the session skill catalog shows 6 `ponytail*` skills; send
65
- `/ponytail-help` to verify immediately.
66
+ Restart the profile after installing (for example, `dsh web`). Use
67
+ `/ponytail status` for the effective mode/source or `/ponytail help` for command
68
+ help; neither calls the model. Six `ponytail*` skills are registered by default,
69
+ with disabled optional skills removed from the catalog. `/ponytail-help` is a
70
+ model-backed skill, not a zero-call installation check.
71
+
72
+ ### Updating an existing installation
73
+
74
+ ```bash
75
+ dsh plugin --profile web update @mengyuly/dsh-ponytail
76
+ ```
77
+
78
+ Restart the corresponding profile afterward. For GitHub, linked or local-tgz
79
+ installs, re-add the desired source; the npm update command is not a guarantee
80
+ that the installation source changes.
66
81
 
67
82
  > `lib/index.js` is a self-contained bundle (`dsh-llm` / `dsh-skill` are
68
83
  > already inlined — npm has no compatible versions) with two published
@@ -73,12 +88,10 @@ effect. Once loaded, the session skill catalog shows 6 `ponytail*` skills; send
73
88
  > no dynamic code execution** (CI has a dedicated check). None of the three
74
89
  > install paths — GitHub, tgz, npm — needs a dsh source tree.
75
90
 
76
- > Note: `src/` is the source, `lib/` is the prebuilt artifact (loadable
77
- > out of the box, no build step). The authoritative source lives in the
78
- > deepseek-harness monorepo at `packages/community/ponytail`; after changing
79
- > source, rebuild and sync the full `lib/` with
80
- > `DSH_CHECKOUT=/path/to/deepseek-harness node scripts/sync-dist.mjs`
81
- > (see “Release maintenance” below).
91
+ > This repository's `src/` owns current downstream source; `lib/` ships prebuilt.
92
+ > The monorepo's `packages/community/ponytail` is the historical inlined baseline.
93
+ > Use `node scripts/build-ui.mjs` for downstream builds; do not overwrite local
94
+ > downstream changes with `sync:dist` before they exist in the host checkout.
82
95
 
83
96
  ## Features
84
97
 
@@ -97,8 +110,9 @@ effect. Once loaded, the session skill catalog shows 6 `ponytail*` skills; send
97
110
  explicit acceptance criteria, understanding the problem first, and
98
111
  “minimal diff ≠ correct fix”.
99
112
  - **`lite`**: execute directly, less ceremony; still complete explicit
100
- deliverables; you may point out a simpler approach in one sentence, but
101
- **do not challenge explicit requirements**.
113
+ deliverables; **must name a simpler alternative in one line, leaving the
114
+ choice to the user**. If none works, say so; do not invent an alternative
115
+ or silently change the requested scope.
102
116
  - **`full`** (default): the full seven-rung ladder (YAGNI → reuse → stdlib
103
117
  → native → installed dependencies → one line → minimal implementation);
104
118
  pick the shortest correct implementation by default; fix root causes, not
@@ -111,9 +125,9 @@ effect. Once loaded, the session skill catalog shows 6 `ponytail*` skills; send
111
125
  - `off`: no injection at all.
112
126
  - Levels are **session-scoped** (session A does not affect session B;
113
127
  released automatically when the session ends).
114
- - Bare `/ponytail`: when enabled it only reports; when `off` it restores the
115
- effective default level (falling back to `full` if that default is also
116
- `off`).
128
+ - Bare `/ponytail`: opens a picker in Web hosts with native command-menu
129
+ support. Elsewhere it reports when enabled; from `off` it restores the
130
+ effective default (falling back to `full` if that default is also `off`).
117
131
  - `/ponytail status`: query only, never modifies, and shows whether the
118
132
  current mode comes from a session override or the configured default.
119
133
  - `/ponytail reset`: clears the current session override and follows the
@@ -274,18 +288,18 @@ benchmark provides directional evidence only (see
274
288
  point.
275
289
  - User `config.json` hot-reloads; `PONYTAIL_DEFAULT_MODE` and profile config
276
290
  need a restart.
277
- - The shipped `lib/` is a prebuilt artifact; to change behavior, rebuild in
278
- the main repo and re-sync.
291
+ - The shipped `lib/` is prebuilt; build downstream changes in this repository
292
+ and verify installed/source parity.
279
293
 
280
294
  ## Compatibility matrix (measured, not fabricated)
281
295
 
282
296
  | Component | Verified environment | Notes |
283
297
  |---|---|---|
284
298
  | Node.js | 22.x / 24.x | CI matrix, 4 combinations green |
285
- | OS | ubuntu-latest / windows-latest | CI matrix |
299
+ | OS | ubuntu-24.04 / windows-latest | CI matrix |
286
300
  | DSH | commit `b150a551` (build checkout) | exact mapping to an official release **TBD** |
287
301
  | Cordis | 4.0.1 (build vendor) | same |
288
- | web profile | verified | long-running on a real local profile + three isolated install-path tests (npm / GitHub / tgz) |
302
+ | web profile | verified | isolated real WSL DSH: loading, save/restart persistence, priorities, skill switches and commands; npm/pnpm install checks |
289
303
  | tui profile | not verified | not started inside a tui profile |
290
304
  | headless profile | not verified | not fully started; plugin unit tests run in a UI-less environment |
291
305
  | npm tarball | verified | contents/version/post-install smoke/NodeNext consumer |
@@ -297,10 +311,10 @@ benchmark provides directional evidence only (see
297
311
 
298
312
  ## Test environments and source of truth
299
313
 
300
- - Verified locally (Linux, Node.js **v24.16.0**, deepseek-harness checkout
301
- build) and in the CI matrix (**ubuntu-latest + windows-latest × Node
302
- 22/24**). The exact published DSH/Cordis release they correspond to is
303
- **TBD** — the checkout is a prerelease working tree, not a release tag.
314
+ - Verified with WSL Debian Node **v24.16.0**, checkout CLI **0.1.1-rc.2**,
315
+ Windows Node 24 and CI (**ubuntu-24.04 + windows-latest × Node 22/24**).
316
+ Host checkout `b150a551` is not an official release tag; this does not
317
+ establish compatibility with every published DSH version.
304
318
  - The historical host build baseline is `packages/community/ponytail` in the
305
319
  deepseek-harness monorepo. Current `@mengyuly/dsh-ponytail` downstream changes
306
320
  are maintained in this repository's `src/`, alongside shipped artifacts.
@@ -337,20 +351,14 @@ benchmark provides directional evidence only (see
337
351
  ```bash
338
352
  DSH_CHECKOUT=/path/to/deepseek-harness node scripts/sync-dist.mjs
339
353
  ```
340
- This rebuilds inside the authoritative checkout (`tsc` for declarations +
341
- `tsdown` for the runtime bundle), syncs `lib/index.js`, `lib/invariant.js`,
342
- `lib/types/*.d.ts`, generates `dist-provenance.json` (recording the
343
- authoritative checkout's real commit SHA and toolchain versions), and runs
344
- the consistency checks automatically; it prompts you to commit when
345
- artifacts changed. **Full build consistency is produced by this command in
346
- the release process — the mirror repository's CI never rebuilds the
347
- authoritative monorepo.**
348
- - **CI capability boundary (honest)**: CI (ubuntu + windows matrix) runs the
349
- static verification and pack/consumer tests above, but **does not rebuild
350
- the authoritative monorepo**; `verify:dist` is an export-surface/signature/
351
- runtime-export consistency check, **not** a byte-level equivalence proof
352
- against the authoritative build — that is guaranteed by `sync:dist` in the
353
- release process.
354
+ This rebuilds the host checkout baseline and overwrites this repository's
355
+ source, JS, declarations and provenance. **Use only after downstream changes
356
+ exist in that checkout and a full rebuild is intended**, not as the routine
357
+ downstream build command.
358
+ - **CI capability boundary (honest)**: CI runs static checks, downstream
359
+ source/artifact hashes and pack/consumer tests; it **does not rebuild the
360
+ host monorepo**. These checks establish neither full-rebuild equivalence
361
+ with the host baseline nor model compliance or efficiency gains.
354
362
  - `dist-provenance.json` ships with the npm package for build-source audits.
355
363
  - When verifying locally, if `npm_execpath` points at another package manager
356
364
  (e.g. a pnpm/yarn shim), the scripts fall back to `npm` on PATH; set
@@ -15,12 +15,12 @@
15
15
  "esbuild": "0.28.2",
16
16
  "sha256": {
17
17
  "src/index.ts": "8421733adf8c801c1578b070cf789b5bd77588acbe90403dd69ee5467375c955",
18
- "src/client.ts": "7a2c941b8a85096d863da16982ba9c6b82c709cb0561057f1b221239bbb6688a",
19
- "src/content.ts": "9dc57919da6cbfcf06ae26a19e81bb0299e44d2b9c016d3477572758d9ade375",
18
+ "src/client.ts": "faca913a8b0348e89f67853a1e07bd4eefa0236b491f957c71fea3a914c51271",
19
+ "src/content.ts": "e9f6de036af5233a5ca6ab258be5ba821f8e072065fa43b0c700d2fac42a3095",
20
20
  "src/instructions.ts": "d96deb078f6f633fffb0e3da2750eb9d3afb37bce4cea11145db045c8cceb935",
21
21
  "src/modes.ts": "74b8b885d145759ce17007a054ab6adc295f726f47518f56a3d37de67bd14231",
22
- "lib/index.js": "b5856ca9147b78111edcd9d43be3edec4c15295ddb7539f4bf48244fef7f6ffb",
23
- "lib/client.js": "84ea84dc9a6148e822f9830999cca0229a27b3696ab000394a53cc2fef3454b4"
22
+ "lib/index.js": "b65a606716bc0e1ab0f8d26262eebd07cefe130373e90fae8324b7101ca9b581",
23
+ "lib/client.js": "3a57ec216b96944b404d42fc303e3b7681e9c7b0a909bb25cda98820038aba9c"
24
24
  }
25
25
  }
26
26
  }
package/lib/client.js CHANGED
@@ -35,7 +35,7 @@ var zh = {
35
35
  lite: "Lite \xB7 \u6309\u9700\u6C42\u76F4\u63A5\u5B8C\u6210",
36
36
  modeInfo: "\u67E5\u770B\u6A21\u5F0F\u4ECB\u7ECD",
37
37
  "inherit-detail": "\u4E0D\u6307\u5B9A\u9762\u677F\u9ED8\u8BA4\u6A21\u5F0F\uFF0C\u6CBF\u7528\u5DF2\u6709\u914D\u7F6E\uFF1B\u6CA1\u6709\u914D\u7F6E\u65F6\u4F7F\u7528 Full\u3002",
38
- "lite-detail": "\u76F4\u63A5\u5B8C\u6210\u660E\u786E\u9700\u6C42\uFF0C\u4F18\u5148\u590D\u7528\uFF0C\u4E0D\u4E3A\u51CF\u5C11\u4EE3\u7801\u800C\u6539\u52A8\u73B0\u6709\u67B6\u6784\u3002",
38
+ "lite-detail": "\u5B8C\u6210\u660E\u786E\u9700\u6C42\uFF0C\u5E76\u5FC5\u987B\u7528\u4E00\u53E5\u8BDD\u6307\u51FA\u66F4\u7B80\u5355\u7684\u66FF\u4EE3\u65B9\u6848\uFF0C\u7531\u7528\u6237\u9009\u62E9\uFF1B\u4E0D\u4E3A\u51CF\u5C11\u4EE3\u7801\u800C\u6539\u52A8\u73B0\u6709\u67B6\u6784\u3002",
39
39
  "full-detail": "\u6309\u4E03\u9636\u68AF\u5224\u65AD\uFF1A\u662F\u5426\u5FC5\u8981 \u2192 \u73B0\u6709\u4EE3\u7801 \u2192 \u6807\u51C6\u5E93 \u2192 \u5E73\u53F0\u80FD\u529B \u2192 \u5DF2\u88C5\u4F9D\u8D56 \u2192 \u5C0F\u8868\u8FBE\u5F0F \u2192 \u6700\u5C0F\u65B0\u5B9E\u73B0\u3002",
40
40
  "ultra-detail": "\u66F4\u4E25\u683C\u8981\u6C42\u65B0\u589E\u529F\u80FD\u6216\u62BD\u8C61\u6709\u4F9D\u636E\uFF0C\u4F18\u5148\u5220\u9664\u548C\u590D\u7528\uFF0C\u4F46\u4E0D\u80FD\u7701\u7565\u660E\u786E\u9700\u6C42\u3002",
41
41
  "off-detail": "\u505C\u6B62\u6CE8\u5165 Ponytail \u6838\u5FC3\u89C4\u5219\uFF0C\u4E0D\u5378\u8F7D\u63D2\u4EF6\uFF0C\u4E5F\u4E0D\u81EA\u52A8\u5173\u95ED\u9644\u52A0\u6280\u80FD\u3002",
@@ -62,7 +62,7 @@ var zh = {
62
62
  unavailable: "\u5BBF\u4E3B\u672A\u63D0\u4F9B Ponytail \u8BBE\u7F6E\uFF1B\u8BF7\u4F7F\u7528 /ponytail \u547D\u4EE4\u3002",
63
63
  help: "\u4F7F\u7528\u5E2E\u52A9",
64
64
  helpBody: "/ponytail \u5207\u6362\u5F53\u524D\u4F1A\u8BDD\uFF1B/ponytail status \u67E5\u770B\u5B9E\u9645\u72B6\u6001\u548C\u6765\u6E90\uFF1B/ponytail reset \u6E05\u9664\u4F1A\u8BDD\u8986\u76D6\uFF1B/ponytail help \u663E\u793A\u5E2E\u52A9\u3002\u9644\u52A0\u6280\u80FD\u53EA\u5728\u660E\u786E\u6267\u884C\u65F6\u8BF7\u6C42\u6A21\u578B\u5DE5\u4F5C\u3002",
65
- modeRecommendation: "\u65E5\u5E38\u4F7F\u7528\u63A8\u8350 Full\uFF1A\u5B8C\u6574\u4E03\u9636\u68AF\u7EA6\u675F\uFF0C\u4FDD\u7559\u660E\u786E\u9700\u6C42\u4E0E\u5FC5\u8981\u68C0\u67E5\u3002Lite \u9002\u5408\u76F4\u63A5\u6309\u8981\u6C42\u5B8C\u6210\u3001\u5C11\u8BA8\u8BBA\u66FF\u4EE3\u65B9\u6848\uFF1BUltra \u9002\u5408\u66F4\u4E25\u683C\u63A7\u5236\u65B0\u589E\u590D\u6742\u5EA6\uFF0C\u4E0D\u4EE3\u8868\u6548\u679C\u4E00\u5B9A\u66F4\u597D\u3002\u4E09\u4E2A\u542F\u7528\u6A21\u5F0F\u90FD\u4FDD\u7559\u5B89\u5168\u5E95\u7EBF\u3002",
65
+ modeRecommendation: "\u65E5\u5E38\u4F7F\u7528\u63A8\u8350 Full\uFF1A\u5B8C\u6574\u4E03\u9636\u68AF\u7EA6\u675F\uFF0C\u4FDD\u7559\u660E\u786E\u9700\u6C42\u4E0E\u5FC5\u8981\u68C0\u67E5\u3002Lite \u76F4\u63A5\u5B8C\u6210\u8981\u6C42\uFF0C\u540C\u65F6\u7528\u4E00\u53E5\u8BDD\u6307\u51FA\u66F4\u7B80\u65B9\u6848\uFF0C\u7531\u7528\u6237\u9009\u62E9\uFF1BUltra \u66F4\u4E25\u683C\u63A7\u5236\u65B0\u589E\u590D\u6742\u5EA6\uFF0C\u4E0D\u4EE3\u8868\u6548\u679C\u4E00\u5B9A\u66F4\u597D\u3002\u4E09\u4E2A\u542F\u7528\u6A21\u5F0F\u90FD\u4FDD\u7559\u5B89\u5168\u5E95\u7EBF\u3002",
66
66
  failed: "\u4FDD\u5B58\u5931\u8D25\uFF0C\u4FEE\u6539\u5C1A\u672A\u751F\u6548\uFF1A",
67
67
  status: "\u67E5\u770B\u5F53\u524D\u6A21\u5F0F\u4E0E\u6765\u6E90",
68
68
  sessionReset: "\u5F53\u524D\u4F1A\u8BDD\u8DDF\u968F\u9ED8\u8BA4",
@@ -82,7 +82,7 @@ var en = {
82
82
  lite: "Lite \xB7 Complete the direct ask",
83
83
  modeInfo: "Show mode description",
84
84
  "inherit-detail": "Use existing configuration instead of a panel default; fall back to Full when none is configured.",
85
- "lite-detail": "Complete explicit requirements, favor reuse, and do not change the architecture just to reduce line count.",
85
+ "lite-detail": "Complete explicit requirements and name a simpler alternative in one line; the user chooses. Do not change architecture just to reduce line count.",
86
86
  "full-detail": "Follow seven rungs: necessary? \u2192 existing code \u2192 standard library \u2192 platform feature \u2192 installed dependency \u2192 small expression \u2192 minimal new implementation.",
87
87
  "ultra-detail": "Require stronger evidence for additions and abstractions. Favor deletion and reuse without dropping explicit requirements.",
88
88
  "off-detail": "Stop Ponytail core rule injection without uninstalling the plugin or automatically disabling optional skills.",
@@ -109,7 +109,7 @@ var en = {
109
109
  unavailable: "Ponytail settings are unavailable on this host. Use /ponytail commands.",
110
110
  help: "Help",
111
111
  helpBody: "/ponytail changes this session; /ponytail status shows the actual mode and source; /ponytail reset clears its override; /ponytail help displays help. Optional skills request model work only when explicitly invoked.",
112
- modeRecommendation: "Full is recommended for everyday use: the complete seven-rung approach, with explicit requirements and essential checks intact. Lite favors completing the direct ask with less discussion of alternatives. Ultra is for stricter control of added complexity, not necessarily better results. All three enabled modes preserve safety boundaries.",
112
+ modeRecommendation: "Full is recommended for everyday use: the complete seven-rung approach, with explicit requirements and essential checks intact. Lite completes the direct ask and names a simpler alternative in one line; the user chooses. Ultra is for stricter control of added complexity, not necessarily better results. All three enabled modes preserve safety boundaries.",
113
113
  failed: "Save failed; changes are not active: ",
114
114
  status: "Show current mode and source",
115
115
  sessionReset: "Follow defaults in this session",
package/lib/index.js CHANGED
@@ -1114,7 +1114,7 @@ Display this one-shot reference card. Do not change mode or persist anything.
1114
1114
  | Level | Trigger | What change |
1115
1115
  |-------|---------|-------------|
1116
1116
  | **Lite** | \`/ponytail lite\` | Build what's asked, name the lazier alternative in one line. |
1117
- | **Full** | \`/ponytail\` | The ladder enforced: YAGNI → stdlib → native → one line → minimum. Default. |
1117
+ | **Full** | \`/ponytail full\` | Enforce all seven rungs: YAGNI → existing code → stdlib → native → installed dependency → one line → minimum. Default. |
1118
1118
  | **Ultra** | \`/ponytail ultra\` | YAGNI extremist: deletion first, questions speculation — never cuts explicit requirements. |
1119
1119
  | **Off** | \`/ponytail off\` | Ponytail stops injecting its ruleset for this session. |
1120
1120
 
@@ -1123,9 +1123,9 @@ Level is session-scoped until changed.
1123
1123
  ## Choosing a level
1124
1124
 
1125
1125
  - **Lite**: Use for small, explicit changes or when the implementation is
1126
- already clear. Completes explicit requirements without actively
1127
- challenging them.
1128
- Lite:小改动、需求明确时使用。
1126
+ already clear. Completes explicit requirements and names a simpler
1127
+ alternative in one line; the user chooses.
1128
+ Lite:完成明确需求,必须用一句话指出更简方案,由用户选择。
1129
1129
  - **Full**: Use for new features, refactors, root-cause bug fixes, or tasks
1130
1130
  likely to invite unnecessary abstractions, dependencies, or custom
1131
1131
  components.
package/package.json CHANGED
@@ -1,7 +1,14 @@
1
1
  {
2
2
  "name": "@mengyuly/dsh-ponytail",
3
3
  "description": "Lazy senior dev mode for DeepSeek Harness: always-on minimal-code ruleset, intensity switching, and short review/audit/debt/gain/help skills",
4
- "version": "0.4.0",
4
+ "version": "0.4.1",
5
+ "keywords": [
6
+ "deepseek", "deepseek-harness", "dsh", "dsh-plugin", "ponytail",
7
+ "ai-agent", "agent-plugin", "system-prompt", "prompt-engineering",
8
+ "yagni", "minimal-code", "code-review", "technical-debt"
9
+ ],
10
+ "homepage": "https://github.com/MengYuil/dsh-ponytail#readme",
11
+ "bugs": { "url": "https://github.com/MengYuil/dsh-ponytail/issues" },
5
12
  "publishConfig": {
6
13
  "access": "public"
7
14
  },