dsh-plugin-shop 0.1.4 → 0.3.0
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 +16 -6
- package/cordis.patch.yml +4 -4
- package/lib/client.js +288 -243
- package/lib/index.js +13 -13
- package/lib/typert.host.js +63 -63
- package/lib/typert.remote-client.d.ts +13 -13
- package/lib/typert.remote-client.js +41 -41
- package/lib/types/client/{StoreTab.d.ts → ShopTab.d.ts} +11 -11
- package/lib/types/client/index.d.ts +12 -12
- package/lib/types/client/locales.d.ts +5 -3
- package/lib/types/client/present.d.ts +19 -11
- package/lib/types/client/useInstall.d.ts +3 -3
- package/lib/types/host/executor.d.ts +1 -1
- package/lib/types/host/index.d.ts +22 -22
- package/lib/types/host/types.d.ts +1 -1
- package/lib/types/index.d.ts +2 -2
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# dsh-plugin-shop
|
|
4
4
|
|
|
5
|
-
**The plugin
|
|
5
|
+
**The plugin shop for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)** — browse a catalog of
|
|
6
6
|
dsh plugins, install one with a single confirmation, and manage what you have, from a tab inside Settings.
|
|
7
7
|
|
|
8
8
|
[](https://www.npmjs.com/package/dsh-plugin-shop)
|
|
@@ -19,7 +19,7 @@ English | [中文](https://github.com/LivXue/dsh-plugin-shop/blob/main/packages/
|
|
|
19
19
|
## 🖼️ Screenshots
|
|
20
20
|
|
|
21
21
|
<div align="center">
|
|
22
|
-
<img src="https://raw.githubusercontent.com/LivXue/dsh-plugin-shop/main/docs/images/shelf-light.png" alt="The plugin
|
|
22
|
+
<img src="https://raw.githubusercontent.com/LivXue/dsh-plugin-shop/main/docs/images/shelf-light.png" alt="The plugin shop shelf inside dsh Settings" width="860">
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
25
|
<table>
|
|
@@ -39,14 +39,23 @@ Two tracks below. They do the same thing; pick the one that matches who is readi
|
|
|
39
39
|
|
|
40
40
|
### 🧑 For people
|
|
41
41
|
|
|
42
|
+
**Prerequisites:** Node.js. Running the harness itself needs no install — the
|
|
43
|
+
upstream-documented form is `npx -y @deepseek-ai/dsh web`. Plugin management
|
|
44
|
+
goes through `dsh plugin`, which spawns both the `dsh` command and `pnpm` —
|
|
45
|
+
install them once with `npm install -g @deepseek-ai/dsh pnpm` and verify with
|
|
46
|
+
`dsh --version` and `pnpm --version`.
|
|
47
|
+
|
|
42
48
|
```sh
|
|
49
|
+
# dsh on PATH (global install):
|
|
43
50
|
dsh plugin --profile web add dsh-plugin-shop
|
|
51
|
+
# or straight through npx, nothing installed:
|
|
52
|
+
npx -y @deepseek-ai/dsh plugin --profile web add dsh-plugin-shop
|
|
44
53
|
```
|
|
45
54
|
|
|
46
55
|
Replace `web` with your profile if you use another one. Then restart `dsh` once — a
|
|
47
56
|
newly added bundle is not applied to a running process — and open
|
|
48
57
|
|
|
49
|
-
> **Settings → Plugins → Plugin
|
|
58
|
+
> **Settings → Plugins → Plugin shop**
|
|
50
59
|
|
|
51
60
|
You land on a shelf of plugin cards with a search box. The first load reads the catalog
|
|
52
61
|
over the network and can take a few seconds; a shimmering skeleton stands in until the
|
|
@@ -94,6 +103,7 @@ bundle is not.
|
|
|
94
103
|
| `error: required option '--profile <name>' not specified` | `--profile` was omitted | Pass it; there is no default |
|
|
95
104
|
| A version older than npm's `latest` gets installed | pnpm 11 holds back very recently published versions | Expected, not an error; the newest lands once its cooldown passes |
|
|
96
105
|
| `client bundles not found ... lib/client.js` | the copy on disk was built without its browser half | Install from npm rather than from a source checkout, or run `pnpm build` in that checkout |
|
|
106
|
+
| `dsh: pnpm not found on PATH — install pnpm to manage profile plugins` | `dsh plugin` forwards to pnpm, and pnpm is missing | `npm install -g pnpm` |
|
|
97
107
|
| `no profile directory found above <path>` | the plugin could not locate its profile | Please report it — this is resolved from `ctx.baseUrl` and should not fail |
|
|
98
108
|
| The tab is missing after a restart | the bundle is not in the profile's `bundles` | Re-run step 3; if it is absent, step 2 did not complete |
|
|
99
109
|
|
|
@@ -114,7 +124,7 @@ boundary:
|
|
|
114
124
|
| Half | Entry | Can reach | Cannot reach |
|
|
115
125
|
|---|---|---|---|
|
|
116
126
|
| **Host** | `dsh-plugin-shop` | The network (catalog fetch and sha256 verify), the filesystem (cache), `dsh plugin add` under a per-profile mutex | — |
|
|
117
|
-
| **Client** | `dsh-plugin-shop/client` | Exactly five `
|
|
127
|
+
| **Client** | `dsh-plugin-shop/client` | Exactly five `shop/*` Remote methods | The network, the filesystem |
|
|
118
128
|
|
|
119
129
|
Compromising the browser half buys an attacker those five calls and nothing more.
|
|
120
130
|
|
|
@@ -122,7 +132,7 @@ Compromising the browser half buys an attacker those five calls and nothing more
|
|
|
122
132
|
|
|
123
133
|
| Variable | Effect |
|
|
124
134
|
|---|---|
|
|
125
|
-
| `
|
|
135
|
+
| `DSH_SHOP_CATALOG_URL` | Point the shop at your own catalog mirror instead of the public one |
|
|
126
136
|
|
|
127
137
|
## 📚 The catalog
|
|
128
138
|
|
|
@@ -131,7 +141,7 @@ Built daily from the public npm registry and published as static JSON:
|
|
|
131
141
|
- [`/v1/index.json`](https://LivXue.github.io/dsh-plugin-shop/v1/index.json) — the pointer, carrying `schemaVersion`, `builtAt`, and the content hash
|
|
132
142
|
- `/v1/plugins.<sha256>.json` — the data, content-addressed and safe to cache indefinitely
|
|
133
143
|
|
|
134
|
-
The pointer is small enough to poll. The
|
|
144
|
+
The pointer is small enough to poll. The shop verifies the data file's sha256 against
|
|
135
145
|
the pointer before trusting a byte of it.
|
|
136
146
|
|
|
137
147
|
## ⚠️ What it does not claim
|
package/cordis.patch.yml
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# The dsh-plugin-shop bundle patch: one row, the
|
|
1
|
+
# The dsh-plugin-shop bundle patch: one row, the shop Remote gateway.
|
|
2
2
|
# `dshHomePath` and `process.env` are in scope for !!js scalars, exactly as
|
|
3
3
|
# the dsh-base bundle uses them.
|
|
4
4
|
- insert:
|
|
5
|
-
- id:
|
|
5
|
+
- id: shop
|
|
6
6
|
name: 'dsh-plugin-shop'
|
|
7
7
|
config:
|
|
8
|
-
catalogUrl: !!js process.env.
|
|
9
|
-
cacheDir: !!js dshHomePath('
|
|
8
|
+
catalogUrl: !!js process.env.DSH_SHOP_CATALOG_URL ?? 'https://LivXue.github.io/dsh-plugin-shop/v1/'
|
|
9
|
+
cacheDir: !!js dshHomePath('shop')
|