dsh-codex-subscription 1.13.1 → 1.14.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/DIRECTORY.md CHANGED
@@ -18,7 +18,7 @@ Use a ChatGPT subscription in DeepSeek Harness through independent OAuth sign-in
18
18
  - Codex CLI required: no
19
19
  - OpenAI API key required: no
20
20
  - Platforms: official DSH plus DSH-Portable product forms for Windows, macOS, and Linux
21
- - Main capabilities: Codex models, model-aware context windows, quota and expiring resets, web search, Beta image generation/editing with explicit references and native preview/download, optional composer quota, Fast mode, existing-proxy adaptation, secret-free actionable support diagnostics, and direct feedback
21
+ - Main capabilities: Codex models, model-aware context windows, quota and expiring resets, web search, Beta image generation/editing with explicit references, native preview/download, and original host paths for new images, optional composer quota, Fast mode, existing-proxy adaptation, secret-free actionable support diagnostics, and direct feedback
22
22
  - Safety boundary: subscription failures remain visible and never silently fall back to another paid provider
23
23
 
24
24
  ## Install
package/README.en.md CHANGED
@@ -22,6 +22,13 @@ No OpenAI API key or Codex CLI. Models, search, quota, and image generation stay
22
22
  <img src="https://raw.githubusercontent.com/WSL043/dsh-codex-subscription/main/docs/assets/readme-hero-en.webp" width="900" alt="Your Codex subscription inside DSH: models, web search, quota and safe reset, image generation, and Fast mode">
23
23
  </p>
24
24
 
25
+ ## What's included in 1.14.0
26
+
27
+ - Built-in image viewer: a bottom toolbar, wheel zoom, drag to pan, on-image notes, copy notes, and continue editing, without another plugin.
28
+
29
+ - Fixes generated-image previews that could not open in DSH Web, so generated images can be viewed in the conversation again.
30
+ - New and edited images now return the exact original path on the current DSH host in the tool result, so a model or Agent can read or copy the file; preview and download remain session-authorized.
31
+
25
32
  ## Three-step start
26
33
 
27
34
  1. **Install the plugin.** Run the standard DSH bundle command:
@@ -33,7 +40,7 @@ No OpenAI API key or Codex CLI. Models, search, quota, and image generation stay
33
40
  2. **Sign in.** Restart DSH yourself, open **Settings -> Codex**, and choose browser sign-in. No Codex CLI and no pasted token are required.
34
41
  3. **Use Codex.** Select a Codex model. Quota, subscription search, image generation, and Fast mode remain inside DSH.
35
42
 
36
- DSH-Portable exposes the same standard plugin command, so the command above also applies there. See below for the complete official npm, Agent, update, and uninstall routes.
43
+ DSH-Portable exposes the same standard plugin command, so the command above also applies there. See below for the complete official npm, update, and uninstall routes.
37
44
 
38
45
  ## Why this plugin
39
46
 
@@ -45,7 +52,7 @@ DSH-Portable exposes the same standard plugin command, so the command above also
45
52
  | **Composer quota** | Choose a compact percentage, progress bar, or no inline quota display |
46
53
  | **Safe quota reset** | See each reset credit separately and deliberately try one with a cooldown and acknowledgement |
47
54
  | **Subscription search** | Explicitly route search globally through DSH default search or the signed-in Codex subscription |
48
- | **Codex image generation and editing (Beta)** | Generate without references, or explicitly edit one selected image; preview, zoom, annotate regions, download the original, and continue in the same composer |
55
+ | **Codex image generation and editing (Beta)** | Generate without references, or explicitly edit one selected image; preview, zoom, annotate regions, download the original, and get the original host path for new or edited images |
49
56
  | **Fast mode** | Switch between Standard and Fast directly in the composer |
50
57
  | **Model-aware context** | Keep catalog defaults, use each model's supported extended window, or enter a full numeric token limit for each model |
