dsh-gpt-image-playground 0.2.1 → 0.2.3

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 CHANGED
@@ -1,61 +1,58 @@
1
1
  # GPT Image Playground for DeepSeek Harness
2
2
 
3
+ [![npm](https://img.shields.io/npm/v/dsh-gpt-image-playground?label=npm)](https://www.npmjs.com/package/dsh-gpt-image-playground)
4
+ [![license](https://img.shields.io/npm/l/dsh-gpt-image-playground)](LICENSE)
5
+ [![node](https://img.shields.io/node/v/dsh-gpt-image-playground)](package.json)
6
+
3
7
  把 [CookSleep/gpt_image_playground](https://github.com/CookSleep/gpt_image_playground) 的**原版工作台**装进 [DeepSeek Harness](https://github.com/deepseek-ai)(DSH):左栏多一个「生图工作台」,点开就是完整的画廊 / Agent 双模式、参考图与遮罩编辑、多供应商、收藏夹、历史管理。
4
8
 
5
- 界面与功能来自上游官方构建(v0.8.3,原样 vendor),插件自己只负责**同源托管**和**可选的 API 代理**。
9
+ 界面与功能来自上游官方构建(v0.8.4,原样 vendor),插件自己只负责**同源托管**和**可选的 API 代理**。
6
10
 
7
11
  ![工作台](docs/screenshot-gallery.png)
8
12
 
9
13
  ## 安装
10
14
 
11
- ### 1. 从 DSH 插件市场(收录后)
12
-
13
- DSH 0.2.1+ → **插件 → 发现**,搜索 `GPT Image Playground`。
15
+ ### 用 npm 包名(推荐)
14
16
 
15
- ### 2. 用 npm 包名
16
-
17
- DSH → **插件 → 安装**,填:
17
+ 在 DSH 里打开 **插件 → 安装**,填:
18
18
 
19
19
  ```
20
20
  dsh-gpt-image-playground
21
21
  ```
22
22
 
23
- 命令行等价:`dsh plugin --profile desktop add dsh-gpt-image-playground`
23
+ 装完在插件列表里启用,刷新页面(Ctrl+R),左栏出现「相框」图标。
24
24
 
25
- ### 3. 从本仓库(本地目录)
25
+ 命令行等价:
26
26
 
27
27
  ```bash
28
- git clone https://github.com/southcul/dsh-gpt-image-playground
28
+ dsh plugin --profile desktop add dsh-gpt-image-playground
29
29
  ```
30
30
 
31
- DSH → 插件 → 安装 → 填克隆下来的目录**绝对路径**。装完在插件列表里启用。
31
+ ### 从 Release 压缩包
32
32
 
33
- ### 4. 从 Release 压缩包
33
+ 下载 [最新 Release](https://github.com/southcul/dsh-gpt-image-playground/releases/latest) 里的 `gpt-image-playground-<版本>.zip`,解压后二选一:
34
34
 
35
- 下载 Release 里的 `gpt-image-playground-<版本>.zip`,解压后二选一:
35
+ - DSH 插件页 → 安装 → 填解压目录的**绝对路径**(推荐)
36
+ - 或右键 `install.ps1` → 使用 PowerShell 运行
36
37
 
37
- - DSH 插件页 → 安装 → 填解压目录的绝对路径(推荐)
38
- - 或右键 `install.ps1` → 使用 PowerShell 运行(内部是 `node install.mjs --copy`)
39
-
40
- ### 5. 直接链接开发
38
+ ### 从仓库源码
41
39
 
42
40
  ```bash
43
- node install.mjs # junction 到桌面 profile,改代码即热加载
44
- node install.mjs --uninstall # 卸载
41
+ git clone https://github.com/southcul/dsh-gpt-image-playground
45
42
  ```
46
43
 
47
- 装好刷新页面(Ctrl+R),左栏出现「相框」图标。
44
+ DSH → 插件 → 安装 → 填克隆目录的绝对路径。
48
45
 
49
46
  ## 第一次使用
50
47
 
51
48
  1. 打开工作台 → 右上角齿轮 → **API 配置**,填 API URL 与 Key(存在本机浏览器存储,不上传)。
52
- 2. 如果报「接口不支持浏览器跨域请求」:点工作台**左下角 ⚙**(iframe 外的小按钮),填真实 API 地址,保存;再把面板里显示的代理地址复制到应用的「API URL」。
49
+ 2. 若提示「接口不支持浏览器跨域请求」:点工作台**左下角 ⚙**(iframe 外的小按钮),填真实 API 地址并保存;再把面板里显示的代理地址复制到应用的「API URL」。
53
50
 
54
51
  代理地址形如 `http://127.0.0.1:13807/plugins/dsh-gpt-image-playground/proxy`,请求由 DSH 主机转发,`Authorization` 与 multipart 图片体原样透传。
55
52
 
56
53
  ## 功能
57
54
 
58
- 完整继承上游,包括:
55
+ 完整继承上游:
59
56
 
60
57
  - 画廊 / Agent 双模式;批量生成、迭代、多提示词提交、流式预览
61
58
  - 参考图(最多 16 张)、遮罩编辑器、画板标注(画笔/文字/图形/像素橡皮擦)、评论定位
@@ -66,78 +63,17 @@ node install.mjs --uninstall # 卸载
66
63
 
67
64
  ## 与上游的差异
68
65
 
69
- - 隐藏右上角三个按钮(安装为应用 / 下载客户端 / 操作指南),按 `aria-label` 注入 CSS 实现,不改上游代码。
70
- - 关闭上游公告卡(`vendor-app/announcements.json` 为 `[]`)。
71
- - 工作台跑在常驻 iframe 里(见下),因此 DSH 的窗口级快捷键不穿透到应用内部。
72
-
73
- ## 为什么 iframe 常驻在 `shell.overlay`
74
-
75
- DSH 的 `main` 槽是 keyed 槽,只渲染当前选中的那一项:切到别的面板会卸载工作台。iframe 若挂在这个面板里,切换面板就会销毁文档,正在跑的生成请求随之中断(表现为「报错但没有原因」)。
76
-
77
- 所以:`main` 里只放占位盒登记矩形,iframe 住在常驻的 `shell.overlay` 条目里;切走时只是 `display:none`,请求继续跑,回来还是同一个文档。
78
-
79
- ## 结构
80
-
81
- ```
82
- lib/index.js 宿主半侧:静态托管、同源代理、设置读写、精简原生 API
83
- lib/client.js 浏览器半侧:槽位注册、常驻 surface、代理面板、界面裁剪
84
- vendor-app/ 上游构建产物(index.html / assets / 字体)
85
- cordis.patch.yml 组合包 patch
86
- install.mjs 安装/卸载(--link 开发、--copy 分发)
87
- install.ps1 Windows 一键安装(包装 install.mjs --copy)
88
- publish.ps1 npm 发布(用 DSH 自带的 pnpm)
89
- tools/vendor-dist.mjs 重新抓取上游构建
90
- tools/pack.py 打 zip / tgz
91
- tools/test-pack.mjs 验证分发包可安装、可卸载、复制后仍可挂载
92
- test-server.mjs 宿主半侧自测(原生 API + 静态托管 + 代理透传)
93
- client-test.mjs 浏览器半侧自测(注册 + 样式)
94
- ```
95
-
96
- ## 发布到 npm
97
-
98
- **第一次发布?看 [docs/first-publish.md](docs/first-publish.md),从注册账号到别人装上,一步一步。**
99
-
100
- ```bash
101
- node tools/set-repo.mjs southcul --author "southcul" # 仓库信息(已配好,换仓库时再跑)
102
- powershell -ExecutionPolicy Bypass -File .\publish.ps1 # 校验 → 测试 → 发布
103
- ```
104
-
105
- - 凭证:`.npmrc` 里放 `//registry.npmjs.org/:_authToken=npm_…`(已在 `.gitignore` 中)
106
- - `prepublishOnly` 会自动跑两套自测 + `check-package`,任一项失败就不发布
107
- - 预演:`.\publish.ps1 -DryRun`;双因素认证:`.\publish.ps1 -Otp 123456`
108
- - 校验可单独跑:`node tools/check-package.mjs`(加 `--strict` 时占位符也算失败)
109
- - 发布后自查:`node tools/test-npm-tarball.mjs`(把 tarball 装进临时目录并实际挂载)
110
-
111
- ## 开发
112
-
113
- ```bash
114
- node test-server.mjs # 宿主半侧
115
- node client-test.mjs # 浏览器半侧
116
- node tools/pack.mjs # 重新打 dist/(zip + tgz)
117
- node tools/test-pack.mjs # 分发包回归
118
- node preview/serve.mjs --port 4518
119
- node tools/test-switch.mjs # 切换面板不中断生成的回归测试
120
- ```
121
-
122
- 更新上游:
66
+ 界面裁剪与信息改写都在 iframe 内用注入的方式完成,**不改上游构建产物**:
123
67
 
124
- ```bash
125
- node tools/vendor-dist.mjs # 从 GitHub Pages 抓官方构建
126
- node tools/pack.mjs
127
- ```
128
-
129
- 内置字体默认**不随包分发**(HarmonyOS Sans SC 三个字重 + Maple Mono,约 23 MB):界面会回退到系统字体,显示正常。需要离线内置字体时:
130
-
131
- ```bash
132
- node tools/fetch-fonts.mjs # 下载到 vendor-app/assets,然后重新打包
133
- ```
68
+ - 隐藏右上角三个按钮:安装为应用 / 下载客户端 / 操作指南
69
+ - 隐藏设置页的「关于」标签(上游的更新检查与赞助入口;第三方许可仍随包提供,见 `THIRD-PARTY-NOTICES.md`)
70
+ - 设置页右上角的版本徽标改为**本插件版本**(不带提示、不显示上游版本)
71
+ - 关闭上游公告卡(`vendor-app/announcements.json` 为 `[]`)
72
+ - 工作台运行在常驻 iframe 中,因此 DSH 的窗口级快捷键不穿透到应用内部
134
73
 
135
- 发布:
74
+ ![设置页](docs/screenshot-settings.png)
136
75
 
137
- ```bash
138
- powershell -ExecutionPolicy Bypass -File .\publish.ps1 # npm
139
- git tag v0.2.1 && git push origin v0.2.1 # GitHub Release(Actions 打包含附件)
140
- ```
76
+ 工作台之所以常驻在 `shell.overlay` 而不是 `main` 面板里:DSH 的 `main` 是 keyed 槽,切换面板会卸载工作台,正在跑的生成请求会随 iframe 一起被销毁。现在占位盒只负责定位,iframe 切走时仅隐藏、不卸载。
141
77
 
142
78
  ## 许可与致谢
143
79
 
package/SHARE.md CHANGED
@@ -1,217 +1,66 @@
1
1
  # 分享给你的朋友
2
2
 
3
- 产物在 `dist/`:
3
+ 插件已经在 npm 上,所以**最省事的方式只需要一句话**:
4
4
 
5
- | 文件 | 大小 | 用途 |
6
- |---|---|---|
7
- | `gpt-image-playground-0.2.1.zip` | ~1.5 MB | 直接发给朋友,解压 + 双击安装 |
8
- | `dsh-gpt-image-playground-0.2.1.tgz` | ~1.5 MB | npm 包,用于 `npm publish` 或 `pnpm add` |
5
+ > DSH → 插件 → 安装 → 填 `dsh-gpt-image-playground`
9
6
 
10
- 两个包内容一致(91 个文件):插件代码、上游构建产物(`vendor-app/`)、许可证与第三方声明、安装脚本。不含测试、预览环境、API Key 或你的配置。
7
+ 装完在插件列表里启用,刷新页面(Ctrl+R),左栏出现「相框」图标。
11
8
 
12
9
  ---
13
10
 
14
- ## 方式零:在 DSH 里直接装(不用脚本,朋友最省事)
11
+ ## 方式一:让朋友直接装(推荐)
15
12
 
16
- DSH 自带的插件管理器接受**包名、GitHub 地址、本地目录**三种输入:
13
+ DSH 里打开 **插件** 页 → **安装 / 添加插件** → 「包名或地址」填:
17
14
 
18
- 1. 让朋友把 zip 解压到任意目录(记住路径)。
19
- 2. DSH 里打开 **插件** 页(侧边栏「插件」,或设置里的插件列表)→ **安装 / 添加插件**。
20
- 3. 「包名或地址」里填解压出来的目录**绝对路径**,例如:
21
-
22
- ```
23
- C:\Users\Alice\Downloads\dsh-gpt-image-playground-0.2.1
24
- ```
25
-
26
- 4. 安装完成后在插件列表里**启用**它(`dsh.profile.bundles` 里勾上),刷新页面。
27
-
28
- 要点:
15
+ ```
16
+ dsh-gpt-image-playground
17
+ ```
29
18
 
30
- - 必须填**绝对路径**,且该目录里要有 `package.json`(zip 解压后的顶层目录正好)。
31
- - 装的是包里 `files` 声明的部分,`preview/`、`tools/`、测试不会被复制过去。
32
- - 这种装法会记成 `file:` 依赖,所以那个目录**别删也别移动**;想搬到别处就重新装一次。
33
- - 已发布 npm 之后,这里直接填包名 `dsh-gpt-image-playground` 更省事。
34
- - 推送 GitHub 之后,也能填仓库地址(形如 `https://github.com/你/dsh-gpt-image-playground`)。
35
- - `.tgz` 只支持 **http(s) 直链**;本地 `.tgz` 文件路径不被当作目录,会报「请输入有效的包名或地址」。
19
+ 安装后**启用**它,刷新页面即可。
36
20
 
37
- > 你这台机器上插件已经装好了(链接模式),在本机再走一次会提示「这个包已经安装」。方式是给朋友用的。
21
+ **对方需要**:DSH 桌面端(能打开插件页),以及自己的图片 API(工作台里配置)。
38
22
 
39
23
  ---
40
24
 
41
- ## 方式一:发 zip(兜底,适合不想操作的场景)
42
-
43
- 1. 把 `dist/gpt-image-playground-0.2.1.zip` 发给朋友。
44
- 2. 朋友解压到任意目录(**不要**放进 DSH 安装目录)。
45
- 3. 右键 `install.ps1` → **使用 PowerShell 运行**(或在 PowerShell 里跑):
46
-
47
- ```powershell
48
- powershell -ExecutionPolicy Bypass -File .\install.ps1
49
- ```
25
+ ## 方式二:发 Release 压缩包(对方网络不便时)
50
26
 
51
- 脚本会自动找 DSH 自带的 Node,把插件复制进 profile、写进依赖与启用列表,改文件前先备份。
52
- 4. 刷新 DSH 页面,左栏出现「生图工作台」。
27
+ 1. 从 [Releases](https://github.com/southcul/dsh-gpt-image-playground/releases) 下载 `gpt-image-playground-<版本>.zip` 发给对方。
28
+ 2. 对方解压到任意目录(**不要**放进 DSH 安装目录)。
29
+ 3. 二选一:
30
+ - DSH 插件页 → 安装 → 填解压目录的**绝对路径**(推荐)
31
+ - 或右键 `install.ps1` → **使用 PowerShell 运行**
53
32
 
54
- **对方需要**:已安装并登录过一次 DSH 桌面端(脚本依赖它的 profile 与 Node 运行时)。不需要自己装 Node。
33
+ **对方需要**:已安装并登录过一次 DSH 桌面端;不需要自己装 Node。
55
34
 
56
35
  **卸载**:在解压目录执行 `node install.mjs --uninstall`。
57
36
 
58
37
  ---
59
38
 
60
- ## 方式二:发布到 npm(朋友只填一个包名)
61
-
62
- 你这台机器**没有装 npm 命令**,但有 DSH 自带的 pnpm,够用。仓库里已备好 `publish.ps1`。
63
-
64
- ### 1. 准备 Token(只需一次)
65
-
66
- 1. 没有 npm 账号就先在 https://www.npmjs.com/signup 注册。
67
- 2. 打开 https://www.npmjs.com/settings/<你的账号>/tokens → **Generate New Token** → 选 **Automation**(这类 Token 发布时不会被要求输入 OTP)。
68
- 3. 复制 Token(`npm_` 开头,只显示一次)。
69
-
70
- ### 2. 写凭证(只需一次)
71
-
72
- 在插件目录新建 `.npmrc`(已加进 `.gitignore`,不会入库):
73
-
74
- ```
75
- //registry.npmjs.org/:_authToken=npm_你的Token
76
- ```
77
-
78
- ### 3. 发布
79
-
80
- 先把仓库地址补上(npm 页面会显示源码链接,严格校验也要求它):
81
-
82
- ```powershell
83
- node tools\set-repo.mjs <你的GitHub用户名> --author "你的名字"
84
- ```
39
+ ## 方式三:从 GitHub 装
85
40
 
86
- 然后:
41
+ 让对方在 DSH 插件页填仓库地址:
87
42
 
88
- ```powershell
89
- powershell -ExecutionPolicy Bypass -File .\publish.ps1
90
43
  ```
91
-
92
- 脚本依次做:**包内容校验 → 两套自测 → 预演 → 发布**,任一步失败就中止。
93
-
94
- 不想用脚本就手动跑(本机没有全局 `node`,要先把它加进 PATH,否则 `prepublishOnly` 会失败):
95
-
96
- ```powershell
97
- $env:PATH = "$env:USERPROFILE\.dsh\dsh-runtimes\dsh-primary-runtime\dependencies\node\bin;$env:PATH"
98
- node "$env:USERPROFILE\.dsh\dsh-runtimes\dsh-primary-runtime\dependencies\pnpm\bin\pnpm.mjs" publish --no-git-checks
44
+ https://github.com/southcul/dsh-gpt-image-playground
99
45
  ```
100
46
 
101
- - `--no-git-checks` 是因为这个目录可能还不是 git 仓库。
102
- - 账号开了双因素认证且用的是普通 Token:加 `-Otp 123456`(或 `--otp=123456`)。
103
- - 包名想加作用域(`@你/dsh-gpt-image-playground`):改 `package.json` 的 `name`,发布时加 `--access public`。
104
- - 先预演:`.\publish.ps1 -DryRun`(会跑测试与打包,只是不上传)。
105
- - 单独校验:`node tools/check-package.mjs`;发布后自查:`node tools/test-npm-tarball.mjs`。
106
-
107
- 包名 `dsh-gpt-image-playground` 目前 **未被占用**(查注册表返回 404),可以直接用。
108
-
109
- ### 4. 验证
110
-
111
- - 浏览器打开 `https://www.npmjs.com/package/dsh-gpt-image-playground`
112
- - 或看注册表:`https://registry.npmjs.org/dsh-gpt-image-playground`
113
-
114
- ### 5. 朋友安装
115
-
116
- DSH **插件页 → 安装**,填:
117
-
118
- ```
119
- dsh-gpt-image-playground
120
- ```
121
-
122
- 或命令行 `dsh plugin --profile desktop add dsh-gpt-image-playground`。
123
-
124
- ### 6. 以后发新版
125
-
126
- 1. 改 `package.json` 的 `version`(例如 `0.2.1`)
127
- 2. 上游有更新就先 `node tools/vendor-dist.mjs`
128
- 3. `python tools/pack.py` 重打 zip/tgz(可选,npm 路线不需要)
129
- 4. 再跑一次 `publish.ps1`
130
-
131
- 朋友那边要先**卸载再安装**(插件管理器对非官方包不做原地升级,会提示「其他插件请先卸载再安装新版」)。
132
-
133
- ### 可能踩的坑
134
-
135
- | 现象 | 原因 / 处理 |
136
- |---|---|
137
- | `EOTP` / 要求一次性密码 | 用 Automation Token,或加 `-Otp` |
138
- | `E403 无法发布` | 包名被占(改名)、Token 无 publish 权限、或账号邮箱未验证 |
139
- | 网络超时 | 你的网络对 npm 有时不稳;重试,或给 pnpm 配代理(`HTTPS_PROXY`) |
140
- | 发布成功但朋友装不到 | 注册表同步有延迟,等一会儿;或确认他填的是包名不是本地路径 |
47
+ 或先 `git clone` 下来,再填本地目录的绝对路径。
141
48
 
142
49
  ---
143
50
 
144
- ## 方式三:放到 GitHub,并进入 DSH 市场
145
-
146
- GitHub 负责**存放与分发**,但要让别人在 DSH 里**搜到**,还需要目录收录——而目录只收 npm 包。所以完整顺序是:**npm 发布 → 推 GitHub → 提交目录**。
147
-
148
- ### 1. 推到 GitHub
149
-
150
- 仓库里已经准备好 `.gitignore`、`LICENSE`、`THIRD-PARTY-NOTICES.md`、README 截图、Release 工作流。
151
-
152
- ```bash
153
- cd dsh-gpt-image-playground
154
- git init
155
- git add .
156
- git commit -m "feat: GPT Image Playground as a DSH plugin"
157
- git branch -M main
158
- git remote add origin https://github.com/southcul/dsh-gpt-image-playground.git
159
- git push -u origin main
160
- ```
161
-
162
- 提交前确认 `dist/`、`.npmrc`、`preview/.data/` 没被带进去(`.gitignore` 已排除)。
163
-
164
- ### 2. 打标签,自动出 Release
165
-
166
- ```bash
167
- git tag v0.2.1
168
- git push origin v0.2.1
169
- ```
170
-
171
- `.github/workflows/release.yml` 会:跑 `tools/pack.py` 打 zip/tgz → 建 Release 并附上两个包。若在仓库 Secrets 里配了 `NPM_TOKEN`,还会顺便 `npm publish`(带 provenance)。
172
-
173
- ### 3. 让朋友从 GitHub 装
174
-
175
- - 下载 Release 里的 zip,解压后在 DSH 插件页填目录路径
176
- - 或 `dsh plugin --profile desktop add https://github.com/southcul/dsh-gpt-image-playground`
177
-
178
- ### 4. 进 DSH 插件市场(关键一步)
179
-
180
- 市场的索引是 npm 包 `dsh-plugin-catalog`,由 [awesome-dsh-plugin](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin) 自动构建;索引里每个版本都标着 `"source": { "type": "npm" }`——**没有 npm 包就不会被收录**。
181
-
182
- 1. 先完成方式二(`publish.ps1`),确认 `https://registry.npmjs.org/dsh-gpt-image-playground` 能打开。
183
- 2. 按 [docs/awesome-submission.md](docs/awesome-submission.md) 里给出的条目格式,提交到 awesome-dsh-plugin:
184
- - 站点 https://awesome-dsh-plugin.com/ 右上角 **Submit**
185
- - 或仓库 issue / PR,贴上条目 JSON + npm 包名 + 仓库地址 + 两张截图
186
- 3. 收录后,DSH → 插件 → 发现 → 搜「Playground」即可一键安装,并能看到更新。
187
-
188
- ### 5. 以后发新版
51
+ ## 朋友第一次用会遇到的两件事
189
52
 
190
- ```bash
191
- # 改 package.json 的 version
192
- python tools/pack.py
193
- .\publish.ps1
194
- git add -A && git commit -m "chore: release v0.2.1"
195
- git tag v0.2.1 && git push origin v0.2.1
196
- ```
53
+ 1. **要配 API**:工作台里点右上角齿轮,填 API URL 与 Key。数据只存在他那台机器的浏览器存储里。
54
+ 2. **可能跨域**:如果提示「接口不支持浏览器跨域请求」,点工作台**左下角 ⚙**(iframe 外的小按钮),填真实 API 地址,再把面板里显示的代理地址复制到应用的「API URL」。
197
55
 
198
56
  ---
199
57
 
200
- ## 分享前检查清单
58
+ ## 安装小贴士
201
59
 
202
- - [ ] `package.json` 的 `version` 和 `description` 是你想要的
203
- - [ ] `dsh.upstream.version` 与实际 vendor 的上游版本一致(当前 **0.8.3**)
204
- - [ ] `THIRD-PARTY-NOTICES.md` 在包里(MIT 要求保留上游版权声明)
205
- - [ ] 没有把自己的 `settings.json`(代理目标)、API Key、历史图片打进去
206
- - [ ] 确认 zip 里的 `INSTALL-FIRST.txt` 说明和你的安装方式一致
207
-
208
- ## 朋友第一次用会遇到的两件事
209
-
210
- 1. **要配 API**:工作台里点右上角齿轮,填 API URL 与 Key。数据只存在他那台机器的浏览器存储里。
211
- 2. **可能跨域**:如果提示「接口不支持浏览器跨域请求」,点工作台**左下角 ⚙**(iframe 外的小按钮),填真实 API 地址,再把面板里显示的代理地址复制到应用的「API URL」。
60
+ - 填本地目录时必须是**绝对路径**,且目录里有 `package.json`(zip 解压后的顶层目录正好)。
61
+ - 这种装法会记成 `file:` 依赖,那个目录**别删也别移动**;要挪就重装一次。
62
+ - 插件提供方更新后,非官方包需要先**卸载再安装**(插件管理器会提示)。
212
63
 
213
- ## 版本与兼容
64
+ ## 许可
214
65
 
215
- - 插件面向 DSH 桌面端(0.2.x 运行时)开发,用到 `main` / `shell.overlay` 槽位与 `webServer` 路由。
216
- - 上游构建固定为 v0.8.3;上游更新需要重新 vendor(见 README「更新上游」)。
217
- - 你自己继续开发时用链接模式(`node install.mjs`),分发时用复制模式(zip 里的 `install.ps1`)。
66
+ MIT;界面来自上游 GPT Image Playground(作者 CookSleep,同为 MIT),详见包内 `THIRD-PARTY-NOTICES.md`。
@@ -10,14 +10,17 @@ publishing or shipping it.
10
10
  - Source: https://github.com/CookSleep/gpt_image_playground
11
11
  - Build redistributed: `vendor-app/` — the official production build published
12
12
  at https://cooksleep.github.io/gpt_image_playground/ (application version
13
- **v0.8.3**, as shown in its own about panel)
13
+ **v0.8.4**, per the build's own service-worker cache tag)
14
14
  - License: MIT
15
15
 
16
16
  Changes made to the redistributed build:
17
17
 
18
18
  1. `vendor-app/announcements.json` is replaced with `[]`, which turns off the
19
19
  upstream announcement cards. No code was modified for this.
20
- 2. Three header controls ("安装为应用", "下载客户端", "操作指南") are hidden at
20
+ 2. Two oversized UI fonts (`HarmonyOS_Sans_SC_Regular`, `HarmonyOS_Sans_SC_Medium`,
21
+ ~15.7 MB total) are removed to keep the package small. The app makes no font
22
+ requests in its default configuration and falls back to the system font.
23
+ 3. Three header controls ("安装为应用", "下载客户端", "操作指南") are hidden at
21
24
  runtime by CSS injected into the frame by `lib/client.js`. The shipped
22
25
  JavaScript is untouched.
23
26
 
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-gpt-image-playground",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "GPT Image Playground as a DeepSeek Harness plugin: the upstream image generation and editing workbench, vendored, served same-origin, with an optional API proxy.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "upstream": {
33
33
  "name": "gpt-image-playground",
34
- "version": "0.8.3",
34
+ "version": "0.8.4",
35
35
  "repository": "https://github.com/CookSleep/gpt_image_playground",
36
36
  "build": "vendor-app"
37
37
  }
@@ -1 +1 @@
1
- []
1
+ []