dsh-lcx-codex 0.4.1 → 0.4.2

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/ARCHITECTURE.md CHANGED
@@ -1,3 +1,27 @@
1
+ # GPT Responses full-lifecycle ownership — 0.4.2-pre.1
2
+
3
+ ## Product contract
4
+
5
+ `LCX OFF` leaves every LLM request on the native DSH adapter path. `LCX ON` is the ownership switch for the selected GPT Responses conversation: LCX owns the final Responses wire from the first ordinary turn through tool loops, Native V2 compaction, native replay, portable model migration, and restart/resume. Users turn LCX off before selecting a non-GPT model; DSH model switching itself remains hot and requires no restart.
6
+
7
+ ## Responsibility boundary
8
+
9
+ - **DSH** remains the Agent, Session, request assembly, model/settings/credential, tool-execution, attachment, pressure-policy and compaction-transaction owner.
10
+ - **The rc.2 compatibility seam** projects DSH `GenerateOptions` and durable replay content into Pi's provider-neutral `Context`. It exists only because DSH 0.1.1-rc.2 does not publish `toPiContext()` / `toStreamChunks()` as stable package APIs.
11
+ - **Plugin Pi 0.84.3** owns canonical Responses message/tool serialization and stream semantics: reasoning, IDs, custom tools, strict/grammar tools, `additional_tools`, `tool_search`, namespace, cache semantics and event parsing.
12
+ - **LCX** owns the final body, HTTP/SSE wire, safe error normalization, ordinary/compact/replay orchestration, Remote V2 opaque state and checkpoint compatibility.
13
+
14
+ ## Unified request path
15
+
16
+ `serializeNativeAware()` is the shared history compiler. With no checkpoint it serializes ordinary history; with a compatible checkpoint it injects retained native history plus the opaque compaction item; with an incompatible GPT model/route it reconstructs portable DSH history. All three representations continue through one standard LCX request builder and one LCX transport/parser bridge. Compact is the standard request plus `compaction_trigger` and the Remote V2 feature header; native replay is the standard request plus opaque history. Portable migration never recursively bypasses LCX back to `PiAiAdapter`.
17
+
18
+ Ordinary and replay requests perform one provider attempt and emit DSH terminal failure chunks using the host taxonomy, leaving visible retries to DSH's `agent/request-error` policy. Native compaction retains its bounded idempotent retry and first-checkpoint Basic fallback. Genuine upstream tool namespace is stored only in adapter-private replay metadata because DSH rc.2's visible ToolCall block has no namespace field.
19
+
20
+ ## Gateway continuity
21
+
22
+ The stable DSH session id drives Pi-compatible prompt-cache/session-affinity fields. Sub2API v0.1.183 accepts `session_id`, `session-id`, and `x-client-request-id` for Codex account stickiness and repairs recovered custom-tool/tool-search item ID prefixes. Runtime acceptance therefore verifies both LCX wire continuity and gateway account continuity; release prose is not treated as the wire contract.
23
+
24
+ ---
1
25
 
2
26
  ## rc.6 pressure coordination
3
27
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.2-pre.1 - candidate under runtime acceptance
4
+
5
+ ### Architecture
6
+
7
+ - Make the LCX master switch the GPT Responses lifecycle ownership switch: when enabled, the first ordinary Agent turn, tools, Native V2 compaction, native replay and portable GPT-model migration share one LCX final-wire path.
8
+ - Upgrade only the plugin's direct Pi dependency to `0.84.3`; DSH 0.1.1-rc.2 and its host Pi 0.82.x remain isolated and unchanged.
9
+ - Reuse Pi 0.84 canonical Responses serializers and stream semantics for strict/grammar/custom tools, deferred `additional_tools` / `tool_search`, namespace, reasoning, IDs and cache behavior.
10
+ - Add one standard Responses request builder and shared LCX HTTP/SSE transport/parser bridge; remove the old portable recursive bypass back to the DSH adapter.
11
+ - Preserve checkpoint v5, DSH compaction transactions, Native-first pressure coordination, first-checkpoint Basic fallback, restart/resume and Search/#20 architecture.
12
+ - Normalize ordinary/replay failures into DSH terminal taxonomy and keep DSH as the visible retry owner.
13
+
14
+ ### Validation state
15
+
16
+ - Engineering gates pass on the private work branch; exact commit-bound DSH + Sub2API runtime acceptance remains mandatory before integration, publication or a `VERIFIED` compatibility claim.
17
+
3
18
  ## 0.4.1 - 2026-08-25
