@chaoset/adaptive-perf 0.6.0 → 0.7.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 +186 -0
- package/README.md +52 -42
- package/client/client.cjs +202 -211
- package/client/index.tsx +477 -0
- package/cordis.patch.yml +21 -12
- package/lib/config-store.d.ts +32 -0
- package/lib/config-store.d.ts.map +1 -0
- package/lib/config-store.js +107 -0
- package/lib/config-store.js.map +1 -0
- package/lib/index.d.ts +350 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +1574 -0
- package/lib/index.js.map +1 -0
- package/lib/remote.d.ts +37 -0
- package/lib/remote.d.ts.map +1 -0
- package/lib/{remote.mjs → remote.js} +50 -52
- package/lib/remote.js.map +1 -0
- package/lib/typert.host.d.ts +55 -0
- package/lib/typert.host.d.ts.map +1 -0
- package/lib/typert.host.js +37 -37
- package/lib/typert.host.js.map +1 -0
- package/package.json +15 -14
- package/lib/config-store.mjs +0 -97
- package/lib/index.mjs +0 -1611
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.7.0](https://github.com/winliyou/dsh-plugins) (2026-08-18)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* **first-round anchoring, resident catalog after promotion (anchored-standard semantics).** Only request #1 is composed under Minimal conditions (real Minimal tool pair + minimal persona + suppressed global guide sections + stripped `skill-catalog`/`agent-instructions` injections + suppressed runtime snapshot); after the first persistent promotion signal (first `tool/call` or `assistant/message`) the session enters the **resident phase**: the bootstrap tool pair stays resident together with the discovery tools (`dev_tool_search`/`skill_search`/`skill_load`), the full catalog is unlocked on demand via `dev_tool_search`, and normal context injection becomes visible again. Performance is raised without reducing functionality — dumping the full catalog at promotion pulls the trajectory back to standard-like (the reference implementation's post-promotion regression), so the full catalog is fetched on demand instead. The tool/skill/web-search/plan/goal/subagent/workflow abilities of each mode remain fully available
|
|
8
|
+
|
|
9
|
+
* **promotion is now persistent.** `scanPhase`/`observePhase` no longer reset on `compaction/end` (epoch-aware boundary removed); promotion is remembered per session like the reference implementation, so resume/reload and post-compaction rounds keep the resident catalog
|
|
10
|
+
|
|
11
|
+
* **catalog is zero-trimmed by default.** `leanByDefault` defaults to `false`: orchestration tool families (subagent/workflow/ralph/goal) are never hidden unless explicitly opted in. `suppressInjectedContext` defaults to `true` (injections stay stripped for the whole session; visibility is carried by the resident discovery tools — measured: restoring injections after promotion pulls the trajectory back to standard-like, "Let me…" narration returns). Setting it to `false` restores post-promotion injections as an opt-in
|
|
12
|
+
|
|
13
|
+
* **creator mode (cordis) is a target preset.** `presets` defaults to `["standard", "code", "cordis"]` in the bundle patch, the settings UI, and DEFAULT_CONFIG — the creator preset gets the same minimal-anchored first round
|
|
14
|
+
|
|
15
|
+
### ⚠ Breaking (config)
|
|
16
|
+
|
|
17
|
+
* **removed `skillDiscovery`, `instructionHint`, `bootstrap.compactionTools`; restored `bootstrap.discoveryTools`.** Under resident-catalog semantics the on-demand discovery is done by the resident `dev_tool_search`, so the one-shot instruction hint and the post-compaction work set are no longer needed; `bootstrap.discoveryTools` (default `dev_tool_search`/`skill_search`/`skill_load`) is restored as the resident post-promotion discovery set. The discovery tool factories (`createDevToolSearch`/`createSkillSearch`/`createSkillLoad`/`extractSkillBody`) and `loadUnlockedFromEvents` are back; saved configs ignore the removed fields; the settings UI renders the discovery-tools control again; `leanByDefault` keeps its new default (false) while `suppressInjectedContext` defaults to `true`
|
|
18
|
+
|
|
19
|
+
## [0.6.0](https://github.com/winliyou/dsh-plugins) (2026-08-17)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### ⚠ Breaking (behavior)
|
|
23
|
+
|
|
24
|
+
* **function-first defaults — every optimization is now opt-in.** The previous defaults broke standard/PTC functionality: tool families removed from the catalog (PTC program calls hit `UNKNOWN_TOOL` outright), skill-catalog/AGENTS.md injections stripped, official prompt sections shadowed, request #1 restricted to two tools. These mechanisms have no lossless form (their savings come from removing context/tools), so `leanByDefault`, `suppressRuntimeContext`, `suppressInjectedContext`, `minimalPrompt.enabled`, and `bootstrap.enabled` all default to **false**: a fresh install is a zero-intervention no-op and official presets keep full functionality. Enable any mechanism on demand from the settings page; compensation paths (keyword/failure-signal escalation, `skill_search` discovery, instruction-hint) activate together with them. Tests now cover both the zero-intervention defaults and each mechanism under explicit opt-in config
|
|
25
|
+
|
|
26
|
+
## [0.5.3](https://github.com/winliyou/dsh-plugins) (2026-08-17)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Bug Fixes
|
|
30
|
+
|
|
31
|
+
* pass the live config snapshot as `base` when registering the settings namespace: without `base`, a schema without defaults (adaptive-perf's `any()`) made `settings.describe()` return `value: undefined`, and the settings page's wire validation (`invalid_type: nonoptional` at `namespaces[n].value`) failed hard, breaking the whole settings UI. With `base` the resolved value is always the full config object
|
|
32
|
+
|
|
33
|
+
## [0.5.2](https://github.com/winliyou/dsh-plugins) (2026-08-17)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Bug Fixes
|
|
37
|
+
|
|
38
|
+
* register the config namespace into the host settings service (`ctx.settings.register`) so the settings page's configurable-plugins tab lists it: the tab dispatches cards from `settings.describe()`, and a namespace that was never registered renders nothing even with a correctly keyed card. Registration is visibility-only — the card still reads/writes through the plugin's own config gateway (config.json stays authoritative, hot-reload preserved). Fail-safe when schemastery or the settings service is unavailable; duplicate registrations (HMR) are ignored
|
|
39
|
+
|
|
40
|
+
## [0.5.1](https://github.com/winliyou/dsh-plugins) (2026-08-17)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Bug Fixes
|
|
44
|
+
|
|
45
|
+
* settings card registration: pass `key` (the settings namespace, matching the host-side service key) when registering into `settings.plugin.item` — the host `dsh-client-ui-slots` 0.1.0-rc.7 declares it as a keyed slot, and a registration without `key` fails the whole client bundle apply ("Failed to load plugins: keyed slot requires options.key")
|
|
46
|
+
|
|
47
|
+
## [0.5.0](https://github.com/winliyou/dsh-plugins) (2026-08-16)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### Features
|
|
51
|
+
|
|
52
|
+
* real Minimal tool pair on request #1 (`bootstrap.realPair`)
|
|
53
|
+
|
|
54
|
+
The bootstrap phase previously only *narrowed* the standard/PTC catalog, so
|
|
55
|
+
request #1 still exposed the sandboxed standard `bash` schema (and no
|
|
56
|
+
`str_replace_editor` at all — the standard preset does not mount it).
|
|
57
|
+
Per dsh-anchored-standard issue #11 the first-request trajectory is decided
|
|
58
|
+
by the *byte-identical* tool schema: the real Minimal pair anchors 5/5 while
|
|
59
|
+
every standard-family schema (including sandboxed bash) falls standard-like
|
|
60
|
+
11/11. The plugin now mounts the official minimal-preset plugins — the
|
|
61
|
+
persistent PTY bash (`@deepseek-ai/dsh-tool-bash-persistent` over
|
|
62
|
+
`dsh-terminal` + `dsh-terminal-bash`, with the exact minimal description)
|
|
63
|
+
and `str_replace_editor` over the bare local fs (`dsh-fs-local`) — into each
|
|
64
|
+
target agent's scoped tool layer, where scoped registrations shadow the
|
|
65
|
+
inherited sandboxed `bash` by name and own-layer registrations are exempt
|
|
66
|
+
from restrictions. The `tool:bash` guidance section is shadowed to empty at
|
|
67
|
+
the same time. The packages are optionalDependencies; when they cannot be
|
|
68
|
+
resolved (or on Windows, where the PTY backend is unavailable) the plugin
|
|
69
|
+
degrades to the previous catalog-only behavior with a warning.
|
|
70
|
+
|
|
71
|
+
* permanent injected-context suppression (`suppressInjectedContext`)
|
|
72
|
+
|
|
73
|
+
The skill-catalog reminder and the AGENTS.md digest were previously stripped
|
|
74
|
+
only on request #1 and re-injected after promotion. The reference implementation
|
|
75
|
+
removes both injections entirely: even post-promotion they perturb the
|
|
76
|
+
trajectory and cost thousands of tokens per request. With
|
|
77
|
+
`suppressInjectedContext: true` (default) the strip now applies to every
|
|
78
|
+
request of the session; `skill_search` / `skill_load` (resident after
|
|
79
|
+
promotion, gated by `skillDiscovery`) replace the ~9KB catalog dump, and the
|
|
80
|
+
new one-shot `instruction-hint` (`instructionHint`, default on) tells the
|
|
81
|
+
model once per session that instruction files exist and should be read when
|
|
82
|
+
relevant, instead of embedding their content. User-initiated skill gestures
|
|
83
|
+
(`skill-invocation`) are never filtered.
|
|
84
|
+
|
|
85
|
+
* resident discovery set now includes skill_search / skill_load
|
|
86
|
+
|
|
87
|
+
`bootstrap.discoveryTools` defaults to `[dev_tool_search, skill_search,
|
|
88
|
+
skill_load]` so the promoted catalog keeps the on-demand discovery surface of
|
|
89
|
+
the reference's resident set; skills stay reachable while the catalog
|
|
90
|
+
injection stays off.
|
|
91
|
+
|
|
92
|
+
## [0.4.0](https://github.com/winliyou/dsh-plugins) (2026-08-16)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
### Features
|
|
96
|
+
|
|
97
|
+
* minimal-prompt layer (register anchoring, per dsh-anchored-standard)
|
|
98
|
+
|
|
99
|
+
The reference's full anchoring condition is the *complete minimal system
|
|
100
|
+
prompt*, not just the tool catalog: tool narrowing alone leaves the global
|
|
101
|
+
orientation sections (harness:identity / harness:source / app:web-surface)
|
|
102
|
+
and the standard persona in the prompt, and the model keeps narrating in the
|
|
103
|
+
standard-like register ("Let me…" thinking chains). The new `minimalPrompt`
|
|
104
|
+
layer shadows those sections to empty per target agent (same effect as
|
|
105
|
+
minimal's `complete` persona; plan-mode and the PTC SDK sections are
|
|
106
|
+
untouched) and shadows `deployment:persona` with the exact minimal-mode text
|
|
107
|
+
("You are a helpful software engineer assistant."), so the assembled system
|
|
108
|
+
prompt for standard / PTC sessions drops to the minimal register from request
|
|
109
|
+
#1 onward — including for resumed/already-promoted sessions, which the
|
|
110
|
+
bootstrap phase never touches. All knobs are configurable and hot-applied
|
|
111
|
+
(`minimalPrompt.enabled` / `.persona` / `.suppressSections`).
|
|
112
|
+
|
|
113
|
+
## [0.3.2](https://github.com/winliyou/dsh-plugins) (2026-08-16)
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
### Bug Fixes
|
|
117
|
+
|
|
118
|
+
* bootstrap tool narrowing now uses tools.restrict instead of filtering assembly.tools
|
|
119
|
+
|
|
120
|
+
In PTC/code mode the assembled tool catalog contains only run_code, so
|
|
121
|
+
filtering it down to the Minimal pair always hit the fail-safe and the
|
|
122
|
+
first request kept the full SDK (verified live: the model still saw 15
|
|
123
|
+
tools). tools.restrict drives both the API catalog and the PTC SDK
|
|
124
|
+
reference section (the same mechanism the family trimming uses), so the
|
|
125
|
+
bootstrap phase now temporarily denies everything except
|
|
126
|
+
run_code + the Minimal pair (plus the post-compaction work set) and
|
|
127
|
+
lifts the restriction on the first durable promotion signal. Verified
|
|
128
|
+
live: on request #1 the model reports run_code as the only direct tool
|
|
129
|
+
and the SDK declarations contain only the Minimal pair.
|
|
130
|
+
|
|
131
|
+
## [0.3.1](https://github.com/winliyou/dsh-plugins) (2026-08-16)
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
### Bug Fixes
|
|
135
|
+
|
|
136
|
+
* raise engines.node to >=22.19.0 (node 20 is EOL; aligns with the reference preset baseline and the current LTS floor)
|
|
137
|
+
|
|
138
|
+
## [0.3.0](https://github.com/winliyou/dsh-plugins/compare/adaptive-perf-v0.2.2...adaptive-perf-v0.3.0) (2026-08-16)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
### Features
|
|
142
|
+
|
|
143
|
+
* first-request bootstrap anchoring (inspired by dsh-anchored-standard)
|
|
144
|
+
|
|
145
|
+
Request #1 for target presets now exposes only the real Minimal tool pair
|
|
146
|
+
(bash + str_replace_editor) and strips auto-injected context
|
|
147
|
+
(skill-catalog reminder, AGENTS.md digest), which anchors the first-request
|
|
148
|
+
trajectory on minimal conditions (the community measurements: the Minimal
|
|
149
|
+
pair anchors 5/5 at the adapter-default budget while every standard-family
|
|
150
|
+
schema falls into standard-like behavior 11/11, and a present skill catalog
|
|
151
|
+
breaks the anchor 0/9). The session promotes after its first durable
|
|
152
|
+
tool/call or assistant/message (promoteOn: either, or tool-call /
|
|
153
|
+
assistant-message) — phase derived from durable session events, resume-safe.
|
|
154
|
+
A compaction resets the phase (epoch-aware): after compaction/end the
|
|
155
|
+
session falls back to the bootstrap pair plus a configurable compactionTools
|
|
156
|
+
work set until a new promotion signal. bootstrap.maxTokens optionally caps
|
|
157
|
+
request #1's output budget and is stripped after promotion.
|
|
158
|
+
|
|
159
|
+
Wiring uses the harness's public waterfalls: system-prompt/assemble (tool
|
|
160
|
+
catalog narrowing), agent/pre-step (context stripping, prepend-registered so
|
|
161
|
+
the strip is the final transform), agent/request (budget cap), and
|
|
162
|
+
session/event (phase feed). Degrades to the full catalog on any filter
|
|
163
|
+
failure so a plugin bug can never brick a session.
|
|
164
|
+
|
|
165
|
+
## [0.2.2](https://github.com/winliyou/dsh-plugins/compare/adaptive-perf-v0.2.1...adaptive-perf-v0.2.2) (2026-08-16)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
### Bug Fixes
|
|
169
|
+
|
|
170
|
+
* register config-gateway endpoints via a typert-loader host artifact (lib/typert.host.js) so the api-gateway claims them regardless of module-instance identity ([dsh-plugins#registry-install](https://github.com/winliyou/dsh-plugins))
|
|
171
|
+
|
|
172
|
+
When the package is installed from the npm registry, its typert-protocol copy differs from the harness's, so the Remote-decorator SRC markers are invisible to the gateway and settings-page calls fail with "transport failure ... HTTP 404". The typert artifact registers the same get/set endpoints into ctx.typert.local through the official loader mechanism.
|
|
173
|
+
|
|
174
|
+
## [0.2.1](https://github.com/winliyou/dsh-plugins/compare/adaptive-perf-v0.2.0...adaptive-perf-v0.2.1) (2026-08-16)
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
### Bug Fixes
|
|
178
|
+
|
|
179
|
+
* mount remote config namespaces in client bundles ([a647484](https://github.com/winliyou/dsh-plugins/commit/a64748489ddf003cb29c0527016ea089748e0c7b))
|
|
180
|
+
|
|
181
|
+
## [0.2.0](https://github.com/winliyou/dsh-plugins/compare/adaptive-perf-v0.1.2...adaptive-perf-v0.2.0) (2026-08-15)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
### Features
|
|
185
|
+
|
|
186
|
+
* convert plugins to DSH bundle installation ([caae797](https://github.com/winliyou/dsh-plugins/commit/caae797acd12c70af52b0868ec352d91a0a7ef12))
|
package/README.md
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
# @chaoset/adaptive-perf — DSH 极简性能自适应插件
|
|
2
2
|
|
|
3
|
-
> **默认策略(0.
|
|
4
|
-
>
|
|
5
|
-
>
|
|
6
|
-
>
|
|
7
|
-
>
|
|
8
|
-
>
|
|
9
|
-
>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
> **默认策略(0.7.0,首轮锚定、晋升后 resident 目录)**:只提高性能,不减少功能。
|
|
4
|
+
> 非极简模式会话的**请求 #1** 按极简模式条件组装——真实 Minimal 工具对
|
|
5
|
+
> 锚定首轮轨迹、极简 persona + 屏蔽全局引导段对齐语域、剥离技能目录/指令
|
|
6
|
+
> 摘要注入、抑制运行时快照;首个**持久**晋升信号(首个 `tool/call` 或
|
|
7
|
+
> `assistant/message`)后进入 **resident 阶段**——保留 bootstrap 工具对 +
|
|
8
|
+
> 常驻发现工具(`dev_tool_search` / `skill_search` / `skill_load`),完整
|
|
9
|
+
> 目录经 `dev_tool_search` 按需解锁,常规上下文注入恢复可见(与
|
|
10
|
+
> [dsh-anchored-standard](https://github.com/xiaobright/dsh-anchored-standard/)
|
|
11
|
+
> 语义一致:晋升按会话记忆化,compaction 不重置;晋升时一次性倒出完整目录
|
|
12
|
+
> 会把轨迹拉回 standard-like,故完整目录按需取用)。工具目录默认**零裁剪**
|
|
13
|
+
> (编排类工具族始终可用);`leanByDefault` 是省 token 的 opt-in 开关,
|
|
14
|
+
> `suppressInjectedContext` 默认开启(注入剥离由发现工具承担可见性),
|
|
15
|
+
> 设置页按需调整。
|
|
16
|
+
|
|
17
|
+
让 **标准模式(standard)**、**PTC 模式(code)** 与 **创造模式(cordis)**
|
|
18
|
+
达到 **极简模式(minimal)** 级别的高性能,同时保留完整能力——不是静态裁剪,
|
|
19
|
+
而是**动态自适应**:
|
|
13
20
|
|
|
14
21
|
- **真实 Minimal 工具对(realPair)**:首轮"轨迹"由请求 #1 可见的**工具 schema**
|
|
15
22
|
逐字决定——只有与 Minimal 完全相同的 schema 能锚定(参照
|
|
@@ -24,23 +31,20 @@
|
|
|
24
31
|
- 请求 #1 剥离自动注入上下文(技能目录提醒 `skill-catalog`、AGENTS.md 摘要
|
|
25
32
|
`agent-instructions`,用户主动的技能手势不过滤);
|
|
26
33
|
- 会话出现首个**持久**晋升信号(首个 `tool/call` 或 `assistant/message`,
|
|
27
|
-
`promoteOn` 可选 `either`/`tool-call`/`assistant-message`)后进入
|
|
28
|
-
|
|
29
|
-
`
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
(bootstrap 工具对 + `compactionTools` 核心工作集),直到出现新的晋升信号;
|
|
34
|
+
`promoteOn` 可选 `either`/`tool-call`/`assistant-message`)后进入
|
|
35
|
+
**resident 阶段**:保留 bootstrap 工具对 + 常驻发现工具(0.7.0 语义:
|
|
36
|
+
只锚定首轮,不减少后续功能;完整目录经 `dev_tool_search` 按需解锁——
|
|
37
|
+
晋升时一次性倒出完整目录会把轨迹拉回 standard-like,anchored-standard
|
|
38
|
+
实测的"晋升后回退"问题),常规注入(技能目录提醒 + AGENTS.md 摘要)
|
|
39
|
+
恢复可见;阶段从持久会话事件推导,**resume / reload 不丢状态**,晋升
|
|
40
|
+
信号**持久**(`compaction/end` 不重置,与 dsh-anchored-standard 一致);
|
|
35
41
|
- `maxTokens > 0` 时可给请求 #1 封顶输出预算(晋升后自动剥离)。
|
|
36
|
-
- **常驻上下文抑制(suppressInjectedContext
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
自己读",而不是每请求 dump 全文(探测项目链 AGENTS.md/CLAUDE.md 与
|
|
43
|
-
`$DSH_HOME/AGENTS.md`,探测失败不注入,绝不抛错)。
|
|
42
|
+
- **常驻上下文抑制(suppressInjectedContext,默认开启)**:整个会话持续
|
|
43
|
+
剥离技能目录提醒 + AGENTS.md 摘要注入——实测晋升后恢复注入会把轨迹拉回
|
|
44
|
+
standard-like("Let me…" 叙述回归),且每请求多耗数千 token。功能可见性
|
|
45
|
+
由常驻发现工具承担:`dev_tool_search` 搜索完整目录并按名解锁、
|
|
46
|
+
`skill_search` / `skill_load` 按需搜索/加载技能说明。设为 `false` 时只剥
|
|
47
|
+
离请求 #1,晋升后恢复常规注入(功能不减少但轨迹回退,opt-in)。
|
|
44
48
|
- **运行时上下文抑制**:对目标 preset 的会话调用 `suppressRuntimeContext()`
|
|
45
49
|
(与极简模式的 `includeRuntimeContext: false` 同一机制),每次模型请求省掉
|
|
46
50
|
"Current runtime context" 快照文本,**零功能损失**。
|
|
@@ -56,9 +60,10 @@
|
|
|
56
60
|
- 挂载真实工具对时按名阴影 `tool:bash` 引导段(与可见工具一致)。
|
|
57
61
|
各处均为 agent 作用域的 prompt 段阴影,仅影响目标会话;**对已恢复/已晋升的
|
|
58
62
|
旧会话同样生效**(不依赖 bootstrap 阶段)。
|
|
59
|
-
-
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
- **工具目录自适应精简(leanByDefault,0.7.0 起为 opt-in)**:默认 `false` =
|
|
64
|
+
工具目录零裁剪,编排类工具族(子代理 / 工作流 / ralph / goal)始终可用。
|
|
65
|
+
设为 `true` 时会话启动按"工具族"隐藏高开销低频工具,只保留核心编码工具
|
|
66
|
+
(bash / 文件读写编辑 / 检索 / jobs / todo / 提问 / 网页搜索 / 技能 / 计划),
|
|
62
67
|
标准模式的工具目录因此逼近极简;PTC 模式系统提示里的 **SDK 参考段同步缩小**。
|
|
63
68
|
- **需求信号自动放行**(会话内单调升级,只升不降,限制请求缓存失效次数):
|
|
64
69
|
- 关键词信号:用户消息命中工具族触发词(如"子代理"、"工作流")→ 放行该族;
|
|
@@ -70,12 +75,12 @@
|
|
|
70
75
|
|
|
71
76
|
| 维度 | 极简模式 | 标准 / PTC 模式 | 本插件做法 |
|
|
72
77
|
|---|---|---|---|
|
|
73
|
-
| 首轮轨迹(决定后续行为风格) | Minimal 真实工具对锚定(5/5) | 任何 standard 系 schema(含 sandboxed bash)落入 standard-like(11/11) | realPair 挂载官方同款插件:请求 #1 的 schema 与 Minimal
|
|
78
|
+
| 首轮轨迹(决定后续行为风格) | Minimal 真实工具对锚定(5/5) | 任何 standard 系 schema(含 sandboxed bash)落入 standard-like(11/11) | realPair 挂载官方同款插件:请求 #1 的 schema 与 Minimal 逐字相同 |
|
|
74
79
|
| 首轮注入提醒 | 无 skill 目录/AGENTS.md 注入 | 自动注入(在场时锚定 0/9) | 请求 #1 剥离 `skill-catalog` + `agent-instructions` |
|
|
75
|
-
| 后置阶段注入 | 永不注入 | 晋升后每请求恢复 ~9KB 目录 + AGENTS.md 全文 |
|
|
80
|
+
| 后置阶段注入 | 永不注入 | 晋升后每请求恢复 ~9KB 目录 + AGENTS.md 全文 | 默认全程剥离(发现工具承担可见性);`suppressInjectedContext=false` opt-in 恢复 |
|
|
76
81
|
| 系统提示语域(persona + 全局引导段) | 一句话 persona,无任何引导段 | identity/source/web-surface 引导段 + 标准 persona("Let me…" 叙述来源) | minimalPrompt 层按名阴影屏蔽 3 个全局段 + 替换极简 persona(对旧会话同样生效) |
|
|
77
82
|
| 运行时上下文快照 | 关闭(`includeRuntimeContext: false`) | 每次请求注入文件策略/审批策略等快照 | 同一机制:`suppressRuntimeContext()` |
|
|
78
|
-
| 模型可见工具目录 | 2 个(bash、str_replace_editor) | ~22 个工具 schema 全部进请求 | 首轮 2 个;晋升后 resident
|
|
83
|
+
| 模型可见工具目录 | 2 个(bash、str_replace_editor) | ~22 个工具 schema 全部进请求 | 首轮 2 个;晋升后 resident(2 + 3 个发现工具,完整目录按需解锁);opt-in lean 时隐藏编排族按需放行 |
|
|
79
84
|
| PTC SDK 参考段 | 无 | 全部工具的类型+描述渲染进提示 | 随目录缩小(同一 `visible` 视图驱动) |
|
|
80
85
|
|
|
81
86
|
## 安装(npm 生态方式)
|
|
@@ -120,12 +125,10 @@ dsh plugin --profile web remove @chaoset/adaptive-perf
|
|
|
120
125
|
| 字段 | 默认值 | 说明 |
|
|
121
126
|
|---|---|---|
|
|
122
127
|
| `enabled` | `true` | 总开关 |
|
|
123
|
-
| `presets` | `["standard", "code"]` | 应用自适应的 preset id |
|
|
128
|
+
| `presets` | `["standard", "code", "cordis"]` | 应用自适应的 preset id |
|
|
124
129
|
| `suppressRuntimeContext` | `true` | 抑制运行时上下文快照(零功能损失) |
|
|
125
|
-
| `suppressInjectedContext` | `true` |
|
|
126
|
-
| `
|
|
127
|
-
| `instructionHint` | `true` | 晋升后一次性注入指令文件提示(0.5.0) |
|
|
128
|
-
| `leanByDefault` | `true` | 会话启动即隐藏编排类工具族 |
|
|
130
|
+
| `suppressInjectedContext` | `true` | 常驻上下文抑制(默认开启):整个会话剥离技能目录/AGENTS.md 注入(发现工具承担可见性);`false` = 只在请求 #1 剥离,晋升后恢复 |
|
|
131
|
+
| `leanByDefault` | `false` | 工具目录精简(opt-in):`true` = 会话启动即隐藏编排类工具族;`false`(默认)= 零裁剪 |
|
|
129
132
|
| `escalateOnKeyword` | `true` | 用户消息命中触发词 → 放行该族 |
|
|
130
133
|
| `escalateOnUnknownTool` | `true` | 工具调用失败(UNKNOWN_TOOL)→ 放行该族 |
|
|
131
134
|
| `coreTools` | 核心编码工具 | 展示用:不进入任何限制族 |
|
|
@@ -142,7 +145,6 @@ dsh plugin --profile web remove @chaoset/adaptive-perf
|
|
|
142
145
|
"tools": ["bash", "str_replace_editor"],
|
|
143
146
|
"promoteOn": "either",
|
|
144
147
|
"suppressedContextSources": ["skill-catalog", "agent-instructions"],
|
|
145
|
-
"compactionTools": ["read", "write", "edit", "glob", "grep", "todo_write", "ask_user_question"],
|
|
146
148
|
"discoveryTools": ["dev_tool_search", "skill_search", "skill_load"],
|
|
147
149
|
"maxTokens": 0
|
|
148
150
|
}
|
|
@@ -155,12 +157,20 @@ dsh plugin --profile web remove @chaoset/adaptive-perf
|
|
|
155
157
|
Windows(无 PTY 后端)时自动降级为"仅收窄目录"并告警。
|
|
156
158
|
- `tools`:请求 #1 可见的工具(真实 Minimal 对)。
|
|
157
159
|
- `promoteOn`:`either`(默认)/ `tool-call` / `assistant-message`。
|
|
158
|
-
- `suppressedContextSources
|
|
159
|
-
- `
|
|
160
|
-
|
|
161
|
-
|
|
160
|
+
- `suppressedContextSources`:首轮剥离的自动注入 source.kind;`[]` 关闭剥离。
|
|
161
|
+
- `discoveryTools`:晋升后 resident 目录的常驻发现工具——`dev_tool_search`
|
|
162
|
+
(搜索完整目录并按名解锁,解锁结果下一请求生效且会话内保持)、
|
|
163
|
+
`skill_search` / `skill_load`(无门控,按需搜索/加载技能说明,替代常驻
|
|
164
|
+
~9KB 技能目录)。
|
|
162
165
|
- `maxTokens`:请求 #1 输出预算封顶(0 = 不封顶,opt-in)。
|
|
163
166
|
|
|
167
|
+
> 0.7.0 破坏性变更:移除 `skillDiscovery` / `instructionHint` /
|
|
168
|
+
> `bootstrap.compactionTools` 三个字段(resident 语义下不再需要:
|
|
169
|
+
> `dev_tool_search` 常驻提供按需发现,无压缩回退、无指令提示补偿);
|
|
170
|
+
> `bootstrap.discoveryTools` **恢复**为 resident 目录的常驻发现工具
|
|
171
|
+
> (默认 `dev_tool_search` / `skill_search` / `skill_load`)。已保存的旧配置
|
|
172
|
+
> 会自动忽略被移除字段。
|
|
173
|
+
|
|
164
174
|
`minimalPrompt`(极简提示词层,0.4.0 新增):
|
|
165
175
|
|
|
166
176
|
```json
|