@hyzyn/dsh-plugin-kit 0.1.43 → 0.1.45
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 +77 -46
- package/README.md +72 -44
- package/package.json +14 -13
package/README.en.md
CHANGED
|
@@ -16,13 +16,16 @@
|
|
|
16
16
|
<img src="https://img.shields.io/badge/license-Apache--2.0-blue?style=flat-square" alt="License">
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
|
-
Repo gates: `pnpm typecheck` / `pnpm build` / `pnpm test` / `pnpm aggregate`.
|
|
20
|
-
|
|
21
19
|
<p align="center">
|
|
22
20
|
<strong>A plugin family for the DeepSeek Harness (DSH) Web GUI</strong><br>
|
|
23
21
|
<em>Environment · MCP servers · Prompt · Profile · RSS · Global search · Codegraph · Terminal panel · Container panel · Scaffolding</em>
|
|
24
22
|
</p>
|
|
25
23
|
|
|
24
|
+
<p align="center">
|
|
25
|
+
<code>dsh plugin --profile web add @hyzyn/dsh-all</code><br>
|
|
26
|
+
<sub>installs the whole family · restart <code>dsh web</code> to take effect · only want a few? → <a href="#quick-start">install on demand</a></sub>
|
|
27
|
+
</p>
|
|
28
|
+
|
|
26
29
|
<p align="center">
|
|
27
30
|
|
|
28
31
|
[What it is](#what-it-is) · [Packages](#packages) · [Quick start](#quick-start) · [Writing a new plugin](#writing-a-new-plugin) · [Documentation map](#documentation-map) · [Contributing](#contributing)
|
|
@@ -35,21 +38,30 @@ dsh-plugin-kit is a general-purpose plugin collection for the DeepSeek Harness (
|
|
|
35
38
|
Every plugin mounts through the official profile mechanism — **DSH itself is never patched** —
|
|
36
39
|
and you can install them one by one or all at once with the aggregate package.
|
|
37
40
|
|
|
38
|
-
|
|
41
|
+
<table>
|
|
42
|
+
<tr>
|
|
43
|
+
<td><img src="https://cdn.jsdelivr.net/gh/hyzyn/dsh-plugin-kit@main/docs/dsh-plugin-kit-tty-sftp-dual.png" alt="Terminal panel: multi-tab real PTY with the server status bar, and the SFTP dual-pane drawer below (local on the left, remote on the right)" width="400"></td>
|
|
44
|
+
<td><img src="https://cdn.jsdelivr.net/gh/hyzyn/dsh-plugin-kit@main/docs/dsh-plugin-kit-docker-dock.png" alt="Docker container panel: docked as a sidebar tab next to the conversation" width="400"></td>
|
|
45
|
+
</tr>
|
|
46
|
+
<tr>
|
|
47
|
+
<td><img src="https://cdn.jsdelivr.net/gh/hyzyn/dsh-plugin-kit@main/docs/dsh-plugin-kit-rss-view.png" alt="RSS digest "Today's Worth Reading": the day's items grouped by category and source, searchable and filterable" width="400"></td>
|
|
48
|
+
<td><img src="https://cdn.jsdelivr.net/gh/hyzyn/dsh-plugin-kit@main/docs/dsh-plugin-kit-search-query.png" alt="Global search: typing codegraph, results grouped into recent sessions / history / Prompt / MCP tools / settings" width="400"></td>
|
|
49
|
+
</tr>
|
|
50
|
+
</table>
|
|
39
51
|
|
|
40
|
-
|
|
52
|
+
Grouped configuration → panels → development:
|
|
41
53
|
|
|
42
|
-
| Capability | Plain `dsh web` |
|
|
43
|
-
|
|
54
|
+
| Capability | Plain `dsh web` | dsh-plugin-kit |
|
|
55
|
+
|---|---|---|
|
|
44
56
|
| MCP servers | edit the patch file / CLI | visual card + connection test + hot reload after saving |
|
|
57
|
+
| Environment variables | edit `env.yml` by hand / CLI | Web GUI card, written into `process.env` on save |
|
|
58
|
+
| Prompt management | hand-edited config | visual editing + versioning / A/B testing / export & share |
|
|
45
59
|
| Profile management | CLI | visual create / copy / rename / delete |
|
|
46
|
-
| RSS aggregation | none | multi-source subscriptions + a daily
|
|
47
|
-
| Global search | session titles/content only | one full-text search over past sessions, Prompts, MCP tools and settings panels |
|
|
60
|
+
| RSS aggregation | none | multi-source subscriptions + a daily “Today’s Worth Reading” + optional AI summaries (follows the host’s default model, zero config) |
|
|
61
|
+
| Global search | session titles / content only | one full-text search in the sidebar over past sessions, Prompts, MCP tools and settings panels |
|
|
62
|
+
| Terminal panel | none | real xterm.js multi-tab PTY + native SSH (connection book / host-key pinning / auto reconnect) + SFTP dual-pane transfer; registers `tty_*` / `sftp_*` tools |
|
|
63
|
+
| Docker container panel | none | containers / images / Compose / live logs and stats / multi-target overview; **read-only by default**, mutations and exec behind explicit switches; registers `docker_*` tools |
|
|
48
64
|
| Codegraph integration | none | code graph card: index status / symbol search / call chain / impact / one-click sync-index |
|
|
49
|
-
| Terminal panel | none | real xterm.js multi-tab PTY (vim/htop/dev server); native SSH (connection book, host-key pinning, auto reconnect); SFTP single-dialog / dual-pane transfer; `tty_*` / `sftp_*` agent tools |
|
|
50
|
-
| Docker container panel | none | containers / images / Compose / live logs and stats / multi-target overview; **read-only by default**, mutations and exec behind explicit switches; `docker_*` agent tools |
|
|
51
|
-
| Environment variables | CLI / hand-edited config | Web GUI card, written into `process.env` on save |
|
|
52
|
-
| Prompt management | hand-edited config | visual editing + versioning / A/B testing / export & share |
|
|
53
65
|
| Plugin development | boilerplate by hand | `pnpm create-plugin` scaffolding + the `@hyzyn/dsh-kit` shared library |
|
|
54
66
|
|
|
55
67
|
> **Each plugin’s full feature set, screenshots and caveats live in its own README** (table below).
|
|
@@ -63,35 +75,65 @@ direction and how they cooperate: [docs/architecture.md](docs/architecture.md) (
|
|
|
63
75
|
| Package | What it does | Docs |
|
|
64
76
|
|---|---|---|
|
|
65
77
|
| `@hyzyn/dsh-kit` | **Library** (not a plugin): shared host-half utilities — HTTP loopback fence, managed blocks, `!!js` expressions, service access | [README](packages/kit/README.md) · [DEFECTS](packages/kit/DEFECTS.md) |
|
|
66
|
-
| `@hyzyn/dsh-mcp` | MCP server configuration card, hot-reloaded on save | [README](packages/mcp/README.md) |
|
|
67
78
|
| `@hyzyn/dsh-env` | Environment variables / secrets management | [README](packages/env/README.md) |
|
|
79
|
+
| `@hyzyn/dsh-mcp` | MCP server configuration card, hot-reloaded on save | [README](packages/mcp/README.md) |
|
|
68
80
|
| `@hyzyn/dsh-prompt` | systemPrompt editing / versions / A-B testing | [README](packages/prompt/README.md) |
|
|
69
81
|
| `@hyzyn/dsh-profile` | Graphical management of `~/.dsh/profiles` | [README](packages/profile/README.md) |
|
|
82
|
+
| `@hyzyn/dsh-kit-settings` | Adds a “Plugin configuration” row next to “General settings” | [README](packages/kit-settings/README.md) |
|
|
70
83
|
| `@hyzyn/dsh-rss` | RSS aggregation → a daily digest | [README](packages/rss/README.md) |
|
|
71
|
-
| `@hyzyn/dsh-search` | Sidebar global search | [README](packages/search/README.md) |
|
|
84
|
+
| `@hyzyn/dsh-search` | Sidebar global search (⌘ / Ctrl + K) | [README](packages/search/README.md) |
|
|
72
85
|
| `@hyzyn/dsh-codegraph` | Code graph card + MCP management + adoption measurement | [README](packages/codegraph/README.md) · [DEFECTS](packages/codegraph/DEFECTS.md) · [ROADMAP](packages/codegraph/ROADMAP.md) |
|
|
73
|
-
| `@hyzyn/dsh-tty` | Terminal panel
|
|
86
|
+
| `@hyzyn/dsh-tty` | Terminal panel: PTY / SSH / SFTP / tunnels | [README](packages/tty/README.md) · [DEFECTS](packages/tty/DEFECTS.md) · [ROADMAP](packages/tty/ROADMAP.md) |
|
|
74
87
|
| `@hyzyn/dsh-docker` | Docker container panel (local / SSH), read-only by default | [README](packages/docker/README.md) · [DEFECTS](packages/docker/DEFECTS.md) · [ROADMAP](packages/docker/ROADMAP.md) |
|
|
75
|
-
| `@hyzyn/dsh-kit-settings` | Adds a “Plugin configuration” row next to “General settings” | [README](packages/kit-settings/README.md) |
|
|
76
88
|
| `@hyzyn/dsh-all` | Aggregate package: one bundle patch that mounts the 10 plugins above | [README](packages/all/README.md) |
|
|
77
89
|
|
|
78
90
|
## Quick start
|
|
79
91
|
|
|
80
92
|
### System requirements
|
|
81
93
|
|
|
82
|
-
- DeepSeek Harness installed and `dsh web` starts normally. **
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
- DeepSeek Harness installed and `dsh web` starts normally. **Three DSH cohorts are currently
|
|
95
|
+
supported: `0.1.7-rc.2`, `0.2.0-rc.1` and `0.2.0-rc.2`**; `0.1.6-alpha.2` and earlier are no longer
|
|
96
|
+
supported.
|
|
97
|
+
- Compatibility is guaranteed by the `@deepseek-ai/dsh` range each installable plugin declares in
|
|
98
|
+
`peerDependencies`, which DSH checks once **before install** and once **at startup**. What a
|
|
99
|
+
rejection looks like and how to admit a combination temporarily →
|
|
100
|
+
[docs/troubleshooting.md § Compatibility](docs/troubleshooting.md#兼容性校验).
|
|
101
|
+
- No extra requirements for npm installs; building from this repository’s sources requires
|
|
102
|
+
Node.js >= 22.19 and pnpm 10.
|
|
103
|
+
|
|
104
|
+
### Install from npm
|
|
105
|
+
|
|
106
|
+
**Installing only what you need is the recommended path** — one package per line below, install just
|
|
107
|
+
the ones you want. Starting with the three configuration cards (`env` / `mcp` / `prompt`, none of
|
|
108
|
+
which register tools) is the cheapest way in:
|
|
109
|
+
|
|
110
|
+
```sh
|
|
111
|
+
dsh plugin --profile web add @hyzyn/dsh-env # env vars / secrets
|
|
112
|
+
dsh plugin --profile web add @hyzyn/dsh-mcp # MCP servers
|
|
113
|
+
dsh plugin --profile web add @hyzyn/dsh-prompt # systemPrompt
|
|
114
|
+
dsh plugin --profile web add @hyzyn/dsh-profile # profiles
|
|
115
|
+
dsh plugin --profile web add @hyzyn/dsh-kit-settings # the "Plugin configuration" settings row
|
|
116
|
+
dsh plugin --profile web add @hyzyn/dsh-rss # RSS digest
|
|
117
|
+
dsh plugin --profile web add @hyzyn/dsh-search # ⌘/Ctrl+K global search
|
|
118
|
+
dsh plugin --profile web add @hyzyn/dsh-codegraph # code graph card
|
|
119
|
+
dsh plugin --profile web add @hyzyn/dsh-tty # terminal panel (PTY / SSH / SFTP)
|
|
120
|
+
dsh plugin --profile web add @hyzyn/dsh-docker # Docker container panel
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Package names, one-line descriptions and per-package docs are in the [Packages](#packages) table above.
|
|
124
|
+
|
|
125
|
+
**One thing to know before you install: the packages differ in what they touch** (details are in each
|
|
126
|
+
package's README; the mechanism is in
|
|
127
|
+
[docs/architecture.md § 7](docs/architecture.md#7-一条请求经过什么)):
|
|
128
|
+
|
|
129
|
+
| Install it | What it means |
|
|
130
|
+
|---|---|
|
|
131
|
+
| **Registers tools — genuinely changes what the agent can do** | `tty` (`tty_*` / `sftp_*` — a real shell / SFTP channel) · `docker` (`docker_*`) · `codegraph` (it hosts the codegraph MCP row for you, so `mcp__codegraph__*` lands in the model's toolbox) |
|
|
132
|
+
| **Only appends a section to the systemPrompt** | `rss` (the “Today's Worth Reading” section) · `search` (its capability announcement); what `prompt` does *is* edit the systemPrompt |
|
|
133
|
+
| **Only touches your own configuration and UI** | `env` (saving writes into the host's `process.env` — still your own configuration) · `profile` · `kit-settings` · `mcp` (a configuration entry point — it adds no tools itself, but the servers you type into it will) |
|
|
93
134
|
|
|
94
|
-
|
|
135
|
+
Installing everything at once is the aggregate package — **its exposure is the union of each
|
|
136
|
+
package's** — if you don't know which plugin you need, don't start there:
|
|
95
137
|
|
|
96
138
|
```sh
|
|
97
139
|
dsh plugin --profile web add @hyzyn/dsh-all # aggregate package
|
|
@@ -101,7 +143,6 @@ dsh plugin --profile web add @hyzyn/dsh-plugin-kit # repo root bundle (mou
|
|
|
101
143
|
**Restart `dsh web`** afterwards; all cards appearing under Settings → Plugins means it worked.
|
|
102
144
|
If a card does not appear, you probably forgot to restart. You can also use
|
|
103
145
|
`dsh --profile web --dump-config` to confirm the plugin configuration layer is mounted.
|
|
104
|
-
For one plugin only, see “Install a single plugin” below.
|
|
105
146
|
Uninstall: `dsh plugin --profile web remove @hyzyn/dsh-all` (or the matching subpackage), then restart.
|
|
106
147
|
|
|
107
148
|
> **Which configuration entry exists in which version**: DSH ≥ `0.1.6-alpha.2` has **two** entries
|
|
@@ -111,10 +152,14 @@ Uninstall: `dsh plugin --profile web remove @hyzyn/dsh-all` (or the matching sub
|
|
|
111
152
|
> DSH ≤ `0.1.5` uses the cards inside **Settings → Plugins → “Plugin configuration”**.
|
|
112
153
|
> Client halves register all three slot generations (`plugins.row.config`, `settings.kit.item`,
|
|
113
154
|
> `settings.plugin.item`), so one build works on every generation.
|
|
155
|
+
> This configuration itself lives in the **current profile's plugin entry** (`cordis.patch.yml` user
|
|
156
|
+
> layer), not in a global `settings.yaml` section — see the [glossary](docs/glossary.md).
|
|
157
|
+
|
|
158
|
+
Install failures / missing cards / **every plugin gone** / HTTP 401 or 403 → [docs/troubleshooting.md](docs/troubleshooting.md) (Chinese).
|
|
114
159
|
|
|
115
160
|
### Install from the GitHub repository (development / debugging)
|
|
116
161
|
|
|
117
|
-
|
|
162
|
+
The repository root is itself a DSH bundle
|
|
118
163
|
(`package.json#dsh.bundle.patch`, generated by `pnpm aggregate`):
|
|
119
164
|
|
|
120
165
|
```sh
|
|
@@ -135,20 +180,6 @@ dsh web
|
|
|
135
180
|
> With the `dsh` field on the root package, GitHub DSH marketplaces classify this repository as a DSH
|
|
136
181
|
> plugin (cordis-plugin) instead of flagging it as “non-plugin”.
|
|
137
182
|
|
|
138
|
-
### Install a single plugin
|
|
139
|
-
|
|
140
|
-
Swap the package name for any entry in the table above (`@hyzyn/dsh-all` → `@hyzyn/dsh-<pkg>`):
|
|
141
|
-
|
|
142
|
-
```sh
|
|
143
|
-
dsh plugin --profile web add @hyzyn/dsh-env # Environment variables / secrets management
|
|
144
|
-
dsh plugin --profile web add @hyzyn/dsh-tty # Terminal panel
|
|
145
|
-
dsh plugin --profile web add @hyzyn/dsh-docker # Docker container panel
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
Install failures / missing cards / **every plugin gone** / HTTP 401 or 403 → [docs/troubleshooting.md](docs/troubleshooting.md).
|
|
149
|
-
|
|
150
|
-
Install failures / missing cards / HTTP 401 or 403 → [docs/troubleshooting.md](docs/troubleshooting.md) (Chinese).
|
|
151
|
-
|
|
152
183
|
## Writing a new plugin
|
|
153
184
|
|
|
154
185
|
```sh
|
|
@@ -185,9 +216,9 @@ pure logic into modules) → [docs/conventions.md § Client half](docs/conventio
|
|
|
185
216
|
| How to run real-machine tests, and what counts as passing | [docs/agent-real-test.md](docs/agent-real-test.md) |
|
|
186
217
|
| The full design and acceptance criteria of a cross-package plan (bastion / elevation / i18n…) | `*-plan.md` and `i18n.md` under `docs/`, routed by the [conventions.md knowledge-ownership table](docs/conventions.md) |
|
|
187
218
|
| Windows 11 test environment setup | [scripts/windows/README.md](scripts/windows/README.md) |
|
|
188
|
-
| Cross-package backlog | [ROADMAP.md](ROADMAP.md) |
|
|
189
|
-
| Release process | [RELEASING.md](RELEASING.md) |
|
|
190
219
|
| Runtime linking between plugins and the host in a dev checkout | [docs/link-dsh-runtime.md](docs/link-dsh-runtime.md) |
|
|
220
|
+
| Cross-package backlog | [ROADMAP.md](ROADMAP.md) |
|
|
221
|
+
| Release process (incl. the cohort change list) | [RELEASING.md](RELEASING.md) |
|
|
191
222
|
| How one package is used | `packages/<pkg>/README.md` |
|
|
192
223
|
| What a defect number means | `packages/<pkg>/DEFECTS.md` |
|
|
193
224
|
|
package/README.md
CHANGED
|
@@ -16,13 +16,16 @@
|
|
|
16
16
|
<img src="https://img.shields.io/badge/license-Apache--2.0-blue?style=flat-square" alt="License">
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
|
-
仓库门禁:`pnpm typecheck` / `pnpm build` / `pnpm test` / `pnpm aggregate`。
|
|
20
|
-
|
|
21
19
|
<p align="center">
|
|
22
20
|
<strong>DeepSeek Harness(DSH)Web GUI 的插件全家桶</strong><br>
|
|
23
21
|
<em>环境变量 · MCP 服务器 · Prompt · Profile · RSS · 全局搜索 · Codegraph 集成 · 终端面板 · 容器面板 · 插件脚手架</em>
|
|
24
22
|
</p>
|
|
25
23
|
|
|
24
|
+
<p align="center">
|
|
25
|
+
<code>dsh plugin --profile web add @hyzyn/dsh-all</code><br>
|
|
26
|
+
<sub>一次装齐,重启 <code>dsh web</code> 生效 · 只想要其中几个 → <a href="#快速开始">按需安装</a></sub>
|
|
27
|
+
</p>
|
|
28
|
+
|
|
26
29
|
<p align="center">
|
|
27
30
|
|
|
28
31
|
[是什么](#是什么) · [包索引](#包索引) · [快速开始](#快速开始) · [开发新插件](#开发新插件) · [文档地图](#文档地图) · [参与贡献](#参与贡献)
|
|
@@ -34,21 +37,30 @@
|
|
|
34
37
|
dsh-plugin-kit 是给 DeepSeek Harness(DSH)Web GUI 用的通用插件集合。所有插件都走官方 profile
|
|
35
38
|
机制挂载到 `dsh web`,**不改 DSH 源码**;可以逐个安装,也可以用聚合包一次装齐。
|
|
36
39
|
|
|
37
|
-
|
|
40
|
+
<table>
|
|
41
|
+
<tr>
|
|
42
|
+
<td><img src="https://cdn.jsdelivr.net/gh/hyzyn/dsh-plugin-kit@main/docs/dsh-plugin-kit-tty-sftp-dual.png" alt="终端面板:多标签真实 PTY + 顶部服务器状态条,下方抽屉是 SFTP 双栏(左本机 / 右远程)" width="400"></td>
|
|
43
|
+
<td><img src="https://cdn.jsdelivr.net/gh/hyzyn/dsh-plugin-kit@main/docs/dsh-plugin-kit-docker-dock.png" alt="Docker 容器面板:会话右侧栏标签,与对话同屏" width="400"></td>
|
|
44
|
+
</tr>
|
|
45
|
+
<tr>
|
|
46
|
+
<td><img src="https://cdn.jsdelivr.net/gh/hyzyn/dsh-plugin-kit@main/docs/dsh-plugin-kit-rss-view.png" alt="RSS「今日值得读」:当日条目按分类与来源分区,可搜索、按分类筛选与刷新" width="400"></td>
|
|
47
|
+
<td><img src="https://cdn.jsdelivr.net/gh/hyzyn/dsh-plugin-kit@main/docs/dsh-plugin-kit-search-query.png" alt="全局搜索:输入 codegraph,结果按最近会话 / 历史会话 / Prompt / MCP 工具 / 设置分组" width="400"></td>
|
|
48
|
+
</tr>
|
|
49
|
+
</table>
|
|
38
50
|
|
|
39
|
-
|
|
51
|
+
按「配置类」→「面板类」→「开发类」排:
|
|
40
52
|
|
|
41
|
-
| 能力 | 原生 dsh web | dsh-plugin-kit
|
|
42
|
-
|
|
53
|
+
| 能力 | 原生 `dsh web` | dsh-plugin-kit |
|
|
54
|
+
|---|---|---|
|
|
43
55
|
| MCP 服务器 | 手改 patch / 命令行 | 可视化卡片 + 连接测试 + 保存后热加载 |
|
|
56
|
+
| 环境变量 | 手改 `env.yml` / 命令行 | Web GUI 卡片,保存即写入 `process.env` |
|
|
57
|
+
| Prompt 管理 | 手改配置 | 可视化编辑 + 版本管理 / A/B 测试 / 导出分享 |
|
|
44
58
|
| Profile 管理 | 命令行 | 可视化创建 / 复制 / 重命名 / 删除 |
|
|
45
59
|
| RSS 聚合 | 无 | 多源订阅 + 每日「今日值得读」+ 可选 AI 摘要(跟随宿主默认模型,零配置) |
|
|
46
|
-
| 全局搜索 |
|
|
60
|
+
| 全局搜索 | 仅会话标题 / 内容 | 侧边栏一处全文检索历史会话、Prompt、MCP 工具与设置面板 |
|
|
61
|
+
| 终端面板 | 无 | xterm.js 多标签真实 PTY + SSH 直连(连接簿 / 指纹钉扎 / 断线重连)+ SFTP 双栏直传;注册 `tty_*` / `sftp_*` 工具 |
|
|
62
|
+
| Docker 容器面板 | 无 | 容器 / 镜像 / Compose / 实时日志与统计 / 多目标总览;**默认只读**,变更与 exec 需显式开关;注册 `docker_*` 工具 |
|
|
47
63
|
| Codegraph 集成 | 无 | 代码图谱卡片:索引状态 / 符号搜索 / 调用链 / 影响面 / 一键 sync-index |
|
|
48
|
-
| 终端面板 | 无 | xterm.js 多标签真实 PTY(vim/htop/dev server);SSH 直连(连接簿、指纹钉扎、断线重连);SFTP 单窗体 / 双栏直传;`tty_*` / `sftp_*` 工具 |
|
|
49
|
-
| Docker 容器面板 | 无 | 容器 / 镜像 / Compose / 实时日志与统计 / 多目标总览;**默认只读**,变更与 exec 需显式开关;`docker_*` 工具 |
|
|
50
|
-
| 环境变量管理 | 命令行 / 手改配置 | Web GUI 卡片,保存即写入 `process.env` |
|
|
51
|
-
| Prompt 管理 | 手改配置 | 可视化编辑 + 版本管理 / A/B 测试 / 导出分享 |
|
|
52
64
|
| 插件开发 | 手写样板 | `pnpm create-plugin` 脚手架 + `@hyzyn/dsh-kit` 共享工具库 |
|
|
53
65
|
|
|
54
66
|
> **每个插件的完整功能、截图与注意事项在它自己的 README 里**(见下表)。本文件只讲「是什么 + 装哪个」。
|
|
@@ -61,41 +73,66 @@ dsh-plugin-kit 是给 DeepSeek Harness(DSH)Web GUI 用的通用插件集合
|
|
|
61
73
|
| 包 | 干什么 | 文档 |
|
|
62
74
|
|---|---|---|
|
|
63
75
|
| `@hyzyn/dsh-kit` | **库**(非插件):宿主半体共享工具——HTTP 回环围栏、托管区块、`!!js` 表达式、服务读取 | [README](packages/kit/README.md) · [DEFECTS](packages/kit/DEFECTS.md) |
|
|
64
|
-
| `@hyzyn/dsh-mcp` | MCP 服务器配置卡片,保存后热加载 | [README](packages/mcp/README.md) |
|
|
65
76
|
| `@hyzyn/dsh-env` | 环境变量 / 密钥管理 | [README](packages/env/README.md) |
|
|
77
|
+
| `@hyzyn/dsh-mcp` | MCP 服务器配置卡片,保存后热加载 | [README](packages/mcp/README.md) |
|
|
66
78
|
| `@hyzyn/dsh-prompt` | systemPrompt 编辑 / 版本 / A/B | [README](packages/prompt/README.md) |
|
|
67
79
|
| `@hyzyn/dsh-profile` | `~/.dsh/profiles` 图形化管理 | [README](packages/profile/README.md) |
|
|
80
|
+
| `@hyzyn/dsh-kit-settings` | 在官方「设置」里补一行「插件配置」入口 | [README](packages/kit-settings/README.md) |
|
|
68
81
|
| `@hyzyn/dsh-rss` | RSS 聚合 → 每日「今日值得读」 | [README](packages/rss/README.md) |
|
|
69
|
-
| `@hyzyn/dsh-search` |
|
|
82
|
+
| `@hyzyn/dsh-search` | 侧边栏全局搜索(⌘ / Ctrl + K) | [README](packages/search/README.md) |
|
|
70
83
|
| `@hyzyn/dsh-codegraph` | 代码图谱卡片 + MCP 托管 + 采纳率测量 | [README](packages/codegraph/README.md) · [DEFECTS](packages/codegraph/DEFECTS.md) · [ROADMAP](packages/codegraph/ROADMAP.md) |
|
|
71
|
-
| `@hyzyn/dsh-tty` |
|
|
84
|
+
| `@hyzyn/dsh-tty` | 终端面板:PTY / SSH / SFTP / 隧道 | [README](packages/tty/README.md) · [DEFECTS](packages/tty/DEFECTS.md) · [ROADMAP](packages/tty/ROADMAP.md) |
|
|
72
85
|
| `@hyzyn/dsh-docker` | Docker 容器面板(本机 / SSH),默认只读 | [README](packages/docker/README.md) · [DEFECTS](packages/docker/DEFECTS.md) · [ROADMAP](packages/docker/ROADMAP.md) |
|
|
73
|
-
| `@hyzyn/dsh-kit-settings` | 在官方「设置」里补一行「插件配置」入口 | [README](packages/kit-settings/README.md) |
|
|
74
86
|
| `@hyzyn/dsh-all` | 聚合安装包:一条 bundle patch 挂载上面 10 个插件 | [README](packages/all/README.md) |
|
|
75
87
|
|
|
76
88
|
## 快速开始
|
|
77
89
|
|
|
78
90
|
### 系统要求
|
|
79
91
|
|
|
80
|
-
- 已安装 DeepSeek Harness,`dsh web`
|
|
81
|
-
`0.2.0-rc.1
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
机制细节、被拦下怎么办、怎么临时放行 → [docs/troubleshooting.md § 兼容性校验](docs/troubleshooting.md#兼容性校验)。
|
|
88
|
-
- npm 安装方式无额外要求;从仓库安装需要 Node.js >= 22.19 与 pnpm 10。
|
|
92
|
+
- 已安装 DeepSeek Harness,`dsh web` 可正常启动。**当前适配三档基线:DSH `0.1.7-rc.2`、`0.2.0-rc.1`
|
|
93
|
+
与 `0.2.0-rc.2`**;`0.1.6-alpha.2` 及更早不再支持。
|
|
94
|
+
- 兼容性由每个可安装插件在 `peerDependencies` 里声明的 `@deepseek-ai/dsh` 范围保证,DSH 在**安装前**
|
|
95
|
+
与**启动时**各校验一次。被拦下长什么样、怎么临时放行 → [docs/troubleshooting.md § 兼容性校验](docs/troubleshooting.md#兼容性校验)。
|
|
96
|
+
- npm 安装无额外要求;从仓库源码安装需要 Node.js >= 22.19 与 pnpm 10。
|
|
97
|
+
|
|
98
|
+
### 从 npm 安装
|
|
89
99
|
|
|
90
|
-
|
|
100
|
+
**推荐按需装**——下面一行一个包,只装你要的。从「配置三件」起步最省(`env` / `mcp` / `prompt`,
|
|
101
|
+
都不向模型注册工具):
|
|
102
|
+
|
|
103
|
+
```sh
|
|
104
|
+
dsh plugin --profile web add @hyzyn/dsh-env # 环境变量 / 密钥
|
|
105
|
+
dsh plugin --profile web add @hyzyn/dsh-mcp # MCP 服务器
|
|
106
|
+
dsh plugin --profile web add @hyzyn/dsh-prompt # systemPrompt
|
|
107
|
+
dsh plugin --profile web add @hyzyn/dsh-profile # Profile 管理
|
|
108
|
+
dsh plugin --profile web add @hyzyn/dsh-kit-settings # 设置里的「插件配置」入口
|
|
109
|
+
dsh plugin --profile web add @hyzyn/dsh-rss # RSS「今日值得读」
|
|
110
|
+
dsh plugin --profile web add @hyzyn/dsh-search # ⌘/Ctrl+K 全局搜索
|
|
111
|
+
dsh plugin --profile web add @hyzyn/dsh-codegraph # 代码图谱卡片
|
|
112
|
+
dsh plugin --profile web add @hyzyn/dsh-tty # 终端面板(PTY / SSH / SFTP)
|
|
113
|
+
dsh plugin --profile web add @hyzyn/dsh-docker # Docker 容器面板
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
包名、一句话说明与各自的文档见上方 [包索引](#包索引)。
|
|
117
|
+
|
|
118
|
+
**装之前知道一件事:各包动到的面不一样**(细节在各包 README;机制见
|
|
119
|
+
[docs/architecture.md § 7](docs/architecture.md#7-一条请求经过什么)):
|
|
120
|
+
|
|
121
|
+
| 装了它 | 意味着 |
|
|
122
|
+
|---|---|
|
|
123
|
+
| **给模型注册工具**,真正改变 agent 能力 | `tty`(`tty_*` / `sftp_*`——真实的 shell / SFTP 通道)· `docker`(`docker_*`)· `codegraph`(替宿主托管 codegraph MCP 行,于是 `mcp__codegraph__*` 进模型工具箱) |
|
|
124
|
+
| **只往 systemPrompt 添一段** | `rss`(「今日值得读」那段)· `search`(插件能力公告);`prompt` 卡片做的本身就是编辑 systemPrompt |
|
|
125
|
+
| **只动你自己的配置与界面** | `env`(保存即写进宿主的 `process.env`,环境变量仍是你自己的配置)· `profile` · `kit-settings` · `mcp`(它是配置入口——自己不加工具,你填进去的服务器会) |
|
|
126
|
+
|
|
127
|
+
一次装齐就是聚合包,**权限敞口是各包的并集**——不知道要哪个就先别装它:
|
|
91
128
|
|
|
92
129
|
```sh
|
|
93
130
|
dsh plugin --profile web add @hyzyn/dsh-all # 聚合安装包
|
|
94
131
|
dsh plugin --profile web add @hyzyn/dsh-plugin-kit # 仓库根 bundle(同样挂载全家桶)
|
|
95
132
|
```
|
|
96
133
|
|
|
97
|
-
装完**重启** `dsh web
|
|
98
|
-
|
|
134
|
+
装完**重启** `dsh web`,插件配置页里出现全部条目即生效;条目没出现多半就是没重启,
|
|
135
|
+
也可以用 `dsh --profile web --dump-config` 确认插件配置层已挂载。
|
|
99
136
|
卸载:`dsh plugin --profile web remove @hyzyn/dsh-all`(或对应子包名),再重启。
|
|
100
137
|
|
|
101
138
|
> **配置入口在哪一版**:DSH ≥ `0.1.6-alpha.2` 有**两个**入口,指向同一份配置——侧边栏
|
|
@@ -104,11 +141,14 @@ dsh plugin --profile web add @hyzyn/dsh-plugin-kit # 仓库根 bundle(
|
|
|
104
141
|
> DSH ≤ `0.1.5` 是**设置 → 插件 →「插件配置」**标签页里的卡片。
|
|
105
142
|
> 客户端半体同时注册三代插槽(`plugins.row.config`、`settings.kit.item`、`settings.plugin.item`),
|
|
106
143
|
> 一份产物在各代上都能用。
|
|
144
|
+
> 这份配置本身落在**当前 profile 的插件 entry**(`cordis.patch.yml` 用户层),不再是全局 `settings.yaml`
|
|
145
|
+
> section,见 [术语表](docs/glossary.md)。
|
|
146
|
+
|
|
147
|
+
装不上 / 卡片不出现 / **插件整体消失** / 接口报 401、403 → [docs/troubleshooting.md](docs/troubleshooting.md)。
|
|
107
148
|
|
|
108
149
|
### 从 GitHub 仓库安装(开发调试)
|
|
109
150
|
|
|
110
|
-
|
|
111
|
-
(`package.json#dsh.bundle.patch`,由 `pnpm aggregate` 生成):
|
|
151
|
+
仓库根目录本身也是一个 DSH bundle(`package.json#dsh.bundle.patch`,由 `pnpm aggregate` 生成):
|
|
112
152
|
|
|
113
153
|
```sh
|
|
114
154
|
git clone https://github.com/hyzyn/dsh-plugin-kit.git
|
|
@@ -124,22 +164,10 @@ dsh web
|
|
|
124
164
|
> 不要再 add 根包(或 `packages/all`),否则插件行重复挂载会在启动时报
|
|
125
165
|
> `duplicate loader entry id`。
|
|
126
166
|
|
|
127
|
-
>
|
|
167
|
+
> 只想用某个子包:最后一步改为 `dsh plugin --profile web add link:$(pwd)/packages/<name>`。
|
|
128
168
|
|
|
129
169
|
> 根包声明了 `dsh` 字段后,GitHub 的 DSH 插件市场会把本仓库识别为 DSH 插件(cordis-plugin)。
|
|
130
170
|
|
|
131
|
-
### 单独安装某个插件
|
|
132
|
-
|
|
133
|
-
不想装全家桶时,把包名换成上表里的任意一个即可(`@hyzyn/dsh-all` → `@hyzyn/dsh-<包名>`):
|
|
134
|
-
|
|
135
|
-
```sh
|
|
136
|
-
dsh plugin --profile web add @hyzyn/dsh-env # 环境变量 / 密钥管理
|
|
137
|
-
dsh plugin --profile web add @hyzyn/dsh-tty # 终端面板
|
|
138
|
-
dsh plugin --profile web add @hyzyn/dsh-docker # Docker 容器面板
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
装不上 / 卡片不出现 / **插件整体消失** / 接口报 401、403 → [docs/troubleshooting.md](docs/troubleshooting.md)。
|
|
142
|
-
|
|
143
171
|
## 开发新插件
|
|
144
172
|
|
|
145
173
|
```sh
|
|
@@ -173,9 +201,9 @@ dsh plugin --profile web add link:$(pwd)/packages/<name>
|
|
|
173
201
|
| 真机测试怎么跑、什么算通过 | [docs/agent-real-test.md](docs/agent-real-test.md) |
|
|
174
202
|
| 某个跨包方案的完整设计与验收(跳板机 / 就地提权 / i18n…) | `docs/` 下的 `*-plan.md` 与 `i18n.md`,由 [conventions.md 的知识归属表](docs/conventions.md) 路由 |
|
|
175
203
|
| Windows 11 真机环境搭建 | [scripts/windows/README.md](scripts/windows/README.md) |
|
|
176
|
-
| 跨包待办 | [ROADMAP.md](ROADMAP.md) |
|
|
177
|
-
| 发版流程 | [RELEASING.md](RELEASING.md) |
|
|
178
204
|
| 开发环境里插件与宿主的 runtime 链接 | [docs/link-dsh-runtime.md](docs/link-dsh-runtime.md) |
|
|
205
|
+
| 跨包待办 | [ROADMAP.md](ROADMAP.md) |
|
|
206
|
+
| 发版流程(含 cohort 变更清单) | [RELEASING.md](RELEASING.md) |
|
|
179
207
|
| 某个包怎么用 | `packages/<pkg>/README.md` |
|
|
180
208
|
| 某个编号是什么意思 | `packages/<pkg>/DEFECTS.md` |
|
|
181
209
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyzyn/dsh-plugin-kit",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.45",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "通用 DSH 插件库(pnpm monorepo):模板插件、插件开发工具包、一键聚合安装包。根包同时是全家桶 bundle(dsh.bundle.patch),DSH 与插件市场可直接识别安装。",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -40,19 +40,19 @@
|
|
|
40
40
|
"access": "public"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@hyzyn/dsh-codegraph": "0.6.
|
|
44
|
-
"@hyzyn/dsh-docker": "0.9.
|
|
45
|
-
"@hyzyn/dsh-env": "0.3.
|
|
46
|
-
"@hyzyn/dsh-kit-settings": "0.2.
|
|
47
|
-
"@hyzyn/dsh-mcp": "0.
|
|
48
|
-
"@hyzyn/dsh-profile": "0.2.
|
|
49
|
-
"@hyzyn/dsh-prompt": "0.2.
|
|
50
|
-
"@hyzyn/dsh-rss": "0.4.
|
|
51
|
-
"@hyzyn/dsh-search": "0.4.
|
|
52
|
-
"@hyzyn/dsh-tty": "0.
|
|
43
|
+
"@hyzyn/dsh-codegraph": "0.6.3",
|
|
44
|
+
"@hyzyn/dsh-docker": "0.9.4",
|
|
45
|
+
"@hyzyn/dsh-env": "0.3.3",
|
|
46
|
+
"@hyzyn/dsh-kit-settings": "0.2.2",
|
|
47
|
+
"@hyzyn/dsh-mcp": "0.3.0",
|
|
48
|
+
"@hyzyn/dsh-profile": "0.2.3",
|
|
49
|
+
"@hyzyn/dsh-prompt": "0.2.3",
|
|
50
|
+
"@hyzyn/dsh-rss": "0.4.3",
|
|
51
|
+
"@hyzyn/dsh-search": "0.4.3",
|
|
52
|
+
"@hyzyn/dsh-tty": "0.24.0"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"@deepseek-ai/dsh": "^0.1.7-rc.2 || ^0.2.0-rc.1"
|
|
55
|
+
"@deepseek-ai/dsh": "^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.0-rc.2"
|
|
56
56
|
},
|
|
57
57
|
"peerDependenciesMeta": {
|
|
58
58
|
"@deepseek-ai/dsh": {
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"test:watch": "vitest",
|
|
67
67
|
"create-plugin": "node scripts/create-plugin.mjs",
|
|
68
68
|
"aggregate": "node scripts/aggregate.mjs",
|
|
69
|
-
"live-smoke": "node scripts/live-host-smoke.mjs"
|
|
69
|
+
"live-smoke": "node scripts/live-host-smoke.mjs",
|
|
70
|
+
"verify:list": "node scripts/verify-list.mjs"
|
|
70
71
|
}
|
|
71
72
|
}
|