dsh-lcx-codex 0.4.2 → 0.4.3-pre.12
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/README.md +89 -205
- package/cordis.patch.yml +3 -20
- package/lib/client.js +309 -146
- package/lib/compact-v2.js +218 -199
- package/lib/dsh-compat.js +232 -100
- package/lib/dsh-responses.js +452 -277
- package/lib/grok-native-search.js +254 -0
- package/lib/index.js +1013 -757
- package/lib/json-store.js +50 -31
- package/lib/native-checkpoint.js +520 -194
- package/lib/responses-request.js +109 -121
- package/lib/responses-stream.js +1249 -447
- package/lib/route.js +411 -369
- package/lib/service-mutex.js +73 -64
- package/lib/token-budget.js +176 -108
- package/lib/transport.js +280 -68
- package/lib/types/client/index.d.ts +6 -0
- package/lib/types/compact-v2.d.ts +104 -0
- package/lib/types/dsh-compat.d.ts +78 -0
- package/lib/types/dsh-responses.d.ts +82 -0
- package/lib/types/grok-native-search.d.ts +34 -0
- package/lib/types/index.d.ts +83 -0
- package/lib/types/json-store.d.ts +10 -0
- package/lib/types/native-checkpoint.d.ts +213 -0
- package/lib/types/responses-request.d.ts +59 -0
- package/lib/types/responses-stream.d.ts +64 -0
- package/lib/types/route.d.ts +153 -0
- package/lib/types/service-mutex.d.ts +14 -0
- package/lib/types/token-budget.d.ts +50 -0
- package/lib/types/transport.d.ts +21 -0
- package/lib/types/web-run-output.d.ts +29 -0
- package/lib/types/web-search-alpha.d.ts +286 -0
- package/lib/types/web-search-capability.d.ts +26 -0
- package/lib/types/web-search-hosted.d.ts +246 -0
- package/lib/types/web-search-ref-store.d.ts +22 -0
- package/lib/web-run-output.js +167 -18
- package/lib/web-search-alpha.js +865 -163
- package/lib/web-search-capability.js +55 -65
- package/lib/web-search-hosted.js +210 -32
- package/lib/web-search-ref-store.js +63 -59
- package/package.json +89 -29
- package/ARCHITECTURE.md +0 -117
- package/CHANGELOG.md +0 -224
- package/README_EN.md +0 -277
- package/assets/dsh-lcx-codex-banner.jpg +0 -0
- package/lib/legacy-v3.js +0 -20
- package/lib/responses-replay.js +0 -68
- package/scripts/probe-alpha.mjs +0 -43
- package/scripts/validate-dsh-schema.mjs +0 -31
package/README.md
CHANGED
|
@@ -1,277 +1,161 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
[](https://github.com/kk3ya03-star/dsh-lcx-codex/actions/workflows/publish.yml)
|
|
5
|
-

|
|
6
|
-

|
|
7
|
-

|
|
8
|
-

|
|
3
|
+
<img src="https://raw.githubusercontent.com/kk3ya03-star/dsh-lcx-codex/main/assets/dsh-lcx-codex-banner.svg" alt="LCX Codex" width="100%" />
|
|
9
4
|
|
|
10
|
-
|
|
5
|
+
# LCX Codex
|
|
11
6
|
|
|
12
|
-
|
|
7
|
+
**为 DeepSeek Harness 中的 GPT 提供 Responses 生命周期能力,并为 Grok 接入原生 Web / X Search。**
|
|
13
8
|
|
|
14
|
-
|
|
9
|
+
[](https://www.npmjs.com/package/dsh-lcx-codex)
|
|
10
|
+
[](#安装)
|
|
11
|
+
[](LICENSE)
|
|
15
12
|
|
|
16
|
-
|
|
13
|
+
**简体中文** · [English](README_EN.md) · [更新日志](CHANGELOG.md) · [问题反馈](https://github.com/kk3ya03-star/dsh-lcx-codex/issues)
|
|
17
14
|
|
|
18
|
-
|
|
15
|
+
</div>
|
|
19
16
|
|
|
20
|
-
|
|
21
|
-
dsh plugin --profile web add dsh-lcx-codex
|
|
22
|
-
dsh web
|
|
23
|
-
```
|
|
24
|
-
|
|
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`
|
|
29
|
-
|
|
30
|
-
`0.4.2-pre.1` 保留为历史 prerelease;新用户直接安装 `latest` 即可。
|
|
31
|
-
|
|
32
|
-
## 产品约定
|
|
33
|
-
|
|
34
|
-
```text
|
|
35
|
-
LCX OFF
|
|
36
|
-
= 完全使用 DSH 原生 LLM 流程
|
|
17
|
+
LCX Codex 是 [DeepSeek Harness](https://github.com/deepseek-ai/DeepSeek-Harness)(DSH)的社区插件。它按当前模型启用对应能力:GPT 可使用远程原生压缩、Hosted / Alpha Search;Grok 可直接使用 xAI Responses 的原生 `web_search` 与 `x_search`。其他模型继续走 DSH 原生路径。
|
|
37
18
|
|
|
38
|
-
|
|
39
|
-
= 当前 GPT Responses 会话从 ordinary turn 1 开始
|
|
40
|
-
由 LCX 持有最终 Responses request / SSE wire
|
|
41
|
-
```
|
|
19
|
+
模型、接口、API Key / credential、会话和工具仍由 DSH 管理,不需要在插件里再配置一遍。GPT 与 Grok 的功能开关彼此独立;当前 Grok 原生搜索支持 API Key / API 网关调用,不包含 xAI OAuth / SuperGrok 登录。
|
|
42
20
|
|
|
43
|
-
|
|
21
|
+
## 安装
|
|
44
22
|
|
|
45
|
-
|
|
23
|
+
本页对应 **`0.4.3-pre.12` 预发布版**,只支持 **DSH `0.1.5-alpha.1` + Pi `0.85.1`**。稳定版仍为 `0.4.2`;本预发布版不为旧 DSH / 旧 Session 格式保留兼容层。
|
|
46
24
|
|
|
47
|
-
DSH
|
|
25
|
+
安装前,请确认 DSH `0.1.5-alpha.1` Web 能正常启动,并已配置需要使用的 GPT Responses 或 Grok Responses API 路由。Node.js 要求 `^22.19.0 || >=24.0.0`。
|
|
48
26
|
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
|
|
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
|
|
27
|
+
```sh
|
|
28
|
+
dsh plugin --profile web add dsh-lcx-codex@0.4.3-pre.12
|
|
29
|
+
dsh web
|
|
72
30
|
```
|
|
73
31
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
## 核心能力
|
|
77
|
-
|
|
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。
|
|
32
|
+
以后升级预发布版,可执行 `dsh plugin --profile web add dsh-lcx-codex@prelatest`。不带版本或标签安装会得到稳定版,**不是本页介绍的新版本**。
|
|
83
33
|
|
|
84
|
-
|
|
34
|
+
**升级到本版:** 只支持 DSH `0.1.5-alpha.1` 的 Session V3。旧插件配置、旧 DSH session、旧 LCX checkpoint / Grok replay envelope 都不迁移到活动目录。需要保留旧历史时,请先将旧 `sessions` 目录改名或归档,再让 DSH `0.1.5-alpha.1` 从新的空 `sessions` 目录开始;旧数据只作为离线备份保留。
|
|
85
35
|
|
|
86
|
-
|
|
36
|
+
DSH 持久化层重新打开同一个已保存 session 时,LCX 可以恢复该 session 内保存的 v5 checkpoint;这只是 DSH session persistence 上的继续对话,**不是 Codex rollout/checkpoint 的进程级 restart/resume 机制**。
|
|
87
37
|
|
|
88
|
-
|
|
89
|
-
- 当前支持 route 发送 `prompt_cache_options.ttl = 30m`;
|
|
90
|
-
- 普通连续 turn / tool-heavy workload 可以复用已 warm 前缀;
|
|
91
|
-
- Native Compact 会按设计建立新的 history/cache epoch,旧未压缩前缀不会被承诺继续复用;
|
|
92
|
-
- 真实长会话中,稳定 topology 下 warm request 多次观察到接近完整前缀复用。
|
|
38
|
+
## 启用
|
|
93
39
|
|
|
94
|
-
|
|
40
|
+
打开 DSH Web 的插件设置,展开 **Responses / Codex 能力**,按需打开开关并保存:
|
|
95
41
|
|
|
96
|
-
|
|
42
|
+
| 开关 | 什么时候开 |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| 启用 LCX | 使用 GPT Responses 生命周期、Native V2 压缩及 GPT 搜索能力时。 |
|
|
45
|
+
| GPT Hosted Search | 当前模型是 GPT,且需要普通联网查询时。 |
|
|
46
|
+
| 高级 Hosted 工具 | GPT 需要搜图、限定网站或使用其他 Hosted 搜索条件时。 |
|
|
47
|
+
| Alpha | GPT 需要连续 `open / find / click / screenshot` 网页操作时,属于实验功能。 |
|
|
48
|
+
| Grok 原生 Web Search | 当前模型是 Grok,并希望使用 xAI 服务端原生网页搜索时。 |
|
|
49
|
+
| Grok 原生 X Search | 当前模型是 Grok,并希望直接搜索 X 内容时。 |
|
|
97
50
|
|
|
98
|
-
|
|
51
|
+
**六个开关默认均关闭。** GPT 四项由“启用 LCX”控制;Grok 两项独立,不要求打开 GPT 的 LCX 主开关。模型、推理等级、图片输入、endpoint 与 credential 都继续在 DSH 的模型/provider 配置中管理。
|
|
99
52
|
|
|
100
|
-
|
|
53
|
+
模型切换不需要重启插件:
|
|
101
54
|
|
|
102
|
-
|
|
55
|
+
- GPT → 只启用已打开的 GPT / LCX 能力;
|
|
56
|
+
- Grok → 只启用已打开的原生 Web / X Search;开启任意 Grok 原生搜索时,该请求不会同时暴露 DSH `web_search`,但 `web_fetch` 和其他 DSH/MCP 工具仍可用;
|
|
57
|
+
- Claude、Gemini、DeepSeek 等其他模型 → 保持 DSH 原生会话、搜索、工具和压缩行为。
|
|
103
58
|
|
|
104
|
-
|
|
105
|
-
0% ─────────────────── 90% ───── 95% ───── 100%
|
|
106
|
-
normal Native emergency hard cap
|
|
107
|
-
V2 DSH prune
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
- `90%`:优先 Native V2;
|
|
111
|
-
- `95%`:允许 DSH emergency tool-result prune;
|
|
112
|
-
- provider-confirmed overflow:继续交给 DSH recovery;
|
|
113
|
-
- manual `/compact`:仍使用 DSH 原生 compaction transaction。
|
|
114
|
-
|
|
115
|
-
Native checkpoint v5 会持久化 provider-native compaction state 与必要的可移植保留历史;同 session / compatible route 可 Native replay,不兼容 route 不会错误复用 opaque state。
|
|
59
|
+
## 搜索与搜图
|
|
116
60
|
|
|
117
|
-
###
|
|
118
|
-
|
|
119
|
-
同一个 DSH session 可以跨越:
|
|
120
|
-
|
|
121
|
-
```text
|
|
122
|
-
Terra
|
|
123
|
-
→ Compact
|
|
124
|
-
→ Replay
|
|
125
|
-
→ Restart DSH
|
|
126
|
-
→ Resume same session
|
|
127
|
-
→ Switch to Sol
|
|
128
|
-
→ Continue
|
|
129
|
-
```
|
|
61
|
+
### GPT 联网查询
|
|
130
62
|
|
|
131
|
-
|
|
63
|
+
GPT 普通查询沿用 DSH 的单一 `web_search` 工具入口;开启 **GPT Hosted Search** 后,LCX 按当前 GPT Responses route 执行 Hosted Search。需要域名、位置、search context 或图片等额外参数时,可启用 `websearch_gpt_advanced`。
|
|
132
64
|
|
|
133
|
-
|
|
65
|
+
例如:
|
|
134
66
|
|
|
135
|
-
|
|
67
|
+
> 只搜索 Python 官方文档,查找 asyncio.TaskGroup 的用法。
|
|
136
68
|
|
|
137
|
-
|
|
138
|
-
|---|---|
|
|
139
|
-
| 普通联网搜索 | DSH `web_search` |
|
|
140
|
-
| Hosted Search 高级参数 | `websearch_gpt_advanced` |
|
|
141
|
-
| 连续网页 / PDF 操作 | `websearch_alpha` |
|
|
69
|
+
### Grok 原生 Web / X Search
|
|
142
70
|
|
|
143
|
-
|
|
71
|
+
Grok 使用 xAI Responses 的服务端工具,而不是把搜索包装成 DSH function tool:
|
|
144
72
|
|
|
145
73
|
```text
|
|
146
|
-
|
|
74
|
+
{ type: "web_search" }
|
|
75
|
+
{ type: "x_search" }
|
|
147
76
|
```
|
|
148
77
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
### 6. Pi 0.84.3 隔离升级
|
|
78
|
+
开启任意 Grok 原生搜索后,Grok 请求会移除 DSH `web_search`,避免重复搜索语义;`web_fetch`、`read` 及其他 DSH/MCP function tools 仍保持可用。原生搜索结果可以继续进入本地工具调用,再回到同一 Grok agentic workflow;插件会保存 xAI 必需的 provider-native replay state,但不会把服务端搜索伪装成 DSH 本地工具调用。
|
|
152
79
|
|
|
153
|
-
|
|
80
|
+
当前支持 **API Key / API Gateway** 路由;OAuth / SuperGrok / X Premium 订阅登录不在本版范围内。LCX 不再为 Grok 自动追加可见的 synthetic `Sources:` 列表,并会清理已知的 `render_inline_citation` / `stateless_invoke` /私有区 renderer 标记、尾部 `<|eos|>` 等上游渲染协议残留;模型正文中主动写出的普通链接仍保持可见。完整 provider-native 搜索输出只保存在 same-session replay state 中。
|
|
154
81
|
|
|
155
|
-
|
|
156
|
-
DSH 0.1.1-rc.2
|
|
157
|
-
└─ host Pi 0.82.1 ← 不改
|
|
82
|
+
### GPT 搜索图片并显示
|
|
158
83
|
|
|
159
|
-
|
|
160
|
-
└─ plugin Pi 0.84.3 ← 插件隔离依赖
|
|
161
|
-
```
|
|
84
|
+
开启高级 Hosted 工具后,可以这样说:
|
|
162
85
|
|
|
163
|
-
|
|
86
|
+
> 搜索金门大桥的照片,选一张直接显示在回复里,并附上来源网页。
|
|
164
87
|
|
|
165
|
-
|
|
88
|
+
**不需要自己填写 JSON 参数。** 模型负责选择图片搜索参数;如果只返回文字,可以补充“请使用高级 Hosted 的图片搜索,并把图片显示出来”。
|
|
166
89
|
|
|
167
|
-
|
|
90
|
+
搜索工具提供图片链接与来源,DSH 用现有的 Markdown 渲染器显示图片。这是**搜索已有图片,不是生成图片**,也不代表模型已经读取了图片像素。图片能否显示还取决于原站链接是否可访问。
|
|
168
91
|
|
|
169
|
-
|
|
170
|
-
- DSH `0.1.1-rc.2`
|
|
171
|
-
- DSH 中已有可工作的 GPT Responses route
|
|
172
|
-
- 上游 endpoint 实际支持准备启用的 Hosted Search / Native V2 / Alpha 能力
|
|
92
|
+
### Alpha 网页操作
|
|
173
93
|
|
|
174
|
-
|
|
94
|
+
`websearch_alpha` 支持 `search / open / find / click / screenshot` 等动作,用于 GPT 连续查阅网页。它操作的是**上游搜索服务中的网页内容**,不会操作你的本机浏览器或 DSH 界面。
|
|
175
95
|
|
|
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 被过早中断 |
|
|
96
|
+
Alpha 需要单独开启,且接口通过能力探测后才会出现。目前网页引用仍可能偶发失效,`screenshot` 尚未验证能返回可显示的图片。**日常 GPT 搜索/搜图和 Grok 原生搜索都不需要开启 Alpha。**
|
|
187
97
|
|
|
188
|
-
|
|
98
|
+
## 长对话与压缩
|
|
189
99
|
|
|
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 仍可续接 |
|
|
100
|
+
开启 LCX 后,插件将 DSH 的压缩请求交给上游 GPT 接口执行 **Native V2 远程原生压缩**,再将结果接回当前会话。会话保存、工具执行和压缩事务仍由 DSH 负责。
|
|
199
101
|
|
|
200
|
-
|
|
102
|
+
| 上下文占用 | 处理方式 |
|
|
103
|
+
| --- | --- |
|
|
104
|
+
| 低于 `90%` | 正常对话,不提前裁剪工具结果。 |
|
|
105
|
+
| `90%` 至 `95%` | 优先尝试远程原生压缩。 |
|
|
106
|
+
| 达到 `95%` | 允许 DSH 紧急裁剪工具结果,再按流程压缩。 |
|
|
201
107
|
|
|
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 |
|
|
108
|
+
也可以输入 `/compact` 手动压缩。这些阈值是固定策略,不需要额外设置;实际能否压缩取决于是否有可压缩的历史以及接口支持情况。Grok 不走 GPT Native V2,而继续使用 DSH `0.1.5-alpha.1` 自己的 compaction;Session V3 的 leading `system/message` 由 DSH 保持在摘要之外。
|
|
208
109
|
|
|
209
|
-
|
|
110
|
+
压缩后可以在同一存活 session 内继续对话;如果 DSH 自身重新打开同一个已持久化 session,LCX 也会校验并恢复其中的 v5 checkpoint。遇到不兼容的模型、route 或 session identity 时,插件改用可迁移的历史,不会强行复用原生状态。首次建立检查点时,部分可恢复失败可以回退到 DSH 基础压缩;并非所有失败都会回退。这里不引入 Codex 式 rollout/checkpoint restart-resume。
|
|
210
111
|
|
|
211
|
-
##
|
|
112
|
+
## 缓存
|
|
212
113
|
|
|
213
|
-
|
|
214
|
-
|---|---|---|---|---|
|
|
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 |
|
|
114
|
+
缓存由上游服务实现,插件只负责保持与当前 provider 兼容的缓存/session identity。
|
|
217
115
|
|
|
218
|
-
|
|
116
|
+
- **GPT**:延续 LCX 既有策略;前台会话与其子代理可共享父会话的 prompt-cache identity,以复用公共请求前缀。真正的 DSH Session、工具执行与私有历史仍各自独立。
|
|
117
|
+
- **Grok**:严格跟随 DSH/Pi 原生语义;每个前台/子代理使用自己的 DSH Session ID 作为 prompt cache / session affinity identity,sibling 子代理不会共享 opaque replay state。
|
|
219
118
|
|
|
220
|
-
|
|
119
|
+
Pi `0.85.1` 的显式缓存模式支持 `30m` 长保留参数;`cacheRetention=none` 时不发送 prompt cache key。压缩、切换模型或改变工具列表后,缓存可能需要重新建立。
|
|
221
120
|
|
|
222
|
-
|
|
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 当前不作为已支持能力宣传。
|
|
121
|
+
## 故障排查
|
|
228
122
|
|
|
229
|
-
|
|
123
|
+
**从旧版 Windows DSH 升级后还需要 `fs-ext` 本地补丁吗?**
|
|
230
124
|
|
|
231
|
-
|
|
232
|
-
<summary><strong>为什么切非 GPT 前要关闭 LCX?</strong></summary>
|
|
125
|
+
不需要把 `0.1.3-alpha.2` 的 `fs-ext` 本地 workaround 带到 DSH `0.1.5-alpha.1`。本版已经在未修改的 Windows DSH `0.1.5-alpha.1` 上完成 Web 与 headless 启动验证。若旧安装曾手工修改 DSH 文件,请通过正常安装得到干净的 `0.1.5-alpha.1` 文件,不要把旧补丁复制到新版本。
|
|
233
126
|
|
|
234
|
-
|
|
127
|
+
**安装后没有变化?**
|
|
235
128
|
|
|
236
|
-
|
|
129
|
+
检查安装和启动是否使用同一个 `web` 配置,并确认对应模型的开关已保存。GPT 主开关与 Grok Web/X 开关彼此独立。
|
|
237
130
|
|
|
238
|
-
|
|
239
|
-
<summary><strong>为什么 web_search 还是同一个工具?</strong></summary>
|
|
131
|
+
**对话正常,但搜索或压缩失败?**
|
|
240
132
|
|
|
241
|
-
|
|
133
|
+
普通 Responses 对话可用,不代表接口同时支持 Native V2、Hosted/Alpha 或 Grok 原生 Web/X Search。请确认当前通道提供对应服务端能力;Sub2API、NewAPI 或其他网关名称本身不是能力保证。
|
|
242
134
|
|
|
243
|
-
|
|
135
|
+
## 版本与验证范围
|
|
244
136
|
|
|
245
|
-
|
|
246
|
-
<summary><strong>为什么 Alpha 有时不出现?</strong></summary>
|
|
137
|
+
本版使用 DSH `0.1.5-alpha.1`、DSH host Pi `0.85.1` 和插件 Pi `0.85.1`。插件单独声明 Pi 依赖,不替换 DSH 的依赖。
|
|
247
138
|
|
|
248
|
-
|
|
139
|
+
发布候选已通过 **246/246 PASS**、strict host/client typecheck 与 DSH schema 校验。真实 DSH `0.1.5-alpha.1` 隔离运行已验证:Web 启动、headless GPT 普通请求、Session V3 `system/message`、Native V2 `/compact`、compact 后同 session continuation,以及 v5 checkpoint 的 session identity 绑定。
|
|
249
140
|
|
|
250
|
-
|
|
141
|
+
Grok 另做了真实长会话验证:原生 Web Search → 足够长的上下文 → DSH 实际 `/compact` → compact 后再次原生搜索/续聊。marker 与关键事实保持,`system/message` 只出现一次,Grok replay 为当前 v3 envelope,最终可见正文 `sourceLeak=false`。
|
|
251
142
|
|
|
252
|
-
|
|
253
|
-
<summary><strong>为什么加载 skill 后有时缓存会重新 warm?</strong></summary>
|
|
143
|
+
仍需保留的预发布限制:Alpha 引用及 screenshot 展示、代理/NO_PROXY、更广的并发/取消和后台 continuable subagent 矩阵仍未全面覆盖;Grok OAuth 不支持;未知的新型上游 renderer 协议仍可能需要额外适配。DSH `0.1.5-alpha.1` 本身仍是 alpha/developer-preview 级上游。
|
|
254
144
|
|
|
255
|
-
|
|
145
|
+
## 开发与反馈
|
|
256
146
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
147
|
+
```sh
|
|
148
|
+
npm ci --ignore-scripts
|
|
149
|
+
npm ci --prefix scripts/runtime-dsh015 --ignore-scripts
|
|
150
|
+
node scripts/link-dsh-runtime.mjs scripts/runtime-dsh015
|
|
151
|
+
node scripts/check-generated.mjs
|
|
262
152
|
npm run typecheck
|
|
263
153
|
npm test
|
|
264
154
|
npm run test:schema
|
|
265
|
-
npm pack --ignore-scripts
|
|
266
155
|
```
|
|
267
156
|
|
|
268
|
-
|
|
269
|
-
- 版本记录:[CHANGELOG.md](CHANGELOG.md)
|
|
270
|
-
- GitHub Releases:[Releases](https://github.com/kk3ya03-star/dsh-lcx-codex/releases)
|
|
271
|
-
- npm:[`dsh-lcx-codex`](https://www.npmjs.com/package/dsh-lcx-codex)
|
|
272
|
-
|
|
273
|
-
## License
|
|
157
|
+
实现细节见[架构说明](ARCHITECTURE.md)。提交 [Issue](https://github.com/kk3ya03-star/dsh-lcx-codex/issues) 时,请附上插件、DSH、Node.js 版本及复现步骤,不要上传 API Key、完整请求或未脱敏的会话日志。
|
|
274
158
|
|
|
275
|
-
|
|
159
|
+
## 许可证
|
|
276
160
|
|
|
277
|
-
|
|
161
|
+
[MIT](LICENSE)。独立社区插件,与 OpenAI、DeepSeek、Sub2API、NewAPI 无隶属或官方背书关系。DeepSeek 名称及标识归其权利人所有。
|
package/cordis.patch.yml
CHANGED
|
@@ -1,25 +1,8 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# documented purpose=compaction llm/stream override, leaving compaction policy,
|
|
4
|
-
# range selection, pruning, transactions and /compact owned by DSH.
|
|
1
|
+
# GPT Responses lifecycle plugin. Runtime defaults live in the plugin Config;
|
|
2
|
+
# the bundle declares only route capabilities that differ from conservative defaults.
|
|
5
3
|
- insert:
|
|
6
4
|
- id: lcx-codex
|
|
7
5
|
name: dsh-lcx-codex
|
|
8
6
|
config:
|
|
9
|
-
|
|
10
|
-
baseURL: https://api.lcxbot.com/v1
|
|
11
|
-
apiKeyEnv: LCX_API_KEY
|
|
12
|
-
model: gpt-5.6-sol
|
|
7
|
+
supportsLongCacheRetention: true
|
|
13
8
|
supportsExplicitPromptCacheMode: true
|
|
14
|
-
legacyCheckpointPath: !!js dshHomePath('storages/lcx-codex/checkpoints-v3.json')
|
|
15
|
-
alphaCapabilityPath: !!js dshHomePath('storages/lcx-codex/web-alpha-capabilities.json')
|
|
16
|
-
alphaRefPath: !!js dshHomePath('storages/lcx-codex/web-alpha-refs.json')
|
|
17
|
-
webSearchProvider: lcx-responses
|
|
18
|
-
webMaxResults: 8
|
|
19
|
-
timeoutMs: 300000
|
|
20
|
-
maxAttempts: 3
|
|
21
|
-
requestImagePixelBudget: 4194304
|
|
22
|
-
requestImageMaxBytes: 1048576
|
|
23
|
-
webSearchTimeoutMs: 240000
|
|
24
|
-
autoCompactionThresholdPercent: 90
|
|
25
|
-
emergencyPruneThresholdPercent: 95
|