@gehennawu/dsh-service 1.3.0 → 1.4.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/README.en.md +5 -5
- package/README.md +6 -6
- package/client.js +1 -1
- package/index.js +45 -7
- package/package.json +1 -1
- package/plugin-compat.js +3 -0
- package/plugin-health.js +49 -12
package/README.en.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<em>DeepSeek Harness (DSH) Web 服务控制与运维插件。</em>
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
|
-
[](package.json)
|
|
13
13
|
[](LICENSE)
|
|
14
14
|
[](https://github.com/deepseek-ai/deepseek-harness)
|
|
15
15
|
[](https://cordis.moe/)
|
|
@@ -58,7 +58,7 @@ Under **Plugins → Plugin configuration**, ten host-level switches: **Health di
|
|
|
58
58
|
### Overview (six sections)
|
|
59
59
|
|
|
60
60
|
- Status summary (error → warning → info → normal aggregation with a status dot) → actionable items (only when present) → version and runtime → metrics grid → fixed core actions (health check / quota lookup / create backup, gated by feature switches) → recent errors (rendered only when non-empty, collapsed by default)
|
|
61
|
-
- Aggregation rules: any health/diagnostics/backup/statistics/quota/restart failure is error; permission issues
|
|
61
|
+
- Aggregation rules: any health/diagnostics/backup/statistics/quota/restart failure is error; permission issues and non-advisory diagnostic warnings are warning; available updates, manual-start runtime, and no backups yet are info (high quota-window usage only shows as a progress bar on the quota page and no longer surfaces as an overview reminder)
|
|
62
62
|
|
|
63
63
|
### Maintenance and Configuration pages
|
|
64
64
|
|
|
@@ -91,7 +91,7 @@ Under **Plugins → Plugin configuration**, ten host-level switches: **Health di
|
|
|
91
91
|
|
|
92
92
|
- Uptime, memory, session count, active agents, and background jobs; a "Process and runtime" card shows platform, architecture, and Node version
|
|
93
93
|
- Full diagnostics: session storage, workspace registry, backup storage, tar availability, file permissions, runtime environment, and Node version — rendered as a two-line check list (name + status dot / detail) with abnormal rows locally emphasized
|
|
94
|
-
- **Plugin health checks**: checks for anomalies only (the official plugin page already provides the full inventory and toggles, so no duplicate list here) — a failed plugin or one waiting on dependencies marks the check as error/warning and
|
|
94
|
+
- **Plugin health checks**: checks for anomalies only (the official plugin page already provides the full inventory and toggles, so no duplicate list here) — a failed plugin or one waiting on dependencies marks the check as error/warning, while fresh pending/loading fibers receive a short startup grace period; disposed or unknown states are explicit informational rows and do not become warnings. Affected plugins are listed below the check list with clipped, redacted failure text and missing deps; failed plugins can be reloaded behind a two-step confirmation (only entries the host confirmed as failed); manually disabled plugins (built-in or custom) never count as an anomaly
|
|
95
95
|
- **Plugin compatibility**: every enabled plugin is scanned against the interfaces DSH alpha versions have removed or changed (client suppliers, the SQLite persistence backend, chat/status-line style hashes, deprecated attributes) — a hit flags the plugin as "possibly incompatible" with the concrete reason (e.g. "Declares the removed client supplier @deepseek-ai/dsh-client-runtime"). Tiered verdict: only a real `require`/`import` reference is flagged "possibly incompatible"; a supplier that appears only in the manifest (unused in code) falls back to a gray "stale declaration" note — the official loader silently skips missing suppliers, so it is harmless and merely signals the author to clean up. Before upgrading to alpha or right after doing so, you can see whether third-party plugins kept up; fully local scan with cached results, zero network
|
|
96
96
|
- File-permission deep scan and repair (two-step confirmation) behind a collapsed "Permissions & repair" section
|
|
97
97
|
- Suspected manual launch → yellow "no restart assurance" caution; no backups is informational only and never lights the ⚠
|
|
@@ -116,7 +116,7 @@ Under **Plugins → Plugin configuration**, ten host-level switches: **Health di
|
|
|
116
116
|
| Provider | Data source |
|
|
117
117
|
| --- | --- |
|
|
118
118
|
| DeepSeek Platform | Official balance + peak/off-peak ribbon and countdown |
|
|
119
|
-
| Zhipu GLM Coding Plan | Official endpoint: 5-hour rolling / weekly / monthly MCP windows |
|
|
119
|
+
| Zhipu GLM Coding Plan | Official endpoint: 5-hour rolling / weekly / monthly MCP windows + peak/off-peak ribbon and countdown (peak = Mon–Fri 14:00–18:00 UTC+8) |
|
|
120
120
|
| OpenCode Go | `{baseURL}/usage` |
|
|
121
121
|
| OpenRouter | Credits used % |
|
|
122
122
|
| Kimi / SiliconFlow | CNY balance |
|
|
@@ -301,7 +301,7 @@ pm2 start "dsh web --host 127.0.0.1" --name dsh-web
|
|
|
301
301
|
|
|
302
302
|
Requirements: Node.js `>=22`, and a DSH Web installation capable of loading both Host and Client plugin halves. Update checks require access to `registry.npmjs.org`; network failures do not affect other features.
|
|
303
303
|
|
|
304
|
-
**DSH compatibility statement**: adapted to DSH `0.1.2-alpha.2` conversation UI changes (chat view split into its own package, draggable conversation pane width, turn navigation rail)
|
|
304
|
+
**DSH compatibility statement**: adapted to DSH `0.1.2-alpha.2` conversation UI changes (chat view split into its own package, draggable conversation pane width, turn navigation rail), and to the `0.1.2-alpha.4` session-reading API changes; the mobile immersive swipe and up-arrow reply jump work fully on alpha.2, while alpha.4 seeded/fork usage indexing and subagent turn-record paths are supported. Older DSH releases (`>=0.1.1-rc.2`) remain supported: the plugin installs and runs normally, and only a few alpha.2-specific mobile style tweaks are inert there (purely cosmetic, no functional loss).
|
|
305
305
|
|
|
306
306
|
## 🔒 Security design
|
|
307
307
|
|
package/README.md
CHANGED
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
<em>A service-control & operations plugin for DeepSeek Harness (DSH) Web.</em>
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
|
-
[](package.json)
|
|
13
13
|
[](LICENSE)
|
|
14
|
-
[](https://github.com/deepseek-ai/deepseek-harness)
|
|
15
15
|
[](https://cordis.moe/)
|
|
16
16
|
[](https://github.com/gehennawu/dsh-service)
|
|
17
17
|
[](https://github.com/gehennawu/dsh-service/issues)
|
|
@@ -58,7 +58,7 @@ DSH Web 服务控制与运维插件:安全重启、版本管理与一键升级
|
|
|
58
58
|
### 概览(六段式)
|
|
59
59
|
|
|
60
60
|
- 状态摘要(error → warning → info → normal 聚合,带状态点)→ 可行动项(仅在存在时)→ 版本与运行环境 → 指标格 → 固定核心操作(健康检查 / 额度查询 / 创建备份,随功能开关门控)→ 近期报错(仅非空时渲染,默认折叠)
|
|
61
|
-
- 状态聚合规则:健康/诊断/备份/统计/额度/重启任一失败即 error
|
|
61
|
+
- 状态聚合规则:健康/诊断/备份/统计/额度/重启任一失败即 error;权限异常、非咨询性诊断警告为 warning;可更新、手动启动环境、尚无备份为 info(额度窗口高占用只在额度查询页内以进度条呈现,不再进概览提醒)
|
|
62
62
|
|
|
63
63
|
### 维护与配置聚合页
|
|
64
64
|
|
|
@@ -91,7 +91,7 @@ DSH Web 服务控制与运维插件:安全重启、版本管理与一键升级
|
|
|
91
91
|
|
|
92
92
|
- 运行时间、内存、会话数、活跃 Agent 与后台任务;「进程与运行环境」卡显示平台、架构与 Node 版本
|
|
93
93
|
- 完整诊断:会话存储、工作区注册表、备份目录、tar 可用性、文件权限、运行环境与 Node 版本——**两行检查清单**(检查名+状态点 / 详情),异常行局部淡染强调、正常行低对比
|
|
94
|
-
-
|
|
94
|
+
- **插件健康检查**:只检查异常(官方插件页已有完整清单与开关,这里不做重复清单)——插件失败或依赖未就绪时检查项报错/警告,刚启动的 pending/loading 有短暂宽限;已释放或未知状态显式标为信息级,不误报为警告。检查清单下方列出异常插件(名称、已脱敏且限长的错误、缺失依赖);失败插件可**两段式确认后重新加载**(只作用于宿主已确认失败的条目);手动停用的插件(无论内置还是自定义)一律不算异常
|
|
95
95
|
- **插件兼容性**:对照 DSH alpha 版本已移除/变更的接口(客户端供应商、SQLite 持久化后端、聊天/统计条样式哈希、弃用属性)扫描每个启用插件——命中即提示「可能不兼容」并给出具体原因(如「声明了已移除的客户端供应商 @deepseek-ai/dsh-client-runtime」)。分级判定:**代码真实 require/import 才报「可能不兼容」**;仅在 manifest 声明、代码未引用的供应商降为灰色「仅声明残留」(官方加载器对缺失供应商静默跳过,实际无害,提示作者清理即可)。升级 alpha 前或刚升级后看一眼就知道第三方插件有没有跟上;纯本地扫描、结果缓存、零网络
|
|
96
96
|
- 文件权限深检与修复(两段式确认)收敛在**默认折叠**的「权限与修复」区(有异常时按钮显示计数)
|
|
97
97
|
- 疑似手动启动 → 黄色警示「重启无保障」;无备份属信息级提示,不点亮 ⚠
|
|
@@ -118,7 +118,7 @@ DSH Web 服务控制与运维插件:安全重启、版本管理与一键升级
|
|
|
118
118
|
| 供应商 | 数据来源 |
|
|
119
119
|
| --- | --- |
|
|
120
120
|
| DeepSeek 开放平台 | 官方余额 + 峰谷时段提示(忙/闲色带、换挡倒计时) |
|
|
121
|
-
| 智谱 GLM Coding Plan | 官方端点:5 小时滚动 / 每周 / MCP 月度三窗口 |
|
|
121
|
+
| 智谱 GLM Coding Plan | 官方端点:5 小时滚动 / 每周 / MCP 月度三窗口 + 峰谷时段提示(忙/闲色带、换挡倒计时;高峰=周一至周五 14:00–18:00 UTC+8) |
|
|
122
122
|
| OpenCode Go | `{baseURL}/usage` |
|
|
123
123
|
| OpenRouter | credits 已用百分比 |
|
|
124
124
|
| Kimi / 硅基流动 | 人民币余额 |
|
|
@@ -303,7 +303,7 @@ pm2 start "dsh web --host 127.0.0.1" --name dsh-web
|
|
|
303
303
|
|
|
304
304
|
运行要求:Node.js `>=22`,DSH Web 能加载 Host 与 Client 两半插件。更新检查需访问 `registry.npmjs.org`;网络失败不影响其他功能。
|
|
305
305
|
|
|
306
|
-
**DSH 适配口径**:已针对 DSH `0.1.2-alpha.2`
|
|
306
|
+
**DSH 适配口径**:已针对 DSH `0.1.2-alpha.2` 的会话界面调整(聊天视图拆包、对话主框手动调宽、回合导航条)完成适配,并兼容 `0.1.2-alpha.4` 的会话读取 API 变化;移动端滑动沉浸、上箭头跳转在 alpha.2 上全部生效,alpha.4 的 seeded/fork 用量与子代理回合记录路径已适配。旧版 DSH(`>=0.1.1-rc.2`)保持兼容,可正常安装运行,个别针对 alpha.2 结构的移动端样式微调在旧版上不生效(纯展示,无功能损失)。
|
|
307
307
|
|
|
308
308
|
## 🔒 安全设计
|
|
309
309
|
|