@wenaixi/dsh-ponytail 5.2.0 → 5.3.0
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 +14 -1
- package/README.md +13 -15
- package/cordis.patch.yml +0 -1
- package/lib/client.js +21 -8
- package/lib/ponytail-config.d.ts +11 -3
- package/lib/ponytail-config.d.ts.map +1 -1
- package/lib/ponytail-config.js +7 -0
- package/lib/ponytail-config.js.map +1 -1
- package/lib/ponytail-remote.d.ts +1 -1
- package/lib/ponytail-remote.d.ts.map +1 -1
- package/lib/ponytail.d.ts +4 -4
- package/lib/ponytail.d.ts.map +1 -1
- package/lib/ponytail.js +79 -7
- package/lib/ponytail.js.map +1 -1
- package/locale/en.json +3 -0
- package/locale/zh.json +3 -0
- package/package.json +1 -1
- package/skills/ponytail-help/SKILL.md +14 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
## [5.3.0] - 2026-10-06
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
- 安装指引:`dsh plugin add` 不写 profile 的 `cordis.patch.yml`,包自带补丁(`insert:`,bundle 惯例)只作为 overlay 层合进启动树,因此热装后卡片不渲染。文档明确「安装后手动补顶层条目 + 重启宿主」与判据(`--dump-config` 报 `patch: entry not found` / 卡片「不包含任何组件」)。`verify.mjs` 相应把断言从「顶层 `- id: ponytail`」改为「保持 `insert:` 形态」——此前 `feat(skillDescriptionLang 三态化)` 误把包内补丁改成顶层条目,实测会污染 overlay 合成(`patch: entry not found`),已回滚。
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- `skillDescriptionLang` 改为三态语义并去掉 Schema 默认值:未配置(跟随宿主 `locale.preference` 显式选择,仅英文触发对齐、其余兜底中文)与显式中文/英文可区分;面板语言控件新增「跟随宿主(自动)」段。宿主语言运行期变更经 `app-boot/config-reload` 失效技能目录(ADR-0011)。
|
|
11
|
+
|
|
1
12
|
## [5.2.0] - 2026-10-06
|
|
2
13
|
|
|
3
14
|
### Added
|
|
@@ -230,7 +241,9 @@
|
|
|
230
241
|
- 首个 DSH 移植版本:单一插件包,`dsh.bundle.patch` 挂载,`PONYTAIL_DEFAULT_MODE` 三级回退(`review` 不可作默认),全部文案中文化,触发词兼容中英文。
|
|
231
242
|
|
|
232
243
|
[Unreleased]: https://github.com/Wenaixi/dsh-ponytail/compare/v5.1.0...HEAD
|
|
233
|
-
[
|
|
244
|
+
[Unreleased]: https://github.com/Wenaixi/dsh-ponytail/compare/v5.3.0...HEAD
|
|
245
|
+
[5.3.0]: https://github.com/Wenaixi/dsh-ponytail/compare/v5.2.0...v5.3.0
|
|
246
|
+
[5.2.0]: https://github.com/Wenaixi/dsh-ponytail/releases/tag/v5.2.0
|
|
234
247
|
[5.1.0]: https://github.com/Wenaixi/dsh-ponytail/releases/tag/v5.1.0
|
|
235
248
|
[5.0.0]: https://github.com/Wenaixi/dsh-ponytail/compare/v4.10.0-dsh.12...v5.0.0
|
|
236
249
|
[4.10.0-dsh.12]: https://github.com/Wenaixi/dsh-ponytail/compare/v4.10.0-dsh.11...v4.10.0-dsh.12
|
package/README.md
CHANGED
|
@@ -36,26 +36,22 @@ dsh --profile web --dump-config | grep -A2 ponytail
|
|
|
36
36
|
|
|
37
37
|
若插件卡片只有包名、没有标题描述图标,说明包的 `exports` 没放行 `./package.json` 与 `./locale/*.json`。这是 DSH 读取展示元信息的硬约束,与安装本身无关。
|
|
38
38
|
|
|
39
|
-
###
|
|
39
|
+
### 安装后:把补丁条目写到顶层
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
`dsh plugin add` 只把插件装进 `package.json`,**不写** profile 的 `cordis.patch.yml`。插件包自带的补丁是 `insert:` 列表(bundle 惯例),会被宿主当作 overlay 层合进启动树——因此**热装后 boot 有条目、技能与命令可用,但配置卡片不会渲染**。
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
- insert:
|
|
45
|
-
- id: ponytail
|
|
46
|
-
name: "@wenaixi/dsh-ponytail"
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
**卡片能渲染不等于能写配置。** 宿主的配置编辑器只管理顶层条目的 `config` 块,`insert` 里的条目永远判为被覆盖,面板显示「本部署没有接受这次修改」。要能写,条目得是顶层:
|
|
43
|
+
要让配置卡片出现(并让面板的写入真正落盘),手动在 profile 的 `cordis.patch.yml` 里补一条顶层条目:
|
|
50
44
|
|
|
51
45
|
```yaml
|
|
52
46
|
- id: ponytail
|
|
53
47
|
name: "@wenaixi/dsh-ponytail"
|
|
54
|
-
config:
|
|
55
|
-
defaultMode: full # off|lite|full|ultra
|
|
56
48
|
```
|
|
57
49
|
|
|
58
|
-
|
|
50
|
+
然后重启宿主(补丁条目在启动时合成,运行中改不热生效)。卡片出现后如需默认档,再在 `config` 下补字段,或直接在面板里点。
|
|
51
|
+
|
|
52
|
+
**判据**:装完刷浏览器,插件列表里懒人模式卡片是「不包含任何组件」或干脆不出现、点不开配置面板——先查这里。`dsh --profile <name> --dump-config | grep -A2 ponytail` 若报 `patch: entry "ponytail" not found`,同样是这条顶层条目缺失的信号。
|
|
53
|
+
|
|
54
|
+
宿主的判定在 `dsh-config-editor` 的 `edit()`:它只为 profile 顶层条目管理 `config` 块,`insert` 里的条目永远判为被覆盖,面板显示「本部署没有接受这次修改」。本插件面板不显示只读横幅,所以那句拒绝提示是唯一判据。
|
|
59
55
|
|
|
60
56
|
## 用法
|
|
61
57
|
|
|
@@ -92,8 +88,10 @@ dsh --profile web '<任务>'
|
|
|
92
88
|
不适用,已就地改写为真实落点:`ponytail-gain` 的数据来源指向 `assets/*.svg`(本仓无上游的
|
|
93
89
|
`benchmarks/`),`ponytail-help` 的配置与更新章节改为 profile 补丁与 `dsh plugin`。
|
|
94
90
|
|
|
95
|
-
模型目录与配置面板看到的是同一个描述字符串,语言由 `skillDescriptionLang`
|
|
96
|
-
|
|
91
|
+
模型目录与配置面板看到的是同一个描述字符串,语言由 `skillDescriptionLang` 决定
|
|
92
|
+
(三态:显式中文 / 显式英文 / 未配置)。未配置时跟随宿主语言 `locale.preference` 的显式选择
|
|
93
|
+
(仅英文触发对齐,其余兜底中文);显式选择即锁定。两套描述的真源是
|
|
94
|
+
`skills/descriptions.zh.json` 与 `skills/descriptions.en.json`,
|
|
97
95
|
经 `ctx.remote.ponytail.snapshot()` 下发,因此切换后模型侧与界面同时改变。
|
|
98
96
|
|
|
99
97
|
描述长度上限来自官方 `dsh-tool-skill` 的 `catalogDescriptionMaxLength`(默认 500),
|
|
@@ -153,7 +151,7 @@ dsh --profile web --patch ./cordis.patch.yml --dump-config # 只验证补丁解
|
|
|
153
151
|
pnpm dsh web --patch ./cordis.patch.yml # 热重载
|
|
154
152
|
```
|
|
155
153
|
|
|
156
|
-
本地版本用独立的标准 SemVer,`pnpm version:bump` 递增 patch,`pnpm version:set -- 5.
|
|
154
|
+
本地版本用独立的标准 SemVer,`pnpm version:bump` 递增 patch,`pnpm version:set -- 5.3.0` 指定版本。旧的 `-dsh.N` 不再生成。上游发布不会改变本地版本号,是否吸收上游变化由本地兼容性评估决定。
|
|
157
155
|
|
|
158
156
|
发布只走 tag 触发的 CI。严禁本地 `npm publish`,push 与打 tag 都需要明确授权。
|
|
159
157
|
|
package/cordis.patch.yml
CHANGED
package/lib/client.js
CHANGED
|
@@ -12,8 +12,8 @@ window.__ModuleLoader__.load({
|
|
|
12
12
|
// 官方 locale 接入:注册 ponytail 命名空间双语字典(真源 locale/*.json,构建期内嵌)
|
|
13
13
|
// 技能描述不翻译(用户边界):由 configForms 快照与快照通道下发,字典不含技能描述键
|
|
14
14
|
var NS = "ponytail";
|
|
15
|
-
var ZH = {"button.reset":"恢复默认配置","chain.hit":"生效中","chain.shadowed":"被覆盖","chain.unset":"未设置","chain.valueUnset":"(未设置)","confirm.reset":"确定恢复默认配置吗?等级回到标准(full),并重新启用全部 6 个技能。","error.operation":"操作失败:","error.rejected":"本部署没有接受这次修改,值已保留供你核对。","lang.changed":"技能描述语言已切为「{name}」","lang.en":"English","lang.title":"技能描述语言","lang.zh":"中文","level.env":"环境变量","level.fallback":"内置兜底","level.patch":"Profile 补丁","meta":{"title":"懒人模式","description":"常驻懒人资深开发者模式与七阶梯子(YAGNI 到最小实现),6 个中文原生技能(本体、评审、审计、债务、收益、帮助),零 Tool 注册。"},"meta.description":"DietrichGebert/ponytail 的 DSH 完整移植:常驻懒人 senior 模式与七阶梯子(YAGNI 到最小实现),6 个中文原生技能(本体、评审、审计、债务、收益、帮助),零 tool 注册。","meta.title":"懒人模式(ponytail)","mode.full":"标准","mode.hint":"控制梯子提示词的注入强度,改动即时生效并写入配置文件,对所有会话生效。","mode.lite":"轻量","mode.lockedHint":"当前有更高优先级的配置在生效,此处的修改不会改变实际运行等级。","mode.off":"关闭","mode.title":"运行强度等级","mode.ultra":"激进","mode.unset":"未设置","mode.unsetHint":"Profile 补丁未配置运行等级,当前由内置兜底决定。点上方任一档位即写入补丁。","panel.title":"懒人模式配置","priority.intro":"运行等级按下列顺序取第一个有效值;被更高优先级压制的项,在界面上修改不会生效。当前生效:","priority.title":"配置优先级","priority.unavailable":"诊断信息不可用,请确认宿主版本已包含优先级诊断接口。","problem.env":"值无效,已忽略","problem.patch":"值无效,已忽略","skills.enabledToast":"技能 {name} 已启用","skills.hiddenToast":"技能 {name} 已隐藏","skills.hint":"关闭后该技能不会出现在斜杠菜单,也不会被模型加载。","skills.title":"原生技能开关","skills.toggleOn":"启用 {name}","state.loading":"读取中…","state.readOnly":"本部署的设置为只读。","state.saved":"配置保存在当前 profile 的 ponytail 目录","toast.modeChanged":"运行等级已切为「{name}」","toast.resetDone":"已恢复默认配置"};
|
|
16
|
-
var EN = {"button.reset":"Restore defaults","chain.hit":"In effect","chain.shadowed":"Shadowed","chain.unset":"Unset","chain.valueUnset":"(unset)","confirm.reset":"Restore default config? Level returns to Standard (full) and all 6 skills are re-enabled.","error.operation":"Operation failed: ","error.rejected":"This deployment did not accept the change; your value was kept for you to review.","lang.changed":"Skill description language switched to {name}","lang.en":"English","lang.title":"Skill description language","lang.zh":"中文","level.env":"Environment variable","level.fallback":"Built-in fallback","level.patch":"Profile patch","meta":{"title":"Lazy Senior Dev Mode","description":"Persistent lazy senior developer mode with a seven-rung ladder (YAGNI down to the smallest implementation), six native skills, and zero tool registration."},"meta.description":"A full DSH port of DietrichGebert/ponytail: the always-on lazy senior developer mode and its seven-rung ladder (YAGNI down to the minimum implementation), with six native Chinese skills (core, review, audit, debt, gain, help) and zero tool registrations.","meta.title":"Ponytail (lazy senior mode)","mode.full":"Standard","mode.hint":"Controls how strongly the ladder prompt is injected. Changes apply immediately and are written to the config file for all sessions.","mode.lite":"Lite","mode.lockedHint":"A higher-priority configuration is in effect; changes here will not affect the actual runtime level.","mode.off":"Off","mode.title":"Intensity Level","mode.ultra":"Ultra","mode.unset":"Unset","mode.unsetHint":"The profile patch has no intensity level; the built-in fallback decides it now. Picking any level above writes it to the patch.","panel.title":"Lazy Senior Dev Mode settings","priority.intro":"The runtime level takes the first valid value in the following order; items shadowed by a higher-priority source cannot be changed from the UI. Current: ","priority.title":"Config Priority","priority.unavailable":"Diagnostics unavailable. Please confirm the host version ships the priority diagnostics endpoint.","problem.env":"Invalid value, ignored","problem.patch":"Invalid value, ignored","skills.enabledToast":"Skill {name} enabled","skills.hiddenToast":"Skill {name} hidden","skills.hint":"Disabled skills disappear from the slash menu and are not loaded by the model.","skills.title":"Native Skills","skills.toggleOn":"Enable {name}","state.loading":"Loading…","state.readOnly":"This deployment stores settings read-only.","state.saved":"Config is stored in the ponytail directory of the current profile","toast.modeChanged":"Level switched to {name}","toast.resetDone":"Defaults restored"};
|
|
15
|
+
var ZH = {"button.reset":"恢复默认配置","chain.hit":"生效中","chain.shadowed":"被覆盖","chain.unset":"未设置","chain.valueUnset":"(未设置)","confirm.reset":"确定恢复默认配置吗?等级回到标准(full),并重新启用全部 6 个技能。","error.operation":"操作失败:","error.rejected":"本部署没有接受这次修改,值已保留供你核对。","lang.auto":"跟随宿主(自动)","lang.changed":"技能描述语言已切为「{name}」","lang.en":"English","lang.followHost":"已切为跟随宿主语言","lang.title":"技能描述语言","lang.unsetHint":"未配置:当前跟随宿主语言({lang}),可在上方显式切换","lang.zh":"中文","level.env":"环境变量","level.fallback":"内置兜底","level.patch":"Profile 补丁","meta":{"title":"懒人模式","description":"常驻懒人资深开发者模式与七阶梯子(YAGNI 到最小实现),6 个中文原生技能(本体、评审、审计、债务、收益、帮助),零 Tool 注册。"},"meta.description":"DietrichGebert/ponytail 的 DSH 完整移植:常驻懒人 senior 模式与七阶梯子(YAGNI 到最小实现),6 个中文原生技能(本体、评审、审计、债务、收益、帮助),零 tool 注册。","meta.title":"懒人模式(ponytail)","mode.full":"标准","mode.hint":"控制梯子提示词的注入强度,改动即时生效并写入配置文件,对所有会话生效。","mode.lite":"轻量","mode.lockedHint":"当前有更高优先级的配置在生效,此处的修改不会改变实际运行等级。","mode.off":"关闭","mode.title":"运行强度等级","mode.ultra":"激进","mode.unset":"未设置","mode.unsetHint":"Profile 补丁未配置运行等级,当前由内置兜底决定。点上方任一档位即写入补丁。","panel.title":"懒人模式配置","priority.intro":"运行等级按下列顺序取第一个有效值;被更高优先级压制的项,在界面上修改不会生效。当前生效:","priority.title":"配置优先级","priority.unavailable":"诊断信息不可用,请确认宿主版本已包含优先级诊断接口。","problem.env":"值无效,已忽略","problem.patch":"值无效,已忽略","skills.enabledToast":"技能 {name} 已启用","skills.hiddenToast":"技能 {name} 已隐藏","skills.hint":"关闭后该技能不会出现在斜杠菜单,也不会被模型加载。","skills.title":"原生技能开关","skills.toggleOn":"启用 {name}","state.loading":"读取中…","state.readOnly":"本部署的设置为只读。","state.saved":"配置保存在当前 profile 的 ponytail 目录","toast.modeChanged":"运行等级已切为「{name}」","toast.resetDone":"已恢复默认配置"};
|
|
16
|
+
var EN = {"button.reset":"Restore defaults","chain.hit":"In effect","chain.shadowed":"Shadowed","chain.unset":"Unset","chain.valueUnset":"(unset)","confirm.reset":"Restore default config? Level returns to Standard (full) and all 6 skills are re-enabled.","error.operation":"Operation failed: ","error.rejected":"This deployment did not accept the change; your value was kept for you to review.","lang.auto":"Follow host (auto)","lang.changed":"Skill description language switched to {name}","lang.en":"English","lang.followHost":"Now following the host language","lang.title":"Skill description language","lang.unsetHint":"Not set: follows the host language ({lang}); switch explicitly above","lang.zh":"中文","level.env":"Environment variable","level.fallback":"Built-in fallback","level.patch":"Profile patch","meta":{"title":"Lazy Senior Dev Mode","description":"Persistent lazy senior developer mode with a seven-rung ladder (YAGNI down to the smallest implementation), six native skills, and zero tool registration."},"meta.description":"A full DSH port of DietrichGebert/ponytail: the always-on lazy senior developer mode and its seven-rung ladder (YAGNI down to the minimum implementation), with six native Chinese skills (core, review, audit, debt, gain, help) and zero tool registrations.","meta.title":"Ponytail (lazy senior mode)","mode.full":"Standard","mode.hint":"Controls how strongly the ladder prompt is injected. Changes apply immediately and are written to the config file for all sessions.","mode.lite":"Lite","mode.lockedHint":"A higher-priority configuration is in effect; changes here will not affect the actual runtime level.","mode.off":"Off","mode.title":"Intensity Level","mode.ultra":"Ultra","mode.unset":"Unset","mode.unsetHint":"The profile patch has no intensity level; the built-in fallback decides it now. Picking any level above writes it to the patch.","panel.title":"Lazy Senior Dev Mode settings","priority.intro":"The runtime level takes the first valid value in the following order; items shadowed by a higher-priority source cannot be changed from the UI. Current: ","priority.title":"Config Priority","priority.unavailable":"Diagnostics unavailable. Please confirm the host version ships the priority diagnostics endpoint.","problem.env":"Invalid value, ignored","problem.patch":"Invalid value, ignored","skills.enabledToast":"Skill {name} enabled","skills.hiddenToast":"Skill {name} hidden","skills.hint":"Disabled skills disappear from the slash menu and are not loaded by the model.","skills.title":"Native Skills","skills.toggleOn":"Enable {name}","state.loading":"Loading…","state.readOnly":"This deployment stores settings read-only.","state.saved":"Config is stored in the ponytail directory of the current profile","toast.modeChanged":"Level switched to {name}","toast.resetDone":"Defaults restored"};
|
|
17
17
|
// t 在 apply 时经 ctx.locale.bind 赋值;组件读取 factory 级变量(不接收 ctx,铁律)
|
|
18
18
|
var localeCtx = null;
|
|
19
19
|
var t = function (key, params) {
|
|
@@ -361,9 +361,22 @@ window.__ModuleLoader__.load({
|
|
|
361
361
|
return s.level === "env" && s.hit;
|
|
362
362
|
}));
|
|
363
363
|
|
|
364
|
-
//
|
|
365
|
-
|
|
364
|
+
// 描述语言:三态(src/ponytail.ts 已去 Schema 默认值)。快照里读得到字段 = 显式配置
|
|
365
|
+
// (zh/en,锁定);读不到 = 未配置(跟随宿主,控件显示「跟随宿主」段)。
|
|
366
|
+
// remote.skillLang 是服务端解析后的实际语言(显式值或按宿主对齐值),
|
|
367
|
+
// 未配置时用它提示「当前跟随到 zh/en」。
|
|
368
|
+
var descLangConfigured = typeof config.skillDescriptionLang === "string";
|
|
369
|
+
var descLang = descLangConfigured ? config.skillDescriptionLang : "auto";
|
|
370
|
+
var descLangOptions = [
|
|
371
|
+
{ value: "zh", label: t("lang.zh") },
|
|
372
|
+
{ value: "en", label: t("lang.en") },
|
|
373
|
+
];
|
|
374
|
+
if (!descLangConfigured) descLangOptions.push({ value: "auto", label: t("lang.auto") });
|
|
366
375
|
var setDescLang = React.useCallback(function (lang) {
|
|
376
|
+
if (lang === "auto") {
|
|
377
|
+
applyOps([{ op: "unset", path: ["skillDescriptionLang"] }], t("lang.followHost"));
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
367
380
|
applyOps([{ op: "set", path: ["skillDescriptionLang"], value: lang }],
|
|
368
381
|
t("lang.changed", { name: t("lang." + lang) }));
|
|
369
382
|
}, [applyOps]);
|
|
@@ -410,13 +423,13 @@ window.__ModuleLoader__.load({
|
|
|
410
423
|
id: "ponytail-desc-lang",
|
|
411
424
|
label: t("lang.title"),
|
|
412
425
|
value: descLang,
|
|
413
|
-
options:
|
|
414
|
-
{ value: "zh", label: t("lang.zh") },
|
|
415
|
-
{ value: "en", label: t("lang.en") },
|
|
416
|
-
],
|
|
426
|
+
options: descLangOptions,
|
|
417
427
|
disabled: busy || !writable,
|
|
418
428
|
onChange: setDescLang,
|
|
419
429
|
}),
|
|
430
|
+
!descLangConfigured
|
|
431
|
+
? e("p", { style: L.hint }, t("lang.unsetHint", { lang: t("lang." + (remote && (remote.skillLang === "en" || remote.skillLang === "zh") ? remote.skillLang : "zh")) }))
|
|
432
|
+
: null,
|
|
420
433
|
e(
|
|
421
434
|
"div",
|
|
422
435
|
{ style: { display: "flex", flexDirection: "column", gap: "6px" } },
|
package/lib/ponytail-config.d.ts
CHANGED
|
@@ -91,13 +91,21 @@ export interface PonytailConfig {
|
|
|
91
91
|
/** 默认强度,off 则不自动激活(volatile 引用) */
|
|
92
92
|
defaultMode?: VolatileRef<'off' | 'lite' | 'full' | 'ultra'>;
|
|
93
93
|
/**
|
|
94
|
-
* 技能描述下发给模型目录与配置面板的语言(volatile
|
|
94
|
+
* 技能描述下发给模型目录与配置面板的语言(volatile 引用,三态语义)。
|
|
95
95
|
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
96
|
+
* 三态:显式 'zh' / 显式 'en' / 未配置(引用包 undefined → 运行时 'auto')。
|
|
97
|
+
* 不带 Schema 默认值:未配置必须与显式 zh 可区分——未配置时语言跟随宿主
|
|
98
|
+
* locale.preference(见 ponytail.ts 的 resolveSkillLang),显式 zh 则锁定。
|
|
98
99
|
*/
|
|
99
100
|
skillDescriptionLang?: VolatileRef<'zh' | 'en'>;
|
|
100
101
|
}
|
|
102
|
+
/** 技能描述语言的有效值域:'auto' 仅作为「未配置」的运行时解析态,不落盘。 */
|
|
103
|
+
export type SkillLangSetting = 'zh' | 'en' | 'auto';
|
|
104
|
+
/**
|
|
105
|
+
* 配置值归一:undefined/非法 → 'auto'(未配置,由调用方决定跟随宿主或兜底 zh),
|
|
106
|
+
* zh/en 原样。纯函数,零 I/O;宿主语言对齐逻辑在 ponytail.ts(本模块不读任何服务)。
|
|
107
|
+
*/
|
|
108
|
+
export declare function resolveSkillLang(raw: VolatileRef<'zh' | 'en'> | 'zh' | 'en' | undefined): SkillLangSetting;
|
|
101
109
|
/**
|
|
102
110
|
* 读一个可能是 volatile 引用、可能是裸值、也可能读到 undefined 的字段。
|
|
103
111
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ponytail-config.d.ts","sourceRoot":"","sources":["../src/ponytail-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,eAAO,MAAM,YAAY,SAAS,CAAA;AAClC,eAAO,MAAM,aAAa,2CAA4C,CAAA;AAEtE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAI9D;AAID,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9C;AAMD,mEAAmE;AACnE,eAAO,MAAM,YAAY,aAAa,CAAA;AAetC;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAKjH;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWrE;AAED,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CAiB/D;AAGD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB;AA0BD,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CAElE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CA8B1G;AAED,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAK1E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAMtF;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,GAAG,IAAI,CAAC,CAAA;CACT;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;IACtC,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mCAAmC;IACnC,WAAW,CAAC,EAAE,WAAW,CAAC,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IAC5D
|
|
1
|
+
{"version":3,"file":"ponytail-config.d.ts","sourceRoot":"","sources":["../src/ponytail-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,eAAO,MAAM,YAAY,SAAS,CAAA;AAClC,eAAO,MAAM,aAAa,2CAA4C,CAAA;AAEtE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAI9D;AAID,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9C;AAMD,mEAAmE;AACnE,eAAO,MAAM,YAAY,aAAa,CAAA;AAetC;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAKjH;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWrE;AAED,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CAiB/D;AAGD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB;AA0BD,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CAElE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CA8B1G;AAED,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAK1E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAMtF;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,GAAG,IAAI,CAAC,CAAA;CACT;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;IACtC,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mCAAmC;IACnC,WAAW,CAAC,EAAE,WAAW,CAAC,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IAC5D;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;CAChD;AAED,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;AAEnD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,GACtD,gBAAgB,CAElB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAMpF"}
|
package/lib/ponytail-config.js
CHANGED
|
@@ -203,6 +203,13 @@ export function writeDefaultMode(mode, profileDir) {
|
|
|
203
203
|
return null;
|
|
204
204
|
return normalized;
|
|
205
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* 配置值归一:undefined/非法 → 'auto'(未配置,由调用方决定跟随宿主或兜底 zh),
|
|
208
|
+
* zh/en 原样。纯函数,零 I/O;宿主语言对齐逻辑在 ponytail.ts(本模块不读任何服务)。
|
|
209
|
+
*/
|
|
210
|
+
export function resolveSkillLang(raw) {
|
|
211
|
+
return raw === 'en' ? 'en' : raw === 'zh' ? 'zh' : 'auto';
|
|
212
|
+
}
|
|
206
213
|
/**
|
|
207
214
|
* 读一个可能是 volatile 引用、可能是裸值、也可能读到 undefined 的字段。
|
|
208
215
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ponytail-config.js","sourceRoot":"","sources":["../src/ponytail-config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ponytail-config.js","sourceRoot":"","sources":["../src/ponytail-config.ts"],"names":[],"mappings":"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"}
|
package/lib/ponytail-remote.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export interface PonytailRemoteSnapshot {
|
|
|
40
40
|
currentMode: string;
|
|
41
41
|
/** 三级优先级诊断链 */
|
|
42
42
|
priority: PriorityReport;
|
|
43
|
-
/**
|
|
43
|
+
/** 技能描述语言(服务端解析后的有效语言:显式值或按宿主对齐值;面板据此展示) */
|
|
44
44
|
skillLang: SkillLang;
|
|
45
45
|
/** 6 个技能元数据,描述已按 skillLang 取好 */
|
|
46
46
|
skills: SkillMeta[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ponytail-remote.d.ts","sourceRoot":"","sources":["../src/ponytail-remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EAAU,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,mDAAmD;AACnD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;AAiCnC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAQ3D;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAgBrF;AAED,yEAAyE;AACzE,MAAM,WAAW,sBAAsB;IACrC,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe;IACf,QAAQ,EAAE,cAAc,CAAA;IACxB,
|
|
1
|
+
{"version":3,"file":"ponytail-remote.d.ts","sourceRoot":"","sources":["../src/ponytail-remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EAAU,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,mDAAmD;AACnD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;AAiCnC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAQ3D;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAgBrF;AAED,yEAAyE;AACzE,MAAM,WAAW,sBAAsB;IACrC,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe;IACf,QAAQ,EAAE,cAAc,CAAA;IACxB,4CAA4C;IAC5C,SAAS,EAAE,SAAS,CAAA;IACpB,iCAAiC;IACjC,MAAM,EAAE,SAAS,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,IAAI,sBAAsB,CAAA;CACnC;AAED;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;gBAE7B,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB;IAMlD,QAAQ,IAAI,sBAAsB;CAGnC"}
|
package/lib/ponytail.d.ts
CHANGED
|
@@ -16,13 +16,13 @@ export declare const Config: Schema<Schemastery.ObjectS<NoInfer<{
|
|
|
16
16
|
skillDir: Schema<string, string, "plain">;
|
|
17
17
|
defaultMode: Schema<"full" | "off" | "lite" | "ultra", "full" | "off" | "lite" | "ultra", "volatile">;
|
|
18
18
|
disabledSkills: Schema<NoInfer<string[]>, NoInfer<string[]>, "volatile">;
|
|
19
|
-
skillDescriptionLang: Schema<"zh" | "en", "zh" | "en", "volatile
|
|
19
|
+
skillDescriptionLang: Schema<"zh" | "en", "zh" | "en", "volatile">;
|
|
20
20
|
}>>, Schemastery.ObjectT<NoInfer<{
|
|
21
21
|
providerName: Schema<string, string, "defined">;
|
|
22
22
|
skillDir: Schema<string, string, "plain">;
|
|
23
23
|
defaultMode: Schema<"full" | "off" | "lite" | "ultra", "full" | "off" | "lite" | "ultra", "volatile">;
|
|
24
24
|
disabledSkills: Schema<NoInfer<string[]>, NoInfer<string[]>, "volatile">;
|
|
25
|
-
skillDescriptionLang: Schema<"zh" | "en", "zh" | "en", "volatile
|
|
25
|
+
skillDescriptionLang: Schema<"zh" | "en", "zh" | "en", "volatile">;
|
|
26
26
|
}>>, "plain">;
|
|
27
27
|
export declare const name = "ponytail";
|
|
28
28
|
export declare const inject: readonly ["skills", "systemPrompt"];
|
|
@@ -35,13 +35,13 @@ declare const _default: {
|
|
|
35
35
|
skillDir: Schema<string, string, "plain">;
|
|
36
36
|
defaultMode: Schema<"full" | "off" | "lite" | "ultra", "full" | "off" | "lite" | "ultra", "volatile">;
|
|
37
37
|
disabledSkills: Schema<NoInfer<string[]>, NoInfer<string[]>, "volatile">;
|
|
38
|
-
skillDescriptionLang: Schema<"zh" | "en", "zh" | "en", "volatile
|
|
38
|
+
skillDescriptionLang: Schema<"zh" | "en", "zh" | "en", "volatile">;
|
|
39
39
|
}>>, Schemastery.ObjectT<NoInfer<{
|
|
40
40
|
providerName: Schema<string, string, "defined">;
|
|
41
41
|
skillDir: Schema<string, string, "plain">;
|
|
42
42
|
defaultMode: Schema<"full" | "off" | "lite" | "ultra", "full" | "off" | "lite" | "ultra", "volatile">;
|
|
43
43
|
disabledSkills: Schema<NoInfer<string[]>, NoInfer<string[]>, "volatile">;
|
|
44
|
-
skillDescriptionLang: Schema<"zh" | "en", "zh" | "en", "volatile
|
|
44
|
+
skillDescriptionLang: Schema<"zh" | "en", "zh" | "en", "volatile">;
|
|
45
45
|
}>>, "plain">;
|
|
46
46
|
apply: typeof apply;
|
|
47
47
|
};
|
package/lib/ponytail.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ponytail.d.ts","sourceRoot":"","sources":["../src/ponytail.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAE7C,OAAO,
|
|
1
|
+
{"version":3,"file":"ponytail.d.ts","sourceRoot":"","sources":["../src/ponytail.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAE7C,OAAO,EAOL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAA;AAkB7B,MAAM,MAAM,MAAM,GAAG,cAAc,CAAA;AAInC,eAAO,MAAM,MAAM;;;;;;;;;;;;aAqBjB,CAAA;AAMF,eAAO,MAAM,IAAI,aAAa,CAAA;AAC9B,eAAO,MAAM,MAAM,qCAAsC,CAAA;AA0DzD,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAqB,GAAG,IAAI,CA0WvE;;;;;;;;;;;;;;;;;;;AAED,wBAA8C"}
|
package/lib/ponytail.js
CHANGED
|
@@ -11,7 +11,7 @@ import { rename } from 'node:fs/promises';
|
|
|
11
11
|
import { resolve } from 'node:path';
|
|
12
12
|
import { fileURLToPath } from 'node:url';
|
|
13
13
|
import Schema from '@deepseek-ai/schemastery';
|
|
14
|
-
import { getSharedConfigPath, isShellSafe, normalizeMode, readFullConfig, readVolatile, } from './ponytail-config.js';
|
|
14
|
+
import { getSharedConfigPath, isShellSafe, normalizeMode, readFullConfig, readVolatile, resolveSkillLang, } from './ponytail-config.js';
|
|
15
15
|
import { createFileSink, createSettingsSink, migrateLegacyConfig, } from './ponytail-settings.js';
|
|
16
16
|
import { resolvePriority } from './ponytail-priority.js';
|
|
17
17
|
import { createCommandDispatcher } from './ponytail-commands.js';
|
|
@@ -37,9 +37,11 @@ export const Config = Schema.object({
|
|
|
37
37
|
// 技能禁用列表此前只存在 config.json(HTTP 端点专属)。迁入 Config 后由官方表单承载,
|
|
38
38
|
// 获得 revision 冲突保护与跨页面同步;旧值由 ponytail-settings 的 migrateLegacyConfig 一次性导入。
|
|
39
39
|
disabledSkills: Schema.array(Schema.string()).volatile(),
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
|
|
40
|
+
// 技能描述下发给模型目录与面板的语言。三态:显式 zh / 显式 en / 未配置。
|
|
41
|
+
// 不给 Schema 默认值:默认值会让「未配置」与「显式选了 zh」不可区分,
|
|
42
|
+
// 而两者语义不同——未配置时跟随宿主语言 locale.preference(见 resolveSkillLang),
|
|
43
|
+
// 显式 zh 则锁定。字段仍 volatile:面板改完由 loader 就地提交,不必重启。
|
|
44
|
+
skillDescriptionLang: Schema.union(['zh', 'en']).volatile(),
|
|
43
45
|
});
|
|
44
46
|
// ---------------------------------------------------------------------------
|
|
45
47
|
// 插件元信息
|
|
@@ -119,6 +121,60 @@ export function apply(ctx, config = {}) {
|
|
|
119
121
|
// 无 settings 服务的组合(headless / CLI —— dsh-base 的 settings 行在无 profileContext 时禁用)
|
|
120
122
|
// 静默回退 config.json 文件通道,不能因迁移而让这些组合失去配置能力。
|
|
121
123
|
const settingsService = readService(ctx, 'settings');
|
|
124
|
+
// 宿主语言偏好:locale 命名空间的 volatile 字段 preference(dsh-client-locale)。
|
|
125
|
+
// 只在用户于宿主设置里显式选过语言时落盘(浏览器 navigator.language 探测不落盘、
|
|
126
|
+
// 宿主侧读不到,因此不作为对齐源)。describe() 在 dsh-settings 返回 descriptors 数组
|
|
127
|
+
// (含 ns/value),createSettingsSink 的 SettingsLike 形状兼容数组与 { namespaces } 两种。
|
|
128
|
+
// 注意:settings 不在本插件 inject 列表(headless/CLI 组合没有该服务,不能 PENDING),
|
|
129
|
+
// 而属性读未 inject 的兄弟 fiber 服务在 cordis get trap 里走 isolate 隔离会抛错
|
|
130
|
+
// (cannot get property "settings" without inject,readService 吞掉变 undefined)。
|
|
131
|
+
// 官方无 inject 读取是 ctx.get(name)(Service.get:直接查 store,不要求 inject),
|
|
132
|
+
// 因此这里用 ctx.get('settings') 优先,属性读仅作兜底。每次求值现读不缓存。
|
|
133
|
+
const hostLocalePreference = () => {
|
|
134
|
+
const svc = (() => {
|
|
135
|
+
try {
|
|
136
|
+
const c = ctx;
|
|
137
|
+
if (typeof c.get === 'function') {
|
|
138
|
+
const s = c.get('settings', false);
|
|
139
|
+
if (s !== undefined && s !== null)
|
|
140
|
+
return s;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
// 继续走属性读兜底
|
|
145
|
+
}
|
|
146
|
+
return readService(ctx, 'settings');
|
|
147
|
+
})();
|
|
148
|
+
if (!svc || typeof svc.describe !== 'function') {
|
|
149
|
+
ctx.logger.debug('[ponytail] 宿主语言读取:settings 服务不可用(跳过跟随)');
|
|
150
|
+
return undefined;
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
const described = svc.describe();
|
|
154
|
+
const rows = Array.isArray(described) ? described : described?.namespaces;
|
|
155
|
+
if (!Array.isArray(rows)) {
|
|
156
|
+
ctx.logger.debug('[ponytail] 宿主语言读取:describe 返回非数组,回退 zh');
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
const locale = rows.find((row) => row !== null && typeof row === 'object' && row.ns === 'locale');
|
|
160
|
+
const pref = locale?.value?.preference;
|
|
161
|
+
ctx.logger.debug('[ponytail] 宿主语言读取:locale=' + String(locale?.ns ?? '缺失') + ' preference=' + String(pref));
|
|
162
|
+
return typeof pref === 'string' ? pref : undefined;
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
ctx.logger.debug('[ponytail] 宿主语言读取失败(回退 zh):' + String(err));
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
// 技能描述语言的有效值:显式 zh/en 原样;未配置(auto)→ 跟随宿主 locale.preference,
|
|
170
|
+
// 仅 en 触发对齐,其余一律 zh(中文兜底,与旧默认一致)。每次求值现读不缓存:
|
|
171
|
+
// 宿主语言切换后(settings 文档变更 → app-boot/config-reload → invalidate)自然读到新值。
|
|
172
|
+
const effectiveSkillLang = () => {
|
|
173
|
+
const setting = resolveSkillLang(readVolatile(resolved.skillDescriptionLang));
|
|
174
|
+
if (setting !== 'auto')
|
|
175
|
+
return setting;
|
|
176
|
+
return hostLocalePreference() === 'en' ? 'en' : 'zh';
|
|
177
|
+
};
|
|
122
178
|
// profile 目录来自宿主的 profileContext 服务(runProfile 在整棵插件树挂载前 provide,
|
|
123
179
|
// 见 dsh/lib/profile-boot 的 hostCtx.provide('profileContext', ...))。
|
|
124
180
|
// 它把配置与 flag 的作用域收回单个实例:resolveDshHome() 结构上不含 profile 维度,
|
|
@@ -197,9 +253,9 @@ export function apply(ctx, config = {}) {
|
|
|
197
253
|
// 同步过滤。此前从未传入,UI 改开关对模型侧目录无效(静默失效,跨会话仍放行)。
|
|
198
254
|
// 失效闭环:POST 变更点直调 invalidateSkills() → providerInstance.invalidate() → 宿主重扫。
|
|
199
255
|
isSkillEnabled: (name) => state.isSkillEnabled(name),
|
|
200
|
-
//
|
|
256
|
+
// 描述语言每次现读:显式值原样;未配置跟随宿主 locale.preference(effectiveSkillLang)。
|
|
201
257
|
// 闭包化读取让下一次 list/get 立刻拿到新语言(配合下方监听里的 invalidate 生效)。
|
|
202
|
-
getDescriptionLang: () =>
|
|
258
|
+
getDescriptionLang: () => effectiveSkillLang(),
|
|
203
259
|
});
|
|
204
260
|
return providerInstance;
|
|
205
261
|
});
|
|
@@ -248,6 +304,20 @@ export function apply(ctx, config = {}) {
|
|
|
248
304
|
ctx.logger.debug('[ponytail] 技能描述语言已变更,技能目录已失效');
|
|
249
305
|
}
|
|
250
306
|
});
|
|
307
|
+
// 宿主语言变更的收敛点:locale.preference 属另一个 profile 条目,它的 loader/volatile-update
|
|
308
|
+
// 只在那条插件自己的 fiber 上广播,本插件收不到。宿主每次应用补丁后广播
|
|
309
|
+
// app-boot/config-reload(dsh-app-boot/lib/index.js:3494,dsh-settings 自己也靠它重算快照),
|
|
310
|
+
// 在此让技能目录失效:未配置语言的用户切换宿主语言后,模型侧目录与斜杠菜单才跟着换语言。
|
|
311
|
+
// 语言显式配置过的用户不受影响——失效只是重扫,读到的仍是显式值。
|
|
312
|
+
anyCtx.on('app-boot/config-reload', () => {
|
|
313
|
+
try {
|
|
314
|
+
providerInstance?.invalidate();
|
|
315
|
+
}
|
|
316
|
+
catch {
|
|
317
|
+
// 失效失败不阻断:宿主保留旧缓存到下次自然失效,下次会话启动仍会读到新语言
|
|
318
|
+
}
|
|
319
|
+
ctx.logger.debug('[ponytail] 宿主配置已重载,技能目录已失效(宿主语言可能已变更)');
|
|
320
|
+
});
|
|
251
321
|
// 只读推导值走官方 Typert 通道(命名空间 ponytail):优先级诊断链与当前生效等级
|
|
252
322
|
// 不是配置——它们由 env / profile 补丁 / 兜底三层合并得出,写进配置层
|
|
253
323
|
// 会让落盘值永久盖住真值。浏览器侧经 ctx.remote.ponytail.snapshot() 读取。
|
|
@@ -257,7 +327,9 @@ export function apply(ctx, config = {}) {
|
|
|
257
327
|
if (typeof ctx.plugin === 'function') {
|
|
258
328
|
ctx.plugin(PonytailRemote, {
|
|
259
329
|
snapshot: () => {
|
|
260
|
-
|
|
330
|
+
// 快照只下发有效语言(显式值或按宿主解析后的值);「显式 vs 跟随」由面板
|
|
331
|
+
// 从 configForms 快照里 skillDescriptionLang 字段的有无判断,不经此通道。
|
|
332
|
+
const skillLang = effectiveSkillLang();
|
|
261
333
|
return {
|
|
262
334
|
currentMode: state.get() ?? 'off',
|
|
263
335
|
priority: resolvePriority({
|
package/lib/ponytail.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ponytail.js","sourceRoot":"","sources":["../src/ponytail.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ponytail.js","sourceRoot":"","sources":["../src/ponytail.ts"],"names":[],"mappings":"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"}
|
package/locale/en.json
CHANGED
|
@@ -7,9 +7,12 @@
|
|
|
7
7
|
"confirm.reset": "Restore default config? Level returns to Standard (full) and all 6 skills are re-enabled.",
|
|
8
8
|
"error.operation": "Operation failed: ",
|
|
9
9
|
"error.rejected": "This deployment did not accept the change; your value was kept for you to review.",
|
|
10
|
+
"lang.auto": "Follow host (auto)",
|
|
10
11
|
"lang.changed": "Skill description language switched to {name}",
|
|
11
12
|
"lang.en": "English",
|
|
13
|
+
"lang.followHost": "Now following the host language",
|
|
12
14
|
"lang.title": "Skill description language",
|
|
15
|
+
"lang.unsetHint": "Not set: follows the host language ({lang}); switch explicitly above",
|
|
13
16
|
"lang.zh": "中文",
|
|
14
17
|
"level.env": "Environment variable",
|
|
15
18
|
"level.fallback": "Built-in fallback",
|
package/locale/zh.json
CHANGED
|
@@ -7,9 +7,12 @@
|
|
|
7
7
|
"confirm.reset": "确定恢复默认配置吗?等级回到标准(full),并重新启用全部 6 个技能。",
|
|
8
8
|
"error.operation": "操作失败:",
|
|
9
9
|
"error.rejected": "本部署没有接受这次修改,值已保留供你核对。",
|
|
10
|
+
"lang.auto": "跟随宿主(自动)",
|
|
10
11
|
"lang.changed": "技能描述语言已切为「{name}」",
|
|
11
12
|
"lang.en": "English",
|
|
13
|
+
"lang.followHost": "已切为跟随宿主语言",
|
|
12
14
|
"lang.title": "技能描述语言",
|
|
15
|
+
"lang.unsetHint": "未配置:当前跟随宿主语言({lang}),可在上方显式切换",
|
|
13
16
|
"lang.zh": "中文",
|
|
14
17
|
"level.env": "环境变量",
|
|
15
18
|
"level.fallback": "内置兜底",
|
package/package.json
CHANGED
|
@@ -50,15 +50,23 @@ Default mode = `full`, auto-active every session. Change it:
|
|
|
50
50
|
export PONYTAIL_DEFAULT_MODE=ultra
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
**Profile patch** (`profiles/<name>/cordis.patch.yml
|
|
53
|
+
**Profile patch** (`profiles/<name>/cordis.patch.yml`):
|
|
54
|
+
|
|
55
|
+
`dsh plugin add` does NOT write this file. After installing, add a top-level
|
|
56
|
+
entry by hand or the config card will not render:
|
|
57
|
+
|
|
54
58
|
```yaml
|
|
55
|
-
|
|
56
|
-
|
|
59
|
+
- id: ponytail
|
|
60
|
+
name: "@wenaixi/dsh-ponytail"
|
|
61
|
+
config:
|
|
62
|
+
defaultMode: lite # off|lite|full|ultra
|
|
57
63
|
```
|
|
58
64
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
65
|
+
Then restart the host (patch entries compose at startup, not on reload).
|
|
66
|
+
The plugin config card writes the patch for you once it renders;
|
|
67
|
+
`/ponytail default <mode>` does the same from a prompt. Set `"off"` to
|
|
68
|
+
disable auto-activation on session start, activate manually with `/ponytail`
|
|
69
|
+
when wanted.
|
|
62
70
|
|
|
63
71
|
Resolution: env var > profile patch > built-in `full`. The card shows all three
|
|
64
72
|
sources and which one wins, so a level that "looks" set but is shadowed is
|