dsh-packycode-api 1.1.5 → 1.1.6

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.1.6
4
+
5
+ - Fixed the missing `image` input capability on `deepseek-flash`, following [DeepSeek's official vision guide](https://api-docs.deepseek.com/guides/vision/). DSH can now send image attachments through the existing Chat Completions route. Audited the two GPT models, Grok 4.7 and three Claude models against their vendor documentation; all six already declare image input.
6
+ - Added a regression that sends an image through the registered host route and checks the actual Chat Completions `image_url` payload. `scripts/live-check.mjs --with-vision` also checks DeepSeek's answers to two color fixtures without revealing the colors in the prompt.
7
+ - Validation: 278 offline tests, both rebuilt bundles and the versioned tarball. The built route passed all four HTTP model checks, key rotation and secret-free RPC projections. DeepSeek correctly identified both 512×512 red and blue PNGs through the attachment service seam.
8
+
3
9
  ## 1.1.5
4
10
 
5
11
  - Added `grok-4.7`, displayed as **Grok 4.7**, to the PackyCode `openai-responses` route at `https://cf.api.fan/v1`. [The official Grok 4.7 guide](https://docs.x.ai/developers/grok-4-7) declares a 500,000-token context, text/image input, text output, and `low` / `medium` / `high` / `xhigh` reasoning (default `high`, no off or max). There is no separate documented text-output cap; the numeric pi-ai ceiling is 500,000, bounded by remaining context per request. Only GPT Responses requests keep `prompt_cache_key`: the gateway's Grok route rejects this field with a misleading `Incorrect API key provided` error. Non-GPT Responses requests use pi-ai's `cacheRetention: 'none'` to omit it; the model, protocol, effort and plugin-owned credential stay the same.
package/README.en.md CHANGED
@@ -45,7 +45,7 @@ Open the desktop application's **Plugins** page, click **Add plugin**, and enter
45
45
  dsh-packycode-api
46
46
  ```
47
47
 
48
- Choose the **official** install source, then click **Install**. To pin a version, enter `dsh-packycode-api@1.1.5`.
48
+ Choose the **official** install source, then click **Install**. To pin a version, enter `dsh-packycode-api@1.1.6`.
49
49
 
50
50
  Then **manually restart the desktop application**. Refreshing the page does not reload the plugin inside the Host process.
51
51
 
@@ -64,7 +64,7 @@ Choose a model from the `PackyCode` group. `deepseek-flash`, `gpt-6.1-sol`, `gpt
64
64
 
65
65
  The **Plugins** page shows the installed state and version, and is also where you enable, disable, or uninstall.
66
66
 
67
- **For non-desktop profiles only:** `dsh plugin --profile <name> add dsh-packycode-api@1.1.5`. Do not use it for `desktop` — the CLI refuses it (`profile "desktop" is managed exclusively by the Electron application`).
67
+ **For non-desktop profiles only:** `dsh plugin --profile <name> add dsh-packycode-api@1.1.6`. Do not use it for `desktop` — the CLI refuses it (`profile "desktop" is managed exclusively by the Electron application`).
68
68
 
69
69
  A local checkout can be linked with `dsh plugin --profile <name> add link:/path/to/dsh-packycode-api`.
70
70
 
@@ -138,7 +138,7 @@ Claude Code CLI → temporary local MCP web_search → selected PackyCode DeepSe
138
138
 
139
139
  | Model | How it runs | Effort | Token group |
140
140
  | --- | --- | --- | --- |
141
- | `deepseek-flash` | HTTP, chat/completions | Can be off; `low` / `high` / `max` | `deepseek-officially`, `deepseek-sale` |
141
+ | `deepseek-flash` | HTTP, chat/completions, images allowed | Can be off; `low` / `high` / `max` | `deepseek-officially`, `deepseek-sale` |
142
142
  | `gpt-6.1-sol` | HTTP, Responses, images allowed | Cannot be off; `low` / `medium` / `high` / `xhigh` / `max` | `codex`, `codex-sale` |
143
143
  | `gpt-6-astra` | Same | Same | Same |
144
144
  | `grok-4.7` (Grok 4.7) | HTTP, Responses, text/image input; 500K context | Cannot be off; `low` / `medium` / `high` / `xhigh` | The Grok coverage read from the gateway in Settings |
@@ -148,6 +148,8 @@ Claude Code CLI → temporary local MCP web_search → selected PackyCode DeepSe
148
148
 
149
149
  A model in the list does not mean the current token group allows it. When changing groups, do not drop the group that serves the model you still want.
150
150
 
151
+ All seven models in the current catalog declare text and image input. DeepSeek Flash follows the [official vision guide](https://api-docs.deepseek.com/guides/vision/); images are read through DSH's attachment service and sent with the Chat Completions request.
152
+
151
153
  Grok 4.7's context and reasoning levels follow the [official guide](https://docs.x.ai/developers/grok-4-7). There is no separate text-output limit; the plugin uses the context size as its numeric output ceiling, bounded by the remaining context per request.
152
154
 
153
155
  Only GPT Responses requests keep `prompt_cache_key`; other Responses models omit it by default. This gateway's Grok route reports a misleading `Incorrect API key provided` error when the field is present.
package/README.md CHANGED
@@ -49,7 +49,7 @@
49
49
  dsh-packycode-api
50
50
  ```
51
51
 
52
- 在**安装源**中选择**官方源**,然后点击**安装**。需要固定版本时填入 `dsh-packycode-api@1.1.5`。
52
+ 在**安装源**中选择**官方源**,然后点击**安装**。需要固定版本时填入 `dsh-packycode-api@1.1.6`。
53
53
 
54
54
  完成后**手动重启桌面应用**。仅刷新页面不会重新加载 Host 里的插件。
55
55
 
@@ -68,7 +68,7 @@ dsh-packycode-api
68
68
 
69
69
  桌面应用的**插件**页可以看到已安装状态与版本,也可以在那里启用、停用或卸载。
70
70
 
71
- **仅用于非 desktop profile:** `dsh plugin --profile <name> add dsh-packycode-api@1.1.5`。不要对 `desktop` 使用它 —— CLI 会直接拒绝(`profile "desktop" is managed exclusively by the Electron application`)。
71
+ **仅用于非 desktop profile:** `dsh plugin --profile <name> add dsh-packycode-api@1.1.6`。不要对 `desktop` 使用它 —— CLI 会直接拒绝(`profile "desktop" is managed exclusively by the Electron application`)。
72
72
 
73
73
  本地开发可以用绝对路径:`dsh plugin --profile <name> add link:/path/to/dsh-packycode-api`。
74
74
 
@@ -142,7 +142,7 @@ Claude Code CLI → 本机临时 MCP web_search → 插件选定的 DeepSeek/GPT
142
142
 
143
143
  | 模型 | 怎么调用 | 推理档位 | 适合的令牌分组 |
144
144
  | --- | --- | --- | --- |
145
- | `deepseek-flash` | HTTP,chat/completions | 可关;`low` / `high` / `max` | `deepseek-officially`、`deepseek-sale` |
145
+ | `deepseek-flash` | HTTP,chat/completions,可带图 | 可关;`low` / `high` / `max` | `deepseek-officially`、`deepseek-sale` |
146
146
  | `gpt-6.1-sol` | HTTP,Responses,可带图 | 不能关;`low` / `medium` / `high` / `xhigh` / `max` | `codex`、`codex-sale` |
147
147
  | `gpt-6-astra` | 同上 | 同上 | 同上 |
148
148
  | `grok-4.7`(Grok 4.7) | HTTP,Responses,可带图;500k 上下文 | 不能关;`low` / `medium` / `high` / `xhigh` | 以设置页从网关读取的 Grok 分组覆盖为准 |
@@ -152,6 +152,8 @@ Claude Code CLI → 本机临时 MCP web_search → 插件选定的 DeepSeek/GPT
152
152
 
153
153
  列表里看得到模型,不代表当前令牌分组一定放行。换分组时不要把对应分组一起去掉。
154
154
 
155
+ 当前目录中的 7 个模型都声明了文字和图像输入。DeepSeek Flash 的识图能力按 [官方图像理解文档](https://api-docs.deepseek.com/zh-cn/guides/vision/) 配置;图片通过 DSH 附件服务读取,再随 chat/completions 请求发送。
156
+
155
157
  Grok 4.7 的上下文与推理档位来自 [官方文档](https://docs.x.ai/developers/grok-4-7)。官方没有单独限制文字输出长度;插件将输出上限设为上下文大小,并按每次请求的剩余上下文收紧。
156
158
 
157
159
  Responses 请求只有 GPT 模型保留 `prompt_cache_key`,其他 Responses 模型默认省略。当前网关的 Grok 路由会将这个字段误报成 `Incorrect API key provided`。
package/lib/index.js CHANGED
@@ -600,7 +600,7 @@ const PACKYCODE_MODELS = Object.freeze([
600
600
  provider: PROVIDER,
601
601
  baseUrl: COMPLETIONS_BASE,
602
602
  reasoning: true,
603
- input: Object.freeze(["text"]),
603
+ input: Object.freeze(["text", "image"]),
604
604
  cost: NO_COST,
605
605
  contextWindow: 1e6,
606
606
  maxTokens: 384e3,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-packycode-api",
3
- "version": "1.1.5",
3
+ "version": "1.1.6",
4
4
  "description": "Use a PackyCode (PackyAPI) API key in DeepSeek Harness through a built-in multi-protocol model route with key rotation and balance display",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",