@deepseek-ai/dsh-agent-preset 0.2.0-rc.1 → 0.2.1-alpha.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.i18n.yaml CHANGED
@@ -33,5 +33,5 @@
33
33
  en: 4546a11627bbbca1
34
34
  zh: eaa260cdfe37e31f
35
35
  /deepseek-ai-dsh-agent-preset/known-limitations-and-deferred-work/dev-note:
36
- en: af1f8da6d3acb3e2
37
- zh: e0c4f6afeefd5214
36
+ en: e67f633dc6fe7773
37
+ zh: 8ec3e73528ddb1a6
package/README.md CHANGED
@@ -93,5 +93,3 @@ A live Agent’s composition stays stable; new Agents can use an updated definit
93
93
  None.
94
94
 
95
95
  </details>
96
-
97
- **Runtime invariant:** No companion is published. This plugin submits registry-owned definitions and has no independently mutable runtime state.
package/README.zh.md CHANGED
@@ -93,5 +93,3 @@ kind: "package-reference"
93
93
  无。
94
94
 
95
95
  </details>
96
-
97
- **运行时不变量:** 不发布 companion;本插件仅提交由注册表管理的定义,没有可独立偏离的运行时状态。
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-agent-preset",
3
3
  "description": "Declare an Agent capability composition in Cordis YAML",
4
- "version": "0.2.0-rc.1",
4
+ "version": "0.2.1-alpha.1",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -28,23 +28,23 @@
28
28
  ],
29
29
  "license": "MIT",
30
30
  "peerDependencies": {
31
- "@deepseek-ai/cordis": "~4.0.4",
32
- "@deepseek-ai/cordis-plugin-loader": "~1.0.5",
33
- "@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.1"
31
+ "@deepseek-ai/cordis": "~4.0.5-alpha.1",
32
+ "@deepseek-ai/cordis-plugin-loader": "~1.0.6-alpha.1",
33
+ "@deepseek-ai/dsh-agent-preset-registry": "0.2.1-alpha.1"
34
34
  },
35
35
  "dependencies": {
36
- "@deepseek-ai/schemastery": "~3.18.4"
36
+ "@deepseek-ai/schemastery": "~3.18.5-alpha.1"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/js-yaml": "^4.0.9",
40
40
  "js-yaml": "^4.2.0",
41
- "@deepseek-ai/cordis": "~4.0.4",
42
- "@deepseek-ai/cordis-plugin-include": "~1.0.9",
43
- "@deepseek-ai/cordis-plugin-loader": "~1.0.5",
44
- "@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.1",
45
- "@deepseek-ai/dsh-compaction-tool-result-pruner": "0.2.0-rc.1",
46
- "@deepseek-ai/dsh-skill": "0.2.0-rc.1",
47
- "@deepseek-ai/dsh-skill-filesystem": "0.2.0-rc.1",
48
- "@deepseek-ai/schemastery": "~3.18.4"
41
+ "@deepseek-ai/cordis": "~4.0.5-alpha.1",
42
+ "@deepseek-ai/cordis-plugin-include": "~1.0.10-alpha.1",
43
+ "@deepseek-ai/cordis-plugin-loader": "~1.0.6-alpha.1",
44
+ "@deepseek-ai/dsh-agent-preset-registry": "0.2.1-alpha.1",
45
+ "@deepseek-ai/dsh-compaction-tool-result-pruner": "0.2.1-alpha.1",
46
+ "@deepseek-ai/dsh-skill-filesystem": "0.2.1-alpha.1",
47
+ "@deepseek-ai/schemastery": "~3.18.5-alpha.1",
48
+ "@deepseek-ai/dsh-skill": "0.2.1-alpha.1"
49
49
  }
50
50
  }
@@ -184,12 +184,15 @@ Every package below exports a Cordis plugin that a bundle patch can name in a Lo
184
184
  | `@deepseek-ai/dsh-experimental-browser-use-chrome-devtools-mcp` | yes | Experimental per-Session Chromium browser tools through chrome-devtools-mcp |
185
185
  | `@deepseek-ai/dsh-experimental-browser-use-playwright-mcp` | yes | Experimental per-Session Chromium browser tools through @playwright/mcp |
