dsh-pstack 0.2.0-beta.3 → 0.2.1
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 +35 -16
- package/README.zh.md +36 -17
- package/assets/pstack-config-entry.png +0 -0
- package/cordis.patch.yml +12 -0
- package/dist/client.mjs +2448 -0
- package/dist/client.mjs.map +1 -0
- package/dist/index.mjs +1 -1
- package/dist/{paths-BT77khwm.mjs → paths-yji9SNak.mjs} +0 -1
- package/dist/pstack/docs/harness/dsh.md +7 -7
- package/dist/remote.d.mts +27 -0
- package/dist/remote.mjs +235 -0
- package/dist/role-catalog.d.mts +35 -0
- package/dist/role-catalog.mjs +122 -0
- package/dist/role-config-a4JpVdc-.mjs +379 -0
- package/dist/role-manifest-79cnFfDM.mjs +112 -0
- package/dist/role-manifest-8OERX9-s.d.mts +90 -0
- package/dist/role-wire-CAJsVA6e.d.mts +54 -0
- package/dist/roles.d.mts +18 -0
- package/dist/roles.mjs +293 -0
- package/dist/script.mjs +1 -1
- package/dist/skills/authored/decision-audit/SKILL.md +21 -17
- package/dist/skills/authored/decision-audit/SKILL.zh.md +21 -17
- package/dist/skills/authored/decision-audit/references/recover-commit.md +3 -3
- package/dist/skills/authored/decision-audit/references/recover-commit.zh.md +3 -3
- package/dist/skills/authored/decision-write/SKILL.md +11 -9
- package/dist/skills/authored/decision-write/SKILL.zh.md +11 -9
- package/dist/skills/authored/decision-write/references/land.md +3 -3
- package/dist/skills/authored/decision-write/references/land.zh.md +3 -3
- package/dist/skills/authored/decision-write/references/scope.md +16 -0
- package/dist/skills/authored/decision-write/references/scope.zh.md +16 -0
- package/dist/skills/authored/docs-drift/SKILL.md +120 -0
- package/dist/skills/authored/docs-drift/SKILL.zh.md +120 -0
- package/dist/skills/authored/setup-project-docs/SKILL.md +14 -9
- package/dist/skills/authored/setup-project-docs/SKILL.zh.md +14 -9
- package/dist/skills/authored/setup-project-docs/references/decision-conventions.md +3 -1
- package/dist/skills/authored/setup-project-docs/references/decision-conventions.zh.md +3 -1
- package/dist/subagent.d.mts +27 -20
- package/dist/subagent.mjs +71 -448
- package/package.json +34 -3
package/README.md
CHANGED
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
<p align="center">
|
|
16
16
|
<a href="https://npmx.dev/package/dsh-pstack"><img src="https://img.shields.io/npm/v/dsh-pstack?style=flat-square&colorA=080f12&colorB=1fa669" alt="npm version" /></a>
|
|
17
17
|
<a href="https://npmx.dev/package/dsh-pstack"><img src="https://img.shields.io/npm/dm/dsh-pstack?style=flat-square&colorA=080f12&colorB=1fa669" alt="npm downloads" /></a>
|
|
18
|
-
<a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/dsh
|
|
18
|
+
<a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/dsh-%3E%3D0.2.1--rc.5-1f6feb?style=flat-square" alt="dsh >=0.2.1-rc.5" /></a>
|
|
19
19
|
<a href="https://github.com/cursor/plugins/tree/main/pstack"><img src="https://img.shields.io/badge/pstack-0.15.36-d97706?style=flat-square" alt="pstack 0.15.36" /></a>
|
|
20
20
|
</p>
|
|
21
21
|
|
|
22
22
|
<p align="center">
|
|
23
23
|
<a href="https://github.com/l246804/dsh-pstack/blob/main/LICENSE"><img src="https://img.shields.io/github/license/l246804/dsh-pstack?style=flat-square&colorA=080f12&colorB=1fa669" alt="license" /></a>
|
|
24
|
-
<a href="https://
|
|
24
|
+
<a href="https://npmx.dev/package/dsh-pstack"><img src="https://img.shields.io/npm/unpacked-size/dsh-pstack?style=flat-square&colorA=080f12&colorB=1fa669" alt="unpacked size" /></a>
|
|
25
25
|
<a href="https://www.jsdocs.io/package/dsh-pstack"><img src="https://img.shields.io/badge/jsdocs-reference-080f12?style=flat-square&colorA=080f12&colorB=1fa669" alt="JSDocs" /></a>
|
|
26
26
|
</p>
|
|
27
27
|
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<tr>
|
|
31
31
|
<td align="center"><strong>58</strong><br /><sub>pstack skills</sub></td>
|
|
32
32
|
<td align="center"><strong>23</strong><br /><sub>playbooks</sub></td>
|
|
33
|
-
<td align="center"><strong>
|
|
33
|
+
<td align="center"><strong>5</strong><br /><sub>native tools</sub></td>
|
|
34
34
|
<td align="center"><strong>2</strong><br /><sub>agent presets</sub></td>
|
|
35
35
|
<td align="center"><strong>5</strong><br /><sub>bundled scripts</sub></td>
|
|
36
36
|
</tr>
|
|
@@ -42,17 +42,18 @@
|
|
|
42
42
|
<a href="#capabilities">Capabilities</a> ·
|
|
43
43
|
<a href="#skills-directory">Skills directory</a> ·
|
|
44
44
|
<a href="#optional-dsh-plugins">Optional DSH plugins</a> ·
|
|
45
|
-
<a href="#compatibility">Compatibility</a>
|
|
45
|
+
<a href="#compatibility">Compatibility</a> ·
|
|
46
|
+
<a href="#friendly-links">Friendly Links</a>
|
|
46
47
|
</p>
|
|
47
48
|
|
|
48
|
-
`dsh-pstack` ports [pstack](https://github.com/cursor/plugins/tree/main/pstack) to [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH). It keeps the upstream pstack skills, playbooks, and reference documents.
|
|
49
|
+
`dsh-pstack` ports [pstack](https://github.com/cursor/plugins/tree/main/pstack) to [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH). It keeps the upstream pstack skills, playbooks, and reference documents. Five native tools fill the gaps in DSH's interfaces, while an adaptation layer maps Cursor's tool names, subagent fields, model slugs, and paths to DSH.
|
|
49
50
|
|
|
50
51
|
Most upstream pstack skills declare `disable-model-invocation: true`. `poteto-mode` routes to those hidden skills by name, but DSH's `skill` tool only exposes the model-visible catalog. DSH also has no equivalents for Cursor's model slugs, `subagent_type`, `readonly`, and Bun scripts. dsh-pstack handles those differences in the plugin layer. You can start with `/poteto-mode` after installation.
|
|
51
52
|
|
|
52
53
|
See [`pstack/README.md`](./pstack/README.md) for the full capability map, gaps, and acceptance status.
|
|
53
54
|
|
|
54
55
|
> [!IMPORTANT]
|
|
55
|
-
>
|
|
56
|
+
> Requires DSH `>=0.2.1-rc.5` and Node.js `>=24.21.1`. Newer DSH versions remain supported by default; only confirmed incompatibilities are listed in [Compatibility](#compatibility).
|
|
56
57
|
|
|
57
58
|
## Quick start
|
|
58
59
|
|
|
@@ -72,7 +73,7 @@ See [`pstack/README.md`](./pstack/README.md) for the full capability map, gaps,
|
|
|
72
73
|
/setup-pstack
|
|
73
74
|
```
|
|
74
75
|
|
|
75
|
-
This command reads the providers, models, and reasoning efforts available in the current deployment. It writes them to `$DSH_HOME/pstack-models.mdc`. Without this file, every role inherits the parent's routing.
|
|
76
|
+
This command reads the providers, models, and reasoning efforts available in the current deployment. It writes them to `$DSH_HOME/pstack-models.mdc`. Without this file, every role inherits the parent's routing. After setup, the same values can be viewed and edited on **Plugins → Installed plugins → dsh-pstack**.
|
|
76
77
|
|
|
77
78
|
### Common entry points
|
|
78
79
|
|
|
@@ -86,6 +87,7 @@ See [`pstack/README.md`](./pstack/README.md) for the full capability map, gaps,
|
|
|
86
87
|
| `/statechart` | Checks state models with TLA+ and TLC, and outputs a Mermaid state diagram. |
|
|
87
88
|
| `/show-me-your-work` | Maintains a TSV decision log and audits the current work. |
|
|
88
89
|
| `/retro` | Reviews a coding session's environment. |
|
|
90
|
+
| `/docs-drift` | Audits project-discovered documentation; `report` is read-only, while `fix` repairs approved findings. |
|
|
89
91
|
|
|
90
92
|
## Capabilities
|
|
91
93
|
|
|
@@ -95,11 +97,18 @@ See [`pstack/README.md`](./pstack/README.md) for the full capability map, gaps,
|
|
|
95
97
|
|---|---|
|
|
96
98
|
| `pstack_skill` | Loads a hidden skill registered by this plugin by name, and reads relative resources inside the skill directory. |
|
|
97
99
|
| `pstack_models` | Read-only list of the providers, models, and efforts DSH actually offers, used by `/setup-pstack`. |
|
|
100
|
+
| `pstack_roles` | Read-only list of every pstack role's shape and whether it is an automatic panel, so a `pstack_subagent` call passes the right `roleIndex`. |
|
|
98
101
|
| `pstack_subagent` | Reads `$DSH_HOME/pstack-models.mdc` per role, parses `provider/model [effort]`, selects a preset by `agent`, and can start several subagents at once. |
|
|
99
102
|
| `pstack_script` | Runs bundled Node scripts by fixed id without Bun or shell scripts. |
|
|
100
103
|
|
|
101
104
|
The `poteto-agent` and `comment-sicko` presets handle implementation delegation and read-only comment review. `pstack_script` can run five bundled scripts: `check-plan`, `watch-pr`, `worktree-audit`, `log`, and `statechart`. The script ids form a closed enum and cannot be used to build arbitrary paths.
|
|
102
105
|
|
|
106
|
+
### Plugin configuration entry
|
|
107
|
+
|
|
108
|
+

|
|
109
|
+
|
|
110
|
+
Open **Plugins → Installed plugins → dsh-pstack** and click **Configure** in the bundle page header to open the configuration dialog.
|
|
111
|
+
|
|
103
112
|
## Skills directory
|
|
104
113
|
|
|
105
114
|
`skills/` is not an upstream pstack directory. It contains skills that pstack does not provide but real projects need. The source directories are `skills/authored/` and `skills/.agents/skills/`. The build publishes them to `dist/skills/authored/` and `dist/skills/vendored/`. `vendored` preserves open-source upstreams verbatim, while this repository maintains `authored`. References from pstack skills do not change these inclusion criteria.
|
|
@@ -111,12 +120,13 @@ The `poteto-agent` and `comment-sicko` presets handle implementation delegation
|
|
|
111
120
|
| `authored` | `decision-write` | Writes, lands, and supersedes decision records in Draft and Land modes, requiring `Status` and `Implemented-by` to appear together. | Adds the decision lifecycle that real projects often lack. |
|
|
112
121
|
| `authored` | `decision-audit` | Read-only audit of decision-record routing, status, scope, anchors, and supersession relationships. | Keeps decision records searchable and reviewable over time. |
|
|
113
122
|
| `authored` | `setup-project-docs` | Sets up architecture, glossary, decisions, and the root `AGENTS.md` pointers, and can be run repeatedly to fill gaps. | Gives a new project a sustainable documentation entry point. |
|
|
123
|
+
| `authored` | `docs-drift` | Discovers maintained documents through project pointers, checks implementation drift, contradictions, terminology, links, redundancy, and unsupported elaboration, and repairs approved findings. | Adds periodic documentation inspection and controlled cleanup without assuming a fixed document layout. |
|
|
114
124
|
|
|
115
125
|
`vendored` skills come from `mattpocock/skills@59db609eb1e18aaf59b63284d0e52255aff0c63c`. [`skills/skills-lock.json`](./skills/skills-lock.json) records their sources, paths, and hashes. Both skill trees ship with the package, but they do not correspond to upstream pstack versions.
|
|
116
126
|
|
|
117
127
|
## Optional DSH plugins
|
|
118
128
|
|
|
119
|
-
DSH
|
|
129
|
+
DSH provides the following optional plugins, which are disabled by default. Most ship with DSH; `@deepseek-ai/dsh-cua-bundle` installs on demand. dsh-pstack does not require them during installation. Some pstack flows need these plugins to run end to end. To enable a plugin, enter its package name in **Add plugin** on the Plugins page. Alternatively, run `dsh plugin --profile <profile> add <package>`, then restart the profile. Except for `@deepseek-ai/dsh-mcp-client`, the bundles and providers here are experimental.
|
|
120
130
|
|
|
121
131
|
> [!NOTE]
|
|
122
132
|
> Without an optional plugin, the pstack skills still load. Steps that need the plugin print `Skipped in DeepSeek Harness: <step>. <reason>.` and continue. Missing `gh`, Java/TLC, or video tools also cause the corresponding steps to report blocked or degrade to screenshots. dsh-pstack never marks an unrun step as passed.
|
|
@@ -127,7 +137,7 @@ DSH ships with the following plugins, which are disabled by default. dsh-pstack
|
|
|
127
137
|
|---|---|---|
|
|
128
138
|
| `@deepseek-ai/dsh-experimental-session-search` | Five read-only tools search and trace historical Sessions for `/recall`, `/reflect`, and `/show-me-your-work`: `session_search`, `session_event_search`, `session_trace`, `session_event_trace`, and `session_event_read`. | Matches only Sessions with the same `cwd`; use `session_event_search` for the current Session; there is no Cursor `.jsonl` transcript path. |
|
|
129
139
|
| `@deepseek-ai/dsh-experimental-worktree`<br />`@deepseek-ai/dsh-experimental-tool-worktree` | `create_worktree` creates a local branch and worktree and switches the current Session directory, isolating parallel candidates for `/arena`, `/swarm`, and `/architect`. | `from` reads only local refs and does not fetch; there is no cloud VM; creating worktrees repeatedly changes `cwd`; it does not automatically give each subagent its own tree. |
|
|
130
|
-
| `@deepseek-ai/dsh-experimental-forge-bundle` | PR panel, checks, review, mark ready, merge, and Session binding, plus starting a Session from the composer with a new worktree, serving `/babysit`, `/shipping`, and `/autopilot-*`. | GitHub only, requires `gh` login; there is no
|
|
140
|
+
| `@deepseek-ai/dsh-experimental-forge-bundle` | PR panel, checks, review, mark ready, merge, and Session binding, plus starting a Session from the composer with a new worktree, serving `/babysit`, `/shipping`, and `/autopilot-*`. | GitHub only, requires `gh` login; there is no model-side change-request tool; there is no stack verdict or `origin` CLI; it can coexist with the worktree bundle. |
|
|
131
141
|
|
|
132
142
|
### Verification and evidence
|
|
133
143
|
|
|
@@ -135,16 +145,16 @@ Choose one of three browser providers: `@deepseek-ai/dsh-experimental-browser-us
|
|
|
135
145
|
|
|
136
146
|
| Plugin | Capability when enabled | Boundaries and conflicts |
|
|
137
147
|
|---|---|---|
|
|
138
|
-
| `@deepseek-ai/dsh-browser-use` + one provider | Navigation, clicking, typing, screenshots, and ARIA snapshots; Stagehand also provides act,
|
|
139
|
-
| `@deepseek-ai/dsh-cua-bundle` | macOS app clicking, typing, screenshots,
|
|
140
|
-
| `@deepseek-ai/dsh-experimental-terminal-bundle` | Six global terminal tools that keep a shell or REPL alive across calls
|
|
148
|
+
| `@deepseek-ai/dsh-browser-use` + one provider | Navigation, clicking, typing, screenshots, and ARIA snapshots; Stagehand also provides act, observe, and extract, for verification skills and UI reproduction. | The base package does nothing without a provider; one provider per Session; screenshots need an image-capable model; no video; Stagehand needs Chromium and a non-DeepSeek model. |
|
|
149
|
+
| `@deepseek-ai/dsh-cua-bundle` | macOS app clicking, typing, screenshots, permission pages, and session-level authorization, for desktop app verification. | macOS PTC only; single computer-use provider slot; Windows is incomplete; no video. |
|
|
150
|
+
| `@deepseek-ai/dsh-experimental-terminal-bundle` | Six global terminal tools that keep a shell or REPL alive across calls, support background send, and isolate terminals by owner, for CLI and TUI verification. | Terminal only; added to every Agent; persistent state must be cleaned up; switching invalidates the KV cache. |
|
|
141
151
|
| `@deepseek-ai/dsh-mcp-client` | Mounts MCP servers; tools appear as `mcp__<server>__<tool>`, and `mcp-resources` lists servers with resources, serving evidence investigation for `/why` and `/teach`. | No default server; configuration is per server; no automatic category discovery. |
|
|
142
152
|
|
|
143
153
|
### Multi-agent
|
|
144
154
|
|
|
145
155
|
| Plugin | Capability when enabled | Boundaries and conflicts |
|
|
146
156
|
|---|---|---|
|
|
147
|
-
| `@deepseek-ai/dsh-experimental-agent-team-profile` | Lead and teammate roles, a shared task board, nine team tools, and a Web roster, serving `/orchestrate` and `/autopilot-*`. | Disables `subagent` and `subagent_fork`. Conflicts with `pstack_subagent`. See the warning below. |
|
|
157
|
+
| `@deepseek-ai/dsh-experimental-agent-team-profile` | Lead and teammate roles, a shared task board, nine team tools, and a Web roster, serving `/orchestrate` and `/autopilot-*`. | Disables `subagent` and `subagent_fork`. Conflicts with `pstack_subagent`. There is no pstack PR frontier, ledger, or stack verdict. See the warning below. |
|
|
148
158
|
| `@deepseek-ai/dsh-experimental-ralph-bundle` | Global `ralph`, a foreground loop with a fresh child each round, serving `/autonomous-run`. | Not a persistent loop in the same Session; no event watcher; does not replace goals, heartbeats, or the decision log. |
|
|
149
159
|
|
|
150
160
|
> [!WARNING]
|
|
@@ -154,11 +164,16 @@ Choose one of three browser providers: `@deepseek-ai/dsh-experimental-browser-us
|
|
|
154
164
|
|
|
155
165
|
| Item | Version | Notes |
|
|
156
166
|
|---|---|---|
|
|
157
|
-
| DSH | `>=0.2.
|
|
158
|
-
| pstack | `0.15.36` | Upstream baseline commit `
|
|
167
|
+
| DSH | `>=0.2.1-rc.5` | Minimum supported version; verified through the `0.2.2-alpha.2` baseline |
|
|
168
|
+
| pstack | `0.15.36` | Upstream baseline commit `ae5650f` |
|
|
159
169
|
| Node.js | `>=24.21.1` | Runtime requirement |
|
|
160
170
|
| Cordis | `~4.0.6-alpha.1` | Peer dependency |
|
|
161
171
|
|
|
172
|
+
> [!NOTE]
|
|
173
|
+
> **DSH version support:** `engines.dsh` accepts every version `>=0.2.1-rc.5`, including newer prereleases. Routine DSH upgrades require no changes here. Add an entry only when a specific version is confirmed unsupported; raise the minimum only when a port fix requires it.
|
|
174
|
+
>
|
|
175
|
+
> **Known incompatible DSH versions:** None.
|
|
176
|
+
|
|
162
177
|
Before upgrading DSH, verify experimental plugin package names, tool names, and configuration in a test profile. Upgrading upstream pstack requires regenerating the tree and rechecking the adaptation table.
|
|
163
178
|
|
|
164
179
|
> [!CAUTION]
|
|
@@ -170,7 +185,11 @@ A worktree Session has a different `cwd` from the original Session. The session-
|
|
|
170
185
|
|
|
171
186
|
Upstream pstack adapts Claude Code with `docs/harness/claude-code.md`. It preserves the skill bodies. A separate host adaptation table maps `Task`, `AskQuestion`, todo, model slugs, and paths to the target host. The generator adds a one-line Claude Code adaptation note to skills that use Cursor names. Unsupported capabilities report `Skipped in Claude Code: <step>. <reason>.`
|
|
172
187
|
|
|
173
|
-
dsh-pstack follows the same approach. The main adaptation document is [`pstack/harness/docs/harness/dsh.md`](./pstack/harness/docs/harness/dsh.md). It covers Tools, Subagent fields, Models, setup-pstack, Paths,
|
|
188
|
+
dsh-pstack follows the same approach. The main adaptation document is [`pstack/harness/docs/harness/dsh.md`](./pstack/harness/docs/harness/dsh.md). It covers Tools, Subagent fields, Models, setup-pstack, Paths, Cursor-only features, Local replacements, and Optional plugins. The `pstack_*` tools, agent presets, and Node scripts replace fields that DSH lacks. At build time, upstream pstack and the local adaptation tree are rendered into `pstack/pstack/`, then packaged with `src/*.ts` and `skills/` into `dist/`.
|
|
189
|
+
|
|
190
|
+
## Friendly Links
|
|
191
|
+
|
|
192
|
+
[LinuxDo](https://linux.do/) — the new ideal community
|
|
174
193
|
|
|
175
194
|
## Credits
|
|
176
195
|
|
package/README.zh.md
CHANGED
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
<p align="center">
|
|
16
16
|
<a href="https://npmx.dev/package/dsh-pstack"><img src="https://img.shields.io/npm/v/dsh-pstack?style=flat-square&colorA=080f12&colorB=1fa669" alt="npm version" /></a>
|
|
17
17
|
<a href="https://npmx.dev/package/dsh-pstack"><img src="https://img.shields.io/npm/dm/dsh-pstack?style=flat-square&colorA=080f12&colorB=1fa669" alt="npm downloads" /></a>
|
|
18
|
-
<a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/dsh
|
|
18
|
+
<a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/dsh-%3E%3D0.2.1--rc.5-1f6feb?style=flat-square" alt="dsh >=0.2.1-rc.5" /></a>
|
|
19
19
|
<a href="https://github.com/cursor/plugins/tree/main/pstack"><img src="https://img.shields.io/badge/pstack-0.15.36-d97706?style=flat-square" alt="pstack 0.15.36" /></a>
|
|
20
20
|
</p>
|
|
21
21
|
|
|
22
22
|
<p align="center">
|
|
23
23
|
<a href="https://github.com/l246804/dsh-pstack/blob/main/LICENSE"><img src="https://img.shields.io/github/license/l246804/dsh-pstack?style=flat-square&colorA=080f12&colorB=1fa669" alt="license" /></a>
|
|
24
|
-
<a href="https://
|
|
24
|
+
<a href="https://npmx.dev/package/dsh-pstack"><img src="https://img.shields.io/npm/unpacked-size/dsh-pstack?style=flat-square&colorA=080f12&colorB=1fa669" alt="unpacked size" /></a>
|
|
25
25
|
<a href="https://www.jsdocs.io/package/dsh-pstack"><img src="https://img.shields.io/badge/jsdocs-reference-080f12?style=flat-square&colorA=080f12&colorB=1fa669" alt="JSDocs" /></a>
|
|
26
26
|
</p>
|
|
27
27
|
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<tr>
|
|
31
31
|
<td align="center"><strong>58</strong><br /><sub>pstack 技能</sub></td>
|
|
32
32
|
<td align="center"><strong>23</strong><br /><sub>playbook</sub></td>
|
|
33
|
-
<td align="center"><strong>
|
|
33
|
+
<td align="center"><strong>5</strong><br /><sub>原生工具</sub></td>
|
|
34
34
|
<td align="center"><strong>2</strong><br /><sub>agent preset</sub></td>
|
|
35
35
|
<td align="center"><strong>5</strong><br /><sub>随包脚本</sub></td>
|
|
36
36
|
</tr>
|
|
@@ -42,17 +42,18 @@
|
|
|
42
42
|
<a href="#能力">能力</a> ·
|
|
43
43
|
<a href="#skills-目录">skills 目录</a> ·
|
|
44
44
|
<a href="#可选-dsh-插件">可选 DSH 插件</a> ·
|
|
45
|
-
<a href="#兼容性">兼容性</a>
|
|
45
|
+
<a href="#兼容性">兼容性</a> ·
|
|
46
|
+
<a href="#友情链接">友情链接</a>
|
|
46
47
|
</p>
|
|
47
48
|
|
|
48
|
-
`dsh-pstack` 是 [pstack](https://github.com/cursor/plugins/tree/main/pstack) 的 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(DSH)移植。它保留上游 pstack 的技能、playbook 与参考文档。
|
|
49
|
+
`dsh-pstack` 是 [pstack](https://github.com/cursor/plugins/tree/main/pstack) 的 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(DSH)移植。它保留上游 pstack 的技能、playbook 与参考文档。5 个原生工具补上 DSH 的接口缺口,适配层则把 Cursor 的工具名、子代理字段、模型 slug 和路径映射到 DSH。
|
|
49
50
|
|
|
50
51
|
上游 pstack 的技能大多声明 `disable-model-invocation: true`。`poteto-mode` 按名称路由到这些隐藏技能,但 DSH 的 `skill` 工具只暴露模型可见目录。DSH 也没有与 Cursor 的模型 slug、`subagent_type`、`readonly` 和 Bun 脚本对等的接口。dsh-pstack 在插件层处理这些差异,安装后可以从 `/poteto-mode` 开始工作。
|
|
51
52
|
|
|
52
53
|
完整能力映射、缺口和验收状态见 [`pstack/README.md`](./pstack/README.md)。
|
|
53
54
|
|
|
54
55
|
> [!IMPORTANT]
|
|
55
|
-
>
|
|
56
|
+
> 要求 DSH `>=0.2.1-rc.5`、Node.js `>=24.21.1`。默认支持更高版本的 DSH;只有确认不兼容的版本才会列入 [兼容性](#兼容性)。
|
|
56
57
|
|
|
57
58
|
## 快速开始
|
|
58
59
|
|
|
@@ -62,7 +63,7 @@
|
|
|
62
63
|
dsh plugin --profile web add dsh-pstack
|
|
63
64
|
```
|
|
64
65
|
|
|
65
|
-
也可以在 Web 或 Desktop
|
|
66
|
+
也可以在 Web 或 Desktop 的「插件」页面安装。
|
|
66
67
|
|
|
67
68
|
2. 重启对应的 profile,或新开一个 Session。
|
|
68
69
|
|
|
@@ -72,7 +73,7 @@
|
|
|
72
73
|
/setup-pstack
|
|
73
74
|
```
|
|
74
75
|
|
|
75
|
-
该命令读取当前部署提供的 provider、model 与 reasoning effort,并写入 `$DSH_HOME/pstack-models.mdc
|
|
76
|
+
该命令读取当前部署提供的 provider、model 与 reasoning effort,并写入 `$DSH_HOME/pstack-models.mdc`。缺少这个文件时,所有角色继承父级路由。初始化后可在 **插件 → 已安装插件 → dsh-pstack** 查看和编辑同一份配置。
|
|
76
77
|
|
|
77
78
|
### 常用入口
|
|
78
79
|
|
|
@@ -86,6 +87,7 @@
|
|
|
86
87
|
| `/statechart` | 用 TLA+ 与 TLC 检查状态模型,输出 Mermaid 状态图 |
|
|
87
88
|
| `/show-me-your-work` | 维护 TSV 决策日志,审计当前工作 |
|
|
88
89
|
| `/retro` | 对一次编码会话做环境复盘 |
|
|
90
|
+
| `/docs-drift` | 巡检项目自身指针发现的文档;`report` 只读,`fix` 仅修复获批项。 |
|
|
89
91
|
|
|
90
92
|
## 能力
|
|
91
93
|
|
|
@@ -95,11 +97,18 @@
|
|
|
95
97
|
|---|---|
|
|
96
98
|
| `pstack_skill` | 按名称加载本插件注册的隐藏技能,也能读取技能目录内的相对资源。 |
|
|
97
99
|
| `pstack_models` | 只读列出 DSH 实际提供的 provider、model 和 effort,供 `/setup-pstack` 使用。 |
|
|
100
|
+
| `pstack_roles` | 只读列出每个 pstack 角色的 shape 与是否为自动面板,帮助 `pstack_subagent` 调用传对 `roleIndex`。 |
|
|
98
101
|
| `pstack_subagent` | 按角色读取 `$DSH_HOME/pstack-models.mdc`,解析 `provider/model [effort]`,按 `agent` 选择 preset,一次可启动多个子代理。 |
|
|
99
102
|
| `pstack_script` | 用固定 id 运行随包 Node 脚本,不依赖 Bun 或 shell 脚本。 |
|
|
100
103
|
|
|
101
104
|
`poteto-agent` 和 `comment-sicko` 两个 preset 分别负责实现型委派与只读评论审查。`pstack_script` 可以运行 `check-plan`、`watch-pr`、`worktree-audit`、`log`、`statechart` 五个随包脚本,脚本 id 是封闭枚举,不能拼任意路径。
|
|
102
105
|
|
|
106
|
+
### 插件配置入口
|
|
107
|
+
|
|
108
|
+

|
|
109
|
+
|
|
110
|
+
打开 **插件 → 已安装插件 → dsh-pstack**,点击 bundle 页头右上角的 **配置** 按钮即可打开配置弹窗。
|
|
111
|
+
|
|
103
112
|
## skills 目录
|
|
104
113
|
|
|
105
114
|
`skills/` 不是 pstack 上游目录。它只收 pstack 没提供、真实项目开发中又需要的技能。源目录是 `skills/authored/` 和 `skills/.agents/skills/`,构建后分别发布到 `dist/skills/authored/` 和 `dist/skills/vendored/`。`vendored` 逐字保留开源上游,`authored` 由本仓维护。pstack 技能对它们的引用只是使用关系,不改变收录标准。
|
|
@@ -111,12 +120,13 @@
|
|
|
111
120
|
| `authored` | `decision-write` | 决策记录的写入、落地和取代,Draft 与 Land 两种模式,`Status` 与 `Implemented-by` 必须成对。 | 补上真实项目常缺的决策生命周期。 |
|
|
112
121
|
| `authored` | `decision-audit` | 只读审计决策记录的路由、状态、Scope、锚点与取代关系。 | 让决策记录持续可检索、可复核。 |
|
|
113
122
|
| `authored` | `setup-project-docs` | 搭建 architecture、glossary、decisions 与根 `AGENTS.md` 指针,可重复补齐。 | 给新项目一套可持续的项目文档入口。 |
|
|
123
|
+
| `authored` | `docs-drift` | 从项目指针发现维护文档,检查实现漂移、矛盾、术语、链接、冗余与无依据扩写,仅修复获批项。 | 不依赖固定文档布局,补充周期性文档巡检与受控清理。 |
|
|
114
124
|
|
|
115
125
|
`vendored` 技能来自 `mattpocock/skills@59db609eb1e18aaf59b63284d0e52255aff0c63c`,来源、路径和哈希记录在 [`skills/skills-lock.json`](./skills/skills-lock.json)。两棵技能树都随包发布,但和 pstack 上游版本没有对应关系。
|
|
116
126
|
|
|
117
127
|
## 可选 DSH 插件
|
|
118
128
|
|
|
119
|
-
|
|
129
|
+
DSH 提供以下可选插件,默认关闭。多数随 DSH 提供,`@deepseek-ai/dsh-cua-bundle` 需按需安装。安装 dsh-pstack 时不要求安装这些插件,但部分 pstack 流程需要它们才能完整执行。要启用插件,在「插件」页面用**添加插件**输入包名。也可以运行 `dsh plugin --profile <profile> add <package>`,然后重启 profile。除 `@deepseek-ai/dsh-mcp-client` 外,本节列出的 bundle 与 provider 都是实验性的。
|
|
120
130
|
|
|
121
131
|
> [!NOTE]
|
|
122
132
|
> 未启用可选插件时,pstack 技能仍可加载。需要插件的步骤会输出 `Skipped in DeepSeek Harness: <step>. <reason>.` 后继续。缺少 `gh`、Java/TLC 或视频工具时,对应步骤会报告 blocked 或降级为截图。dsh-pstack 不会把未运行的步骤标记为通过。
|
|
@@ -127,7 +137,7 @@
|
|
|
127
137
|
|---|---|---|
|
|
128
138
|
| `@deepseek-ai/dsh-experimental-session-search` | 5 个只读工具:`session_search`、`session_event_search`、`session_trace`、`session_event_trace`、`session_event_read`,搜索和追踪历史会话,服务 `/recall`、`/reflect`、`/show-me-your-work`。 | 只匹配同一 `cwd` 的会话;当前会话用 `session_event_search`;没有 Cursor 的 `.jsonl` 转写路径。 |
|
|
129
139
|
| `@deepseek-ai/dsh-experimental-worktree`<br />`@deepseek-ai/dsh-experimental-tool-worktree` | `create_worktree` 建本地分支和工作树,切换当前 Session 目录,用于 `/arena`、`/swarm`、`/architect` 的并行候选隔离。 | `from` 只读本地 ref,不 fetch;无云 VM;连续建树会改 `cwd`;不会自动给每个子代理分树。 |
|
|
130
|
-
| `@deepseek-ai/dsh-experimental-forge-bundle` | PR 面板、checks、review、mark ready、merge、Session 绑定,也能从 composer 用新 worktree 启动 Session,服务 `/babysit`、`/shipping`、`/autopilot-*`。 | 仅 GitHub,需 `gh`
|
|
140
|
+
| `@deepseek-ai/dsh-experimental-forge-bundle` | PR 面板、checks、review、mark ready、merge、Session 绑定,也能从 composer 用新 worktree 启动 Session,服务 `/babysit`、`/shipping`、`/autopilot-*`。 | 仅 GitHub,需 `gh` 登录;模型侧没有变更请求工具;没有 stack verdict,也没有 `origin` CLI;可与 worktree bundle 共存。 |
|
|
131
141
|
|
|
132
142
|
### 验证与证据
|
|
133
143
|
|
|
@@ -135,16 +145,16 @@
|
|
|
135
145
|
|
|
136
146
|
| 插件 | 打开后的能力 | 边界与冲突 |
|
|
137
147
|
|---|---|---|
|
|
138
|
-
| `@deepseek-ai/dsh-browser-use` + 一个 provider | 导航、点击、输入、截图和 ARIA snapshot;Stagehand 另有 act、
|
|
139
|
-
| `@deepseek-ai/dsh-cua-bundle` | macOS
|
|
140
|
-
| `@deepseek-ai/dsh-experimental-terminal-bundle` | 6 个全局终端工具,跨调用保持 shell / REPL,支持后台 send
|
|
148
|
+
| `@deepseek-ai/dsh-browser-use` + 一个 provider | 导航、点击、输入、截图和 ARIA snapshot;Stagehand 另有 act、observe、extract,用于验证技能和 UI 复现。 | 基础包没有 provider 时不生效;每个 Session 一个 provider;截图要图像模型;无视频;Stagehand 需要 Chromium 和非 DeepSeek 模型。 |
|
|
149
|
+
| `@deepseek-ai/dsh-cua-bundle` | macOS 应用点击、输入、截图、权限页和会话级授权,用于桌面应用验证。 | 仅 macOS PTC;单 computer-use provider 槽;Windows 未完成;无视频。 |
|
|
150
|
+
| `@deepseek-ai/dsh-experimental-terminal-bundle` | 6 个全局终端工具,跨调用保持 shell / REPL,支持后台 send 和按 owner 隔离,用于 CLI / TUI 验证。 | 只覆盖终端;会加到所有 Agent;持久状态要清理;切换会失效 KV cache。 |
|
|
141
151
|
| `@deepseek-ai/dsh-mcp-client` | 挂载 MCP server,工具以 `mcp__<server>__<tool>` 出现,`mcp-resources` 列出带资源的 server,服务 `/why`、`/teach` 的证据调查。 | 无默认 server;需逐项配置;无自动类别发现。 |
|
|
142
152
|
|
|
143
153
|
### 多代理
|
|
144
154
|
|
|
145
155
|
| 插件 | 打开后的能力 | 边界与冲突 |
|
|
146
156
|
|---|---|---|
|
|
147
|
-
| `@deepseek-ai/dsh-experimental-agent-team-profile` | Lead / teammate、共享任务板、9 个团队工具和 Web roster,服务 `/orchestrate`、`/autopilot-*`。 | 禁用 `subagent` 和 `subagent_fork`,与 `pstack_subagent`
|
|
157
|
+
| `@deepseek-ai/dsh-experimental-agent-team-profile` | Lead / teammate、共享任务板、9 个团队工具和 Web roster,服务 `/orchestrate`、`/autopilot-*`。 | 禁用 `subagent` 和 `subagent_fork`,与 `pstack_subagent` 冲突。没有 pstack 的 PR frontier、ledger 或 stack verdict。见下方警告。 |
|
|
148
158
|
| `@deepseek-ai/dsh-experimental-ralph-bundle` | 全局 `ralph`,每轮 fresh child 的 foreground 循环,服务 `/autonomous-run`。 | 不是同一 Session 常驻循环;无事件 watcher;不替代 goal、心跳和 decision log。 |
|
|
149
159
|
|
|
150
160
|
> [!WARNING]
|
|
@@ -154,11 +164,16 @@
|
|
|
154
164
|
|
|
155
165
|
| 项目 | 版本 | 说明 |
|
|
156
166
|
|---|---|---|
|
|
157
|
-
| DSH | `>=0.2.
|
|
158
|
-
| pstack | `0.15.36` | 上游基线提交 `
|
|
167
|
+
| DSH | `>=0.2.1-rc.5` | 最低支持版本;已验证至 `0.2.2-alpha.2` 基线 |
|
|
168
|
+
| pstack | `0.15.36` | 上游基线提交 `ae5650f` |
|
|
159
169
|
| Node.js | `>=24.21.1` | 运行时要求 |
|
|
160
170
|
| Cordis | `~4.0.6-alpha.1` | peer dependency |
|
|
161
171
|
|
|
172
|
+
> [!NOTE]
|
|
173
|
+
> **DSH 版本支持:** `engines.dsh` 接受所有 `>=0.2.1-rc.5` 的版本,包括更高的预发布版。DSH 正常升级时无需修改此处;只有确认某个版本不受支持时才添加条目,只有移植修复需要时才提高最低版本。
|
|
174
|
+
>
|
|
175
|
+
> **已知不兼容的 DSH 版本:** 暂无。
|
|
176
|
+
|
|
162
177
|
升级 DSH 前,先在测试 profile 中验证实验性插件的包名、工具名和配置。升级上游 pstack 需要重新生成树并复核适配表。
|
|
163
178
|
|
|
164
179
|
> [!CAUTION]
|
|
@@ -170,7 +185,11 @@ worktree Session 的 `cwd` 与原 Session 不同。session-search 插件只匹
|
|
|
170
185
|
|
|
171
186
|
上游 pstack 用 `docs/harness/claude-code.md` 适配 Claude Code。它保留技能正文,另用宿主适配表把 `Task`、`AskQuestion`、todo、模型 slug 和路径映射到目标宿主。生成器为使用 Cursor 名称的技能添加一行 Claude Code 适配提示。不支持的能力会报告 `Skipped in Claude Code: <step>. <reason>.`
|
|
172
187
|
|
|
173
|
-
dsh-pstack 沿用这套做法。主适配文档是 [`pstack/harness/docs/harness/dsh.md`](./pstack/harness/docs/harness/dsh.md),覆盖 Tools、Subagent fields、Models、setup-pstack、Paths
|
|
188
|
+
dsh-pstack 沿用这套做法。主适配文档是 [`pstack/harness/docs/harness/dsh.md`](./pstack/harness/docs/harness/dsh.md),覆盖 Tools、Subagent fields、Models、setup-pstack、Paths、Cursor-only features、Local replacements 和 Optional plugins。`pstack_*` 工具、agent preset 和 Node 脚本替代 DSH 缺少的字段。构建时,上游 pstack 与本地适配树被渲染到 `pstack/pstack/`,再与 `src/*.ts`、`skills/` 一起打包到 `dist/`。
|
|
189
|
+
|
|
190
|
+
## 友情链接
|
|
191
|
+
|
|
192
|
+
[LinuxDo](https://linux.do/) —— 新的理想型社区
|
|
174
193
|
|
|
175
194
|
## 鸣谢
|
|
176
195
|
|
|
Binary file
|
package/cordis.patch.yml
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
# `pstack` registers the bundled skill provider and `pstack_skill`, the trusted loader
|
|
4
4
|
# that can reach skills hidden with `disable-model-invocation`.
|
|
5
5
|
# `pstack-models` registers the read-only model/effort directory used by `/setup-pstack`.
|
|
6
|
+
# `pstack-roles` exposes the same role file to the Plugins configuration page through a
|
|
7
|
+
# Typert Remote service; its browser half is declared by `dsh.client` in package.json.
|
|
8
|
+
# `pstack-role-catalog` registers `pstack_roles`, the read-only capability query that
|
|
9
|
+
# reports each role's shape and autoPanel so a caller sets `roleIndex` correctly.
|
|
6
10
|
# `pstack-subagent` registers `pstack_subagent`, which re-reads the role file on every
|
|
7
11
|
# delegation and selects one of the pstack agent presets below.
|
|
8
12
|
# `pstack-script` registers `pstack_script`, the only supported way to run the bundled
|
|
@@ -17,6 +21,10 @@
|
|
|
17
21
|
name: dsh-pstack
|
|
18
22
|
- id: pstack-models
|
|
19
23
|
name: dsh-pstack/models
|
|
24
|
+
- id: pstack-roles
|
|
25
|
+
name: dsh-pstack/roles
|
|
26
|
+
- id: pstack-role-catalog
|
|
27
|
+
name: dsh-pstack/role-catalog
|
|
20
28
|
- id: pstack-subagent
|
|
21
29
|
name: dsh-pstack/subagent
|
|
22
30
|
config:
|
|
@@ -46,6 +54,8 @@
|
|
|
46
54
|
name: "@deepseek-ai/dsh-tool-fs"
|
|
47
55
|
- id: tool-fs-search
|
|
48
56
|
name: "@deepseek-ai/dsh-tool-fs-search"
|
|
57
|
+
config:
|
|
58
|
+
sampleOverCapGlobResults: false
|
|
49
59
|
- id: tool-todo
|
|
50
60
|
name: "@deepseek-ai/dsh-tool-todo"
|
|
51
61
|
config:
|
|
@@ -107,3 +117,5 @@
|
|
|
107
117
|
edit: false
|
|
108
118
|
- id: tool-fs-search
|
|
109
119
|
name: "@deepseek-ai/dsh-tool-fs-search"
|
|
120
|
+
config:
|
|
121
|
+
sampleOverCapGlobResults: false
|