Adapt settings client for DSH 0.2.0 configForms without breaking boot.

Soft-inject configForms/settingsScope and mark Config fields volatile so desktop 0.2.0 no longer waits forever on the removed settingsScope service.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-10-09 15:31:33 +08:00
parent a41a2b53c9
commit fcc8f75560
6 changed files with 117 additions and 44 deletions

View file

@ -36,7 +36,7 @@ Loader id:`dsh-cron-tasks`
`package.json` 必须同时有 `dsh.bundle.patch` 和 `dsh.client`(`platform: web`,`immediately: true`)。Host **不要** import `@deepseek-ai/*`,也不要把它写进 `dependencies`。工具用纯 `ToolDefinition`,不要 `defineTool`。
Client `inject` 只写 `slots` / `locale` / `settingsScope`。静态 `inject: ['sessions']` 会在 boot 死锁;`sessions` / `workspaces` 用 `ctx.inject` 可选 + `internal/service`。
Client 硬 `inject` 只写 `slots` / `locale`。不要硬注入 `settingsScope`:DSH ≥0.1.7 / 0.2.0 已删掉该服务(换成 `configForms`),硬等会让 web boot 卡在 pending。设置卡用软注入:`configForms` 优先,否则 `settingsScope`。静态 `inject: ['sessions']` 会在 boot 死锁;`sessions` / `workspaces` 用 `ctx.inject` 可选 + `internal/service`。
---