dsh-grok-provider 0.1.0 → 0.1.1

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,6 +1,13 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.0 - Unreleased
3
+ ## 0.1.1 - 2026-08-26
4
+
5
+ - Correct post-release status across the Simplified Chinese and English READMEs, security policy, and maintainer documentation.
6
+ - Replace the one-off token-based publication path with a reusable npm Trusted Publisher OIDC workflow.
7
+ - Record GitHub `dsh-plugin` discovery and the exact `0.1.0` YukiRyou catalog entry for macOS arm64.
8
+ - Add a mandatory release checklist so documentation, bilingual release notes, credentials, artifacts, and Registry readback are complete before publication.
9
+
10
+ ## 0.1.0 - 2026-08-26
4
11
 
5
12
  - Clean-room Grok Build provider for DeepSeek Harness `0.1.1-rc.2`.
6
13
  - Dynamic discovery of every account-visible Responses model.
package/CONTRIBUTING.md CHANGED
@@ -28,6 +28,8 @@ npm test
28
28
  npm run pack:check
29
29
  ```
30
30
 
31
+ 发布维护者还必须逐项完成 [`docs/10-release-checklist.md`](docs/10-release-checklist.md)。检查表全绿不代表可以自行发布;合并发布基线、创建 tag、GitHub Release 或 npm 版本前仍需仓库所有者明确授权。
32
+
31
33
  ## Pull Request 检查表
32
34
 
33
35
  - [ ] 变更解决一个清晰的问题,没有无关重构或格式化噪音;
package/README.en.md CHANGED
@@ -4,7 +4,7 @@
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. `0.1.0` has not been published to npm, so the registry installation command below is not available yet. Windows x64 is code-supported, with its first real-device validation scheduled after the initial release.
7
+ > Unofficial community project; not affiliated with xAI or DeepSeek Harness. The current version is `0.1.1`. Windows x64 has code and CI support; its first Registry real-device validation remains a post-release follow-up.
8
8
 
9
9
  ## What it provides
10
10
 
@@ -38,17 +38,10 @@ The official CLI opens a browser on first use. The provider supports only the of
38
38
 
39
39
  ### 2. Install the provider
40
40
 
41
- After `0.1.0` is released, install the exact version:
41
+ Install the published exact version from npm:
42
42
 
43
43
  ```sh
44
- dsh plugin --profile web add dsh-grok-provider@0.1.0
45
- dsh web
46
- ```
47
-
48
- Pre-release acceptance installs only a verified local tarball:
49
-
50
- ```sh
51
- dsh plugin --profile web add ./dsh-grok-provider-0.1.0.tgz
44
+ dsh plugin --profile web add dsh-grok-provider@0.1.1
52
45
  dsh web
53
46
  ```
54
47
 
@@ -86,7 +79,7 @@ These commands never enter model context. Logout requires confirmation because i
86
79
 
87
80
  ## Update and uninstall
88
81
 
89
- Update after release:
82
+ Update an installed version:
90
83
 
91
84
  ```sh
92
85
  dsh plugin --profile web update dsh-grok-provider
@@ -102,9 +95,18 @@ dsh web
102
95
 
103
96
  Uninstalling the provider does not remove the official Grok CLI or directly modify/delete `auth.json`.
104
97
 
