dsh-auto-open-web 0.1.4 → 0.1.5
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.en.md +24 -26
- package/README.md +19 -20
- package/host-publish/DshAppWindow.deps.json +2 -2
- package/host-publish/DshAppWindow.dll +0 -0
- package/host-publish/DshAppWindow.exe +0 -0
- package/host-publish/DshAppWindow.pdb +0 -0
- package/lib/client.js +530 -264
- package/lib/index.js +34 -99
- package/package.json +9 -6
package/README.en.md
CHANGED
|
@@ -59,8 +59,10 @@ Two equivalent ways:
|
|
|
59
59
|
`browserPath` (browser executable, with a native "Browse" file dialog; located below the
|
|
60
60
|
window-type field and enabled only when "Browser app window" is selected),
|
|
61
61
|
`exitOnWindowClose` (exit DSH when the window closes, off by default).
|
|
62
|
-
After saving, values persist
|
|
63
|
-
settings
|
|
62
|
+
After saving, values persist through the **official settings domain** (client `settingsScope`)
|
|
63
|
+
to the settings document (namespace `auto-open-web`); once saved,
|
|
64
|
+
settings take precedence over row configuration. The host keeps only the "Browse" / "Test"
|
|
65
|
+
helper routes (capabilities the official channel cannot cover).
|
|
64
66
|
2. **Row configuration** (`cordis.patch.yml`): acts as the startup seed, effective until the
|
|
65
67
|
settings card is saved.
|
|
66
68
|
|
|
@@ -86,14 +88,14 @@ whole config; fields not listed fall back to defaults):
|
|
|
86
88
|
|
|
87
89
|
This package is a **bundle**: an npm package carrying a configuration layer — `dsh.bundle` in
|
|
88
90
|
`package.json` declares the patch file (`cordis.patch.yml`), and a profile activates the plugin row
|
|
89
|
-
by package name when installed. Published to the **npm registry** (`dsh-auto-open-web@0.1.
|
|
91
|
+
by package name when installed. Published to the **npm registry** (`dsh-auto-open-web@0.1.5`) and
|
|
90
92
|
**GitHub** (https://github.com/jinsiyu/dsh-auto-open-web, `main` branch).
|
|
91
93
|
|
|
92
94
|
### Packaging
|
|
93
95
|
|
|
94
96
|
```bash
|
|
95
97
|
cd dsh-auto-open-web
|
|
96
|
-
pnpm pack # the prepack hook compiles the WebView2 host first (dotnet publish), producing dsh-auto-open-web-0.1.
|
|
98
|
+
pnpm pack # the prepack hook compiles the WebView2 host first (dotnet publish), producing dsh-auto-open-web-0.1.5.tgz
|
|
97
99
|
```
|
|
98
100
|
|
|
99
101
|
### Installation (pick one)
|
|
@@ -108,7 +110,7 @@ dsh plugin --profile web add C:\path\to\dsh-auto-open-web
|
|
|
108
110
|
**Option 2: tarball (published artifact, recommended for delivery; no build permission needed)**
|
|
109
111
|
|
|
110
112
|
```bash
|
|
111
|
-
dsh plugin --profile web add ./dsh-auto-open-web-0.1.
|
|
113
|
+
dsh plugin --profile web add ./dsh-auto-open-web-0.1.5.tgz
|
|
112
114
|
```
|
|
113
115
|
|
|
114
116
|
**Option 3: npm registry (after publishing)**
|
|
@@ -145,34 +147,30 @@ without touching the package.
|
|
|
145
147
|
|
|
146
148
|
### Notes
|
|
147
149
|
|
|
148
|
-
- **
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
150
|
+
- **Zero dependencies**: every runtime dependency is provided by the **DSH deployment** and
|
|
151
|
+
declared as an optional peer (no install warnings):
|
|
152
|
+
- `@deepseek-ai/dsh` (the host; declares the compatibility range `>=0.1.0-rc.7 <0.2.0` —
|
|
153
|
+
`settings.plugin.item` became a keyed slot in that release, registration requires
|
|
154
|
+
`options.key`; no runtime version check is performed)
|
|
155
|
+
- `@deepseek-ai/schemastery` (config schema validator; resolved at runtime: normal import
|
|
156
|
+
first, then the DSH deployment copy under the Windows global npm layout)
|
|
157
|
+
- `koffi` (Windows only: Job Object / process verification / native file dialog; same runtime
|
|
158
|
+
deployment-copy resolution, failure only degrades)
|
|
159
|
+
So no platform ever hits build-script blocking — HarmonyOS and other environments without
|
|
160
|
+
koffi prebuilds install out of the box; posix platforms use the posix fallback adapter (browser
|
|
161
|
+
mode works; webview2 / native dialog unavailable), and the platform adapter is loaded
|
|
162
|
+
conditionally so win32.js is never evaluated on posix.
|
|
163
|
+
- This package does not depend on `@deepseek-ai/cordis` (zero code references; the plugin identity
|
|
164
|
+
comes from the `dsh.bundle` / `dsh.client` fields, and Cordis is provided by the DSH deployment
|
|
165
|
+
at runtime), so installation produces no peer warnings.
|
|
153
166
|
- **The npm package already contains the compiled WebView2 host** (built by the prepack hook before
|
|
154
167
|
publishing); the **GitHub `main` branch and source-checkout installs do not** include
|
|
155
168
|
`host-publish/` (build artifacts are .gitignore'd): for webview2 mode, run
|
|
156
169
|
`pnpm run build:host` inside `node_modules/dsh-auto-open-web` first (requires the .NET SDK);
|
|
157
170
|
browser mode needs no build.
|
|
158
|
-
- This package does not depend on `@deepseek-ai/cordis` (zero code references; the plugin identity
|
|
159
|
-
comes from the `dsh.bundle` / `dsh.client` fields, and Cordis is provided by the DSH deployment
|
|
160
|
-
at runtime), so installation produces no peer warnings.
|
|
161
|
-
- **Zero koffi dependency declared**: koffi (driving Windows Job Object / process verification /
|
|
162
|
-
native file dialog) ships with the **DSH deployment itself** (the official native picker
|
|
163
|
-
`@deepseek-ai/dsh-host-directory-picker-native` depends on koffi, so the deployment always has
|
|
164
|
-
it). The plugin resolves it at runtime: normal resolution (profile-installed or manual
|
|
165
|
-
`pnpm add koffi`) first, then the DSH deployment copy under the Windows global npm layout; if
|
|
166
|
-
resolution fails, capabilities only degrade (Job Object unavailable → exit / pre-launch cleanup
|
|
167
|
-
still apply; process verification skipped; native dialog unavailable) with a log entry.
|
|
168
|
-
**Therefore no platform ever hits koffi build-script blocking** — HarmonyOS and other
|
|
169
|
-
environments without koffi prebuilds install out of the box, with no `pnpm-workspace.yaml` or
|
|
170
|
-
other configuration needed; posix platforms use the posix fallback adapter (browser mode works;
|
|
171
|
-
webview2 / native dialog unavailable), and the platform adapter is loaded conditionally so
|
|
172
|
-
win32.js is never evaluated on posix.
|
|
173
171
|
- If installing by editing `package.json` manually (not via the `dsh plugin` command), you must add
|
|
174
172
|
both the `dependencies` entry and `dsh.profile.bundles`; when using a local `file:` dependency,
|
|
175
|
-
`dsh web` normalizes `file:` to `^0.1.
|
|
173
|
+
`dsh web` normalizes `file:` to `^0.1.5` at startup, which does not affect runtime.
|
|
176
174
|
|
|
177
175
|
## Icons
|
|
178
176
|
|
package/README.md
CHANGED
|
@@ -54,8 +54,9 @@ Job Object(强杀也生效)+ 退出清理结束进程树。
|
|
|
54
54
|
`browserPath`(浏览器可执行文件,支持「浏览」原生对话框选择;位于窗口类型
|
|
55
55
|
下方,仅选择「浏览器应用窗口」时使能)、
|
|
56
56
|
`exitOnWindowClose`(窗口关闭时退出 DSH,默认关闭)。
|
|
57
|
-
|
|
58
|
-
settings 文档(命名空间 `auto-open-web
|
|
57
|
+
保存后经**官方 settings 域**(客户端 settingsScope)持久化到
|
|
58
|
+
settings 文档(命名空间 `auto-open-web`),首次保存后设置值优先于行配置;
|
|
59
|
+
宿主仅保留「浏览」「测试」辅助路由(官方通道无法覆盖的能力)。
|
|
59
60
|
2. **行配置**(cordis.patch.yml):作为启动种子,设置卡片保存前生效。
|
|
60
61
|
|
|
61
62
|
| 字段 | 默认 | 说明 |
|
|
@@ -79,14 +80,14 @@ Job Object(强杀也生效)+ 退出清理结束进程树。
|
|
|
79
80
|
|
|
80
81
|
本包是**组合包(bundle)**:一个附带配置层的 npm 包——`package.json` 的
|
|
81
82
|
`dsh.bundle` 声明配置层文件(`cordis.patch.yml`),profile 安装它时按包名激活
|
|
82
|
-
插件行。已发布到 **npm registry**(`dsh-auto-open-web@0.1.
|
|
83
|
+
插件行。已发布到 **npm registry**(`dsh-auto-open-web@0.1.5`)与 **GitHub**
|
|
83
84
|
(https://github.com/jinsiyu/dsh-auto-open-web,main 分支)。
|
|
84
85
|
|
|
85
86
|
### 打包
|
|
86
87
|
|
|
87
88
|
```bash
|
|
88
89
|
cd dsh-auto-open-web
|
|
89
|
-
pnpm pack # prepack 钩子自动先编译 WebView2 宿主(dotnet publish),产出 dsh-auto-open-web-0.1.
|
|
90
|
+
pnpm pack # prepack 钩子自动先编译 WebView2 宿主(dotnet publish),产出 dsh-auto-open-web-0.1.5.tgz
|
|
90
91
|
```
|
|
91
92
|
|
|
92
93
|
### 安装方式(任选其一)
|
|
@@ -101,7 +102,7 @@ dsh plugin --profile web add C:\path\to\dsh-auto-open-web
|
|
|
101
102
|
**方式二:tarball(发布产物,推荐交付;无需构建授权)**
|
|
102
103
|
|
|
103
104
|
```bash
|
|
104
|
-
dsh plugin --profile web add ./dsh-auto-open-web-0.1.
|
|
105
|
+
dsh plugin --profile web add ./dsh-auto-open-web-0.1.5.tgz
|
|
105
106
|
```
|
|
106
107
|
|
|
107
108
|
**方式三:npm 注册表(发布后)**
|
|
@@ -137,27 +138,25 @@ dsh plugin --profile web remove dsh-auto-open-web # 同时移除依赖与对
|
|
|
137
138
|
|
|
138
139
|
### 注意事项
|
|
139
140
|
|
|
140
|
-
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
141
|
+
- **本包零 dependencies**:所有运行时依赖均由 **DSH 部署提供**,以 optional
|
|
142
|
+
peer 声明(安装无警告):
|
|
143
|
+
- `@deepseek-ai/dsh`(宿主,声明兼容范围 `>=0.1.0-rc.7 <0.2.0`,
|
|
144
|
+
`settings.plugin.item` 自该版本起为 keyed 插槽,注册需 `options.key`;
|
|
145
|
+
不做运行时版本检测)
|
|
146
|
+
- `@deepseek-ai/schemastery`(配置 schema 校验器;运行时解析:常规 import
|
|
147
|
+
优先,其次 Windows 全局 npm 布局下的 DSH 部署副本)
|
|
148
|
+
- `koffi`(仅 Windows 的 Job Object / 进程校验 / 原生对话框;同样运行时
|
|
149
|
+
解析部署副本,失败仅降级)
|
|
150
|
+
因此任何平台安装都无构建拦截——鸿蒙等无 koffi 预编译的环境开箱即装;
|
|
151
|
+
posix 平台走 posix 降级适配器(browser 模式可用;webview2 / 原生对话框
|
|
152
|
+
不可用),且平台适配器按平台条件加载,posix 上完全不求值 win32.js。
|
|
144
153
|
- **npm 包已含 WebView2 宿主编译产物**(prepack 编译后发布);**GitHub
|
|
145
154
|
main 分支与源码 checkout 方式不含** `host-publish/`(构建产物被
|
|
146
155
|
.gitignore 忽略):webview2 模式需先在 `node_modules/dsh-auto-open-web`
|
|
147
156
|
下执行 `pnpm run build:host` 生成(需 .NET SDK);browser 模式无需构建。
|
|
148
|
-
- **本包零 koffi 依赖声明**:koffi(驱动 Windows 的 Job Object / 进程校验 /
|
|
149
|
-
原生对话框)由 **DSH 部署自带**(官方原生选择器
|
|
150
|
-
`@deepseek-ai/dsh-host-directory-picker-native` 依赖 koffi,部署必带),
|
|
151
|
-
插件运行时解析:常规解析(profile 已装/手动 `pnpm add koffi`)优先,
|
|
152
|
-
其次 Windows 全局 npm 布局下的 DSH 部署副本;解析失败仅降级(Job
|
|
153
|
-
Object 不可用 → 退出/预清理兜底;进程校验跳过;对话框不可用)并记录
|
|
154
|
-
日志。**因此任何平台安装都无 koffi 构建拦截**——鸿蒙等无 koffi
|
|
155
|
-
预编译的环境开箱即装,无需 `pnpm-workspace.yaml` 等额外配置;posix
|
|
156
|
-
平台走 posix 降级适配器(browser 模式可用;webview2 / 原生对话框
|
|
157
|
-
不可用),且平台适配器按平台条件加载,posix 上完全不求值 win32.js。
|
|
158
157
|
- 若手动编辑 `package.json` 安装(不经 dsh plugin 命令),需同时追加
|
|
159
158
|
`dependencies` 与 `dsh.profile.bundles` 两项;使用本地 `file:` 依赖时
|
|
160
|
-
`dsh web` 启动会把 `file:` 规范化成 `^0.1.
|
|
159
|
+
`dsh web` 启动会把 `file:` 规范化成 `^0.1.5`,运行时不受影响。
|
|
161
160
|
|
|
162
161
|
## 图标
|
|
163
162
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"compilationOptions": {},
|
|
7
7
|
"targets": {
|
|
8
8
|
".NETCoreApp,Version=v10.0": {
|
|
9
|
-
"DshAppWindow/0.1.
|
|
9
|
+
"DshAppWindow/0.1.5": {
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"Microsoft.Web.WebView2": "1.0.3124.44",
|
|
12
12
|
"Microsoft.Web.WebView2.Core": "1.0.3124.44",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
"libraries": {
|
|
66
|
-
"DshAppWindow/0.1.
|
|
66
|
+
"DshAppWindow/0.1.5": {
|
|
67
67
|
"type": "project",
|
|
68
68
|
"serviceable": false,
|
|
69
69
|
"sha512": ""
|
|
Binary file
|
|
Binary file
|
|
Binary file
|