186
186
  | `@deepseek-ai/dsh-experimental-browser-use-stagehand-native` | yes | Experimental Stagehand browser tools with separately configured native models |
187
+ | `@deepseek-ai/dsh-experimental-claude-code-mods` | yes | Experimental bridge: load Claude Code mods (hooks modules) and run their hook chains on DeepSeek Harness extension points |
187
188
  | `@deepseek-ai/dsh-experimental-client-ui-agent-team` | no | Web Agent Teams roster, task board, and teammate navigation |
189
+ | `@deepseek-ai/dsh-experimental-client-ui-claude-code-mods` | no | Web band above the prompt for Claude Code mods: draws each session's mod tree and sends button presses back to the bridge |
188
190
  | `@deepseek-ai/dsh-experimental-client-ui-voice-input` | no | Record speech and insert editable text into the conversation draft |
189
191
  | `@deepseek-ai/dsh-experimental-computer-use-cua-driver-mcp` | yes | Experimental computer use through an installed Cua Driver MCP executable |
190
192
  | `@deepseek-ai/dsh-experimental-computer-use-cua-driver-native` | no | Experimental computer-use provider embedding the Cua Driver native npm SDK |
191
193
  | `@deepseek-ai/dsh-experimental-inspector` | yes | Experimental cross-realm CDP hub for Host debugging and Client Runtime inspection |
192
194
  | `@deepseek-ai/dsh-experimental-ptc-runtime-python` | yes | CPython subprocess implementation of the DeepSeek Harness PTC execution seam |
195
+ | `@deepseek-ai/dsh-experimental-session-inspector` | no | Experimental virtualized Session log and live Chat group/node inspectors |
193
196
  | `@deepseek-ai/dsh-experimental-speech-to-text` | yes | Experimental speech recognition with independently selectable providers |
194
197
  | `@deepseek-ai/dsh-experimental-speech-to-text-sensevoice` | yes | Local SenseVoice ONNX transcription with a managed sherpa-onnx process |
195
198
  | `@deepseek-ai/dsh-experimental-tool-agent-team` | yes | Scoped model-facing Agent Teams tools over ctx.agentTeams |
@@ -263,7 +266,7 @@ Every package below exports a Cordis plugin that a bundle patch can name in a Lo
263
266
  |---|---|---|
264
267
  | `@deepseek-ai/dsh-commands` | no | Plugin-owned human command registry for DeepSeek Harness UIs |
265
268
  | `@deepseek-ai/dsh-permission-presets` | yes | User-facing permission presets (ctx.permissionPresets) for the DeepSeek Harness: one product-level Permissions select bundling the sandbox-mode and approval-policy knobs, written through to their own session events |
266
- | `@deepseek-ai/dsh-tool-ask-user` | no | Model-facing ask_user_question tool over the ctx.userQuestions seam |
269
+ | `@deepseek-ai/dsh-tool-ask-user` | yes | Model-facing ask_user_question tool over the ctx.userQuestions seam |
267
270
  | `@deepseek-ai/dsh-user-approval` | yes | User-approval seam (ctx.approval) for the DeepSeek Harness: one-shot permission decisions dispatched to composed answerers over the approval/request waterfall, fail-closed by default |
268
271
  | `@deepseek-ai/dsh-user-questions` | no | Abstract user-questions seam (ctx.userQuestions) for asking the human during agent runs |
269
272
 
@@ -322,12 +325,6 @@ Every package below exports a Cordis plugin that a bundle patch can name in a Lo
322
325
  |---|---|---|
323
326
  | `@deepseek-ai/dsh-ptc-runtime-node` | yes | Sandboxed Node process implementation of the DeepSeek Harness PTC execution capability |
324
327
 
325
- ## runtime-diagnostics
326
-
327
- | Package | Config | Description |
328
- |---|---|---|
329
- | `@deepseek-ai/dsh-invariants` | yes | Registry service for package-owned DeepSeek Harness runtime invariants |
330
-
331
328
  ## sandbox
332
329
 
333
330
  | Package | Config | Description |
@@ -340,6 +337,7 @@ Every package below exports a Cordis plugin that a bundle patch can name in a Lo
340
337
  | Package | Config | Description |
341
338
  |---|---|---|