51
58
  | **Headless runs** | Use the same signed-in Codex provider for one-shot DSH tasks that print their answer and exit |
@@ -58,7 +65,7 @@ These capabilities reuse the same local ChatGPT sign-in. Subscription routing fa
58
65
  <img src="https://raw.githubusercontent.com/WSL043/dsh-codex-subscription/main/docs/assets/context-settings-en.png" width="820" alt="Current Codex subscription settings in DeepSeek Harness with search, model-aware context, composer quota, and support diagnostics">
59
66
  </p>
60
67
 
61
- Captured from the installed official DeepSeek Harness `0.1.2-rc.1` product with the current plugin build.
68
+ The screenshot illustrates the settings layout; available options can vary by DSH and plugin version.
62
69
 
63
70
  ## Prepare DSH
64
71
 
@@ -86,18 +93,6 @@ dsh plugin --profile headless add dsh-codex-subscription
86
93
  dsh --profile headless "Reply with only the word: ok"
87
94
  ```
88
95
 
89
- ### Let an Agent install it
90
-
91
- Send this link directly to your Agent:
92
-
93
- **[Agent install, update, and uninstall guide](https://raw.githubusercontent.com/WSL043/dsh-codex-subscription/main/AGENTS.md)**
94
-
95
- ```text
96
- https://raw.githubusercontent.com/WSL043/dsh-codex-subscription/main/AGENTS.md
97
- ```
98
-
99
- The guide includes verification steps and tells the Agent to preserve the DSH profile, sign-in, and other plugins.
100
-
101
96
  <details>
102
97
  <summary>Official npm route (Node.js installed)</summary>
103
98
 
@@ -167,19 +162,19 @@ clicks are single-flight, and an uncertain network result is never retried autom
167
162
 
168
163
  ### Image generation and editing (Beta)
169
164
 
170
- When `dsh-image-viewer` is installed, generated images delegate to its unified preview first. The subscription viewer is only a fallback when that service is absent or declines the request, so the two plugins never compete for the same entry point. Image Viewer owns zoom, pan, fit, preview downloads, and region notes; this plugin owns Codex image generation/editing, exact-original authorization, and the continue-editing handoff.
171
- Both paths expose dimensions and numbered region notes. The standard **Download** action retrieves the permission- and integrity-checked exact original by default; only legacy sessions without an exact original fall back to the conversation preview.
172
- Press **Enter** to save and collapse a region note; use **Shift+Enter** for a new line. Notes remain available when the
173
- same image is reopened during the current DSH page session.
174
- **Continue editing in composer** attaches exactly the image you opened and writes the region notes into the draft without
175
- sending it. A new image request does not silently include earlier images. GPT Image 2 can take longer than a normal text
176
- turn, and detailed text, exact composition, or repeated-character consistency may still need another pass.
165
+ A basic viewer derived from `dsh-image-viewer` is now built in, with no extra installation required. If `dsh-image-viewer` is installed, its unified preview still takes priority; otherwise, or if it declines, the built-in viewer opens. You can zoom, pan, fit, add region notes, and download the image. The standard **Download** action retrieves the permission- and integrity-checked exact original by default; only legacy sessions without an exact original fall back to the conversation preview.
166
+
167
+ New and edited images return the exact original path on the current DSH host in the tool result, so a model or Agent can read or copy the file. The path is on the host running DSH, not a browser download link; original downloads remain session-authorized. Uninstalling the plugin does not delete generated originals.
168
+
169
+ **Continue editing in composer** attaches exactly the image you opened and writes the region notes into the draft without sending it. Press **Enter** to save and collapse a region note; use **Shift+Enter** for a new line. Notes remain available when the same image is reopened during the current DSH page session.
170
+
171
+ A new image request does not silently include earlier images. GPT Image 2 can take longer than a normal text turn, and detailed text, exact composition, or repeated-character consistency may still need another pass.
177
172
 
178
173
  <p align="center">
179
174
  <img src="https://raw.githubusercontent.com/WSL043/dsh-codex-subscription/main/docs/assets/image-preview-annotations-en.png" width="800" alt="Generated image, region note, and continue editing inside the DSH Image Viewer">
180
175
  </p>
181
176
 
182
- The exact bytes returned by GPT Image are stored separately under the current DSH home because DSH may normalize the conversation preview for display and later model input. Original files are integrity-checked and available only to the creating session or a fork that inherited that image result; forks created earlier and unrelated sessions are denied. Raw image bytes are never placed in the session log. Uninstalling the plugin does not delete already generated originals.
177
+ The screenshot above illustrates image viewing and on-image notes. Version 1.14.0 includes the same basic experience; available buttons can vary with the image and installed viewer version.
183
178
 
184
179
  ### Composer speed
185
180
 
@@ -189,12 +184,19 @@ see the [OpenAI Codex Speed documentation](https://learn.chatgpt.com/docs/agent-
189
184
 
190
185
  ## Update and uninstall
191
186
 
192
- Use the same DSH plugin lifecycle to update, verify, or uninstall:
187
+ ### Update and verify
193
188
 
194
189
  ```sh