98
+ ## Sources and discovery
99
+
100
+ - Exact npm version: [dsh-grok-provider@0.1.1](https://www.npmjs.com/package/dsh-grok-provider/v/0.1.1)
101
+ - GitHub release and integrity values: [v0.1.1](https://github.com/yoshino-xiao7/dsh-grok-provider/releases/tag/v0.1.1)
102
+ - GitHub community discovery: the repository carries the DeepSeek Harness-recommended `dsh-plugin` and `dsh` topics
103
+ - YukiRyou managed source: [deepseek-yukiryou-plugin-catalog](https://github.com/yoshino-xiao7/deepseek-yukiryou-plugin-catalog), following the exact verified stable version and currently marking only verified macOS arm64
104
+
105
+ Directory inclusion is not an endorsement by xAI or DeepSeek Harness. The public curated directory still requires its repository-age gate and independent maintainer review.
106
+
105
107
  ## Compatibility and scope
106
108
 
107
- | Item | `0.1.0` status |
109
+ | Item | `0.1.1` status |
108
110
  | --- | --- |
109
111
  | DeepSeek Harness | Exact support for `0.1.1-rc.2` |
110
112
  | Node.js | `>=24.19.0` |
@@ -137,6 +139,7 @@ Model IDs come from the runtime catalog rather than a hardcoded list. If an acco
137
139
 
138
140
  - Model, catalog, and billing requests allow only compile-time pinned HTTPS origins/paths and reject redirects.
139
141
  - Renderer and RPC code never receive tokens, `user_id`, credential paths, arbitrary URLs, or raw upstream responses.
142
+ - The Host must perform a bounded read of the official `auth.json`, whose raw file may contain a refresh token. The parser does not use, cache, or persist that refresh token; it retains only validation metadata and a short-lived access-token lease.
140
143
  - The provider does not implement a refresh grant. Near expiry it may invoke one bounded official `grok models`, then reread and revalidate the official credential file.
141
144
  - Login subprocesses use fixed argv, a scrubbed environment, output limits, deadlines, cancellation, and no shell.
142
145
  - Prompts and tool results are sent to the xAI Grok Build service; the provider itself does not log them.
@@ -189,7 +192,9 @@ Read the [contributing guide](CONTRIBUTING.md) before filing an issue or PR. Cha
189
192
 
190
193
  - [x] Official CLI browser login, dynamic model catalog, and Responses streaming
191
194
  - [x] Web/TUI account controls, quota dashboard, and model capability display
192
- - [ ] Publish `0.1.0` and verify Registry integrity/provenance
195
+ - [x] Publish `0.1.0` and verify Registry integrity/provenance
196
+ - [x] Configure npm Trusted Publisher, revoke the initial token, and add `dsh-plugin` discovery plus the YukiRyou catalog entry
197
+ - [x] Publish the `0.1.1` documentation and release-process correction
193
198
  - [ ] Complete the first Windows x64 real-device acceptance after release
194
199
  - [ ] Evaluate additional content types and platforms only against verified Harness/xAI contracts
195
200
 
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  让 DeepSeek Harness 使用你已登录的官方 Grok Build 账号:动态模型发现、流式推理、工具调用,以及账号额度与模型能力面板。
6
6
 
7
- > 非官方社区项目,与 xAI 或 DeepSeek Harness 官方无隶属关系。`0.1.0` 尚未发布到 npm;请勿把下面的 Registry 安装命令理解为已经可用。Windows x64 已完成代码支持,首次真机验证安排在首版发布后。
7
+ > 非官方社区项目,与 xAI 或 DeepSeek Harness 官方无隶属关系。当前版本为 `0.1.1`;Windows x64 已完成代码与 CI 支持,首次 Registry 真机验证仍在发布后跟进中。
8
8
 
9
9
  ## 它解决什么问题
10
10
 
@@ -38,17 +38,10 @@ grok models
38
38
 
39
39
  ### 2. 安装 Provider
40
40
 
41
- `0.1.0` 正式发布后,安装精确版本:
41
+ 从 npm 安装已发布的精确版本:
42
42
 
43
43
  ```sh
44
- dsh plugin --profile web add dsh-grok-provider@0.1.0
45
- dsh web
46
- ```
47
-
48
- 发布前验收只安装经过校验的本地 tarball:
49
-
50
- ```sh
51
- dsh plugin --profile web add ./dsh-grok-provider-0.1.0.tgz
44
+ dsh plugin --profile web add dsh-grok-provider@0.1.1
52
45
  dsh web
53
46
  ```
54
47
 
@@ -86,7 +79,7 @@ TUI 命令:
86
79
 
87
80
  ## 更新与卸载
88
81
 
89
- 正式发布后更新:
82
+ 更新已安装版本:
90
83
 
91
84
  ```sh
92
85
  dsh plugin --profile web update dsh-grok-provider
@@ -102,9 +95,18 @@ dsh web
102
95
 
103
96
  卸载插件不会删除官方 Grok CLI,也不会直接修改或删除 `auth.json`。
104
97
 
98
+ ## 项目来源与发现
99
+
100
+ - npm 精确版本:[dsh-grok-provider@0.1.1](https://www.npmjs.com/package/dsh-grok-provider/v/0.1.1)
101
+ - GitHub 发行版与校验值:[v0.1.1](https://github.com/yoshino-xiao7/dsh-grok-provider/releases/tag/v0.1.1)
102
+ - GitHub 社区发现:仓库已添加 DeepSeek Harness 官方推荐的 `dsh-plugin` 与 `dsh` Topics
103
+ - YukiRyou 受管来源:[deepseek-yukiryou-plugin-catalog](https://github.com/yoshino-xiao7/deepseek-yukiryou-plugin-catalog),跟随已验证的精确稳定版本,当前只标记已验证的 macOS arm64
104
+
105
+ 出现在目录中不代表 xAI 或 DeepSeek Harness 官方背书。公共 curated 目录仍需满足其仓库年龄门槛并通过独立维护者评审。
106
+
105
107
  ## 兼容性与范围
106
108
 
107
- | 项目 | `0.1.0` 状态 |
109
+ | 项目 | `0.1.1` 状态 |
108
110
  | --- | --- |
109
111
  | DeepSeek Harness | 精确支持 `0.1.1-rc.2` |
110
112
  | Node.js | `>=24.19.0` |
@@ -137,6 +139,7 @@ dsh-grok-provider Host
137
139
 
138
140
  - 模型、目录和计费请求只允许编译时固定的 HTTPS origin/path,并拒绝重定向。
139
141
  - Renderer 和 RPC 不接收 token、`user_id`、凭据路径、任意 URL 或原始上游响应。
142
+ - Host 必须有界读取官方 `auth.json`,其原始文件可能包含 refresh token;解析器不使用、不缓存、不持久化 refresh token,只保留闭合校验所需元数据与短期 access-token lease。
140
143
  - 插件不实现 refresh grant;凭据临近过期时,只能有界调用一次官方 `grok models`,再重新读取并验证官方文件。
141
144
  - 登录子进程使用固定 argv、过滤后的环境、输出上限、deadline 与取消处理,不通过 shell 启动。
142
145
  - 提示词和工具结果会发送给 xAI Grok Build 服务;插件本身不把它们写入日志。
@@ -189,7 +192,9 @@ npm run pack:check
189
192
 
190
193
  - [x] 官方 CLI 浏览器登录、动态模型目录和 Responses 流
191
194
  - [x] Web/TUI 账户控制、额度面板与模型能力展示
192
- - [ ] 发布 `0.1.0` 并完成 Registry/provenance 回读
195
+ - [x] 发布 `0.1.0` 并完成 Registry/provenance 回读
196
+ - [x] 配置 npm Trusted Publisher、撤销首发 Token,并加入 `dsh-plugin` Topic 与 YukiRyou catalog
197
+ - [x] 发布 `0.1.1` 文档与发布流程修正版
193
198
  - [ ] 发布后完成 Windows x64 首次真机验收
194
199
  - [ ] 根据已验证的 Harness/xAI 协议逐项评估更多内容类型和平台
195
200
 
package/SECURITY.md CHANGED
@@ -4,11 +4,11 @@
4
4
 
5
5
  ## 支持范围
6
6
 
7
- 项目尚处于 `0.1.0` 预发布阶段。正式发布后,仅维护当前发布线中明确列出的 DeepSeek Harness、Node.js、操作系统和 Grok CLI 精确版本;未经验证的版本会失败关闭。
7
+ 当前版本为 `0.1.1`。仅维护当前发布线中明确列出的 DeepSeek Harness、Node.js、操作系统和 Grok CLI 精确版本;未经验证的版本会失败关闭。macOS arm64 已完成真实验收;Windows x64 仍是代码与 CI 支持、首次 Registry 真机尚未完成。
8
8
 
9
9
  ## 私下报告漏洞
10
10
 
11
- 请优先使用公开仓库启用后的 GitHub **Private vulnerability reporting**。如果该入口暂不可用,请只创建一个不含技术细节、凭据或个人信息的公开联络 Issue,请维护者提供私下沟通渠道。
11
+ 公开仓库已启用 GitHub **Private vulnerability reporting**,请优先通过该入口报告。如果入口暂不可用,请只创建一个不含技术细节、凭据或个人信息的公开联络 Issue,请维护者提供私下沟通渠道。
12
12
 
13
13
  报告应包含:
14
14
 
@@ -21,7 +21,7 @@
21
21
 
22
22
  ## 不属于漏洞的情况
23
23
 
24
- - Windows x64 在首次发布前尚未完成真机验证这一已披露状态;
24
+ - Windows x64 在 `0.1.0` 发布后仍未完成首次 Registry 真机验证这一已披露状态;
25
25
  - 上游未提供额度字段时 UI 显示 unknown;
26
26
  - 不受支持的 CLI/Harness/平台版本被明确拒绝;
27
27
  - 官方 CLI 或 xAI 服务自身的行为,且无法由本插件边界缓解的问题。
@@ -32,4 +32,4 @@
32
32
 
33
33
  ---
34
34
 
35
- English summary: use GitHub Private vulnerability reporting when available. If it is unavailable, open only a detail-free contact issue. Never publish or send real credentials, identity data, prompts, tool arguments, cookies, or unreviewed diagnostic archives. Include exact versions, platform, minimal reproduction conditions, impact, and redacted evidence.
35
+ English summary: GitHub Private vulnerability reporting is enabled and is the preferred reporting channel. If it is unavailable, open only a detail-free contact issue. Never publish or send real credentials, identity data, prompts, tool arguments, cookies, or unreviewed diagnostic archives. Include exact versions, platform, minimal reproduction conditions, impact, and redacted evidence.
@@ -11,7 +11,7 @@
11
11
  - Provider ID:`grok`
12
12
  - 当前真机模型快照:`grok-4.6`、`grok-4.5`;生产目录动态发现账号可用的全部模型
13
13
 
14
- 项目选择无需 scope 所有权的唯一名称,避免把脚手架和 credential owner 绑定到尚未确认的 `@yukiryou` scope。该名称在 2026-08-25 查询时未公开发布;发布前仍必须重新检查占用状态。
14
+ 项目选择无需 scope 所有权的唯一名称,避免把脚手架和 credential owner 绑定到 `@yukiryou` scope。`dsh-grok-provider@0.1.0` 已于 2026-08-26 由 npm 账户 `yukiryou` 首发;后续候选仍须在发布前核对包维护权与 Trusted Publisher 绑定。
15
15
 
16
16
  ## 2. P0 用户目标
17
17
 
@@ -115,7 +115,9 @@ Web 的“退出”或 TUI `/grok logout` 先中止本插件所有在途 Grok
115
115
  - canary secret 扫描确认日志、RPC、错误、临时文件和打包产物无泄漏。
116
116
  - 协议测试确认第二个测试 origin 永远收不到 Authorization。
117
117
 
118
- ## 8. 发布阻断项
118
+ ## 8. `0.1.0` 历史发布阻断项
119
+
120
+ 以下内容记录 `0.1.0` 发布前采用的门禁定义。`0.1.0` 已完成发布;后续版本以 [发布检查清单](10-release-checklist.md) 为强制门禁,并在对应版本分支记录当次风险接受与验证证据。
119
121
 
120
122
  任一条件不满足都不得发布:
121
123
 
@@ -1,4 +1,20 @@
1
- # npm `0.1.0` 发布计划
1
+ # npm 发布计划与维护流程
2
+
3
+ ## 0. 当前状态
4
+
5
+ `dsh-grok-provider@0.1.0` 已于 2026-08-26 从 GitHub Release 中唯一的候选 tarball 发布到 npm。Registry 回读的 SHA-512、重新下载文件的 SHA-256 和 GitHub Release 产物完全一致,并已生成 npm provenance attestation。
6
+
7
+ 首次发布使用的临时 GitHub Environment secret 已删除。npm 包现已绑定以下 Trusted Publisher:
8
+
9
+ ```text
10
+ Provider: GitHub Actions
11
+ Repository: yoshino-xiao7/dsh-grok-provider
12
+ Workflow filename: release.yml
13
+ Environment: npm
14
+ Allowed action: npm publish
15
+ ```
16
+
17
+ 包的 publishing access 使用“Require two-factor authentication and disallow bypass 2fa tokens”。后续发布不得恢复 write token、`NPM_TOKEN`、仓库级 `.npmrc` 凭据或 `NODE_AUTH_TOKEN`;`release.yml` 必须通过 GitHub OIDC 获取单次、短时发布身份。
2
18
 
3
19
  ## 1. 精确发布身份
4
20
 
@@ -10,7 +26,7 @@ dsh-grok-provider@0.1.0
10
26
 
11
27
  不采用 `dsh-llm-grok-yukiryou`,避免被理解为第三方包的修补或衍生版本。
12
28
 
13
- 2026-08-25 的只读 Registry 查询显示该名称未公开发布;本机 `npm whoami` 返回 `ENEEDAUTH`。真正发布前必须重新检查名称和登录身份,任何 token 都不能出现在聊天或日志中。
29
+ `0.1.0` 已由 npm 账户 `yukiryou` 发布,canonical source repository 为 `yoshino-xiao7/dsh-grok-provider`。发布账户与 GitHub owner 不要求同名;Registry repository 回链、GitHub provenance 和 Trusted Publisher claims 必须保持一致。任何 token 都不能出现在仓库、聊天或日志中。
14
30
 
15
31
  ## 2. 为什么是 `0.1.0`
16
32
 
@@ -82,7 +98,7 @@ patch 路径必须为不含 `..`、绝对路径、反斜线或 NUL 的相对 `.y
82
98
 
83
99
  ## 5. 受管市场约束
84
100
 
85
- - 根包为精确稳定版本 `0.1.0`,name/version 与目录一致。
101
+ - 根包必须是与候选 tag 一致的精确稳定版本,name/version 与目录一致。
86
102
  - 不得 deprecated。
87
103
  - root 与完整 `dependencies`/`optionalDependencies` 图无 `preinstall`、`install`、`postinstall`。
88
104
  - 每个依赖节点来自 `https://registry.npmjs.org` 并有 SHA-512 integrity。
@@ -112,25 +128,37 @@ patch 路径必须为不含 `..`、绝对路径、反斜线或 NUL 的相对 `.y
112
128
 
113
129
  ## 7. Git 与版本
114
130
 
115
- - 开发分支:`yukiryou/v0.1.0`。
116
- - `package.json`、CHANGELOG、release notes、Git tag 和 tarball 必须都是 `0.1.0`。
131
+ - `0.1.0` 历史开发分支:`yukiryou/v0.1.0`;当前下一版本分支:`yukiryou/v0.1.1`。
132
+ - `package.json`、CHANGELOG、release notes、Git tag 和 tarball 必须使用同一个精确候选版本。
117
133
  - 发布提交必须干净且可复现。
118
- - tag:`v0.1.0`,只在发布提交确定后创建。
134
+ - tag 使用 `v<major>.<minor>.<patch>`,只在发布提交确定后创建。
119
135
  - 受当前全局分支命名策略约束,发布基线使用 `yukiryou/main`;不创建无前缀 `main`,也不直接在发布基线开发或发布未验收内容。
120
- - 首次仓库当前没有发布基线;验收完成后才创建/保护 `yukiryou/main`。该分支必须 fast-forward 到生成并测试候选 tarball 的同一 release commit,不得在 pack 后再 merge、squash、rebase 或修改文件;`yukiryou/main`、`v0.1.0` 和候选 manifest 记录的 source commit 必须是同一 Git OID。publish job 核对 `GITHUB_SHA` 与候选 SHA-512 后直接发布,禁止重新构建或重新 pack。
136
+ - `0.1.0` 首发时,发布基线 `yukiryou/main`、tag `v0.1.0` 和候选 manifest 记录的 source commit 均为 `dfa39d98d12fac929669f4961b0a511bf70cfeac`。发布后的 workflow 或文档修正不会改变这一不可变 tag、候选 tarball 或其 provenance。后续版本仍须让发布基线、tag、候选 manifest 和已验证 tarball 对应同一 release commit;publish job 只发布已核对 SHA-512 的唯一候选,禁止重新构建或重新 pack。
137
+
138
+ `0.1.0` 发布后,后续版本从已发布基线 `yukiryou/main` 创建 `yukiryou/v<next-version>`。普通开发、文档、测试和发布准备都停留在版本分支;只有仓库所有者明确开始该版本发布时才合并回发布基线并创建不可变 tag。
121
139
 
122
140
  ## 8. 发布方式
123
141
 
124
142
  优先从公开 GitHub 仓库的 GitHub-hosted runner 使用 npm provenance 发布。
125
143
 
126
- 首次包无法预先配置 staged publishing;需要一次最小权限的首次发布凭据,发布完成后立刻配置 npm Trusted Publisher 并撤销首次凭据。按 2026-08-25 的 npm 官方要求,Trusted Publishing 需要 npm ≥`11.5.1`、Node ≥`22.14.0`、GitHub-hosted runner 和 workflow `id-token: write`;正式发布前再次核对。本机 npm `10.9.7` 不作为发布环境。
144
+ 首次包无法预先配置 Trusted Publisher,因此 `0.1.0` 使用了一次最小权限的首次发布凭据。发布完成后已配置 npm Trusted Publisher、删除 GitHub Environment secret,并把传统 token 发布设置为最严格模式。按 2026-08-26 的 npm 官方要求,Trusted Publishing 需要 npm ≥`11.5.1`、Node ≥`22.14.0`、GitHub-hosted runner 和 workflow `id-token: write`;每次调整发布工具链前必须重新核对。
127
145
 
128
146
  CI 使用的官方 GitHub Actions 必须固定到已核对的完整 commit SHA;不得依赖可移动 major tag 作为发布门禁实现。
129
147
 
148
+ 长期发布工作流接受严格稳定版 tag `v<major>.<minor>.<patch>` 和该 GitHub Release tarball 的 base64 SHA-512。工作流必须:
149
+
150
+ 1. 从 tag 派生版本和唯一产物名,不接受 prerelease、build metadata、路径字符或自由格式文件名。
151
+ 2. 只下载对应 GitHub Release 的 `dsh-grok-provider-<version>.tgz`。
152
+ 3. 在发布前核对输入 SHA-512,以及 tarball 内的 name、version 和 canonical repository。
153
+ 4. 使用 Node 24、固定 npm CLI 版本、GitHub-hosted Ubuntu runner、`environment: npm` 和 `id-token: write`。
154
+ 5. 把 tarball 作为带 `./` 前缀的本地文件路径交给 `npm publish`,避免 npm package-spec 将其解释为 GitHub shorthand。
155
+ 6. 不设置 `NODE_AUTH_TOKEN`,不读取任何 npm secret;身份完全来自 Trusted Publisher OIDC。
156
+ 7. 保留 `--access public`、`--tag latest` 和 `--provenance`,即使 Trusted Publishing 会自动生成 provenance,也明确表达发布策略。
157
+
130
158
  发布经过测试的同一个 tarball:
131
159
 
132
160
  ```sh
133
- npm publish ./<exact-0.1.0-tarball>.tgz \
161
+ npm publish ./<exact-version-tarball>.tgz \
134
162
  --access public \
135
163
  --tag latest \
136
164
  --provenance \
@@ -141,27 +169,27 @@ scoped 包首次公开发布必须保留 `--access public`。
141
169
 
142
170
  ## 9. 发布后回读
143
171
 
144
- 回读 `<name>@0.1.0` 并核对:
172
+ 回读 `<name>@<exact-version>` 并核对:
145
173
 
146
174
  - name、version、repository。
147
175
  - `dist.tarball`、`dist.integrity`、unpacked size、file count。
148
176
  - scripts、dependencies、optionalDependencies、peerDependencies。
149
177
  - peerDependenciesMeta 与 publishConfig 的 Registry 回读表现。
150
178
  - engines、os、cpu 和 `dsh.bundle.patch`。
151
- - `dist-tags.latest === "0.1.0"`。
179
+ - `dist-tags.latest` 等于刚发布的精确版本。
152
180
 
153
- 从 Registry 重新下载,计算 SRI 并与 `dist.integrity` 及候选 digest 比较;在临时项目安装精确版本、生成 lockfile 后执行 `npm audit signatures`;核对 provenance attestation 的 GitHub repository 与 release commit,不使用 `latest` 安装。
181
+ 从 Registry 重新下载,计算 SRI 并与 `dist.integrity` 及候选 digest 比较;在临时项目安装精确版本、生成 lockfile 后执行 `npm audit signatures`;核对 provenance attestation 的 GitHub repository 与 release commit,不使用 `latest` 安装代替证据。
154
182
 
155
183
  ## 10. Marketplace
156
184
 
157
- npm 发布不会自动成为受管可安装项。发布后还需要:
158
-
159
- - DSHFind verified repository backlink;或
160
- - 加入 YukiRyou curated catalog 的精确 `0.1.0`。
185
+ npm 发布不会自动成为受管可安装项。`0.1.0` 当前发现状态:
161
186
 
162
- 优先先通过公开 GitHub repository backlink 形成 DSHFind candidate,避免“尚无 candidate 因而无法受管安装、尚未受管安装因而不能进 curated”的循环。Registry 回读完成后,在 Windows x64 的生产 inspector 上对精确 `0.1.0` 完成首次 `artifact-verified`、安装、重启、浏览器登录、聊天、工具调用和重新认证;完成前必须保留“代码支持、真机未验证”标识。
187
+ - GitHub 仓库已添加 DeepSeek Harness 官方推荐的 `dsh-plugin` 与 `dsh` Topics,可被 Topic 驱动来源发现。
188
+ - YukiRyou curated catalog 已加入精确 `dsh-grok-provider@0.1.0`,只标记完成真实验收的 `darwin-arm64`。
189
+ - 公共 `awesome-dsh-plugin` curated 目录要求仓库创建满 1 天且至少 10 个提交;提交数已满足,需在年龄门槛满足后提交外部 PR。
190
+ - Windows x64 仍需对 Registry 精确 `0.1.0` 完成首次 production inspector、安装、重启、浏览器登录、聊天、工具调用和重新认证;完成前保持“代码支持、真机未验证”。
163
191
 
164
- curated 条目只在上述验证通过后添加。当前 catalog schema 只记录:
192
+ catalog 条目只能记录实际验证完成的平台。当前 schema 记录:
165
193
 
166
194
  - UTC `testedAt`。
167
195
  - Harness `0.1.1-rc.2`。
@@ -47,14 +47,14 @@ Host 通过 Harness `ctx.subprocess` 以固定 argv 启动经路径/版本约束
47
47
  - CLI Chat Proxy 和凭据文件是可变化的上游契约;未知版本或结构必须失败关闭。
48
48
  - macOS x64 不在当前官方 CLI 支持矩阵;`0.1.0` 发布承诺为 macOS arm64 与 Windows x64。
49
49
 
50
- ## 尚未解决但不阻碍方案确认的事项
50
+ ## 已接受的残余风险与发布后状态
51
51
 
52
- - 首个开发绑定版本已冻结为 `1.0.5`(build `5115b46bc909`),详见 `08-upstream-cli-1.0.5-evidence.md`。其 macOS 官方下载物当前无法通过严格代码签名验证,仍是发布阻断项。
53
- - npm 登录身份与冻结名称在发布时仍可用:发布前确认。
52
+ - 首个开发绑定版本已冻结为 `1.0.5`(build `5115b46bc909`),详见 `08-upstream-cli-1.0.5-evidence.md`。其 macOS 官方下载物无法通过严格代码签名验证;仓库所有者已明确接受这一残余风险并授权 `0.1.0` 首发,这不代表签名问题已经解决。
53
+ - npm 身份已确认,`dsh-grok-provider@0.1.0` 已发布;后续版本使用已配置的 npm Trusted Publisher。
54
54
  - canonical GitHub repository URL:已冻结为 `https://github.com/yoshino-xiao7/dsh-grok-provider`,并用于 `package.json.repository`、provenance workflow 和发布脚手架。
55
- - xAI 服务条款/官方许可的最终发布复核。
55
+ - xAI 服务条款/官方许可没有第三方 adapter 的明确支持依据;仓库所有者已在 `0.1.0` 发布前复核并接受该残余风险。
56
56
 
57
- 仓库所有者已明确要求继续公开发布,并接受当前 CLI 契约/服务条款没有第三方 adapter 明确支持依据的残余风险。发布仍必须通过制品、CI、provenance 和 Registry 回读门禁。
57
+ 仓库所有者已明确要求继续公开发布,并接受当前 CLI 契约/服务条款没有第三方 adapter 明确支持依据的残余风险。`0.1.0` 已完成发布;后续版本仍必须通过制品、CI、provenance 和 Registry 回读门禁。
58
58
 
59
59
  ## 确认语句
60
60
 
@@ -1,6 +1,6 @@
1
1
  # Grok CLI 1.0.5 上游契约证据
2
2
 
3
- 状态:**开发绑定,尚未通过发布门禁**
3
+ 状态:**已作为 `0.1.0` 发布绑定证据;残余风险由仓库所有者明确接受**
4
4
  核验日期:2026-08-25(Asia/Shanghai)
5
5
 
6
6
  ## 1. 精确版本
@@ -16,7 +16,7 @@
16
16
  - 两者 SHA-256 都是 `3dfa7f04fbb5427a8fbead286591543aaecb478b3a0ab222c4329eca1a3b2f86`。
17
17
  - 官方路径未发现 `.sha256`、`.sha256sum` 或 `.sig` sidecar;本地记录的哈希只能用于复现实验,不能证明发布者身份。
18
18
  - Mach-O 嵌入指定要求含 Team ID `5Y6N3AJ54S`,但重新下载且尚未执行的 CDN/GCS 副本以及本机安装副本均未通过 `codesign --verify --strict`,错误为 `invalid signature (code or signature have been modified)`。
19
- - 因此当前不得把 macOS 签名描述为“已验证”,也不得把插件的路径、owner、版本检查包装成 publisher verification。该异常是发布阻断项;开发可继续,但 `0.1.0` 发布前必须由 xAI 修复或提供可验证的官方完整性机制,并重新记录证据。
19
+ - 因此不得把 macOS 签名描述为“已验证”,也不得把插件的路径、owner、版本检查包装成 publisher verification。仓库所有者在了解该限制后明确授权 `0.1.0` 继续发布;它是已接受的上游供应链残余风险,不是已经解决或获得密码学证明的问题。
20
20
 
21
21
  ## 3. 登录命令
22
22
 
@@ -1,8 +1,8 @@
1
- # 当前实现与发布阻断项
1
+ # 当前实现与发布状态
2
2
 
3
3
  状态日期:2026-08-26
4
- 目标包:`dsh-grok-provider@0.1.0`
5
- 开发分支:`yukiryou/v0.1.0`
4
+ 当前发布线:`dsh-grok-provider@0.1.1`
5
+ 发布分支:`yukiryou/v0.1.1`
6
6
 
7
7
  ## 已实现
8
8
 
@@ -24,14 +24,29 @@
24
24
  - `max_output_tokens` 真机返回 `response.incomplete/max_output_tokens`,已映射为 Harness `max-tokens`。
25
25
  - macOS 隔离 Harness Web profile 已从当前 `dsh-grok-provider@0.1.0` tarball 安装并验证:设置页真实显示登录状态、`grok-4.6`/`grok-4.5` 上下文与推理档位、流式/tool capability、每周周期和重置时间;手动刷新通过。当前真实账号的 CLI Proxy JSON 省略百分比,而同周期官方移动端显示 `0% 已使用`;解析器现按完整类型化周期恢复为 `0% 已使用 / 100% 剩余`。
26
26
 
27
- ## 发布阻断项
27
+ ## `0.1.0` 发布结果
28
28
 
29
- 以下任何一项未关闭都不得执行 `npm publish`:
29
+ - GitHub Release 与 npm `0.1.0` 已发布;Registry 重新下载文件与候选 tarball 的 SHA-256/SHA-512 完全一致。
30
+ - npm provenance attestation 已生成并回读;canonical repository、name、version 与 SRI 一致。
31
+ - npm Trusted Publisher 已绑定 GitHub Actions `release.yml` 与 Environment `npm`,只允许 `npm publish`。
32
+ - GitHub `NPM_TOKEN` secret 与 npm 首发 Token 已撤销;包已设置为要求 2FA 并禁止 bypass 2FA token。
33
+ - GitHub Release 说明为中文在前、英文在后,且已移除正文重复版本标题。
34
+ - 仓库已添加 `dsh-plugin` 与 `dsh` Topics;YukiRyou catalog 已收录精确 `0.1.0` 的 macOS arm64 验证条目。
30
35
 
31
- 1. **已接受的上游残余风险**:官方 macOS `1.0.5` 下载物当前无法通过严格代码签名验证,也没有可验证 sidecar signature/checksum;xAI 也没有为第三方本地 adapter 使用 Grok Build session credential 与 CLI Chat Proxy 提供明确支持依据。仓库所有者已明确要求继续公开发布并承担该风险。
32
- 2. **发布身份**:公开 canonical repository 已冻结为 `https://github.com/yoshino-xiao7/dsh-grok-provider`;仍需让 GitHub publish workflow 获得最小权限的首次 npm 发布凭据,发布后配置 Trusted Publisher 并撤销首次凭据。
33
- 3. **精确候选与回读**:发布前由 macOS 验收、Windows CI 和 publish job 核验同一个 tarball SHA-512;发布后回读 Registry integrity、attestation 和精确版本安装。
36
+ ## 已知首发流程缺陷
37
+
38
+ `0.1.0` tarball 内的中英文 README、`SECURITY.md` 与部分状态文档仍保留预发布措辞。npm 同一版本不可覆盖,因此 npm 页面只能通过后续递增版本纠正。该问题已进入[逐版发布检查表](./10-release-checklist.md),以后属于发布前阻断项。
39
+
40
+ ## `0.1.1` 发布门禁
41
+
42
+ `0.1.1` 按以下门禁冻结;最终制品与回读证据以 GitHub Release 和 npm provenance 为准:
43
+
44
+ 1. 中英文 README、`SECURITY.md`、文档首页、实现状态、发布计划和 CHANGELOG 同步完成。
45
+ 2. `package.json`、CHANGELOG、双语 release notes、tag 与唯一候选 tarball 全部冻结为 `0.1.1`。
46
+ 3. 完整测试、两平台 CI、打包清单、隔离安装与候选 SHA-512 门禁通过。
47
+ 4. OIDC Trusted Publisher 配置保持有效,workflow 不读取任何 npm Secret。
48
+ 5. 仓库所有者在看到最终候选摘要与全部证据后明确授权发布。
34
49
 
35
50
  Windows x64 真机不再是 `0.1.0` 预发布阻断项。首次发布后必须从 Registry 安装精确 `0.1.0`,完成官方安装物 Authenticode/hash、浏览器登录、取消/超时/卸载、动态全部模型、聊天、reasoning replay、工具调用和 production inspector;完成前对 Windows 保持“代码支持、真机未验证”标识。`0.1.1` 及后续版本不要求重复真机验证,以两平台 CI、契约测试、干净安装和制品校验作为常规门禁。
36
51
 
37
- 当前结论是“核心实现可继续审计与集成”,不是“已具备发布条件”。
52
+ 仓库所有者已于 2026-08-26 明确授权发布精确 `dsh-grok-provider@0.1.1`。该版本只修正发布事实与长期发布流程,不改变运行时协议或能力边界。
@@ -0,0 +1,53 @@
1
+ # 发布检查表
2
+
3
+ 本文件是每个 npm 版本的强制发布门禁。准备者必须从版本分支逐项完成并保存证据;未全部关闭前不得合并发布基线、创建最终 tag、发布 GitHub Release 或执行 `npm publish`。发布还需要仓库所有者明确授权,检查表全绿本身不构成发布授权。
4
+
5
+ ## 每版发布前
6
+
7
+ - [ ] 冻结精确稳定版本,并同步 `package.json`、CHANGELOG、中英文 README、release notes 和候选文件名。
8
+ - [ ] 中英文 README 已互相链接、内容同步,不包含“尚未发布”等与候选状态冲突的文字。
9
+ - [ ] `SECURITY.md`、文档首页、实现状态、上游证据和发布计划反映当前事实。
10
+ - [ ] GitHub About、Topics、npm repository/homepage/bugs 与 canonical repository 一致。
11
+ - [ ] GitHub Private vulnerability reporting 已启用;`yukiryou/main` 禁止强推/删除,并要求 PR 与 macOS/Windows CI。
12
+ - [ ] `npm test`、`npm audit --omit=dev`、`npm run pack:check` 和 macOS/Windows CI 全部通过。
13
+ - [ ] 从干净 checkout 只生成一个候选 tarball;记录文件数、大小、SHA-256 和 base64 SHA-512。
14
+ - [ ] 候选 tarball 内的 name、version、repository、exports、peer、patch、脚本和文件白名单通过审查。
15
+ - [ ] 从同一个 tarball 在隔离 Harness profile 完成安装、加载与必要 smoke;普通版本不重复要求跨平台真机,认证、CLI 或平台边界变化时另行指定。
16
+ - [ ] GitHub Release 说明中文在前、英文在后,且正文不重复页面已有的版本标题。
17
+ - [ ] 版本分支经 PR 合并到 `yukiryou/main`;最终 tag 指向被验收的发布提交。
18
+ - [ ] GitHub Release 只附加已验收的唯一 tarball,workflow 输入使用该文件的精确 base64 SHA-512。
19
+ - [ ] npm Trusted Publisher 仍绑定 `yoshino-xiao7/dsh-grok-provider`、`release.yml`、Environment `npm`,且只允许 `npm publish`。
20
+ - [ ] GitHub Environment 不含 `NPM_TOKEN`,workflow 不含 `NODE_AUTH_TOKEN`、npm write token 或其他持久发布凭据。
21
+ - [ ] 仓库所有者明确授权发布当前精确版本。
22
+
23
+ ## 每版发布后
24
+
25
+ - [ ] 回读 npm name、version、repository、dist-tag、SRI 和 provenance attestation。
26
+ - [ ] 从 Registry 重新下载 tarball,确认 SHA-256/SHA-512 与 GitHub Release 候选逐字节一致。
27
+ - [ ] 用 Registry 精确版本执行安装检查,不使用浮动 `latest` 代替证据。
28
+ - [ ] 更新 README 路线图、实现状态、catalog/marketplace 状态和 CHANGELOG 日期;这些状态更新必须进入下一候选前的文档审计。
29
+ - [ ] 创建下一版本的 `yukiryou/v<next-version>` 分支,后续开发不直接进入发布基线。
30
+
31
+ ## `0.1.0` 首发复盘
32
+
33
+ 已完成:npm 发布、Registry 完整性回读、provenance、Trusted Publisher、传统 Token 禁用、临时凭据撤销、GitHub Release 双语说明、`dsh-plugin` Topic 与 YukiRyou catalog 的 macOS arm64 精确版本条目。
34
+
35
+ 流程缺陷:首发 tarball 内的 README、`SECURITY.md` 和部分状态文档仍保留预发布措辞。npm 同一 name/version 不可覆盖,因此 `0.1.0` 页面中的 README 只能由后续递增版本纠正。此后“文档状态与候选版本一致”是发布前硬门禁,不再作为发布后补项。
36
+
37
+ 仍需跟进但不回溯阻断 `0.1.0`:Windows x64 首次 Registry 真机验收;公共 curated 目录的仓库年龄门槛满足后提交收录。
38
+
39
+ ## `0.1.1` 发布记录
40
+
41
+ - [x] 使用独立版本分支 `yukiryou/v0.1.1`。
42
+ - [x] 长期发布 workflow 改为 GitHub OIDC,不读取 npm Secret。
43
+ - [x] macOS/Windows CI 已通过 OIDC workflow 改造分支。
44
+ - [x] GitHub Private vulnerability reporting 已启用,`yukiryou/main` 已配置 PR、双平台 CI、防强推和防删除保护。
45
+ - [x] 完成所有发布事实文档、中英文 README 与 `SECURITY.md` 同步。
46
+ - [x] `package.json`、lockfile 与制品契约测试已同步为 `0.1.1`,中英双语 release notes 已完成且不重复页面标题。
47
+ - [x] 本地完整测试 57 项通过(55 pass、2 项 Windows-only 按预期跳过),`npm audit --omit=dev` 为 0 vulnerability,GitHub macOS/Windows CI 均通过。
48
+ - [x] 从提交 `d35bda3402db5b16edd83d81420f1068006254a8` 生成预审 tarball;48 个文件、93,652 bytes,SHA-256 `bdaf7c32a22afd74e1c526e07c91f441942fedab3e0d34c01134fedda6e323b9`,SRI `sha512-ENpeVSsHDiByG6Cf03pl1j4eRHAsYQkrwU4sVAMct4D2aFXoZoFTivP0ZpwaM1tzD0NdXlPzlLdtlSd0F48wCw==`;同一文件在全新临时目录完成 peer 安装、manifest 回读与 Host 模块加载。
49
+ - [x] 仓库所有者于 2026-08-26 明确授权发布精确 `dsh-grok-provider@0.1.1`;README/状态页已切换为最终公开事实,CHANGELOG 日期已冻结。
50
+ - [ ] 从最终 release commit 生成并验收唯一发布 tarball;预审 tarball 不进入 Release。
51
+ - [ ] 完成 GitHub Release、OIDC npm 发布和 Registry/provenance 回读。
52
+
53
+ English summary: every release must close documentation, security, tests, deterministic artifact, bilingual release notes, OIDC identity, integrity, and post-publish readback gates before publication. A green checklist never replaces explicit owner approval.
package/docs/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # Grok Build Provider 文档索引
2
2
 
3
- - 状态:**方案已确认,`0.1.0` 收敛为官方 CLI 浏览器登录单路径**
4
- - 目标版本:`0.1.0`
3
+ - 状态:**`0.1.1` 发布线已冻结:修正发布事实,并启用长期 npm Trusted Publisher OIDC 流程**
4
+ - 当前版本:`0.1.1`
5
+ - 发布分支:`yukiryou/v0.1.1`
5
6
  - 兼容基线:DeepSeek Harness `0.1.1-rc.2`
6
7
  - 目标平台:macOS arm64、Windows x64
7
8
 
@@ -31,10 +32,12 @@
31
32
  - [安全与威胁模型](./03-security-threat-model.md)
32
33
  - [Harness rc.2 接口契约](./04-harness-contract.md)
33
34
  - [兼容性与测试计划](./05-test-plan.md)
34
- - [npm `0.1.0` 发布计划](./06-release-plan.md)
35
+ - [npm 发布计划与维护流程](./06-release-plan.md)
35
36
  - [开发前决策门](./07-decision-gate.md)
36
37
  - [Grok CLI 1.0.5 上游证据](./08-upstream-cli-1.0.5-evidence.md)
37
- - [当前实现与发布阻断项](./09-implementation-status.md)
38
+ - [当前实现与发布状态](./09-implementation-status.md)
39
+ - [逐版发布检查表](./10-release-checklist.md)
40
+ - [v0.1.1 中英双语发行说明](./releases/v0.1.1.md)
38
41
  - [ADR-0001:认证与传输路线](./adr/0001-auth-and-transport-route.md)
39
42
  - [ADR-0002:首版能力边界](./adr/0002-v0.1-scope.md)
40
43
  - [ADR-0003:已被取代的双认证设计](./adr/0003-dual-authentication.md)
@@ -44,7 +47,7 @@
44
47
 
45
48
  ## 开发门禁
46
49
 
47
- 原开发门已由仓库所有者确认。最终 package identity、macOS 真机门禁和发布链全部满足前,不进行 npm 发布;Windows x64 首次真机验证安排在 `0.1.0` 发布后,完成前标注“代码支持、真机未验证”。`0.1.1` 及后续版本以自动化矩阵、契约、干净安装和制品校验替代重复真机门禁。独立 xAI OAuth client 授权已不再属于首版范围。
50
+ `0.1.0` 首发后的 Registry 完整性、provenance、Trusted Publisher 与凭据撤销均已完成。首发 tarball 内 README 与部分状态文档的预发布措辞由 `0.1.1` 递增版本纠正。后续版本必须先完成[逐版发布检查表](./10-release-checklist.md),再由仓库所有者明确授权发布。Windows x64 首次真机验证仍按约定作为首发后跟进,完成前标注“代码支持、真机未验证”。
48
51
 
49
52
  ## 官方依据
50
53
 
@@ -0,0 +1,53 @@
1
+ ## 中文
2
+
3
+ `0.1.1` 是一次发布流程与社区维护修正版,不改变 Grok 请求协议或运行时能力。
4
+
5
+ ### 主要变化
6
+
7
+ - 修正 npm 包内中文默认 README、英文 README、`SECURITY.md` 与维护文档中的首发前状态,使安装、兼容性、Windows 验证状态和项目来源准确一致。
8
+ - 后续 npm 发布改用 GitHub Actions 与 npm Trusted Publisher OIDC;发布工作流不读取 `NPM_TOKEN` 或其他长期 npm 写入凭据。
9
+ - 新增强制逐版发布检查表,覆盖双语文档、版本一致性、唯一 tarball、完整性、provenance、Registry 回读与明确发布授权。
10
+ - 补充 `dsh-plugin`/`dsh` Topics、YukiRyou 自维护 catalog、私密漏洞报告和发布分支保护等社区维护信息。
11
+
12
+ ### 兼容性
13
+
14
+ - DeepSeek Harness:`0.1.1-rc.2`
15
+ - Grok Build CLI:精确绑定 `1.0.5`(build `5115b46bc909`)
16
+ - macOS arm64:已完成真实验收
17
+ - Windows x64:代码与 CI 支持;首次 Registry 真机验收仍是已披露的发布后跟进
18
+
19
+ ### 安装
20
+
21
+ ```sh
22
+ dsh plugin --profile web add dsh-grok-provider@0.1.1
23
+ dsh web
24
+ ```
25
+
26
+ 这是非官方社区项目,与 xAI 或 DeepSeek Harness 官方无隶属关系。运行时仍复用官方 Grok CLI 管理的浏览器 OAuth 会话;插件不实现第二套 OAuth client 或 refresh-token 存储。
27
+
28
+ ## English
29
+
30
+ `0.1.1` is a release-process and community-maintenance correction. It does not change the Grok request protocol or runtime capabilities.
31
+
32
+ ### Highlights
33
+
34
+ - Correct the pre-release wording left in the npm package's default Chinese README, English README, `SECURITY.md`, and maintainer documentation so installation, compatibility, Windows validation status, and project sources are consistent.
35
+ - Move future npm publication to GitHub Actions and npm Trusted Publisher OIDC. The release workflow reads no `NPM_TOKEN` or other persistent npm write credential.
36
+ - Add a mandatory per-release checklist covering bilingual documentation, exact version alignment, one immutable tarball, integrity, provenance, Registry readback, and explicit release authorization.
37
+ - Document `dsh-plugin`/`dsh` topics, the YukiRyou-maintained catalog, private vulnerability reporting, and release-branch protection.
38
+
39
+ ### Compatibility
40
+
41
+ - DeepSeek Harness: `0.1.1-rc.2`
42
+ - Grok Build CLI: exactly `1.0.5` (build `5115b46bc909`)
43
+ - macOS arm64: real-device accepted
44
+ - Windows x64: code and CI supported; the first Registry real-device acceptance remains a disclosed post-release follow-up
45
+
46
+ ### Install
47
+
48
+ ```sh
49
+ dsh plugin --profile web add dsh-grok-provider@0.1.1
50
+ dsh web
51
+ ```
52
+
53
+ This is an unofficial community project and is not affiliated with xAI or DeepSeek Harness. Runtime authentication still reuses the browser OAuth session managed by the official Grok CLI; the provider does not implement a second OAuth client or refresh-token store.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-grok-provider",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Clean-room Grok Build provider for DeepSeek Harness with official CLI browser authentication",
5
5
  "type": "module",
6
6
  "license": "MIT",