342
339
  | `@deepseek-ai/dsh-schedule` | yes | Host-wide durable reminders with shared management and original-Session delivery |
340
+ | `@deepseek-ai/dsh-tool-schedule` | no | Model-facing reminder management tools (schedule_create, schedule_list, schedule_update, schedule_delete) over the Host ctx.schedule service |
343
341
 
344
342
  ## sdk
345
343
 
@@ -21,9 +21,9 @@ A shipped bundle can resolve a plugin row and leave it `disabled`. The row id an
21
21
 
22
22
  1. Resolve the requested result and destination. An unspecified visual destination is the current Harness Web UI; a standalone image or HTML file does not complete such a request. Choose reasonable visual details and implement a small first version; install it before visual refinement.
23
23
  2. Discover only the APIs needed for that version: `cordis_inspect_list`, then targeted `cordis_inspect_query` calls. For UI, query Client `Slots.listSubTree` and the selected slot's registration options and props. For anything beyond a static decoration, such as tool policy, agent context, session-derived state, or Chat rows, read `references/practices.md` before choosing the extension point; for a user action in plugin UI, also read `references/user-actions.md`. Once the chosen slot and registration API are known, write the plugin.
24
- 3. Read the matching template under `templates/` with the file-read tool and write its copies into one workspace directory, or write the installable package, patch, and required Host/Client files there yourself. Check JavaScript syntax and the manifest, then install it. Before that first installation, do not create preview HTML, mock shells, design variants, screenshot scripts, or rasterizer tooling. Use the installed plugin itself as the first preview.
25
- 4. Read the installation result: its `application` and `warnings` fields decide whether the change is live, not server logs, terminal output, process lists, or the page's boot payload. Confirm new rows with `cordis_inspect_query`, which needs no approval, rather than paging `list_plugins`. After `application: applied`, exercise the capability or inspect the live Client registration. Use the connected page for visual verification when browser control is available. For a page or panel, also verify design consistency: styles use only theme tokens, the plugin imports no Harness Client package such as `@deepseek-ai/dsh-client-ui-primitives`, the console shows no slot entry crash, and the view reads correctly in light and dark themes beside a comparable host page. For a user action, run the checks in `references/user-actions.md`. Scale verification to the change's risk; follow `references/verification.md` when browser control is unavailable. Restore any user setting or state changed while testing. State any verification limitation explicitly; installation and slot registration alone do not establish what the user can see.
26
- 5. Fix observed defects in the same plugin. When the requested result works, finish with its location and verification status. Do not continue speculative visual variants, optional features, or a new mock preview. Close any task list you created.
24
+ 3. Read and copy the matching template files into one workspace directory, or author the package, patch, and required Host/Client files there. Before installing, complete the display checklist in `references/host-plugin.md`: meaningful localized titles/descriptions, an original or licensed icon, and exported resources with distribution checks where applicable. This applies to Host-only and configuration-only bundles too; adapt template text and artwork to the request. Check JavaScript syntax and the manifest, then install. Use the installed plugin as the first preview; do not create preview HTML, mock shells, design variants, screenshot scripts, or rasterizer tooling first.
25
+ 4. Read the installation result: `application` and `warnings` decide whether the change is live, not logs, process lists, or the page's boot payload. Confirm new rows with approval-free `cordis_inspect_query`, not `list_plugins`. After `application: applied`, exercise the capability or inspect the live Client registration. Verify installed display metadata and the icon using `references/host-plugin.md`. Use the connected page when available; follow `references/verification.md` for page/panel design checks and unavailable browser control, and `references/user-actions.md` for user actions. Restore user state changed during testing. Report verification limits; installation and slot registration alone do not establish what the user sees.
26
+ 5. Fix observed defects in the same plugin. When the requested result works, finish with its location, verification status, and the reason for any display-resource exception; never silently accept default artwork. Do not continue speculative variants, optional features, or mock previews. Close any task list.
27
27
 
28
28
  ## Knowledge sources, in order
29
29
 
@@ -39,12 +39,12 @@ The files below live in this skill's base directory, which the `skill` tool repo
39
39
 
40
40
  | Task | File |
41
41
  |---|---|