195
190
  dsh plugin --profile web update dsh-codex-subscription
196
191
  dsh plugin --profile web list dsh-codex-subscription --depth 0
197
192
  dsh --profile web --dump-config
193
+ ```
194
+
195
+ ### Uninstall
196
+
197
+ Run this only when you want to remove the plugin:
198
+
199
+ ```sh
198
200
  dsh plugin --profile web remove dsh-codex-subscription
199
201
  ```
200
202
 
@@ -203,10 +205,17 @@ These operations preserve the DSH profile, other plugins, and saved sign-in.
203
205
  <details>
204
206
  <summary>Official npm fallback</summary>
205
207
 
208
+ ### Update and verify
209
+
206
210
  ```sh
207
211
  npx -y @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web update dsh-codex-subscription
208
212
  npx -y @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web list dsh-codex-subscription --depth 0
209
213
  npx -y @deepseek-ai/dsh@0.1.2-rc.1 --profile web --dump-config
214
+ ```
215
+
216
+ ### Uninstall
217
+
218
+ ```sh
210
219
  npx -y @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web remove dsh-codex-subscription
211
220
  ```
212
221
 
@@ -216,7 +225,7 @@ npx -y @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web remove dsh-codex-subscri
216
225
 
217
226
  - **`dsh` is not recognized:** the official npm route does not create a global `dsh` command; use the complete `npx -y @deepseek-ai/dsh@0.1.2-rc.1 ...` command above;
218
227
  - **More than one DSH exists:** run the standard command from the intended DSH environment so that product selects the corresponding profile;
219
- - **Setup still fails:** send the Agent guide above to an Agent. Do not delete the profile or change the system PATH to force an install.
228
+ - **Setup still fails:** confirm the command is running in the intended DSH environment. Do not delete the profile or change the system PATH to force an install.
220
229
  - **Need to report a problem:** generate a **Support diagnostics** report at the bottom of Settings, then open the [bug report form](https://github.com/WSL043/dsh-codex-subscription/issues/new?template=install-problem.yml). The report includes the OS/runtime, bounded sign-in phase, and safe request-failure categories, but excludes credentials, account identifiers, proxy addresses, raw responses, and full logs. Paste it into the required diagnostics field; never attach sign-in URLs, authorization codes, or browser callback addresses.
221
230
 
222
231
  The ChatGPT Codex backend and DSH can change independently. This community project is not affiliated with or endorsed by DeepSeek or OpenAI.
package/README.md CHANGED
@@ -23,6 +23,13 @@
23
23
  <img src="https://raw.githubusercontent.com/WSL043/dsh-codex-subscription/main/docs/assets/readme-hero.webp" width="900" alt="Codex 订阅直接用在 DSH:订阅模型、联网搜索、额度与安全重置、图片生成和高速模式">
24
24
  </p>
25
25
 
26
+ ## 1.14.0 重点变化
27
+
28
+ - 内置图片查看器:无需额外安装插件,即可使用底部工具栏、滚轮缩放、拖动、图上备注、复制备注和继续编辑。
29
+
30
+ - 修复 DSH Web 中生成图片预览无法打开的问题,生成图片可以继续在会话中查看。
31
+ - 新生成或编辑的图片会在工具结果中返回当前 DSH 主机上的原图路径,方便模型或 Agent 读取或复制;预览和下载仍按会话权限处理。
32
+
26
33
  ## 三步开始
27
34
 
28
35
  1. **安装插件**:直接运行 DSH 标准 bundle 命令:
@@ -34,7 +41,7 @@
34
41
  2. **登录订阅**:手动重启 DSH,打开 **设置 -> Codex 订阅**,点击浏览器登录。无需 Codex CLI,也不要粘贴 token。
35
42
  3. **开始使用**:在模型选择器中选择 Codex;额度、订阅搜索、图片生成和高速模式都在 DSH 内使用。
36
43
 
37
- DSH-Portable 也提供相同的标准插件命令,因此同样使用上面的命令。完整的官方 npm、Agent 安装、更新和卸载方式见下文。
44
+ DSH-Portable 也提供相同的标准插件命令,因此同样使用上面的命令。完整的官方 npm、更新和卸载方式见下文。
38
45
 
39
46
  ## 核心优势
40
47
 
@@ -46,7 +53,7 @@ DSH-Portable 也提供相同的标准插件命令,因此同样使用上面的
46
53
  | **输入框额度** | 可选择紧凑百分比、进度条或完全关闭输入框额度显示 |
47
54
  | **安全额度重置** | 每张重置卡单独显示,并通过冷静期和知情确认主动尝试重置 |
48
55
  | **订阅搜索** | 可将全部模型的搜索明确路由到 DSH 默认搜索或已登录的 Codex 订阅 |
49
- | **Codex 图片生成与编辑(Beta)** | 可无参考图全新生成,也可明确选择会话图片继续编辑;支持预览、缩放、区域备注、下载原图并衔接回当前输入框 |
56
+ | **Codex 图片生成与编辑(Beta)** | 可无参考图全新生成,也可明确选择会话图片继续编辑;支持预览、缩放、区域备注、下载原图,并为新生成或编辑的图片提供 DSH 主机上的原图路径 |
50
57
  | **高速模式** | 直接在输入框切换标准或高速,无需离开当前会话 |
51
58
  | **模型感知上下文** | 可保留目录默认值、按模型启用扩展窗口,或为每个模型填写完整数字 Token 上限 |
52
59
  | **Headless 任务** | 使用同一份已登录的 Codex Provider 运行一次性 DSH 任务,输出答案后自动退出 |
@@ -59,7 +66,7 @@ DSH-Portable 也提供相同的标准插件命令,因此同样使用上面的
59
66
  <img src="https://raw.githubusercontent.com/WSL043/dsh-codex-subscription/main/docs/assets/context-settings.png" width="820" alt="当前 DeepSeek Harness Codex 订阅设置,包含搜索来源、模型感知上下文、输入框额度和支持诊断">
60
67
  </p>
61
68
 
62
- 图片来自已安装的官方 DeepSeek Harness `0.1.2-rc.1` 与当前插件构建。
69
+ 截图用于说明设置页布局;可用选项会随 DSH 与插件版本变化。
63
70
 
64
71
  ## 准备 DSH
65
72
 
@@ -87,18 +94,6 @@ dsh plugin --profile headless add dsh-codex-subscription
87
94
  dsh --profile headless "只回复:ok"
88
95
  ```