4
19
 
5
20
  ### Stable promotion
package/README.md CHANGED
@@ -1,68 +1,105 @@
1
- <div align="center">
1
+ # dsh-lcx-codex
2
2
 
3
- <img src="assets/dsh-lcx-codex-banner.png" alt="dsh-lcx-codex — 为 DSH 增加 GPT Hosted Search、Codex 风格网页操作与 Native V2 Compaction" width="100%" />
4
-
5
- [![npm](https://img.shields.io/npm/v/dsh-lcx-codex?color=1677ff&label=npm%20latest)](https://www.npmjs.com/package/dsh-lcx-codex)
3
+ [![npm](https://img.shields.io/npm/v/dsh-lcx-codex?label=stable&color=1677ff)](https://www.npmjs.com/package/dsh-lcx-codex)
6
4
  [![CI](https://github.com/kk3ya03-star/dsh-lcx-codex/actions/workflows/publish.yml/badge.svg)](https://github.com/kk3ya03-star/dsh-lcx-codex/actions/workflows/publish.yml)
7
5
  ![DSH](https://img.shields.io/badge/DSH-0.1.1--rc.2-4ea8ff)
8
- ![Node](https://img.shields.io/badge/Node-%3E%3D20-2f855a)
6
+ ![Node](https://img.shields.io/badge/Node-%5E22.19%20%7C%7C%20%3E%3D24-2f855a)
7
+ ![Plugin Pi](https://img.shields.io/badge/plugin%20Pi-0.84.3-111827)
9
8
  ![License](https://img.shields.io/badge/license-MIT-6b7280)
10
9
 
11
- **简体中文** · [English](README_EN.md) · [Architecture](ARCHITECTURE.md) · [Changelog](CHANGELOG.md)
10
+ **简体中文** · [English](README_EN.md) · [Architecture](ARCHITECTURE.md) · [Changelog](CHANGELOG.md) · [Releases](https://github.com/kk3ya03-star/dsh-lcx-codex/releases)
12
11
 
13
- </div>
12
+ > **让 DSH 的 GPT Responses 会话从第一轮普通请求开始,到工具调用、Native V2 Compact / Replay、重启恢复和 GPT 模型切换,始终保持同一个最终 Responses wire owner。**
14
13
 
15
- > **DSH 仍然是 host。LCX 只补齐 GPT Responses 路径缺失的原生能力,不修改 DSH 核心,也不替换 Agent / Session / Web / Compaction。**
14
+ `dsh-lcx-codex` 不替换 DSH。DSH 仍负责 Agent、Session、模型选择、工具执行、附件和 compaction policy;当 **LCX ON** 时,LCX 接管当前 GPT Responses 会话的最终 request / SSE wire。
16
15
 
17
16
  ## 当前稳定版
18
17
 
19
- `0.4.1` 是当前稳定版,也是此前完成完整 Installed Candidate / Cross-feature QA 的 `0.4.1-pre.1` 的 **zero-functional-change stable promotion**。
18
+ **`0.4.2`** 是当前稳定版,也是已完成真实 DSH + Sub2API 验收的 `0.4.2-pre.1` 的 **zero-functional-change stable promotion**。
20
19
 
21
20
  ```powershell
22
21
  dsh plugin --profile web add dsh-lcx-codex
23
22
  dsh web
24
23
  ```
25
24
 
26
- npm `latest` 指向 `0.4.1`。历史 `prelatest=0.4.1-pre.1` 与稳定版使用相同的已验收 runtime 基线;新用户直接使用 `latest` 即可。
25
+ - npm dist-tag:`latest`
26
+ - DSH:`0.1.1-rc.2`
27
+ - Plugin Pi:`0.84.3`
28
+ - Node.js:`^22.19.0 || >=24.0.0`
27
29
 
28
- ## 它解决什么
30
+ `0.4.2-pre.1` 保留为历史 prerelease;新用户直接安装 `latest` 即可。
29
31
 
30
- 如果你的 DSH 已经有一个可工作的 GPT `openai-responses` route,`dsh-lcx-codex` 会在保持 DSH 原有入口和生命周期的前提下补齐 Responses 能力。
32
+ ## 产品约定
31
33
 
32
- | 场景 | DSH 原有入口 | LCX 增强后 |
33
- |---|---|---|
34
- | 普通联网搜索 | DSH `web_search` | **仍然使用同一个 `web_search`**,由 LCX SearchProvider 映射到当前 GPT Hosted Search |
35
- | Hosted Search 高级参数 | 普通搜索入口保持简洁 | 按需增加 `websearch_gpt_advanced`,提供域名过滤、近似位置、search context、图片搜索等 |
36
- | 连续网页 / PDF 浏览 | DSH 继续拥有 Web 生命周期 | 按需增加 Codex / Alpha Web Actions:`search → open → find/click → screenshot` |
37
- | 长会话压缩 | DSH 继续负责 pressure、事务与 recovery | 在现有 compaction seam 上优先请求 Responses Native V2 checkpoint |
34
+ ```text
35
+ LCX OFF
36
+ = 完全使用 DSH 原生 LLM 流程
38
37
 
39
- **目标不是再造一套 Agent,而是让 DSH 的 GPT route 用上它本来就应该拥有的原生能力。**
38
+ LCX ON
39
+ = 当前 GPT Responses 会话从 ordinary turn 1 开始
40
+ 由 LCX 持有最终 Responses request / SSE wire
41
+ ```
40
42
 
41
- ## 三大能力
43
+ 切换 Claude、Gemini、DeepSeek 等非 GPT 模型前先关闭 LCX;模型切换本身不需要重启 DSH。
42
44
 
43
- ### 1. GPT Hosted Search:普通搜索不换入口
45
+ ## 为什么需要 LCX
44
46
 
45
- 启用后,模型看到的普通搜索工具依然是 DSH 原生 `web_search`。LCX 替换的是 SearchProvider 路径,而不是再注册一个重复的普通搜索工具。
47
+ DSH 原本已经拥有 Agent、Session、Tools 和 compaction lifecycle。LCX 解决的是 GPT Responses provider-native 路径的最后一层一致性:ordinary、tools、Native Compact、Replay、restart/resume 和 GPT route migration 不再在同一个会话中切换最终 wire owner。
46
48
 
47
- 需要更细控制时,再单独启用 `websearch_gpt_advanced`。
49
+ ```text
50
+ DSH
51
+ Agent / Session / Tools
52
+
53
+ llm / stream seam
54
+
55
+ ┌──────────┴──────────┐
56
+ │ │
57
+ LCX OFF LCX ON
58
+ │ │
59
+ native DSH adapter LCX Responses Core
60
+
61
+ ordinary turn 1
62
+
63
+ tools
64
+
65
+ Native V2 Compact
66
+
67
+ Replay
68
+
69
+ Restart / Resume
70
+
71
+ GPT Model Migration
72
+ ```
48
73
 
49
- ### 2. Codex 风格 Web Actions
74
+ Compact 因此只改变 history representation,不再同时改变 request owner。
50
75
 
51
- `websearch_alpha` 面向连续浏览和结构化 Web action:
76
+ ## 核心能力
52
77
 
53
- ```text
54
- search → open → find / click → screenshot
55
- ```
78
+ ### 1. Full GPT Responses lifecycle ownership
79
+
80
+ LCX ON 后,ordinary、tool continuation、Native Compact、Native Replay、restart/resume 和 portable GPT migration 使用同一套 LCX Responses request builder / transport owner。
81
+
82
+ DSH 仍是 canonical session/history owner;LCX 不创建第二套会话数据库,也不替换 DSH Tool Executor。
83
+
84
+ ### 2. GPT-5.6 Prompt Cache
85
+
86
+ `0.4.2` 使用 GPT-5.6 当前 cache-options 路径,并保持同一会话的稳定 cache identity:
87
+
88
+ - 默认使用 implicit caching;
89
+ - 当前支持 route 发送 `prompt_cache_options.ttl = 30m`;
90
+ - 普通连续 turn / tool-heavy workload 可以复用已 warm 前缀;
91
+ - Native Compact 会按设计建立新的 history/cache epoch,旧未压缩前缀不会被承诺继续复用;
92
+ - 真实长会话中,稳定 topology 下 warm request 多次观察到接近完整前缀复用。
56
93
 
57
- 它默认关闭,并且只有当前 endpoint / provider / model / schema 通过 capability probe 后才注册。未知部署采用 **fail-closed**,不会被误报成“支持 Alpha”。
94
+ 缓存命中由 provider、模型、请求前缀、工具 schema 和会话状态共同决定,不是固定性能承诺。
58
95
 
59
- `0.4.1` 已包含此前 prerelease 验收通过的 URL/stateful continuation 和 capability fail-closed 修复。
96
+ 一个已确认的边界:运行中激活 skill 若改变顶层 tool schema,会发生一次 cache reset;新 tool topology 稳定后下一请求即可重新 warm。当前支持 route 会拒绝 content-level `prompt_cache_breakpoint`,而 DSH `0.1.1-rc.2` 也没有可靠的 dynamic-tool provenance,因此 `0.4.2` 保留一次安全 reset,而不靠猜测重写工具历史。
60
97
 
61
- ### 3. Native V2 Compaction
98
+ ### 3. Native V2 Compact + Replay
62
99
 
63
- LCX 不创建第二套 compaction engine。DSH 仍然拥有 pressure、compactable range、`/compact`、durable session transaction、tool-result pruning 与 overflow recoveryLCX 只在已有 compaction LLM seam 上请求 Responses Native V2
100
+ DSH 仍决定 **何时压缩、压缩范围、事务与 recovery**;LCX 只负责 provider-native Responses V2 wire
64
101
 
65
- 默认自动策略:
102
+ 默认 pressure coordination:
66
103
 
67
104
  ```text
68
105
  0% ─────────────────── 90% ───── 95% ───── 100%
@@ -70,140 +107,156 @@ LCX 不创建第二套 compaction engine。DSH 仍然拥有 pressure、compactab
70
107
  V2 DSH prune
71
108
  ```
72
109
 
73
- - **90%**:优先尝试 Native V2
74
- - **95%**:才允许 emergency DSH prune
75
- - provider-confirmed context overflow:继续使用 DSH 原有恢复逻辑。
76
- - 手动 `/compact`:继续使用 DSH 原生会话事务。
110
+ - `90%`:优先 Native V2
111
+ - `95%`:允许 DSH emergency tool-result prune
112
+ - provider-confirmed overflow:继续交给 DSH recovery;
113
+ - manual `/compact`:仍使用 DSH 原生 compaction transaction。
77
114
 
78
- 同一 source session 可以继续复用自己的 Native checkpoint;fork 或模型/route migration 不会跨 session 发送 parent opaque state,而是走 portable migration;重启后从 DSH session log 恢复。
115
+ Native checkpoint v5 会持久化 provider-native compaction state 与必要的可移植保留历史;同 session / compatible route Native replay,不兼容 route 不会错误复用 opaque state。
79
116
 
80
- ## 0.4.1 相比 0.4.0
117
+ ### 4. Restart / Resume + GPT 热切换
81
118
 
82
- `0.4.1` 将此前 `0.4.1-pre.1` 的已验收改动正式提升到 stable:
119
+ 同一个 DSH session 可以跨越:
83
120
 
84
- - Alpha URL/stateful continuation 与 capability fail-closed 修复;
85
- - DSH compatibility seam 收敛;
86
- - route / Native V2 / checkpoint typed protocol core;
87
- - Native retention 与 portable migration 的统一保守 token budgeting;
88
- - 正式安装态 settings namespace / configuration card lifecycle 修复;
89
- - Installed Candidate + Cross-feature QA。
121
+ ```text
122
+ Terra
123
+ Compact
124
+ Replay
125
+ Restart DSH
126
+ Resume same session
127
+ → Switch to Sol
128
+ → Continue
129
+ ```
90
130
 
91
- stable promotion 不引入新的 runtime 行为。
131
+ compatible route/model 可恢复 Native opaque state;不兼容的 GPT model / route 会丢弃不安全 opaque state并重建 portable history,但仍保持 LCX Responses transport ownership。
92
132
 
93
- ## 30 秒开始使用
133
+ ### 5. Hosted Search + Stateful Web Actions
94
134
 
95
- ### 1. 安装
135
+ 普通联网搜索仍使用 DSH 原生 `web_search`。LCX 可以把 SearchProvider 映射到当前 GPT Hosted Search,而不是再给模型暴露第二个普通搜索工具。
96
136
 
97
- ```powershell
98
- dsh plugin --profile web add dsh-lcx-codex
99
- dsh web
100
- ```
137
+ | 需求 | 使用入口 |
138
+ |---|---|
139
+ | 普通联网搜索 | DSH `web_search` |
140
+ | Hosted Search 高级参数 | `websearch_gpt_advanced` |
141
+ | 连续网页 / PDF 操作 | `websearch_alpha` |
101
142
 
102
- 需要固定版本时:
143
+ Alpha 支持:
103
144
 
104
- ```powershell
105
- dsh plugin --profile web add dsh-lcx-codex@0.4.1
145
+ ```text
146
+ search open find / click → screenshot
106
147
  ```
107
148
 
108
- 升级时请使用 DSH 官方 plugin remove/add 路径;不要为了“清理”删除用户 session `$DSH_HOME/storages/lcx-codex/`。
149
+ Alpha 默认关闭;只有当前 endpoint / provider / model / schema 通过 capability probe 后才注册。未知部署 fail-closed。
109
150
 
110
- ### 2. DSH Settings 启用
151
+ ### 6. Pi 0.84.3 隔离升级
111
152
 
112
- 第一次使用建议从最小配置开始:
153
+ 插件独立使用 `@earendil-works/pi-ai 0.84.3`,不 override DSH host:
113
154
 
114
- | 设置 | 建议 |
115
- |---|---:|
116
- | Enable plugin | **On** |
117
- | Use GPT Hosted Search | 需要 GPT Hosted Search 时 **On** |
118
- | Advanced Hosted Search | **Off**,需要高级参数再开 |
119
- | Alpha Search | **Off**,确认当前 route 支持后再开 |
120
- | Native V2 remote compaction | 上游实际支持 Native V2 时 **On** |
121
- | Native-first auto compaction | 使用 Native V2 时 **On** |
155
+ ```text
156
+ DSH 0.1.1-rc.2
157
+ └─ host Pi 0.82.1 ← 不改
122
158
 
123
- **前提条件**
159
+ dsh-lcx-codex 0.4.2
160
+ └─ plugin Pi 0.84.3 ← 插件隔离依赖
161
+ ```
124
162
 
125
- - Node.js `>=20`
126
- - DSH 中已有可工作的 GPT `openai-responses` route
127
- - 上游 endpoint 实际支持你准备启用的 Hosted Search / Native V2 / Alpha 能力
163
+ Pi 负责 canonical Responses message/tool serialization、reasoning、IDs、strict/grammar/custom tools、`additional_tools`、`tool_search`、namespace 和 stream semantics;LCX 不维护第二套通用 provider framework。
128
164
 
129
- ### 3. 确认它真的生效
165
+ ## 30 秒配置
130
166
 
131
- | 能力 | 应看到什么 |
132
- |---|---|
133
- | GPT Hosted Search | 普通工具入口仍是 DSH `web_search`,实际请求走当前 GPT Responses route |
134
- | Advanced Hosted | 启用后出现 `websearch_gpt_advanced` |
135
- | Alpha Web Actions | 只有 capability probe 通过时才出现 `websearch_alpha` |
136
- | Native V2 | compact 时出现 provider-native checkpoint 路径;普通 Basic Compaction 不会被伪装成 Native V2 成功 |
167
+ ### 前提条件
137
168
 
138
- ## 搜索工具怎么选
169
+ - Node.js `^22.19.0 || >=24.0.0`
170
+ - DSH `0.1.1-rc.2`
171
+ - DSH 中已有可工作的 GPT Responses route
172
+ - 上游 endpoint 实际支持准备启用的 Hosted Search / Native V2 / Alpha 能力
139
173
 
140
- | 你要做什么 | 使用入口 | 适合场景 |
141
- |---|---|---|
142
- | 普通联网搜索 | DSH `web_search` | 找资料、查网页、一般检索 |
143
- | 控制 Hosted Search 参数 | `websearch_gpt_advanced` | 域名 allow/block、近似位置、search context、图片搜索等 |
144
- | 连续浏览网页或 PDF | `websearch_alpha` | `search/open/find/click/screenshot` 与结构化 Web actions |
174
+ ### 推荐初始设置
145
175
 
146
- ## 它如何接入 DSH
176
+ | 设置 | 推荐值 | 说明 |
177
+ |---|---:|---|
178
+ | Enable LCX | **On** | 接管当前 GPT Responses 会话 |
179
+ | Use GPT Hosted Search | 按需 | 让 DSH `web_search` 使用 GPT Hosted Search |
180
+ | Advanced Hosted Search | Off | 需要高级 Hosted 参数时再开 |
181
+ | Alpha Search | Off | capability probe 通过后再开 |
182
+ | Native-first auto compaction | On | 使用 Native-first pressure coordination |
183
+ | Native threshold | `90%` | 主动 Native V2 阈值 |
184
+ | Emergency DSH prune | `95%` | 紧急 prune 阈值 |
185
+ | Fallback to Basic Compaction | On | Native 首次失败时允许受控回退 |
186
+ | `web_search` timeout | `240s` | 避免较慢 Hosted Search 被过早中断 |
147
187
 
148
- ```text
149
- DSH Agent / Session / Web
150
- ├─ web_search ──────────> LCX SearchProvider ──> GPT Hosted Search
151
- ├─ Advanced / Alpha ────> LCX Web tools ───────> GPT Web actions
152
- └─ compact / replay ────> LCX Native bridge ───> Responses Native V2
153
- ```
188
+ ### 如何确认生效
154
189
 
155
- **DSH host,LCX 是兼容扩展层。** 插件优先复用当前 DSH route 的 `baseURL`、credential reference、headers、模型与 retry policy,而不是维护第二套账号配置。
190
+ | 能力 | 预期行为 |
191
+ |---|---|
192
+ | LCX ownership | LCX ON 后第一轮 GPT ordinary request 就进入 LCX Responses path |
193
+ | Prompt Cache | 稳定 warm turn 可出现 provider `cached_tokens` |
194
+ | Hosted Search | 普通入口仍是 DSH `web_search` |
195
+ | Advanced Hosted | 开启后出现 `websearch_gpt_advanced` |
196
+ | Alpha | capability probe 通过后才出现 `websearch_alpha` |
197
+ | Native V2 | Compact 产生 provider-native checkpoint,而不是把 Basic Compaction 伪装成 Native |
198
+ | Replay | Compact 后继续同一 DSH session;restart/resume 仍可续接 |
156
199
 
157
- checkpoint、canonical replay、Pi serializer、cache identity、fork safety pressure coordination 等实现细节见 [ARCHITECTURE.md](ARCHITECTURE.md)。
200
+ ## DSHLCX 的责任边界
158
201
 
159
- ## 兼容性
202
+ | 组件 | 负责什么 |
203
+ |---|---|
204
+ | **DSH** | Agent loop、Session/history、GenerateOptions、模型/credential、工具执行、AttachmentStore、pressure policy、compaction transaction |
205
+ | **DSH compatibility seam** | 把 DSH message / GenerateOptions 投影到 Pi Context,并把结果桥接回 DSH |
206
+ | **Plugin Pi 0.84.3** | canonical Responses serialization / parser semantics |
207
+ | **LCX** | ON/OFF ownership、最终 Responses body + HTTP/SSE wire、ordinary/compact/replay orchestration、Native opaque state、Search capabilities |
208
+
209
+ 更多 checkpoint、portable replay、cache identity、RefStore、pressure coordination 与 protocol 细节见 [ARCHITECTURE.md](ARCHITECTURE.md)。
160
210
 
161
- 当前正式稳定组合:
211
+ ## 兼容性
162
212
 
163
213
  | Plugin | DSH | DSH host Pi | Plugin Pi | 状态 |
164
214
  |---|---|---|---|---|
165
- | `0.4.1` | `0.1.1-rc.2` | `0.82.1` | `0.82.1` | **VERIFIED STABLE** |
215
+ | `0.4.2` | `0.1.1-rc.2` | `0.82.1` | `0.84.3` | **VERIFIED STABLE** |
216
+ | `0.4.1` | `0.1.1-rc.2` | `0.82.1` | `0.82.1` | historical stable |
166
217
 
167
- `0.4.1` runtime 来自完整 QA 通过的 `0.4.1-pre.1`,stable promotion 本身保持 zero-functional-change。新的 DSH 版本**不会自动视为兼容**;项目会先检查受影响 seam,再按风险运行对应测试。
218
+ DSH `0.1.2-alpha.1` 和更新的 Pi 版本目前不属于 `0.4.2` 的正式兼容性声明;后续会按受影响 seam 单独验证,而不是自动视为兼容。
168
219
 
169
- <details>
170
- <summary><strong>完整推荐设置</strong></summary>
220
+ ## 当前边界
171
221
 
172
- | 设置 | 推荐值 | 说明 |
173
- |---|---:|---|
174
- | Enable plugin | On | 启用插件 |
175
- | Use GPT Hosted Search | 按需 | 让 DSH `web_search` GPT Hosted Search |
176
- | Advanced Hosted Search | Off | 需要高级 Hosted 参数时再开 |
177
- | Alpha Search | Off | capability 验证后再开 |
178
- | Native V2 remote compaction | On* | *上游 route 实际支持 Native V2 时 |
179
- | Native-first auto compaction | On | 启用自动 pressure 策略 |
180
- | Native threshold | 90% | 90% 开始优先 Native V2 |
181
- | Emergency DSH prune | 95% | 95% 才允许 emergency prune |
182
- | `web_search` timeout | 240 s | 避免长搜索被过早终止 |
222
+ - 当前支持 route 使用 implicit Prompt Cache;content-level explicit breakpoint 在该 route 上会被拒绝,因此没有作为产品设置开放。
223
+ - dynamic skill / plugin 若改变 top-level tool schema,可能触发一次 prompt-cache reset;功能不受影响,新 topology 会重新 warm。
224
+ - `reasoning.context` / `reasoning.mode` 仍取决于 host/Pi 暴露能力,LCX 不额外造第二套控制面。
225
+ - normal operational context 仍使用约 `262K` 级别配置;1.05M long context 不是默认开启项。
226
+ - credentialed `ALPHA-004` runtime 仍为 `NOT_COVERED`,fail-closed 行为已有测试覆盖。
227
+ - Programmatic Tool Calling 当前不作为已支持能力宣传。
228
+
229
+ ## 常见问题
230
+
231
+ <details>
232
+ <summary><strong>为什么切非 GPT 前要关闭 LCX?</strong></summary>
183
233
 
184
- 主要配置字段:`remoteCompaction`、`autoCompaction`、`fallbackToBasicCompaction`、`autoCompactionThresholdPercent`、`emergencyPruneThresholdPercent`、`webSearchTimeoutSeconds`、`advancedHostedSearch`、`alphaSearch`。
234
+ LCX ON 是 GPT Responses lifecycle ownership switch,不是通用多模型代理层。非 GPT 模型继续走 DSH 原生 adapter。
185
235
 
186
236
  </details>
187
237
 
188
238
  <details>
189
- <summary><strong>常见情况</strong></summary>
239
+ <summary><strong>为什么 web_search 还是同一个工具?</strong></summary>
190
240
 
191
- **`web_search` 没走 GPT Hosted Search**
192
- 确认插件和 Hosted Search 已启用,并且当前 Agent 能解析到兼容的 GPT `openai-responses` route。
241
+ 这是刻意设计。LCX 改的是 DSH `web_search` 后面的 SearchProvider,不给模型重复暴露两个普通搜索工具。
193
242
 
194
- **`websearch_alpha` 没出现**
195
- 这是预期的 fail-closed 行为。Alpha 必须对当前 route/schema 完成可信 capability probe 后才注册。
243
+ </details>
196
244
 
197
- **Native V2 没有生效**
198
- 确认当前 GPT Responses endpoint 实际支持 `remote_compaction_v2`。插件不会把普通 Basic Compaction 假装成 Native V2 成功。
245
+ <details>
246
+ <summary><strong>为什么 Alpha 有时不出现?</strong></summary>
199
247
 
200
- **安装成功但配置卡不可见**
201
- 确认安装的是 `0.4.1` 或更高版本,并重启/刷新 DSH Web;`0.4.1` 已包含正式安装态 settings lifecycle 修复。
248
+ 这是 fail-closed 行为。当前 route/schema 没通过 capability probe 时,`websearch_alpha` 不注册。
202
249
 
203
250
  </details>
204
251
 
205
252
  <details>
206
- <summary><strong>开发</strong></summary>
253
+ <summary><strong>为什么加载 skill 后有时缓存会重新 warm?</strong></summary>
254
+
255
+ 某些 skill 会动态注册新的顶层工具。工具 schema 属于可缓存 prompt prefix 的一部分,topology 改变时 provider 可能建立新的 cache epoch。`0.4.2` 优先保证工具定义正确,不通过猜测 provenance 来强行维持旧 cache。
256
+
257
+ </details>
258
+
259
+ ## 开发与验证
207
260
 
208
261
  ```bash
209
262
  npm run typecheck
@@ -212,12 +265,11 @@ npm run test:schema
212
265
  npm pack --ignore-scripts
213
266
  ```
214
267
 
215
- - 设计与协议细节:[ARCHITECTURE.md](ARCHITECTURE.md)
216
- - 版本变化:[CHANGELOG.md](CHANGELOG.md)
268
+ - 架构:[ARCHITECTURE.md](ARCHITECTURE.md)
269
+ - 版本记录:[CHANGELOG.md](CHANGELOG.md)
270
+ - GitHub Releases:[Releases](https://github.com/kk3ya03-star/dsh-lcx-codex/releases)
217
271
  - npm:[`dsh-lcx-codex`](https://www.npmjs.com/package/dsh-lcx-codex)
218
272
 
219
- </details>
220
-
221
273
  ## License
222
274
 
223
275
  MIT