42
- | Bundle manifest, display metadata and icon, install and enable semantics, Host plugin export forms, Config | `references/host-plugin.md` |
43
- | A UI plugin rendered in the Web page: Client manifest, module loader, slot registration | `references/ui-plugin.md` |
42
+ | Bundle manifest, locale resources, icons, installation, Host exports and Config | `references/host-plugin.md` |
43
+ | Web UI: Client manifest, module loader, slot registration | `references/ui-plugin.md` |
44
44
  | Connecting an MCP server through a configuration-only bundle | `references/mcp-bundle.md` |
45
- | Verification limits when no browser control is available | `references/verification.md` |
46
- | UI plugin starting point, four files | `templates/decoration/package.json`, `templates/decoration/cordis.patch.yml`, `templates/decoration/index.js`, `templates/decoration/client.js` |
47
- | MCP bundle starting point, two files | `templates/mcp/package.json`, `templates/mcp/cordis.patch.yml` |
45
+ | Page/panel design checks and verification without browser control | `references/verification.md` |
46
+ | UI plugin template, including display resources | `templates/decoration/package.json`, `templates/decoration/cordis.patch.yml`, `templates/decoration/index.js`, `templates/decoration/client.js`, `templates/decoration/locale/en.json`, `templates/decoration/icon.svg` |
47
+ | MCP bundle template, including display resources | `templates/mcp/package.json`, `templates/mcp/cordis.patch.yml`, `templates/mcp/locale/en.json`, `templates/mcp/icon.svg` |
48
48
  | Loader patch dialect and the list of installable plugin packages | the `cordis-composition-reference` skill |
49
49
  | Choosing extension points, contexts, and state mechanisms for upgrade stability and performance | `references/practices.md` |
50
50
  | Sharing application operations between UI actions and agent tools | `references/user-actions.md` |
@@ -28,7 +28,14 @@ A Host-only bundle needs no dependencies, install scripts, or build tool:
28
28
 
29
29
  ## Display metadata and icon
30
30
 
31
- Plugin Manager cards, bundle details, component rows, and the Settings plugin inventory read display text and an icon from the manifest without activating the plugin. Put the title and description in `locale/en.json` (other languages such as `locale/zh.json` use the same fields), and declare the icon as a top-level `icon` in `package.json`:
31
+ Plugin Manager and Settings read `meta.title` and `meta.description` from exported locale JSON and an icon from exported resources without activating plugins. Complete this checklist before installation:
32
+
33
+ - Write a recognizable title and a description of the capability in `locale/en.json` under `meta.title` and `meta.description`. Add the same fields for the user's language and other supported locales, such as `locale/zh.json`; do not leave template copy unrelated to the delivered plugin.
34
+ - Create an original icon or use artwork whose license permits redistribution, retaining any required attribution.
35
+ - Export `./locale/*.json` and `./icon`; retain existing runtime exports. Keep the patch, locales, icon, and every runtime file in `files`, updating it whenever you add modules or assets. For a packed or published bundle, verify the actual packed file list. Local directory installation links the checkout instead, so check the files directly; `files` does not filter a linked directory.
36
+ - Check that the icon is a valid image of the declared format and satisfies the path and size limits below. An accepted filename alone does not establish that its bytes render.
37
+
38
+ For example, the locale file contains:
32
39
 
33
40
  ```json
34
41
  { "meta": { "title": "My Decoration", "description": "Draws a badge under the composer." } }
@@ -36,13 +43,16 @@ Plugin Manager cards, bundle details, component rows, and the Settings plugin in
36
43
 
37
44
  ```json
38
45
  {
39
- "icon": "./icon.svg",
40
- "exports": { "./package.json": "./package.json", "./locale/*.json": "./locale/*.json" },
41
- "files": ["locale/*.json", "icon.svg"]
46
+ "exports": { "./locale/*.json": "./locale/*.json", "./icon": "./icon.svg" },
47
+ "files": ["index.js", "cordis.patch.yml", "locale/*.json", "icon.svg"]
42
48
  }
