dsh-pstack 0.2.1 → 0.3.0-beta.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 CHANGED
@@ -1,31 +1,22 @@
1
- <p align="center">
1
+ <div align="center">
2
2
  <img src="./assets/logo.png" width="144" alt="dsh-pstack logo" />
3
- </p>
4
3
 
5
- <h1 align="center">dsh-pstack</h1>
4
+ <h1>dsh-pstack</h1>
6
5
 
7
- <p align="center">
8
- <strong>Bring pstack's rigorous agent workflows to DeepSeek Harness</strong>
9
- </p>
6
+ <p>
7
+ <strong>Bring pstack's rigorous agent workflows to DeepSeek Harness</strong>
8
+ </p>
10
9
 
11
- <p align="center">
12
- English · <a href="./README.zh.md">中文</a>
13
- </p>
10
+ <p>English · <a href="./README.zh.md">中文</a></p>
14
11
 
15
- <p align="center">
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
- <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-%3E%3D0.2.1--rc.5-1f6feb?style=flat-square" alt="dsh >=0.2.1-rc.5" /></a>
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
- </p>
12
+ <p>
13
+ <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>
14
+ <a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/dsh-%3E%3D0.2.2--alpha.3-1f6feb?style=flat-square" alt="dsh >=0.2.2-alpha.3" /></a>
15
+ <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>
16
+ <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>
17
+ <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="JSDoc reference" /></a>
18
+ </p>
21
19
 
22
- <p align="center">
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://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
- <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
- </p>
27
-
28
- <div align="center">
29
20
  <table>
30
21
  <tr>
31
22
  <td align="center"><strong>58</strong><br /><sub>pstack skills</sub></td>
@@ -35,170 +26,173 @@
35
26
  <td align="center"><strong>5</strong><br /><sub>bundled scripts</sub></td>
36
27
  </tr>
37
28
  </table>
38
- </div>
39
29
 
