dsh-plugin-shop 0.1.3 → 0.2.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 +30 -13
- package/cordis.patch.yml +4 -4
- package/lib/client.js +237 -236
- 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 +3 -3
- package/lib/types/client/present.d.ts +12 -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)
|
|
@@ -16,7 +16,24 @@ English | [中文](https://github.com/LivXue/dsh-plugin-shop/blob/main/packages/
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## 🖼️ Screenshots
|
|
20
|
+
|
|
21
|
+
<div align="center">
|
|
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
|
+
</div>
|
|
24
|
+
|
|
25
|
+
<table>
|
|
26
|
+
<tr>
|
|
27
|
+
<td width="50%"><img src="https://raw.githubusercontent.com/LivXue/dsh-plugin-shop/main/docs/images/gate-light.png" alt="Installing an unreviewed plugin requires an explicit acknowledgement"></td>
|
|
28
|
+
<td width="50%"><img src="https://raw.githubusercontent.com/LivXue/dsh-plugin-shop/main/docs/images/shelf-dark.png" alt="The same shelf in the dark theme"></td>
|
|
29
|
+
</tr>
|
|
30
|
+
<tr>
|
|
31
|
+
<td align="center"><sub>Installing an unreviewed plugin requires an explicit acknowledgement</sub></td>
|
|
32
|
+
<td align="center"><sub>The same shelf in the dark theme</sub></td>
|
|
33
|
+
</tr>
|
|
34
|
+
</table>
|
|
35
|
+
|
|
36
|
+
## 📦 Install
|
|
20
37
|
|
|
21
38
|
Two tracks below. They do the same thing; pick the one that matches who is reading.
|
|
22
39
|
|
|
@@ -29,7 +46,7 @@ dsh plugin --profile web add dsh-plugin-shop
|
|
|
29
46
|
Replace `web` with your profile if you use another one. Then restart `dsh` once — a
|
|
30
47
|
newly added bundle is not applied to a running process — and open
|
|
31
48
|
|
|
32
|
-
> **Settings → Plugins → Plugin
|
|
49
|
+
> **Settings → Plugins → Plugin shop**
|
|
33
50
|
|
|
34
51
|
You land on a shelf of plugin cards with a search box. The first load reads the catalog
|
|
35
52
|
over the network and can take a few seconds; a shimmering skeleton stands in until the
|
|
@@ -80,7 +97,7 @@ bundle is not.
|
|
|
80
97
|
| `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 |
|
|
81
98
|
| 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 |
|
|
82
99
|
|
|
83
|
-
## What it does
|
|
100
|
+
## ✨ What it does
|
|
84
101
|
|
|
85
102
|
| | |
|
|
86
103
|
|---|---|
|
|
@@ -89,7 +106,7 @@ bundle is not.
|
|
|
89
106
|
| **Enable / disable** | Applies to an installed plugin without a restart |
|
|
90
107
|
| **Outdated installs** | Compared against the catalog's current version |
|
|
91
108
|
|
|
92
|
-
## How it is put together
|
|
109
|
+
## 🧩 How it is put together
|
|
93
110
|
|
|
94
111
|
Two halves ship in this one package, and the split between them is the security
|
|
95
112
|
boundary:
|
|
@@ -97,27 +114,27 @@ boundary:
|
|
|
97
114
|
| Half | Entry | Can reach | Cannot reach |
|
|
98
115
|
|---|---|---|---|
|
|
99
116
|
| **Host** | `dsh-plugin-shop` | The network (catalog fetch and sha256 verify), the filesystem (cache), `dsh plugin add` under a per-profile mutex | — |
|
|
100
|
-
| **Client** | `dsh-plugin-shop/client` | Exactly five `
|
|
117
|
+
| **Client** | `dsh-plugin-shop/client` | Exactly five `shop/*` Remote methods | The network, the filesystem |
|
|
101
118
|
|
|
102
119
|
Compromising the browser half buys an attacker those five calls and nothing more.
|
|
103
120
|
|
|
104
|
-
## Configuration
|
|
121
|
+
## ⚙️ Configuration
|
|
105
122
|
|
|
106
123
|
| Variable | Effect |
|
|
107
124
|
|---|---|
|
|
108
|
-
| `
|
|
125
|
+
| `DSH_SHOP_CATALOG_URL` | Point the shop at your own catalog mirror instead of the public one |
|
|
109
126
|
|
|
110
|
-
## The catalog
|
|
127
|
+
## 📚 The catalog
|
|
111
128
|
|
|
112
129
|
Built daily from the public npm registry and published as static JSON:
|
|
113
130
|
|
|
114
131
|
- [`/v1/index.json`](https://LivXue.github.io/dsh-plugin-shop/v1/index.json) — the pointer, carrying `schemaVersion`, `builtAt`, and the content hash
|
|
115
132
|
- `/v1/plugins.<sha256>.json` — the data, content-addressed and safe to cache indefinitely
|
|
116
133
|
|
|
117
|
-
The pointer is small enough to poll. The
|
|
134
|
+
The pointer is small enough to poll. The shop verifies the data file's sha256 against
|
|
118
135
|
the pointer before trusting a byte of it.
|
|
119
136
|
|
|
120
|
-
## What it does not claim
|
|
137
|
+
## ⚠️ What it does not claim
|
|
121
138
|
|
|
122
139
|
A listing is not an endorsement.
|
|
123
140
|
|
|
@@ -127,7 +144,7 @@ list. The `verified` tier means a human read *that exact version*; a newer publi
|
|
|
127
144
|
downgrades it to `verified-stale` and keeps the review pinned to the version it was
|
|
128
145
|
actually given — so passing review once cannot buy trust for every future release.
|
|
129
146
|
|
|
130
|
-
## For plugin authors
|
|
147
|
+
## 🏷️ For plugin authors
|
|
131
148
|
|
|
132
149
|
Add `"keywords": ["dsh-plugin"]` to `package.json` and publish. The daily build finds
|
|
133
150
|
you; nothing is submitted to this project. Declare a `dsh.catalog` section to control
|
|
@@ -136,6 +153,6 @@ listing from your npm `description`.
|
|
|
136
153
|
|
|
137
154
|
Full reference: [docs/schema.md](https://github.com/LivXue/dsh-plugin-shop/blob/main/docs/schema.md).
|
|
138
155
|
|
|
139
|
-
## License
|
|
156
|
+
## 📄 License
|
|
140
157
|
|
|
141
158
|
[MIT](https://github.com/LivXue/dsh-plugin-shop/blob/main/LICENSE) © LivXue
|
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')
|