43
49
  ```
44
50
 
45
- `icon` is a path relative to the manifest directory; SVG, PNG, JPEG, and WebP up to 256 KiB are accepted, while absolute paths, URLs, paths outside the directory, and symlinks leaving it are rejected. Missing fields fall back to `package.json` `name` and `description` and to the panel's default artwork; malformed metadata produces a diagnostic and keeps the valid text.
51
+ A package-root plugin may instead declare a top-level `icon` in `package.json`; it takes priority over `./icon` and is a path relative to the manifest directory. A subpath plugin such as `my-plugins/search` is not a package and never reads a `package.json`; it exports `./search/locale/*.json` and `./search/icon` instead. Icons may be SVG, PNG, JPEG, or WebP up to 256 KiB and must stay inside the package; absolute paths, URLs, and symlinks leaving it are rejected. Missing fields of a package-root plugin fall back to `package.json` `name` and `description`, and missing images use the panel's default artwork; malformed metadata produces a diagnostic and keeps the valid text.
52
+
53
+ After installation, verify the intended title and description in bundle details and plugin rows, plus the rendered icons, in English and the user's locale where supplied. Check for metadata diagnostics and unintended fallbacks, and that each plugin row shows its own exported icon or, when it has none, the generic artwork. Without browser control, inspect the installed resources and report that rendered display remains unverified; do not claim visual success from installation alone.
54
+
55
+ An existing plugin's metadata may remain unchanged when it still describes the requested result. A disposable test fixture or an explicitly requested metadata-free package may omit resources, but explain each omission in the delivery report. A Host-only or configuration-only bundle still has a visible inventory entry; neither is an exception by itself.
46
56
 
47
57
  ## Host plugin export forms
48
58
 
@@ -2,4 +2,6 @@
2
2
 
3
3
  Prefer the authenticated page already connected to Harness. Do not launch a separate browser from shell commands, change `HOME`, inspect personal browser profiles, search for authentication tokens, or alter keychains to obtain a screenshot. For a visual-only request without browser control, limit verification to JavaScript syntax, manifest validation, and the live Client slot, then report that visual verification remains unavailable. Before or after installation, do not search for rasterizers, invoke Quick Look, extract SVG into preview files, emulate React/DOM, or implement a custom renderer to compensate for missing browser control. A screenshot of a mock page is not verification of the running plugin.
4
4
 
5
+ For a page or panel, verify that styles use only theme tokens, the plugin imports no Harness Client package such as `@deepseek-ai/dsh-client-ui-primitives`, the console shows no slot entry crash, and the view reads correctly in light and dark themes beside a comparable host page. Scale verification to the change's risk.
6
+
5
7
  For any test subprocess or temporary resource, use a unique owned directory, bound execution, and await cleanup. A failed optional preview must not turn into environment repair or block installation.
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
2
+ <circle cx="32" cy="32" r="24" fill="#247bbf"/>
3
+ </svg>
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Composer Decoration",
4
+ "description": "Displays a blue circle below the message composer."
5
+ }
6
+ }
@@ -3,7 +3,13 @@
3
3
  "version": "1.0.0",
4
4
  "private": true,
5
5
  "type": "module",
6
- "exports": { ".": "./index.js", "./client": "./client.js" },
6
+ "exports": {
7
+ ".": "./index.js",
8
+ "./client": "./client.js",
9
+ "./locale/*.json": "./locale/*.json",
10
+ "./icon": "./icon.svg"
11
+ },
12
+ "files": ["index.js", "client.js", "cordis.patch.yml", "locale/*.json", "icon.svg"],
7
13
  "dsh": {
8
14
  "bundle": { "patch": "./cordis.patch.yml" },
9
15
  "client": {
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
2
+ <rect x="4" y="18" width="18" height="28" rx="4" fill="#247bbf"/>
3
+ <rect x="42" y="18" width="18" height="28" rx="4" fill="#247bbf"/>
4
+ <path d="M22 32h20m-7-7 7 7-7 7" fill="none" stroke="#247bbf" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
5
+ </svg>
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Demo MCP Connection",
4
+ "description": "Connects a remote MCP server to make its tools available to the agent."
5
+ }
6
+ }
@@ -3,5 +3,7 @@
3
3
  "version": "1.0.0",
4
4
  "private": true,
5
5
  "type": "module",
6
+ "exports": { "./locale/*.json": "./locale/*.json", "./icon": "./icon.svg" },
7
+ "files": ["cordis.patch.yml", "locale/*.json", "icon.svg"],
6
8
  "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }
7
9
  }