89
96
 
90
- ### 交给 Agent
91
-
92
- 把这个链接直接发给 Agent:
93
-
94
- **[Agent 安装、更新与卸载文档](https://raw.githubusercontent.com/WSL043/dsh-codex-subscription/main/AGENTS.md)**
95
-
96
- ```text
97
- https://raw.githubusercontent.com/WSL043/dsh-codex-subscription/main/AGENTS.md
98
- ```
99
-
100
- Agent 文档包含安装、更新、卸载和验收步骤,并要求保留 DSH profile、登录信息和其他插件。
101
-
102
97
  <details>
103
98
  <summary>官方 npm 方式(已安装 Node.js)</summary>
104
99
 
@@ -165,17 +160,19 @@ ChatGPT 返回可用重置卡时,设置页会把每张卡分别显示为紧凑
165
160
 
166
161
  ### 图片生成与编辑(Beta)
167
162
 
168
- 如果安装了 `dsh-image-viewer`,生成图片会优先交给它统一预览;订阅插件自己的查看器仅在该服务不存在或拒绝打开时兜底,不会与图片查看器争抢入口。图片查看器负责缩放、拖动、适合窗口、会话预览下载和区域备注,订阅插件只负责 Codex 图片生成/编辑、精确原图权限和“继续编辑”交接。
169
- 两条路径都支持查看尺寸和编号区域备注;标准“下载”按钮默认获取经过权限与完整性校验的精确原图,只有旧会话没有精确原图时才下载会话预览图。
170
- Enter 保存并收起当前备注,Shift+Enter 可以换行;在当前 DSH 页面会话内重新打开同一张图片时,备注仍会保留。
171
- 点击“在输入框中继续编辑”时,只会附上当前打开的这一张图,并把部位标注写入草稿,不会自动发送。
172
- 新的图片请求不会静默带入历史图片。GPT Image 2 的耗时可能明显长于文本回复,复杂文字、精确构图和连续角色一致性也可能需要再次调整。
163
+ 订阅插件已内置基于 `dsh-image-viewer` 的基础查看器,无需额外安装。若已安装 `dsh-image-viewer`,仍优先使用它的统一预览;没有该服务或其拒绝打开时,自动使用内置查看器。你可以缩放、拖动、适合窗口、添加区域备注并下载图片。标准“下载”默认获取经过权限与完整性校验的精确原图;旧会话没有精确原图时才下载会话预览图。
164
+
165
+ 新生成或编辑的图片会在工具结果中返回当前 DSH 主机上的原图路径,模型或 Agent 可以读取或复制该文件。该路径位于运行 DSH 的主机,并非浏览器下载链接;原图下载仍按会话授权。卸载插件不会删除已生成的原图。
166
+
167
+ 点击“在输入框中继续编辑”只附上当前打开的图片,并把部位标注写入草稿,不会自动发送。按 Enter 保存并收起备注,Shift+Enter 换行;在当前 DSH 页面重新打开同一张图片时,备注仍会保留。
168
+
169
+ 新的图片请求不会静默带入历史图片。GPT Image 2 可能比文本回复耗时更长,复杂文字、精确构图和连续角色一致性也可能需要再次调整。
173
170
 
174
171
  <p align="center">
175
172
  <img src="https://raw.githubusercontent.com/WSL043/dsh-codex-subscription/main/docs/assets/image-preview-annotations.png" width="800" alt="DSH 图片查看器中的生成图、区域备注和继续编辑">
176
173
  </p>
177
174
 
178
- GPT Image 返回的精确字节会单独保存在当前 DSH 主目录中,因为 DSH 可能为会话展示和后续模型输入规范化预览图。原图下载前会校验完整性,只允许创建会话或确实继承了该图片结果的 Fork 会话访问;提前创建的 Fork 和无关会话会被拒绝。原图字节不会写入会话日志,卸载插件也不会删除已经生成的原图。
175
+ 上图展示图片查看与图上备注的基本交互。1.14.0 已内置相同的基础体验;具体按钮会随图片和所安装的查看器版本变化。
179
176
 
180
177
  ### 输入框速度
181
178
 
@@ -185,12 +182,19 @@ GPT Image 返回的精确字节会单独保存在当前 DSH 主目录中,因
185
182
 
186
183
  ## 更新与卸载
187
184
 
188
- 更新、校验和卸载继续使用同一套 DSH 插件生命周期:
185
+ ### 更新并检查
189
186
 
190
187
  ```sh
191
188
  dsh plugin --profile web update dsh-codex-subscription
192
189
  dsh plugin --profile web list dsh-codex-subscription --depth 0
193
190
  dsh --profile web --dump-config
191
+ ```
192
+
193
+ ### 卸载
194
+
195
+ 确认需要移除插件后再运行:
196
+
197
+ ```sh
194
198
  dsh plugin --profile web remove dsh-codex-subscription
195
199
  ```
196
200
 
@@ -199,10 +203,17 @@ dsh plugin --profile web remove dsh-codex-subscription
199
203
  <details>
200
204
  <summary>官方 npm 备用方式</summary>
201
205
 
206
+ ### 更新并检查
207
+
202
208
  ```sh
203
209
  npx -y @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web update dsh-codex-subscription
204
210
  npx -y @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web list dsh-codex-subscription --depth 0
205
211
  npx -y @deepseek-ai/dsh@0.1.2-rc.1 --profile web --dump-config
212
+ ```
213
+
214
+ ### 卸载
215
+
216
+ ```sh
206
217
  npx -y @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web remove dsh-codex-subscription
207
218
  ```
208
219
 
@@ -212,7 +223,7 @@ npx -y @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web remove dsh-codex-subscri
212
223
 
213
224
  - **`dsh` 无法识别**:官方 npm 方式本来就不会创建全局 `dsh` 命令,请使用上面的完整 `npx -y @deepseek-ai/dsh@0.1.2-rc.1 ...` 命令;
214
225
  - **电脑上有多个 DSH**:请从目标 DSH 环境运行标准命令,由该产品自身选择对应 profile;
215
- - **安装仍然失败**:把上面的 Agent 文档链接发给 Agent,不要删除 profile 或随意修改系统 PATH。
226
+ - **安装仍然失败**:确认命令是在目标 DSH 环境中运行,不要删除 profile 或随意修改系统 PATH。
216
227
  - **需要提交问题**:在设置页底部生成“支持诊断”,然后打开[使用问题表单](https://github.com/WSL043/dsh-codex-subscription/issues/new?template=install-problem.yml)。报告包含系统/运行时、有限的登录阶段和安全的请求失败分类,但不含凭据、账号标识、代理地址、原始响应或完整日志;请粘贴到必填诊断栏,且不要附上登录链接、授权码或浏览器回调地址。
217
228
 
218
229
  ## 边界与支持
@@ -7,6 +7,7 @@ This project depends on software distributed under its own terms. The dependency
7
7
  | DeepSeek Harness packages | Plugin host, client slots, credential and LLM interfaces | MIT | https://github.com/deepseek-ai/deepseek-harness |
8
8
  | `@earendil-works/pi-ai` 0.82.1 | OpenAI Codex OAuth, model catalog, Responses transport, and WebSocket continuation | MIT | https://github.com/earendil-works/pi |
9
9
  | React | DSH settings component runtime | MIT | https://github.com/facebook/react |
10
+ | dsh-image-viewer 0.1.0-beta.9 (3d121d3) | Adapted built-in image viewer, interaction state, and styles | MIT, Copyright (c) 2026 WSL043; full license included in LICENSE | https://github.com/WSL043/dsh-image-viewer |
10
11
  | Heroicons | Composer speed icon | MIT | https://github.com/tailwindlabs/heroicons |
11
12
  | `https-proxy-agent` 7.0.6 | HTTPS proxy transport for Codex OAuth token requests | MIT | https://github.com/TooTallNate/proxy-agents |
12
13
  | QuotaPin for Codex | Design basis for the opt-in local quota runway forecast | MIT | https://github.com/WSL043/QuotaPin-for-Codex |