@gatherthread/dsh-host 0.1.0-alpha.5 → 0.1.0-alpha.6
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 +20 -5
- package/bundle/manifest.json +1 -1
- package/client/client.js +7 -0
- package/cordis.patch.yml +18 -0
- package/dist/bundle/native-plugin.js +606 -71
- package/dist/bundle/plugin.js +445 -68
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ The package does not install a DSH runtime dependency.
|
|
|
19
19
|
After `@gatherthread/dsh-host` is published, the ordinary three-step path is:
|
|
20
20
|
|
|
21
21
|
```text
|
|
22
|
-
npx @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add @gatherthread/dsh-host@0.1.0-alpha.
|
|
22
|
+
npx @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add @gatherthread/dsh-host@0.1.0-alpha.6
|
|
23
23
|
npx @deepseek-ai/dsh@0.1.2-rc.1 web
|
|
24
24
|
# In DSH: Settings -> GatherThread / 共序 -> Sign in and pair
|
|
25
25
|
```
|
|
@@ -98,13 +98,20 @@ bounded exponential delay.
|
|
|
98
98
|
|
|
99
99
|
Every eligible Session has its own DSH Session id, HTTP abort scope, connector
|
|
100
100
|
state file, runtime identity, heartbeat, canonical cursor and durable outbox.
|
|
101
|
-
The project gate bounds the whole claim-to-settlement operation.
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
The project gate bounds the whole claim-to-settlement operation. Claims are
|
|
102
|
+
leased and renewed by accepted progress, so a Session that stops producing work
|
|
103
|
+
releases its request for the exact recorded runtime to reclaim; the gate still bounds this
|
|
104
|
+
connector's own concurrency while it holds one. Removing or downgrading a Session
|
|
105
|
+
cancels its queued permit before it can claim a request. Existing single-Session configuration remains
|
|
105
106
|
valid when `bindingMode` is omitted; both modes resolve the real current actor
|
|
106
107
|
before applying Solo permissions.
|
|
107
108
|
|
|
109
|
+
During an active prompt, newly durable DSH Host events queue a rate-limited,
|
|
110
|
+
generic progress marker; event bursts coalesce. The marker carries no event text,
|
|
111
|
+
reasoning, headers, or private stream data, but renews the exact claim attempt. Progress, completion,
|
|
112
|
+
and request-linked tool outbox entries are rebound to the renewed attempt after a
|
|
113
|
+
crash recovery, while stale attempts remain fenced by the server.
|
|
114
|
+
|
|
108
115
|
The installed native plugin stores one account-level model route and reconciles
|
|
109
116
|
every active Project visible to the paired GatherThread identity. Adding a
|
|
110
117
|
Project starts its isolated manager without another pairing step. Archiving a
|
|
@@ -112,6 +119,14 @@ Project or revoking access stops only that Project manager; its local workspace
|
|
|
112
119
|
and DSH Session history are retained. A failure in one Project does not stop
|
|
113
120
|
healthy peers, and discovery retries periodically.
|
|
114
121
|
|
|
122
|
+
For a `deepseek-official` route, the plugin also advertises the exact models and
|
|
123
|
+
reasoning efforts returned by DSH's public LLM catalog. The GatherThread work
|
|
124
|
+
page may select one advertised combination for an individual Agent request.
|
|
125
|
+
That selection is installed only on the borrowed Agent while the request runs
|
|
126
|
+
and is removed in `finally`; it does not rewrite DSH Web's saved model choice.
|
|
127
|
+
Unsupported combinations fail closed. Older plugins and non-DeepSeek routes
|
|
128
|
+
retain the account route's fixed provider and model.
|
|
129
|
+
|
|
115
130
|
An existing schema-v1 single-Project pairing keeps its device credential when
|
|
116
131
|
the plugin is upgraded, but deliberately drops the old model binding. The user
|
|
117
132
|
must choose the DSH model and explicitly select **Connect all accessible
|
package/bundle/manifest.json
CHANGED
package/client/client.js
CHANGED
|
@@ -302,6 +302,13 @@ function renderNativeControls(input) {
|
|
|
302
302
|
const models = selectedProvider?.models ?? [];
|
|
303
303
|
controls.push(
|
|
304
304
|
connectionSummary(state),
|
|
305
|
+
// Reaching this branch means authorization is already "paired": the
|
|
306
|
+
// "unpaired" and "pairing" states are handled by earlier branches. The
|
|
307
|
+
// browser approval succeeded, but without a provider and model no runtime
|
|
308
|
+
// is registered, so a bare stopped connection is indistinguishable from a
|
|
309
|
+
// fresh install. State the remaining step explicitly.
|
|
310
|
+
React.createElement("p", { key: "select-model-notice", style: styles.notice },
|
|
311
|
+
"配对完成后,尚未选择 DSH Provider 与 Model。完成选择并点击下方按钮后,本机 DSH 运行时才会注册到 GatherThread;在此之前,GatherThread 网页无法发现这台 DSH。"),
|
|
305
312
|
input.catalog === undefined
|
|
306
313
|
? React.createElement("button", {
|
|
307
314
|
key: "load-catalog",
|
package/cordis.patch.yml
CHANGED
|
@@ -12,3 +12,21 @@
|
|
|
12
12
|
inject: [agents, sessions, sessionPersistence, sessionQuery, sessionTitle, workspaceRegistry, llm, credentials, connection]
|
|
13
13
|
config:
|
|
14
14
|
enabled: true
|
|
15
|
+
|
|
16
|
+
# DSH 0.1.5-rc.x dropped `webServer` from the Connection plugin's own inject list
|
|
17
|
+
# (`["webServer", "credentials"]` became `["credentials"]`), moving it into a
|
|
18
|
+
# nested scope that covers only DSH's new index-injection feature. Connection
|
|
19
|
+
# still reads `owner.webServer` from its *providing* context -- cordis starts
|
|
20
|
+
# every service lookup at the shadow origin, `(ctx[symbols.shadow] ?? ctx).fiber`
|
|
21
|
+
# -- so `connection.rpc.handle()` raises "cannot get property \"webServer\"
|
|
22
|
+
# without inject" for every caller, and the whole plugin tree fails to load.
|
|
23
|
+
# 0.1.2-rc.1 kept the dependency at the top level, so restoring it here is what
|
|
24
|
+
# makes the Host plugin load on both versions.
|
|
25
|
+
#
|
|
26
|
+
# A row patch replaces `inject` wholesale rather than merging, so each entry the
|
|
27
|
+
# 0.1.5 row already declares is repeated: `webRuntime` still feeds this row's
|
|
28
|
+
# `trustedHosts: !!js ctx.webRuntime.trustedHosts` expression, and `credentials`
|
|
29
|
+
# is repeated so the row stays self-sufficient no matter how the Loader folds a
|
|
30
|
+
# row's list together with the module's own `inject` export.
|
|
31
|
+
- id: connection
|
|
32
|
+
inject: [webRuntime, credentials, webServer]
|