40
- <p align="center">
41
- <a href="#quick-start">Quick start</a> ·
42
- <a href="#capabilities">Capabilities</a> ·
43
- <a href="#skills-directory">Skills directory</a> ·
44
- <a href="#optional-dsh-plugins">Optional DSH plugins</a> ·
45
- <a href="#compatibility">Compatibility</a> ·
46
- <a href="#friendly-links">Friendly Links</a>
47
- </p>
30
+ <p>
31
+ <a href="#quick-start">🚀 Quick start</a> ·
32
+ <a href="#-common-commands">⌨️ Commands</a> ·
33
+ <a href="#-capabilities">🧩 Capabilities</a> ·
34
+ <a href="#-optional-dsh-plugins">🔌 Optional plugins</a> ·
35
+ <a href="#-remaining-gaps">⚠️ Limitations</a> ·
36
+ <a href="#-compatibility">📦 Compatibility</a>
37
+ </p>
38
+ </div>
48
39
 
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.
40
+ ---
50
41
 
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.
42
+ `dsh-pstack` ports [pstack](https://github.com/cursor/plugins/tree/main/pstack) to [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH). It includes the upstream skills, playbooks, and references, and adds skill routing, role-based model configuration, subagents, and Node.js scripts.
52
43
 
53
- See [`pstack/README.md`](./pstack/README.md) for the full capability map, gaps, and acceptance status.
44
+ See the [capability map](./pstack/README.md) for the complete porting review.
54
45
 
55
46
  > [!IMPORTANT]
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).
47
+ > Requires DSH `>=0.2.2-alpha.3` and Node.js `>=24.21.1`. For older DSH versions, choose a release from [Compatibility](#-compatibility).
57
48
 
58
- ## Quick start
49
+ <a id="quick-start"></a>
59
50
 
60
- 1. Install the plugin:
51
+ ## 🚀 Quick start
52
+
53
+ 1. **Install the plugin.**
61
54
 
62
55
  ```sh
63
56
  dsh plugin --profile web add dsh-pstack
64
57
  ```
65
58
 
66
- You can also install it from the Plugins page in Web or Desktop.
59
+ You can also install it through **Plugins** in Web or Desktop.
67
60
 
68
- 2. Restart the profile or open a new Session.
61
+ 2. **Restart the profile or open a new Session.**
69
62
 
70
- 3. Before first use, run:
63
+ 3. **Initialize role-based model routing.**
71
64
 
72
65
  ```text
73
66
  /setup-pstack
74
67
  ```
75
68
 
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**.
77
-
78
- ### Common entry points
69
+ The command saves available routes to `$DSH_HOME/pstack-models.mdc`. Without this file, roles inherit the parent model.
79
70
 
80
- | Command | Purpose |
81
- |---|---|
82
- | `/poteto-mode` | Main workflow entry: matches a playbook to the task and maintains todos and evidence. |
83
- | `/setup-pstack` | Configures role models and initializes the pstack environment. |
84
- | `/how`, `/why`, `/teach` | Architecture walkthrough, evidence investigation, and progressive explanation. |
85
- | `/architect`, `/arena`, `/swarm` | Multi-option design, parallel candidates, and slice-parallel implementation. |
86
- | `/create-verification-skill` | Generates a verification skill for a real project. |
87
- | `/statechart` | Checks state models with TLA+ and TLC, and outputs a Mermaid state diagram. |
88
- | `/show-me-your-work` | Maintains a TSV decision log and audits the current work. |
89
- | `/retro` | Reviews a coding session's environment. |
90
- | `/docs-drift` | Audits project-discovered documentation; `report` is read-only, while `fix` repairs approved findings. |
71
+ 4. **Start a workflow.**
91
72
 
92
- ## Capabilities
73
+ ```text
74
+ /poteto-mode
75
+ ```
93
76
 
94
- ### Native tools
77
+ ### ⚙️ Configure role models
95
78
 
96
- | Tool | Purpose |
97
- |---|---|
98
- | `pstack_skill` | Loads a hidden skill registered by this plugin by name, and reads relative resources inside the skill directory. |
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`. |
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. |
102
- | `pstack_script` | Runs bundled Node scripts by fixed id without Bun or shell scripts. |
79
+ To view or edit routes after setup, open **Plugins → Installed plugins → dsh-pstack → Configure**.
103
80
 
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.
81
+ <p align="center">
82
+ <img src="assets/pstack-config-entry.png" width="800" alt="Plugin configuration entry" />
83
+ </p>
105
84
 
106
- ### Plugin configuration entry
85
+ ## ⌨️ Common commands
107
86
 
108
- ![Click Configure in the Plugins page header](assets/pstack-config-entry.png)
87
+ | Task | Commands |
88
+ |---|---|
89
+ | Plan and build | `/poteto-mode`, `/architect`, `/arena`, `/swarm` |
90
+ | Understand and investigate | `/how`, `/why`, `/teach` |
91
+ | Verify | `/create-verification-skill`, `/statechart` |
92
+ | Review and maintain | `/show-me-your-work`, `/retro`, `/docs-drift` |
109
93
 
110
- Open **Plugins → Installed plugins → dsh-pstack** and click **Configure** in the bundle page header to open the configuration dialog.
94
+ ## 🧩 Capabilities
111
95
 
112
- ## Skills directory
96
+ ### 🛠️ Native tools
113
97
 
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.
98
+ | Tool | Function |
99
+ |---|---|
100
+ | `pstack_skill` | Loads hidden pstack skills and their relative resources by name. |
101
+ | `pstack_models` | Lists available providers, models, and reasoning efforts. |
102
+ | `pstack_roles` | Shows role shapes and automatic-panel status so delegation uses the correct parameters. |
103
+ | `pstack_subagent` | Applies role routing and agent presets. Supports parallel subagents. |
104
+ | `pstack_script` | Runs `check-plan`, `watch-pr`, `worktree-audit`, `log`, or `statechart` with Node.js. |
115
105
 
116
- | Source | Skill | Purpose | Engineering capability added |
117
- |---|---|---|---|
118
- | `vendored` | `writing-for-agents` | Writes skills, `AGENTS.md`, `CLAUDE.md`, and documents referenced by pointers, covering context pointers, information hierarchy, and progressive disclosure. | Makes an agent document's trigger words, load order, and context cost predictable, and adds the writing path that Cursor's `create-skill` provides. |
119
- | `vendored` | `retro` | Reviews a coding session's environment, checking navigation, automation, coding conventions, tool economy, and information access. | Adds the environment check that pstack `/reflect` and `/correct` do not cover; it only reports and does not modify the repository. |
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. |
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. |
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. |
106
+ The `poteto-agent` preset handles implementation delegation. The `comment-sicko` preset handles read-only comment review.
124
107
 
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.
108
+ > [!CAUTION]
109
+ > `pstack_script` bypasses bash approval and the filesystem sandbox. Treat it as a trusted entry point.
126
110
 
127
- ## Optional DSH plugins
111
+ ### 📚 Additional skills
128
112
 
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.
113
+ The package includes six skills maintained independently of pstack.
130
114
 
131
- > [!NOTE]
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.
115
+ | Skill | Source | Purpose |
116
+ |---|---|---|
117
+ | `writing-for-agents` | `vendored` | Write skills and clear agent-facing documentation. |
118
+ | `retro` | `vendored` | Review the agent environment without modifying the repository. |
119
+ | `decision-write` | `authored` | Create, land, and supersede decision records. |
120
+ | `decision-audit` | `authored` | Audit decision-record status and relationships. |
121
+ | `setup-project-docs` | `authored` | Set up sustainable project documentation. |
122
+ | `docs-drift` | `authored` | Detect documentation drift and repair approved findings. |
133
123
 
134
- ### Sessions and isolation
124
+ [`skills/skills-lock.json`](./skills/skills-lock.json) records the sources and hashes of vendored skills.
135
125
 
136
- | Plugin | Capability when enabled | Boundaries and conflicts |
137
- |---|---|---|
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. |
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. |
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. |
126
+ ## 🔌 Optional DSH plugins
141
127
 
142
- ### Verification and evidence
128
+ Optional plugins extend specific workflows. You do not need them to install dsh-pstack.
143
129
 
144
- Choose one of three browser providers: `@deepseek-ai/dsh-experimental-browser-use-stagehand-native`, `@deepseek-ai/dsh-experimental-browser-use-playwright-mcp`, or `@deepseek-ai/dsh-experimental-browser-use-chrome-devtools-mcp`.
130
+ To enable a plugin, open **Plugins → Add plugin**, select the package, and restart the profile.
145
131
 
146
- | Plugin | Capability when enabled | Boundaries and conflicts |
132
+ | Use case | Plugin | Limits and conflicts |
147
133
  |---|---|---|
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. |
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. |
134
+ | Worktrees and GitHub PRs | `@deepseek-ai/dsh-experimental-forge-bundle` | Provides the **Change requests & worktrees** switch and `create_worktree`. GitHub status needs a logged-in `gh`. |
135
+ | Session history | `@deepseek-ai/dsh-experimental-session-search` | Read-only. Requires exact `cwd` equality. Subagent transcript coverage is unconfirmed. |
136
+ | Browser verification | `@deepseek-ai/dsh-browser-use` and one provider | One provider per Session. Screenshots need an image-capable model. No video recording. |
137
+ | Desktop verification | `@deepseek-ai/dsh-cua-bundle` | macOS PTC Sessions only. Windows support is incomplete. No video recording. |
138
+ | Persistent terminals | `@deepseek-ai/dsh-experimental-terminal-bundle` | Six persistent shell and REPL tools. No GUI control or video recording. |
139
+ | MCP integrations | `@deepseek-ai/dsh-mcp-client` | No server configured by default. No automatic evidence-category discovery. |
140
+ | Agent teams | `@deepseek-ai/dsh-experimental-agent-team-profile` | Conflicts with `pstack_subagent`. No pstack PR frontier, ledger, or stack verdict. |
141
+ | Autonomous loops | `@deepseek-ai/dsh-experimental-ralph-bundle` | Starts a fresh child each round. No persistent loop or event watcher. |
152
142
 
153
- ### Multi-agent
143
+ Most packages ship with DSH. `@deepseek-ai/dsh-cua-bundle` installs on demand. Except for the MCP client, these plugins are experimental.
154
144
 
155
- | Plugin | Capability when enabled | Boundaries and conflicts |
156
- |---|---|---|
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. |
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. |
145
+ ### 🌐 Browser providers
159
146
 
160
- > [!WARNING]
161
- > Do not enable `@deepseek-ai/dsh-experimental-agent-team-profile` and `pstack_subagent` in the same profile. The agent team plugin disables `subagent` and `subagent_fork`, and provides a second delegation entry point. Use only one subagent system per profile.
147
+ Choose one provider for `@deepseek-ai/dsh-browser-use`:
162
148
 
163
- ## Compatibility
149
+ - `@deepseek-ai/dsh-experimental-browser-use-stagehand-native`: also needs Chromium and a supported non-DeepSeek model.
150
+ - `@deepseek-ai/dsh-experimental-browser-use-playwright-mcp`
151
+ - `@deepseek-ai/dsh-experimental-browser-use-chrome-devtools-mcp`
164
152
 
165
- | Item | Version | Notes |
166
- |---|---|---|
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` |
169
- | Node.js | `>=24.21.1` | Runtime requirement |
170
- | Cordis | `~4.0.6-alpha.1` | Peer dependency |
153
+ Providers have different tool names and selectors. Browser and computer use share separate single-provider slots.
171
154
 
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.
155
+ The configuration page recommends Change requests & worktrees and session search. It never enables plugins automatically. Agent Teams is a conflict warning, not a recommendation.
176
156
 
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.
157
+ > [!WARNING]
158
+ > Use either Agent Teams or `pstack_subagent`, not both. Agent Teams disables DSH's native subagent tools.
178
159
 
179
- > [!CAUTION]
180
- > `pstack_script` runs on the Host's Node and bypasses bash approval and the filesystem sandbox. Treat it as a trusted entry point.
160
+ When a plugin is disabled, dependent steps report skipped or blocked. They never report passed. Without the forge bundle, use `gh` and `git worktree add` through `bash`. See the [DSH adaptation guide](./pstack/harness/docs/harness/dsh.md#optional-plugins) for setup details and fallbacks.
161
+
162
+ ## ⚠️ Remaining gaps
181
163
 
182
- A worktree Session has a different `cwd` from the original Session. The session-search plugin only matches the exact `cwd`, so search for old Sessions from their original directory.
164
+ These limitations remain even when every recommended plugin is enabled.
183
165
 
184
- ## How it works
166
+ | Area | Limitation |
167
+ |---|---|
168
+ | Cursor platform services | No Automations, Cursor webhooks, `SendToUser`, cloud agents, or persistent cloud Projects. |
169
+ | Bugbot | Cannot start, configure, or wait for Bugbot. Existing Bugbot comments can still be handled as PR reviews. |
170
+ | PR orchestration | No model-side change-request tool or Agent Teams PR frontier and ledger. `watch-pr` still provides stack verdicts. |
171
+ | Custom Mode | No persistent root `poteto-mode` or Option+Enter toggle. Invoke `/poteto-mode` for each task. |
172
+ | Event-driven loops | No forge event subscription. Local goals, schedules, and watchers are not equivalent. |
173
+ | Media evidence | No built-in video recording or frame-level verification. Use external recording or FFmpeg tools. |
174
+ | Desktop coverage | Computer use is limited to macOS PTC Sessions. Windows support is incomplete. |
175
+ | MCP discovery | No automatic evidence-category discovery. Configure and identify MCP tools explicitly. |
185
176
 
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>.`
177
+ ## 📦 Compatibility
187
178
 
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/`.
179
+ Each row lists the latest compatible dsh-pstack release and its included pstack version. Newer DSH boundaries appear first.
189
180
 
190
- ## Friendly Links
181
+ | DSH version | Latest compatible dsh-pstack release | Included pstack version |
182
+ |---|---|---|
183
+ | `0.2.2-alpha.3` and later | Next release from this source tree | `0.15.36` |
184
+ | `0.2.2-alpha.2` and earlier | `v0.2.1` | `0.15.36` |
191
185
 
192
- [LinuxDo](https://linux.do/) — the new ideal community
186
+ When a DSH breaking change creates a new compatibility boundary, add a row.
193
187
 
194
- ## Credits
188
+ ## 💛 Credits
195
189
 
196
- - [pstack](https://github.com/cursor/plugins/tree/main/pstack) was designed and open-sourced by Lauren Tan and the Cursor team. `poteto-mode`, the 23 playbooks, and the 24 principles all come from upstream.
197
- - [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) is provided by the DeepSeek team. DSH's plugin, bundle, agent preset, subagent, and tool host interfaces let this port land as native tools.
190
+ - [pstack](https://github.com/cursor/plugins/tree/main/pstack) was designed and open-sourced by Lauren Tan and the Cursor team. `poteto-mode`, the 23 playbooks, and the 24 principles come from upstream.
191
+ - [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) is provided by the DeepSeek team. Its plugin, bundle, agent preset, subagent, and tool interfaces support this port.
198
192
  - [mattpocock/skills](https://github.com/mattpocock/skills) provides the vendored `writing-for-agents` and `retro` skills.
199
193
 
200
- This project is a community port, not an official Cursor or DeepSeek release. Upstream pstack and DSH are both MIT licensed.
194
+ This project is a community port, not an official Cursor or DeepSeek release.
201
195
 
202
- ## License
196
+ ## 📄 License
203
197
 
204
- [MIT](./LICENSE) License © [leiwang](https://github.com/l246804)
198
+ Original dsh-pstack code and documentation use the [MIT license](./LICENSE) © [leiwang](https://github.com/l246804). Bundled upstream projects and vendored skills retain their licenses and notices.