dsh-grok-provider 0.1.6 → 0.1.7
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 +10 -0
- package/README.en.md +56 -27
- package/README.md +56 -27
- package/SECURITY.md +5 -5
- package/THIRD_PARTY_NOTICES.md +30 -0
- package/dist/client/client.js +249 -16
- package/dist/host/index.mjs +36 -6
- package/dist/internal/auth-controller.mjs +24 -2
- package/dist/internal/auth-rpc.mjs +9 -2
- package/dist/internal/official-auth-driver.mjs +23 -8
- package/dist/internal/official-cli-auth.mjs +189 -47
- package/dist/internal/runtime-diagnostics.mjs +133 -0
- package/docs/01-product-requirements.md +6 -4
- package/docs/03-security-threat-model.md +7 -2
- package/docs/04-harness-contract.md +9 -1
- package/docs/05-test-plan.md +12 -3
- package/docs/06-release-plan.md +8 -6
- package/docs/09-implementation-status.md +24 -17
- package/docs/10-release-checklist.md +20 -3
- package/docs/11-capability-roadmap.md +25 -13
- package/docs/12-upstream-image-input-evidence.md +5 -1
- package/docs/README.md +10 -6
- package/docs/adr/0009-runtime-diagnostics-and-login-failures.md +42 -0
- package/docs/releases/v0.1.7.md +65 -0
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.7 - 2026-08-29
|
|
4
|
+
|
|
5
|
+
- Add a separate Host diagnostics RPC that reports the installed package version and a closed Grok Build CLI state/version without exposing executable paths, stderr, environment, proxy data, or OAuth URLs.
|
|
6
|
+
- Disable browser sign-in until the official default CLI executable, bounded version output, and `login --oauth` capability pass; show the official install guide and a re-detection action when the CLI is missing or invalid.
|
|
7
|
+
- End the Web sign-in spinner with actionable, redacted outcomes for known OIDC discovery network timeout, the five-minute login deadline, missing/invalid CLI, and unknown CLI failure while preserving cancellation and cleanup quarantine semantics.
|
|
8
|
+
- Keep runtime diagnostics single-flight and lifecycle-owned: capability teardown cancels and awaits inspection, cleanup failure latches the CLI instance and aborts its in-flight authentication actions, and serial authentication polling uses a request epoch to reject stale responses after user actions, settlement, or unmount.
|
|
9
|
+
- Document the Windows pre-browser OIDC failure boundary and keep runtime diagnostics outside the authentication status polling path; the official CLI still owns sign-in URL generation and external-browser launch, so this release does not claim to repair Windows network/proxy conditions or to have verified network-reachable browser launch on a real Windows device.
|
|
10
|
+
- Render the MIT-licensed `IconThinkOutline16` path geometry from `@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7` for the one exact Grok Build settings navigation match through a scoped, lifecycle-owned compatibility layer; ambiguous labels or unexpected DOM structure retain the Host gear, unload removes every injected resource, and the bundled third-party notice preserves attribution.
|
|
11
|
+
- Keep Web/X Search, image generation, new server-tool events, arbitrary URL downloads, API-key mode, and custom endpoints out of this maintenance release; the independent Search slice moves to `0.1.8`.
|
|
12
|
+
|
|
3
13
|
## 0.1.6 - 2026-08-28
|
|
4
14
|
|
|
5
15
|
- Accept schema-valid provider-neutral user and system history containing private reasoning blocks, omit that reasoning from the Grok wire, and preserve adjacent visible text and ordered image input; malformed or oversized omitted blocks still fail closed before attachment I/O.
|
package/README.en.md
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
Use an already authenticated official Grok Build account from DeepSeek Harness, with dynamic model discovery, streaming reasoning, tool calls, and an account quota/model capability dashboard.
|
|
6
6
|
|
|
7
|
-
> Unofficial community project; not affiliated with xAI or DeepSeek Harness. The current source
|
|
7
|
+
> Unofficial community project; not affiliated with xAI or DeepSeek Harness. The current source candidate is `0.1.7`; npm Registry `latest` and the most recently published stable release are both `0.1.6`. The project no longer publishes prereleases; stable defects are fixed in a new incremented stable version.
|
|
8
8
|
|
|
9
9
|
## What it provides
|
|
10
10
|
|
|
11
11
|
| Capability | Current implementation |
|
|
12
12
|
| --- | --- |
|
|
13
|
-
| Sign-in | Invokes official `grok login --oauth`; the plugin does not implement an OAuth grant |
|
|
13
|
+
| Sign-in | Invokes official `grok login --oauth`; the official CLI owns sign-in URL generation and external-browser launch, while the plugin does not implement an OAuth grant |
|
|
14
14
|
| Credentials | Reuses official CLI session state without creating a second token store |
|
|
15
15
|
| Models | Discovers every model visible to the account at runtime; no static model allowlist |
|
|
16
16
|
| Conversations | Streaming Responses text, reasoning, encrypted reasoning replay, usage, and finish reasons |
|
|
@@ -39,10 +39,10 @@ The official CLI opens a browser on first use. The provider supports only the of
|
|
|
39
39
|
|
|
40
40
|
### 2. Install the provider
|
|
41
41
|
|
|
42
|
-
After `0.1.
|
|
42
|
+
After `0.1.7` is published, install that exact version from npm:
|
|
43
43
|
|
|
44
44
|
```sh
|
|
45
|
-
dsh plugin --profile web add dsh-grok-provider@0.1.
|
|
45
|
+
dsh plugin --profile web add dsh-grok-provider@0.1.7
|
|
46
46
|
dsh web
|
|
47
47
|
```
|
|
48
48
|
|
|
@@ -50,7 +50,7 @@ dsh web
|
|
|
50
50
|
|
|
51
51
|
Open **Settings → Grok Build**:
|
|
52
52
|
|
|
53
|
-
1. Select “Sign in with
|
|
53
|
+
1. Select “Sign in with browser.”
|
|
54
54
|
2. Complete authorization in the page opened by the official Grok CLI.
|
|
55
55
|
3. Return to Harness and refresh the account dashboard.
|
|
56
56
|
4. Select any account-visible Grok model from the model picker.
|
|
@@ -61,25 +61,41 @@ The provider does not take over the login page or ask you to paste an access or
|
|
|
61
61
|
|
|
62
62
|
The Web settings page shows:
|
|
63
63
|
|
|
64
|
-
- login state and sign-in, cancel, and logout actions;
|
|
64
|
+
- login state, Provider/Grok Build CLI versions, and sign-in, cancel, and logout actions;
|
|
65
|
+
- the official installation link and “Check again” recovery when the CLI is missing or invalid;
|
|
65
66
|
- used/remaining quota and the real billing-period reset time;
|
|
66
67
|
- account-visible models, context windows, reasoning efforts, and image-input, streaming, and tool capabilities.
|
|
67
68
|
|
|
68
69
|
When protobuf-backed billing includes a complete weekly/monthly period but omits a zero-valued percentage, the page restores “0% used / 100% remaining.” Other incomplete responses remain unknown.
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
### Account quota and model capabilities
|
|
73
|
-
|
|
74
|
-

|
|
71
|
+
Harness `0.1.1-rc.2` does not expose an icon field on `settings.section`. The Provider embeds the MIT-licensed `IconThinkOutline16` path geometry from `@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7` and displays it only when the `Grok Build` label and settings-dialog DOM structure produce one exact match; otherwise it safely keeps the Host gear. The compatibility observer, marker, and style are all removed when the plugin unloads.
|
|
75
72
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-

|
|
79
|
-
|
|
80
|
-
### Grok conversation context
|
|
73
|
+
## Plugin preview
|
|
81
74
|
|
|
82
|
-
|
|
75
|
+
Select a preview to view the full-size image.
|
|
76
|
+
|
|
77
|
+
<table>
|
|
78
|
+
<tr>
|
|
79
|
+
<td colspan="3" width="50%" valign="top" align="center">
|
|
80
|
+
<a href=".github/assets/plugin-preview/image-input.png"><img src=".github/assets/plugin-preview/image-input.png" alt="Grok 4.6 analyzing an image attached to a Harness conversation" width="100%"></a><br>
|
|
81
|
+
<sub><strong>Image input</strong> — Grok 4.6 analyzes Harness attachments directly</sub>
|
|
82
|
+
</td>
|
|
83
|
+
<td colspan="3" width="50%" valign="top" align="center">
|
|
84
|
+
<a href=".github/assets/plugin-preview/model-picker.png"><img src=".github/assets/plugin-preview/model-picker.png" alt="Selecting Grok 4.6 or Grok 4.5 in the DeepSeek Harness model picker" width="100%"></a><br>
|
|
85
|
+
<sub><strong>Model selection</strong> — Choose Grok 4.6 or Grok 4.5 based on account capabilities</sub>
|
|
86
|
+
</td>
|
|
87
|
+
</tr>
|
|
88
|
+
<tr>
|
|
89
|
+
<td colspan="4" width="66.67%" valign="top" align="center">
|
|
90
|
+
<a href=".github/assets/plugin-preview/grok-context.png"><img src=".github/assets/plugin-preview/grok-context.png" alt="Context statistics and tool calls for a Grok 4.6 conversation" width="100%"></a><br>
|
|
91
|
+
<sub><strong>Conversation context</strong> — Inspect context statistics and tool calls</sub>
|
|
92
|
+
</td>
|
|
93
|
+
<td colspan="2" width="33.33%" valign="top" align="center">
|
|
94
|
+
<a href=".github/assets/plugin-preview/account-dashboard.png"><img src=".github/assets/plugin-preview/account-dashboard.png" alt="Grok Build account quota, reset time, and dynamic model capabilities" width="100%"></a><br>
|
|
95
|
+
<sub><strong>Account dashboard</strong> — Quota, reset time, and dynamic model capabilities</sub>
|
|
96
|
+
</td>
|
|
97
|
+
</tr>
|
|
98
|
+
</table>
|
|
83
99
|
|
|
84
100
|
TUI commands:
|
|
85
101
|
|
|
@@ -112,8 +128,8 @@ Uninstalling the provider does not remove the official Grok CLI or directly modi
|
|
|
112
128
|
|
|
113
129
|
## Sources and discovery
|
|
114
130
|
|
|
115
|
-
- npm
|
|
116
|
-
- GitHub
|
|
131
|
+
- Current npm stable release: [dsh-grok-provider@0.1.6](https://www.npmjs.com/package/dsh-grok-provider/v/0.1.6)
|
|
132
|
+
- Most recent GitHub release and integrity values: [v0.1.6](https://github.com/yoshino-xiao7/dsh-grok-provider/releases/tag/v0.1.6)
|
|
117
133
|
- GitHub community discovery: the repository carries the DeepSeek Harness-recommended `dsh-plugin` and `dsh` topics
|
|
118
134
|
- YukiRyou managed source: [deepseek-yukiryou-plugin-catalog](https://github.com/yoshino-xiao7/deepseek-yukiryou-plugin-catalog), still pinned to the real-device-accepted `dsh-grok-provider@0.1.0` and marking only `darwin-arm64`
|
|
119
135
|
|
|
@@ -121,17 +137,17 @@ Directory inclusion is not an endorsement by xAI or DeepSeek Harness. [Listing P
|
|
|
121
137
|
|
|
122
138
|
## Compatibility and scope
|
|
123
139
|
|
|
124
|
-
| Item | `0.1.
|
|
140
|
+
| Item | `0.1.7` candidate status |
|
|
125
141
|
| --- | --- |
|
|
126
142
|
| DeepSeek Harness | Exact support for `0.1.1-rc.2` |
|
|
127
143
|
| Node.js | `>=24.19.0` |
|
|
128
144
|
| macOS arm64 | Real-network and isolated Harness acceptance completed |
|
|
129
|
-
| Windows x64 |
|
|
145
|
+
| Windows x64 | Covered by code and slow fakes; the final candidate must still pass Windows CI. On a reachable network the official CLI generates the URL and opens the browser, and that path has not yet completed real-device Windows acceptance for the `0.1.7` candidate |
|
|
130
146
|
| macOS x64 / Linux | Unsupported |
|
|
131
147
|
| Grok CLI | No full-version lock; official path, `login --oauth` capability, and production OIDC credential contract are enforced |
|
|
132
148
|
| Models | Every account catalog model whose backend has a strict codec in this release |
|
|
133
149
|
|
|
134
|
-
`0.1.
|
|
150
|
+
`0.1.7` preserves the image boundary of published `0.1.6`: image input is enabled only for exact `grok-4.6`, while `grok-4.5` and every other dynamically discovered model remain text-only. Image sending from `0.1.6` has been confirmed in a real Harness conversation; `0.1.7` does not change the model set, image projection, or Responses wire. The account dashboard projects capability badges from that same catalog, so only image-capable models show “Image input.” Images must be verified JPEG/PNG projections from the Harness attachment service. Ordinary user content and images nested one level inside a tool result are supported, with `detail:"high"` fixed to the official xAI Responses image example; URLs, filesystem paths, file IDs, and caller-supplied data URLs are rejected. Private reasoning in ordinary user/system history is omitted while adjacent visible text remains ordered, so `subagent-settled` history and same-message reasoning no longer block image requests.
|
|
135
151
|
|
|
136
152
|
Each projected image is limited to 4 MiB, 16,777,216 pixels, and 8192px per side. A request retains at most eight images and 8 MiB of projected image bytes. When a limit is exceeded, the globally oldest images are offloaded to Harness text placeholders; the final JSON remains capped at 16 MiB. Web/X Search, image generation, arbitrary downloads, API-key mode, multiple accounts, enterprise OIDC, ACP, and Headless agent wrapping remain out of scope; see the [capability roadmap](docs/11-capability-roadmap.md).
|
|
137
153
|
|
|
@@ -167,12 +183,24 @@ See the full [threat model](docs/03-security-threat-model.md). For vulnerabiliti
|
|
|
167
183
|
|
|
168
184
|
### “Grok CLI not found”
|
|
169
185
|
|
|
170
|
-
|
|
186
|
+
Install Grok Build CLI from the official link shown on the page, then click “Detect again.” Confirm that the CLI is in its default location and run `grok --version`. The provider does not install the CLI automatically and will not load an executable from PATH, the workspace, or a UI-selected arbitrary path. The settings page displays both the provider and verified CLI versions.
|
|
171
187
|
|
|
172
188
|
### The page asks you to sign in again
|
|
173
189
|
|
|
174
190
|
Use the settings button or run `grok login --oauth` in a terminal. The provider does not lock the complete CLI version, but fails closed when the path, `--oauth` capability, or production OIDC credential contract does not match.
|
|
175
191
|
|
|
192
|
+
### The browser does not open after clicking sign-in on Windows
|
|
193
|
+
|
|
194
|
+
Run the official CLI directly first:
|
|
195
|
+
|
|
196
|
+
```powershell
|
|
197
|
+
& "$env:USERPROFILE\.grok\bin\grok.exe" login --oauth
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
If it times out at `auth.x.ai/.well-known/openid-configuration`, the failure occurs before a sign-in URL is generated; it is not a broken Provider browser button. Check Windows DNS, outbound HTTPS, firewall, VPN, and proxy settings—especially when the browser uses PAC/system proxy but the CLI process has no `HTTPS_PROXY`. Do not disable TLS verification or post proxy credentials, sign-in URLs, authorization codes, or tokens in an issue.
|
|
201
|
+
|
|
202
|
+
The `0.1.7` settings page promptly settles this known discovery timeout and says that browser sign-in has not started. An authentication flow that is still running within the five-minute deadline remains cancellable, while unknown CLI output is reduced to a redacted generic error. This is accurate diagnosis of the failure boundary: the Provider does not open the browser itself and does not repair Windows DNS, proxy, firewall, VPN, or official-CLI behavior.
|
|
203
|
+
|
|
176
204
|
### A model is missing
|
|
177
205
|
|
|
178
206
|
Run `grok models` and verify that the same account can see it. The provider returns every valid catalog record; an unknown backend fails discovery rather than being silently filtered.
|
|
@@ -187,7 +215,7 @@ Versions through `0.1.2` could not convert some third-party tool-call histories
|
|
|
187
215
|
|
|
188
216
|
### Does Windows work?
|
|
189
217
|
|
|
190
|
-
Windows x64 code and
|
|
218
|
+
Windows x64 is covered by code and slow fakes, and the final candidate must still pass Windows CI. The official CLI still generates the sign-in URL and launches the external browser. Network-reachable browser launch has not yet been confirmed on a real Windows device for `0.1.7`, so it must not be described as fixed or verified.
|
|
191
219
|
|
|
192
220
|
## Development
|
|
193
221
|
|
|
@@ -221,8 +249,9 @@ Read the [contributing guide](CONTRIBUTING.md) before filing an issue or PR. Cha
|
|
|
221
249
|
- [x] Publish the `0.1.3` cross-provider tool-history compatibility correction
|
|
222
250
|
- [x] Publish `0.1.4`: image input only for exact `grok-4.6`; red/blue user/tool-result Proxy gates and final Harness attachment revalidation passed, while `grok-4.5` fails closed as text-only
|
|
223
251
|
- [x] Publish `0.1.5`: maintenance for release binding, dashboard capability badges, and transactional Provider Runtime installation; the unique artifact, dual-platform CI, signatures, and SLSA provenance are verified
|
|
224
|
-
- [
|
|
225
|
-
- [ ]
|
|
252
|
+
- [x] Publish `0.1.6`: image-history reasoning compatibility and per-stage official-CLI deadline repair for Windows; image sending is confirmed in a real Harness conversation
|
|
253
|
+
- [ ] Publish `0.1.7`: Provider/CLI version diagnostics, CLI installation recovery, redacted OIDC discovery-timeout settlement, and the `IconThinkOutline16` settings-navigation compatibility layer
|
|
254
|
+
- [ ] Independent `0.1.8` slice: opt-in, default-off Web Search / X Search
|
|
226
255
|
- [ ] A subsequent slice: opt-in image generation (inline results only, committed through Harness attachments)
|
|
227
256
|
- [ ] Complete independent Windows x64 acceptance and publish a later stable fix if needed
|
|
228
257
|
|
|
@@ -230,4 +259,4 @@ Slice details, gates, and permanent non-goals are in the [capability roadmap](do
|
|
|
230
259
|
|
|
231
260
|
## License
|
|
232
261
|
|
|
233
|
-
[MIT](LICENSE)
|
|
262
|
+
[MIT](LICENSE). See [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md) for the reused Harness icon geometry and its license.
|
package/README.md
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
让 DeepSeek Harness 使用你已登录的官方 Grok Build 账号:动态模型发现、流式推理、工具调用,以及账号额度与模型能力面板。
|
|
6
6
|
|
|
7
|
-
> 非官方社区项目,与 xAI 或 DeepSeek Harness
|
|
7
|
+
> 非官方社区项目,与 xAI 或 DeepSeek Harness 官方无隶属关系。当前源码候选版本为 `0.1.7`;npm Registry 的 `latest` 与最近发布的稳定版本均为 `0.1.6`。项目不再发行预发行版;正式版缺陷通过新的递增稳定版本修复。
|
|
8
8
|
|
|
9
9
|
## 它解决什么问题
|
|
10
10
|
|
|
11
11
|
| 能力 | 当前实现 |
|
|
12
12
|
| --- | --- |
|
|
13
|
-
| 登录 | 调用官方 `grok login --oauth
|
|
13
|
+
| 登录 | 调用官方 `grok login --oauth`;登录 URL 生成与外部浏览器打开均由官方 CLI 负责,插件不实现 OAuth grant |
|
|
14
14
|
| 凭据 | 复用官方 CLI 的登录状态;插件不创建第二份 token 存储 |
|
|
15
15
|
| 模型 | 运行时读取账号可见的全部 Grok Build 模型,不维护静态模型白名单 |
|
|
16
16
|
| 对话 | Responses 流式文本、reasoning、加密 reasoning replay、usage 与 finish reason |
|
|
@@ -39,10 +39,10 @@ grok models
|
|
|
39
39
|
|
|
40
40
|
### 2. 安装 Provider
|
|
41
41
|
|
|
42
|
-
`0.1.
|
|
42
|
+
`0.1.7` 发布后,从 npm 安装该精确版本:
|
|
43
43
|
|
|
44
44
|
```sh
|
|
45
|
-
dsh plugin --profile web add dsh-grok-provider@0.1.
|
|
45
|
+
dsh plugin --profile web add dsh-grok-provider@0.1.7
|
|
46
46
|
dsh web
|
|
47
47
|
```
|
|
48
48
|
|
|
@@ -50,7 +50,7 @@ dsh web
|
|
|
50
50
|
|
|
51
51
|
打开 **设置 → Grok Build**:
|
|
52
52
|
|
|
53
|
-
1.
|
|
53
|
+
1. 点击“通过浏览器登录”;
|
|
54
54
|
2. 在官方 Grok CLI 打开的浏览器页面完成授权;
|
|
55
55
|
3. 返回 Harness,刷新账户面板;
|
|
56
56
|
4. 在模型选择器中选择当前账号可见的 Grok 模型。
|
|
@@ -61,25 +61,41 @@ dsh web
|
|
|
61
61
|
|
|
62
62
|
Web 设置页展示:
|
|
63
63
|
|
|
64
|
-
-
|
|
64
|
+
- 当前登录状态、Provider/Grok Build CLI 版本及登录、取消、退出操作;
|
|
65
|
+
- CLI 缺失或无效时的官方安装入口与“重新检测”操作;
|
|
65
66
|
- 已使用/剩余额度和真实周期重置时间;
|
|
66
67
|
- 当前账号可见模型、上下文窗口、reasoning 档位,以及图片输入、streaming 与 tool capability。
|
|
67
68
|
|
|
68
69
|
当 protobuf-backed billing 返回完整的 weekly/monthly 周期但省略零值百分比时,页面会恢复为“已使用 0% / 剩余 100%”;其他不完整响应保持未知,不伪造额度。
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
### 账户额度与模型能力
|
|
73
|
-
|
|
74
|
-

|
|
71
|
+
当前 Harness `0.1.1-rc.2` 的 `settings.section` 没有插件图标字段。Provider 内嵌来自 `@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7`、采用 MIT 许可的 `IconThinkOutline16` 路径几何;仅当设置对话框中的标签与 DOM 结构都精确且唯一匹配时,才用它显示 `Grok Build` 导航项,否则安全保留宿主齿轮。兼容层的观察器、标记和样式均随插件卸载清理。
|
|
75
72
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-

|
|
79
|
-
|
|
80
|
-
### Grok 对话上下文
|
|
73
|
+
## 插件预览
|
|
81
74
|
|
|
82
|
-
|
|
75
|
+
点击预览图可查看原图。
|
|
76
|
+
|
|
77
|
+
<table>
|
|
78
|
+
<tr>
|
|
79
|
+
<td colspan="3" width="50%" valign="top" align="center">
|
|
80
|
+
<a href=".github/assets/plugin-preview/image-input.png"><img src=".github/assets/plugin-preview/image-input.png" alt="Grok 4.6 分析 Harness 对话中的图片输入" width="100%"></a><br>
|
|
81
|
+
<sub><strong>图片输入</strong> — Grok 4.6 直接分析 Harness 附件</sub>
|
|
82
|
+
</td>
|
|
83
|
+
<td colspan="3" width="50%" valign="top" align="center">
|
|
84
|
+
<a href=".github/assets/plugin-preview/model-picker.png"><img src=".github/assets/plugin-preview/model-picker.png" alt="在 DeepSeek Harness 模型选择器中选择 Grok 4.6 或 Grok 4.5" width="100%"></a><br>
|
|
85
|
+
<sub><strong>模型选择</strong> — 按当前账户能力选择 Grok 4.6 或 Grok 4.5</sub>
|
|
86
|
+
</td>
|
|
87
|
+
</tr>
|
|
88
|
+
<tr>
|
|
89
|
+
<td colspan="4" width="66.67%" valign="top" align="center">
|
|
90
|
+
<a href=".github/assets/plugin-preview/grok-context.png"><img src=".github/assets/plugin-preview/grok-context.png" alt="Grok 4.6 对话的上下文统计与工具调用" width="100%"></a><br>
|
|
91
|
+
<sub><strong>对话上下文</strong> — 查看上下文统计与工具调用</sub>
|
|
92
|
+
</td>
|
|
93
|
+
<td colspan="2" width="33.33%" valign="top" align="center">
|
|
94
|
+
<a href=".github/assets/plugin-preview/account-dashboard.png"><img src=".github/assets/plugin-preview/account-dashboard.png" alt="Grok Build 账户额度、重置时间和动态模型能力" width="100%"></a><br>
|
|
95
|
+
<sub><strong>账户面板</strong> — 额度、重置时间与动态模型能力</sub>
|
|
96
|
+
</td>
|
|
97
|
+
</tr>
|
|
98
|
+
</table>
|
|
83
99
|
|
|
84
100
|
TUI 命令:
|
|
85
101
|
|
|
@@ -112,8 +128,8 @@ dsh web
|
|
|
112
128
|
|
|
113
129
|
## 项目来源与发现
|
|
114
130
|
|
|
115
|
-
- npm
|
|
116
|
-
- GitHub
|
|
131
|
+
- npm 当前稳定版:[dsh-grok-provider@0.1.6](https://www.npmjs.com/package/dsh-grok-provider/v/0.1.6)
|
|
132
|
+
- GitHub 最近发行版与校验值:[v0.1.6](https://github.com/yoshino-xiao7/dsh-grok-provider/releases/tag/v0.1.6)
|
|
117
133
|
- GitHub 社区发现:仓库已添加 DeepSeek Harness 官方推荐的 `dsh-plugin` 与 `dsh` Topics
|
|
118
134
|
- YukiRyou 受管来源:[deepseek-yukiryou-plugin-catalog](https://github.com/yoshino-xiao7/deepseek-yukiryou-plugin-catalog),当前仍锁定已完成真机验收的 `dsh-grok-provider@0.1.0`,且只标记 `darwin-arm64`
|
|
119
135
|
|
|
@@ -121,17 +137,17 @@ dsh web
|
|
|
121
137
|
|
|
122
138
|
## 兼容性与范围
|
|
123
139
|
|
|
124
|
-
| 项目 | `0.1.
|
|
140
|
+
| 项目 | `0.1.7` 候选状态 |
|
|
125
141
|
| --- | --- |
|
|
126
142
|
| DeepSeek Harness | 精确支持 `0.1.1-rc.2` |
|
|
127
143
|
| Node.js | `>=24.19.0` |
|
|
128
144
|
| macOS arm64 | 已完成真实网络与隔离 Harness 验收 |
|
|
129
|
-
| Windows x64 |
|
|
145
|
+
| Windows x64 | 代码与 slow-fake 覆盖;正式候选仍需通过 Windows CI。网络可达时由官方 CLI 生成 URL 并打开浏览器,`0.1.7` 候选尚未完成该路径的 Windows 真机验收 |
|
|
130
146
|
| macOS x64 / Linux | 不支持 |
|
|
131
147
|
| Grok CLI | 不锁完整版本;严格校验官方路径、`login --oauth` 能力与生产 OIDC 凭据契约 |
|
|
132
148
|
| 模型 | 当前账号目录中 backend 已被严格 codec 支持的全部模型 |
|
|
133
149
|
|
|
134
|
-
`0.1.
|
|
150
|
+
`0.1.7` 沿用已发布 `0.1.6` 的图片边界:只为精确的 `grok-4.6` 开启图片输入;`grok-4.5` 与其他动态发现的模型继续按 text-only 处理。`0.1.6` 的图片发送已在真实 Harness 对话中确认可用,`0.1.7` 不改变模型集合、图片投影或 Responses wire。账户面板从同一模型目录投影能力标签,因此只有图片模型显示“图片输入”。图片只能来自 Harness attachment service 的已验证 JPEG/PNG 投影,支持普通用户内容和一层工具结果中的图片,并按 xAI 官方 Responses 图片示例固定使用 `detail:"high"`;不接受 URL、文件路径、file ID 或调用方预制的 data URL。普通 user/system 历史中的私有 reasoning 会被省略并保留相邻可见文本,因此 `subagent-settled` 历史和同消息 reasoning 不再阻断图片请求。
|
|
135
151
|
|
|
136
152
|
每张投影图片最多 4 MiB、16,777,216 像素且任一边不超过 8192px;每次请求最多保留 8 张、投影字节合计最多 8 MiB。超限时按全局最旧优先移除图片并保留 Harness 的文本占位,最终 JSON 仍受 16 MiB 上限约束。Web/X Search、图片生成、任意文件下载、API Key 模式、多账号、企业 OIDC、ACP 与 Headless agent 封装仍不在本版本范围内;后续切片见[能力路线图](docs/11-capability-roadmap.md)。
|
|
137
153
|
|
|
@@ -167,12 +183,24 @@ dsh-grok-provider Host
|
|
|
167
183
|
|
|
168
184
|
### 页面显示“找不到 Grok CLI”
|
|
169
185
|
|
|
170
|
-
|
|
186
|
+
按页面中的官方安装入口安装 Grok Build CLI,再点击“重新检测”。确认 CLI 位于默认路径,并在终端执行 `grok --version`。插件不会自动安装 CLI,也不会从 PATH、工作区或 UI 指定的任意路径加载可执行文件。设置页会同时显示 Provider 与已验证 CLI 的版本。
|
|
171
187
|
|
|
172
188
|
### 页面要求重新登录
|
|
173
189
|
|
|
174
190
|
在设置页点击登录,或先在终端运行 `grok login --oauth`。插件不锁完整 CLI 版本,但路径、`--oauth` 能力或生产 OIDC 凭据契约不匹配时会失败关闭。
|
|
175
191
|
|
|
192
|
+
### Windows 点击登录后没有弹出浏览器
|
|
193
|
+
|
|
194
|
+
先直接运行官方 CLI:
|
|
195
|
+
|
|
196
|
+
```powershell
|
|
197
|
+
& "$env:USERPROFILE\.grok\bin\grok.exe" login --oauth
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
如果它在 `auth.x.ai/.well-known/openid-configuration` 超时,失败发生在生成登录链接之前,不是 Provider 的浏览器按钮失效。请检查 Windows 的 DNS、HTTPS 出站、防火墙、VPN 与代理;尤其是浏览器使用 PAC/系统代理、CLI 进程却没有 `HTTPS_PROXY` 的情况。不要关闭 TLS 校验,也不要把代理凭据、登录 URL、授权码或 token 提交到 Issue。
|
|
201
|
+
|
|
202
|
+
`0.1.7` 设置页会及时结算这个已知 discovery 超时并显示“浏览器登录尚未开始”;实际仍在运行的五分钟登录流程可以取消,未知 CLI 输出只显示脱敏的通用错误。这是对失败边界的准确诊断,不是插件自行打开浏览器,也不修复 Windows 的 DNS、代理、防火墙、VPN 或官方 CLI 行为。
|
|
203
|
+
|
|
176
204
|
### 没有看到某个模型
|
|
177
205
|
|
|
178
206
|
先运行 `grok models`,确认该模型对同一账号可见。Provider 动态返回全部合法目录记录;未知 backend 会让发现失败,而不会被静默过滤。
|
|
@@ -187,7 +215,7 @@ dsh-grok-provider Host
|
|
|
187
215
|
|
|
188
216
|
### Windows 能用吗
|
|
189
217
|
|
|
190
|
-
|
|
218
|
+
代码与 slow-fake 已覆盖 Windows x64,正式候选仍需通过 Windows CI。官方 CLI 仍负责生成登录 URL 与打开外部浏览器;`0.1.7` 尚未在网络可达的 Windows 真机上确认浏览器弹出,因此不能表述为该问题已经修复或验证。
|
|
191
219
|
|
|
192
220
|
## 开发
|
|
193
221
|
|
|
@@ -221,8 +249,9 @@ npm run pack:check
|
|
|
221
249
|
- [x] 发布 `0.1.3` 跨 Provider 工具调用历史兼容性修正版
|
|
222
250
|
- [x] 发布 `0.1.4`:仅精确 `grok-4.6` 图片输入;user/tool-result 红蓝语义 Proxy 门禁与最终 Harness attachment 复验通过,`grok-4.5` 失败关闭为 text-only
|
|
223
251
|
- [x] 发布 `0.1.5`:发布链路、账户面板能力标签与 Provider Runtime 安装回滚维护版;唯一制品、双平台 CI、签名与 SLSA provenance 均已验证
|
|
224
|
-
- [
|
|
225
|
-
- [ ] `0.1.7
|
|
252
|
+
- [x] 发布 `0.1.6`:图片历史 reasoning 兼容与 Windows 官方 CLI 分阶段 deadline 修复版;图片发送已完成真实 Harness 验证
|
|
253
|
+
- [ ] 发布 `0.1.7`:Provider/CLI 双版本诊断、CLI 安装恢复、OIDC discovery 超时脱敏结算与 `IconThinkOutline16` 设置导航兼容层
|
|
254
|
+
- [ ] `0.1.8` 独立切片:默认关闭、用户分别开启的 Web Search / X Search
|
|
226
255
|
- [ ] 再后续独立切片:默认关闭的图片生成(只收内联结果,提交 Harness attachment)
|
|
227
256
|
- [ ] 完成 Windows x64 独立真机验收并按需发布后续稳定修复版
|
|
228
257
|
|
|
@@ -230,4 +259,4 @@ npm run pack:check
|
|
|
230
259
|
|
|
231
260
|
## 许可证
|
|
232
261
|
|
|
233
|
-
[MIT](LICENSE)
|
|
262
|
+
[MIT](LICENSE)。复用的 Harness 图标几何及其许可见 [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md)。
|
package/SECURITY.md
CHANGED
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
## 支持范围
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
本安全策略对应源码候选版本 `0.1.7`;npm Registry 的 `latest` 与最近发布的稳定版本均为 `0.1.6`。DeepSeek Harness、Node.js 与操作系统按发布线明确维护;Grok CLI 不使用完整版本字符串作为信任门禁,而是严格校验官方默认路径、命令能力、生产 OIDC 凭据契约和固定服务端协议。macOS arm64 已完成真实验收,`0.1.6` 的图片发送也已在真实 Harness 对话中确认可用;Windows x64 有代码与 slow-fake 覆盖,正式候选仍需通过 Windows CI,且 `0.1.7` 尚未在网络可达的 Windows 真机上确认外部浏览器弹出。
|
|
8
8
|
|
|
9
|
-
`0.1.
|
|
9
|
+
`0.1.7` 沿用已发布 `0.1.6` 的图片边界:只为精确 `grok-4.6` 提供有界图片输入;`grok-4.5` 与所有其他模型保持 text-only。普通 user/system 历史中的私有 reasoning 会被省略并保留相邻可见 text/image;只有有效的同 Provider assistant 历史可进入加密 reasoning replay,一层 tool-result 仍只接受公开 text/image。图片只能来自 Harness attachment service 的已验证 JPEG/PNG 投影,以 `detail:"high"` 发送,并受单图字节、像素、边长、数量、总字节与最终 JSON 上限约束;URL、路径、file ID 和调用方预制 data URL 都会被拒绝。
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
`0.1.7` 新增独立、single-flight 的运行时诊断,只向 renderer 投影 Provider 版本及闭合的 CLI 状态/安全版本号;可执行路径、stderr、环境、代理信息和 OAuth URL 均不得越过 Host 边界。CLI 缺失或无效时登录保持禁用,并只提供官方安装入口与重新检测。只有固定 OIDC discovery 地址与 timeout 特征同时匹配时才投影脱敏的网络超时原因;未知输出折叠为通用失败。官方 CLI 仍负责生成登录 URL 与打开外部浏览器,本版不修复系统 DNS、代理、防火墙、VPN 或 CLI 行为。`IconThinkOutline16` 兼容层只在 Harness `0.1.1-rc.2` 设置导航中唯一精确匹配并随 effect 卸载清理,不扩大 Host DOM 或网络边界。固定路径/argv、最小环境、无 shell、输出上限、取消和登录后凭据重验边界不变;本版不新增认证模式、Search、生成或 endpoint,Search 顺延至独立 `0.1.8` 切片。
|
|
12
12
|
|
|
13
13
|
## 私下报告漏洞
|
|
14
14
|
|
|
@@ -25,7 +25,7 @@ CLI executable 解析、只读验证、`--version`、`login --help` 与最终 ac
|
|
|
25
25
|
|
|
26
26
|
## 不属于漏洞的情况
|
|
27
27
|
|
|
28
|
-
-
|
|
28
|
+
- `0.1.7` 尚未完成网络可达 Windows 真机外部浏览器弹出验收这一已披露状态;
|
|
29
29
|
- 上游未提供额度字段时 UI 显示 unknown;
|
|
30
30
|
- 不受支持的 CLI/Harness/平台版本被明确拒绝;
|
|
31
31
|
- 官方 CLI 或 xAI 服务自身的行为,且无法由本插件边界缓解的问题。
|
|
@@ -36,4 +36,4 @@ CLI executable 解析、只读验证、`--version`、`login --help` 与最终 ac
|
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
|
-
English summary: GitHub Private vulnerability reporting is enabled and is the preferred reporting channel.
|
|
39
|
+
English summary: GitHub Private vulnerability reporting is enabled and is the preferred reporting channel. The current source candidate is `0.1.7`; npm Registry `latest` and the most recent stable release are `0.1.6`, whose image sending has been confirmed in a real Harness conversation. `0.1.7` preserves bounded JPEG/PNG input with `detail:"high"` only for exact `grok-4.6` and adds closed Provider/CLI version diagnostics, missing/invalid CLI recovery, and redacted settlement of the known OIDC discovery timeout. Executable paths, stderr, environment, proxy data, and OAuth URLs do not cross the Host boundary. Windows code and slow-fake coverage are present, while the final candidate still has to pass Windows CI. The official CLI still owns sign-in URL generation and external-browser launch; `0.1.7` does not repair Windows network configuration or claim network-reachable real-device browser acceptance. The lifecycle-owned `IconThinkOutline16` compatibility layer is exact-match and fail-safe for Harness `0.1.1-rc.2`. Fixed path/argv, no-shell, credential, origin, and URL-rejection boundaries remain unchanged; Search moves to an independent `0.1.8` slice, and no generation, new auth mode, or custom endpoint is added. Never send credentials, identity data, prompts, tool arguments, cookies, image bytes, or unreviewed diagnostics.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Third-Party Notices
|
|
2
|
+
|
|
3
|
+
The Web client includes SVG path geometry from `IconThinkOutline16` in
|
|
4
|
+
`@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7`, part of
|
|
5
|
+
[DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/ui-primitives).
|
|
6
|
+
The following license applies to that portion:
|
|
7
|
+
|
|
8
|
+
## @deepseek-ai/dsh-client-ui-primitives
|
|
9
|
+
|
|
10
|
+
MIT License
|
|
11
|
+
|
|
12
|
+
Copyright (c) 2026 DeepSeek
|
|
13
|
+
|
|
14
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
15
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
16
|
+
in the Software without restriction, including without limitation the rights
|
|
17
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
18
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
19
|
+
furnished to do so, subject to the following conditions:
|
|
20
|
+
|
|
21
|
+
The above copyright notice and this permission notice shall be included in all
|
|
22
|
+
copies or substantial portions of the Software.
|
|
23
|
+
|
|
24
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
25
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
26
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
27
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
28
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
29
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
30
|
+
SOFTWARE.
|