@toddzheng024/dscode-desktop 0.7.34 → 0.7.36

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
@@ -3,7 +3,7 @@
3
3
  DSCODE adds a coding preset, browser workflows, cross-session collaboration,
4
4
  memory and task management to the official DeepSeek Harness Desktop application.
5
5
 
6
- **Version:** 0.7.34 · **Harness runtime:** 0.2.0-rc.2
6
+ **Version:** 0.7.36 · **Harness runtime:** 0.2.0-rc.2
7
7
 
8
8
  Preview release candidate; publication is a separate step.
9
9
 
@@ -37,8 +37,9 @@ desktop_dsh='/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/b
37
37
  "$desktop_dsh" plugin --profile desktop add /absolute/path/to/dscode-desktop.tgz --ignore-scripts
38
38
  ```
39
39
 
40
- Restart Desktop, select the **DSCODE** preset, select a workspace, and configure
41
- the model under **Settings → DSCODE models** or **DSCODE accounts**.
40
+ Fully quit and reopen Desktop. In **Settings → General**, enable **Show coding view**; enable **Agent presets** in Plugins if disabled. Create a new session and select **DSCODE** and a workspace. Use an existing model from the normal model picker.
41
+
42
+ **Settings → DSCODE** contains setup, Models, Accounts and Schedules at the same level. Models and Accounts add optional providers; they are not required for existing Desktop accounts. **Plugins → DSCODE · Community** opens the same page. The package activation notice explains the required restart.
42
43
 
43
44
  Installation through the official **Plugins → Add plugin** interface was checked
44
45
  on macOS Desktop 0.2.0-rc.2. Public npm installation instructions accompany a
@@ -47,7 +48,7 @@ public release; a candidate build alone does not publish a package.
47
48
  ## Install a published version
48
49
 
49
50
  After this version is available on npm, enter
50
- `@toddzheng024/dscode-desktop@0.7.34` in **Plugins → Add plugin**,
51
+ `@toddzheng024/dscode-desktop@0.7.36` in **Plugins → Add plugin**,
51
52
  review the installation, install, then choose **Enable now**. Using the exact
52
53
  version keeps the installation tied to these instructions and compatibility
53
54
  requirements. The `preview` tag tracks the current Desktop preview release.
@@ -81,9 +82,9 @@ configuration and the user patch. Keep a backup before migrating your own state.
81
82
  - Durable session messaging, source-backed memory and opt-in scheduling.
82
83
  - Email inbox, IMAP/Gmail setup and explicit message-to-session delivery.
83
84
  - Independent code review, optional automatic permission review and diagnostics.
84
- - Plugin Hub search, categories and details, read-only conversation discovery,
85
- and reviewed installation through the official plugin manager. Enable and
86
- configure installed plugins in **Settings → Plugins**; see `docs/plugin-hub.md`.
85
+
86
+ Plugin Hub is not bundled: this package does not add its settings page, catalog
87
+ connection or discovery tools. See `docs/plugin-hub.md` for version boundaries.
87
88
 
88
89
  Use the bundled guides under `docs/` for individual settings and boundaries.
89
90
  The terminal's state directory may differ from Desktop's; sharing credentials
package/cordis.patch.yml CHANGED
@@ -42,14 +42,14 @@
42
42
  - insert:
43
43
  - id: dscode-credentials
44
44
  name: "@toddzheng024/dscode-desktop/credentials"
45
+ config:
46
+ desktop: true
45
47
  - id: dscode-desktop-workspace
46
48
  name: "@toddzheng024/dscode-desktop/workspace"
47
49
  - id: dscode-custom
48
50
  name: "@toddzheng024/dscode-desktop/custom"
49
51
  - id: dscode-desktop
50
52
  name: "@toddzheng024/dscode-desktop"
51
- - id: dscode-hub
52
- name: "@toddzheng024/dscode-desktop/hub"
53
53
  - id: dscode-openrouter
54
54
  name: "@toddzheng024/dscode-desktop/openrouter"
55
55
  config:
@@ -92,8 +92,6 @@
92
92
  cursorVisualization: visible
93
93
  - id: dscode-desktop-triggers
94
94
  name: "@toddzheng024/dscode-desktop/triggers"
95
- - id: dscode-browser
96
- name: "@toddzheng024/dscode-desktop/browser"
97
95
  - id: dscode-auto-review
98
96
  name: "@toddzheng024/dscode-desktop/auto-review"
99
97
 
@@ -431,3 +429,6 @@
431
429
 
432
430
  - id: present
433
431
  name: '@deepseek-ai/dsh-tool-present'
432
+
433
+ - id: dscode-browser
434
+ name: '@toddzheng024/dscode-desktop/browser'
package/docs/CHANGELOG.md CHANGED
@@ -6,7 +6,25 @@ Per-release notes live in [`docs/releases/`](releases/); the entries below summa
6
6
 
7
7
  <!-- Add upcoming changes under Unreleased. -->
8
8
 
9
- ## [Unreleased]
9
+ ## [0.7.36] - 2026-10-09
10
+
11
+ ### Added
12
+
13
+ - `dscode acp` serves standard ACP stdio clients with the DSCODE agent preset and configured providers. It supports native DSH session controls and forwards approval requests to the client. See [ACP clients](acp.md) for setup and inherited protocol limitations.
14
+
15
+ - The source and npm launchers preserve ACP stdin/stdout, use client tool approvals, and require an installed-protocol probe before Hub publication.
16
+ - Linux CI pulls the official Node image through its ECR Public mirror to avoid Docker Hub anonymous pull limits.
17
+
18
+ ## [0.7.35] - 2026-10-08
19
+
20
+ - Promote the verified Desktop package to both `preview` and `latest` so default installations receive this fix instead of 0.7.33. Promotion requires a matching public-install receipt.
21
+
22
+ - Scope Desktop browser tools, skill and command to DSCODE sessions. Standard sessions no longer inherit the DSCODE browser entry; TUI Browser Use keeps its existing integration.
23
+ - Group setup, Models, Accounts and Schedules under one DSCODE settings page, using Harness theme tokens and compact controls. Add a community-labeled Plugins item and an activation notice with full-restart and preset-selection instructions.
24
+ - Prefer existing native Desktop credentials and save new Desktop keys to the native store. Terminal credentials remain a legacy fallback; explicit removal clears both copies. Existing Desktop models do not require a separate DSCODE login.
25
+
26
+ - Remove bundled Plugin Hub functionality from the Desktop package: no Hub settings page, catalog endpoint, conversation discovery tools, source files or Hub-specific runtime dependencies. DSCODE's catalog listing and release synchronization remain available; this does not publish a standalone Hub Desktop plugin. Already published 0.7.34 packages retain their previous contents; update to 0.7.35 to remove the integration.
27
+ - Update the Desktop demo and browser guide to distinguish DSCODE's integration features from official Harness Browser Use, and replace bundled-Hub qualification with checks that the package and running Host contain no Hub integration.
10
28
 
11
29
  ## [0.7.34] - 2026-10-08
12
30
 
package/docs/acp.md ADDED
@@ -0,0 +1,31 @@
1
+ # ACP clients
2
+
3
+ Run `dscode acp` to expose the DSCODE agent preset through Agent Client Protocol over newline-delimited JSON-RPC on stdin/stdout. The terminal interface is disabled. The ACP client supplies an absolute workspace directory when creating a session; tools run on the computer running DSCODE.
4
+
5
+ ## Connect a client
6
+
7
+ Configure your client's custom ACP agent with executable `dscode` and arguments `["acp"]`. If the editor cannot find commands installed through nvm, use the absolute path printed by `command -v dscode`. Keep stdin open for the lifetime of the connection.
8
+
9
+ To select an initial model explicitly, use:
10
+
11
+ ```sh
12
+ dscode acp --model custom-your-provider-id/your-model-id
13
+ ```
14
+
15
+ Without `--model`, the bridge uses DSCODE's saved default provider and model. Set up credentials and custom services in the normal TUI first with `/login` or `/provider custom`. The stable custom provider ID is recorded in `~/.dscode/providers.yaml`; it is not the service's display name. API keys stay in the existing credential store. Clients supporting ACP configuration options can select an advertised model and reasoning effort after creating a session.
16
+
17
+ For a source checkout, the equivalent executable is `node` with arguments `["/absolute/path/to/dscode/bin/dscode.mjs", "acp"]`. Source and npm installations use their existing, separate state directories. `--patch FILE` adds a trusted composition overlay and can be repeated. `dscode acp --help` prints usage without starting the runtime or installing a profile.
18
+
19
+ ## Behavior and limits
20
+
21
+ - New and resumed ACP agents mount the `dscode` preset, including its tools and provider adapters. The bridge reuses DSH's native ACP implementation rather than translating terminal output.
22
+ - ACP sessions use the `ask` permission preset. Tool requests requiring approval are sent to the ACP client; the client can allow once, reject, or cancel. Normal sandbox rules still apply. The terminal's automatic model review is not the approval decision maker for these sessions.
23
+ - Standard session creation, prompts, cancellation, model configuration, listing, resume, close and MCP attachment are inherited from the pinned DSH bridge. Resume reconnects a session without replaying its transcript.
24
+ - The inherited bridge identifies itself as `deepseek-harness-acp`. It does not advertise `session/load`, modes, slash commands, terminal delegation, client filesystem operations or interactive question forms. Clients requiring those features need additional integration; a successful protocol handshake does not establish full editor compatibility.
25
+ - Title generation, session-card generation and memory generation are disabled in this transport. Configured providers, tools and other integrations remain available; ACP is not an offline mode.
26
+ - Stdout is reserved for protocol frames. First-install progress and launcher diagnostics go to stderr. Trusted custom patches must also respect this rule.
27
+ - Closing stdin shuts down the runtime. SIGTERM is forwarded by the launcher. Sessions persist in the same installation's state directory, and a running ACP process holds the normal installation lock against upgrades.
28
+
29
+ ## Verification
30
+
31
+ `node scripts/verify-acp.mjs` exercises the source CLI with a fixture model and custom API, without paid model requests. Unit tests cover argument validation, preset composition, source and npm launcher routing, cleanup and signal forwarding. Client-specific UI behavior must be verified in the intended editor.
@@ -5,6 +5,27 @@ DevTools MCP. Chrome starts only when you use `/browser start` or the agent call
5
5
  `browser_start`. No MCP configuration or separate npm installation is needed.
6
6
  Google Chrome is required for browser tasks; ordinary coding does not need it.
7
7
 
8
+ ## Relationship to official Harness Browser Use
9
+
10
+ Official Harness already provides a [Browser Use framework and experimental
11
+ providers](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/browser-use/README.md),
12
+ including Chrome DevTools MCP, Playwright MCP and Stagehand. Basic page browsing,
13
+ clicking, typing, screenshots and developer inspection are not unique DSCODE
14
+ features. Backend and Session lifecycle plumbing overlap with upstream work.
15
+
16
+ DSCODE adds its own per-origin access and separate Developer grants, screenshot
17
+ point annotations delivered to the conversation, and explicit login handoff and
18
+ resume controls. The sections below describe their behavior and limits. These
19
+ are DSCODE integration features; this guide does not claim that every upstream
20
+ provider lacks equivalent capabilities.
21
+
22
+ The official [Browser sidebar](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-sidebar-browser/README.md)
23
+ embeds a web view and does not itself register model tools. DSCODE's Browser
24
+ preview captures an external Chrome connection. It does not drive that embedded
25
+ web view, share its login state automatically, or present a live browser stream.
26
+ Persistent profiles, Chrome attachment and experimental extension/WebMCP support
27
+ are additional DSCODE connection choices, not evidence of better task quality.
28
+
8
29
  ## Start a task
9
30
 
10
31
  From this checkout, run `npm start`, then ask:
@@ -625,7 +646,7 @@ and account settings, browser preview, durable session communication, cross-sess
625
646
  memory and opt-in task scheduling together. Ordinary builds remain private;
626
647
  the separate [release process](hub-distribution.md#desktop-release-candidate-and-publication)
627
648
  qualifies a public candidate for 0.2.0-rc.2. The Desktop preview is published on npm as
628
- `@toddzheng024/dscode-desktop@0.7.34`. The package does
649
+ `@toddzheng024/dscode-desktop@0.7.35`. The package does
629
650
  not yet include all DSCODE Host services. Its experimental
630
651
  [native Computer Use adapter](computer-use.md) has passed helper and lifecycle
631
652
  checks; window observation, screenshots and input await qualification with
@@ -633,9 +654,9 @@ macOS Accessibility permission.
633
654
  Choose this package or the browser-only bundle; enabling both duplicates their
634
655
  browser services.
635
656
 
636
- The Desktop plugin's package name is `@toddzheng024/dscode-desktop`. It also
637
- includes [Plugin Hub](plugin-hub.md) for community discovery and installation
638
- through the official manager. The earlier private
657
+ The Desktop plugin's package name is `@toddzheng024/dscode-desktop`. Version 0.7.35
658
+ removes bundled [Plugin Hub](plugin-hub.md) functionality; older 0.7.33 and 0.7.34
659
+ packages still include it. The earlier private
639
660
  `@toddzheng024/dscode-desktop-preset-probe` must be removed before installing
640
661
  this package; both register the same DSCODE components. Back up your Desktop
641
662
  state first. A separate macOS Desktop 0.2.0-rc.2 migration check preserved
@@ -717,20 +738,15 @@ desktop_package='/absolute/path/printed-by-pack-command.tgz'
717
738
  "$desktop_dsh" plugin --profile desktop add "$desktop_package" --ignore-scripts
718
739
  ```
719
740
 
720
- Reopen Desktop, choose **DSCODE** for a new session, and configure a model under
721
- **Settings → DSCODE models**, or connect a supported account under
722
- **Settings → DSCODE accounts**. Browser preview is available in the right sidebar.
723
- **Settings → DSCODE schedules** manages tasks for an open DSCODE session and
724
- explicitly enables or stops delivery. Its launch preference is saved; Desktop
725
- must remain open to deliver tasks. See [Desktop scheduling](triggers.md#experimental-desktop-scheduling)
726
- for restart, removal and permission behavior, and current qualification limits.
727
-
728
- The account page saves or removes the shared OpenRouter API key. Changes also
729
- affect terminal sessions and native routes reading that same credential file;
730
- environment-owned keys remain read-only. The saved key is never returned to the
731
- form. Choose **DSCODE OpenRouter** in the model picker for DSCODE reasoning
732
- controls, including Ultra on supported models. The native OpenRouter route
733
- remains available separately.
741
+ Fully quit and reopen Desktop after installing or updating. In **Settings → General**, enable **Show coding view** and enable **Agent presets** in Plugins if disabled. Create a new session with **DSCODE**; existing sessions keep their original preset. Choose a model from the normal picker to reuse an existing Desktop account.
742
+
743
+ In 0.7.35 and later, **Settings → DSCODE** groups Get started, Models, Accounts and Schedules as peer entries and follows the host's light/dark theme. **Plugins → DSCODE · Community** opens the same setup page. Models and Accounts are optional additions. Published 0.7.34 still has separate settings pages.
744
+
745
+ Browser tools, the browser skill and `/browser` are mounted only in DSCODE sessions. Standard sessions retain their existing tools, and the DSCODE preview explains the preset boundary instead of starting a browser there. TUI Browser Use remains enabled through its existing composition. The Desktop package still supplies shared credential and subagent compatibility services; this scope change does not remove those Host adapters.
746
+
747
+ **Settings → DSCODE → Schedules** manages tasks for an open DSCODE session and explicitly enables or stops delivery. Its launch preference is saved; Desktop must remain open to deliver tasks. See [Desktop scheduling](triggers.md#experimental-desktop-scheduling) for restart, removal and permission behavior, and current qualification limits.
748
+
749
+ Desktop credentials now prefer the existing native store and save new keys there. Existing terminal keys remain a fallback when no native key is present; saving a Desktop key does not replace the terminal key. Explicit key removal clears both copies to prevent a legacy key from becoming active again. Environment-owned keys remain read-only, and the saved key is never returned to the form. Choose **DSCODE OpenRouter** for DSCODE reasoning controls, including Ultra on supported models. The native OpenRouter route remains available separately.
734
750
 
735
751
  For Grok, run `grok login` in a terminal and refresh the account status. DSCODE
736
752
  reads `~/.grok/auth.json` without changing or refreshing its tokens. For OpenCode
@@ -36,7 +36,7 @@ editor and discovering models again does not replace it with a server-reported
36
36
  output limit. Models whose output budget has never been edited can still adopt
37
37
  the server's reported value.
38
38
 
39
- In Desktop's **Settings → DSCODE models**, **Discover models** immediately merges the returned models into the draft. Existing models keep their order, thinking mode and image-input choice; new models are appended. Reported limits refresh unless you have edited that value, including an output budget you deliberately left blank. Models absent from the response remain in the draft. Choose **Save provider** to persist the changes.
39
+ In Desktop's **Settings → DSCODE → Models**, **Discover models** immediately merges the returned models into the draft. Existing models keep their order, thinking mode and image-input choice; new models are appended. Reported limits refresh unless you have edited that value, including an output budget you deliberately left blank. Models absent from the response remain in the draft. Choose **Save provider** to persist the changes.
40
40
 
41
41
  Thinking defaults to the server's behavior. Identified oMLX models also offer Off/On in the editor and Off/On in `/effort` (the stored effort IDs are `off` and `high`). Other custom APIs do not receive guessed reasoning parameters. Native Responses reasoning items and Anthropic thinking signatures are retained for replay to the same service, model and protocol.
42
42
 
@@ -44,7 +44,7 @@ Thinking defaults to the server's behavior. Identified oMLX models also offer Of
44
44
 
45
45
  In the model editor, set **Input → Text and images** only when that model and endpoint support image input. Existing configurations and newly discovered models default to **Text only**; DSCODE does not infer vision support from a model name. Discovery preserves your explicit choice. Changing the base URL, API format or model ID resets the editor's image choice to **Text only**, so enable it again for the new deployment.
46
46
 
47
- In the [experimental Desktop package](browser-use.md#install-the-experimental-combined-desktop-package), open **Settings → DSCODE models**, select the saved provider, enable the model's **Accepts images** checkbox and choose **Save provider**. Select that saved model in the session's model picker. The same explicit capability setting and request-image limits apply in both interfaces. The settings test checks text, streaming and tools; it does not test image understanding.
47
+ In the [experimental Desktop package](browser-use.md#install-the-experimental-combined-desktop-package), open **Settings → DSCODE → Models**, select the saved provider, enable the model's **Accepts images** checkbox and choose **Save provider**. Select that saved model in the session's model picker. The same explicit capability setting and request-image limits apply in both interfaces. The settings test checks text, streaming and tools; it does not test image understanding.
48
48
 
49
49
  All three protocols can send user images, browser annotation screenshots and images returned by tools. DSCODE reads their durable attachments and sends image bytes to the configured API: Chat Completions uses `image_url` data URLs, Responses uses `input_image`, and Anthropic Messages uses base64 `image` blocks. Tool screenshots follow their tool result as user image content. Enabling this option does not add vision capability to a text-only server.
50
50
 
@@ -64,7 +64,7 @@ Automatic review follows its configured model route. When that route is Custom,
64
64
 
65
65
  ## Persistence
66
66
 
67
- Service and model configuration lives in `~/.dscode/providers.yaml`; keys use the existing owner-only `~/.dscode/credentials.yaml` store. Provider records contain no key values. Each service receives a stable `custom-…` ID and a derived `DSCODE_CUSTOM_CUSTOM_…_API_KEY` credential reference. An environment variable with that exact reference takes precedence over the saved key, following the existing credential-store rules.
67
+ Service and model configuration lives in `~/.dscode/providers.yaml`; terminal keys use the existing owner-only `~/.dscode/credentials.yaml` store. In Desktop 0.7.35 and later, existing native credentials take precedence and new keys are saved to the native Harness store (`~/.dsh/.credentials.yaml` by default). Old DSCODE keys remain a fallback; explicit removal clears both copies to avoid reactivating a legacy key. Provider records contain no key values. Each service receives a stable `custom-…` ID and a derived `DSCODE_CUSTOM_CUSTOM_…_API_KEY` credential reference. An environment variable with that exact reference takes precedence over the saved key, following the existing credential-store rules.
68
68
 
69
69
  Configuration is shared across projects and installed versions, written atomically, and reloaded by other running Hosts. Stale editors cannot overwrite newer configuration. Renaming a service preserves its ID, so persisted sessions continue to resolve it. Removing a provider removes its route and writable stored credential; it does not reroute existing sessions or delete their history. An environment-supplied key remains in the environment. If it masks a stored key, clear the environment override before removing the provider to remove that stored key too.
70
70
 
package/docs/demo.md CHANGED
@@ -2,84 +2,68 @@
2
2
 
3
3
  ## Desktop feature summary
4
4
 
5
- The 0.7.34 Desktop preview installs into official Harness Desktop. Its qualified
6
- target is macOS Apple Silicon with Harness runtime **0.2.0-rc.2**. Present the
7
- DSCODE workflow and the Plugin Hub contribution separately:
5
+ The 0.7.35 Desktop preview installs into official Harness Desktop.
6
+ Its qualified target is macOS Apple Silicon with runtime **0.2.0-rc.2**.
7
+ This version removes bundled Hub functionality. Demonstrate DSCODE on its own
8
+ and state which version is being shown.
8
9
 
9
10
  | Area | What the user gains | Boundary |
10
11
  | --- | --- | --- |
11
12
  | DSCODE coding workflow | A DSCODE preset with custom model/account settings, session communication, memory, usage and delegation views | Terminal-only panels retain their terminal UI; model behavior depends on the configured provider. |
12
- | DSCODE browser workflow | Browser tools, per-site access, a screenshot preview and point annotations in the conversation | Chrome is required. An image-capable model is needed to interpret screenshots; captures expire and must be refreshed after navigation. |
13
+ | DSCODE browser integration | Per-site and Developer permissions, screenshot preview and point annotations delivered to the conversation, manual login handoff | Official Harness already has Browser Use. DSCODE connects external Chrome; it does not enhance or share login state with the official embedded browser. |
13
14
  | DSCODE optional services | Email inbox integration and scheduled work | Account configuration and explicit opt-in are required. Desktop must stay open for scheduled delivery. |
14
- | Our Plugin Hub integration | Search and categories across our community catalog, package details, compatibility and reported scan information, plus read-only discovery tools for the agent | Catalog coverage defines the search scope. Reported scans do not establish that a plugin is safe. |
15
- | Hub installation handoff | Review an exact npm version, confirm its installation and open official management | Official Harness inspects and installs it. New plugins remain disabled; official controls own enabling, configuration and removal. |
16
15
 
17
- The Hub story is **find → understand → review → install → manage**. Its value is
18
- community discovery and the information needed to choose a plugin. Do not count
19
- DSCODE's browser, memory or coding features as Hub features, or claim that Hub
20
- replaces official lifecycle management. This demo makes no claim that every
21
- official Desktop version lacks search.
16
+ Hub community discovery belongs in a separate product demo. The removal does
17
+ not deliver a standalone Hub Desktop package. See [Plugin Hub](plugin-hub.md)
18
+ for the behavior of earlier published versions.
22
19
 
23
20
  ## Five-minute Desktop walkthrough draft
24
21
 
25
- This draft is for existing DSH Desktop users. Choose the final emphasis and
26
- recording length with the presenter; allow separate time for downloads and
27
- account setup. The installation and UI paths have verification records, but
28
- this complete timed walkthrough has not been rehearsed with a live model.
22
+ Allow separate time for downloads and account setup. This complete timed
23
+ walkthrough has not been rehearsed with a live model.
29
24
 
30
25
  ### Prepare
31
26
 
32
- 1. Use a disposable Desktop profile and a scratch workspace. Install
33
- `@toddzheng024/dscode-desktop@0.7.34` through **Plugins → Add plugin**, then
34
- choose **Enable now**. Select the **DSCODE** preset. Follow the
35
- [installation guide](browser-use.md#install-the-experimental-combined-desktop-package)
36
- if migrating from the old probe package.
37
- 2. Configure a model in private, confirm one short response and install Chrome.
38
- For the annotation segment, choose a model whose configuration accepts images.
39
- Do not record API keys, account login or personal workspace contents.
40
- 3. Open **Settings → Plugin Hub**, search for `dsh-theme-plugin`, and check the
41
- current details and compatibility. The recorded installation check used
42
- **0.3.3**; the live catalog may offer a newer exact version. Rehearse that
43
- version before using it in a recording. An incompatible or unavailable entry
44
- is a reason to show discovery only, without claiming installation succeeded.
45
- 4. Keep the [0.7.34 release page](https://github.com/qiz029/dscode/releases/tag/v0.7.34)
46
- ready for the installation and distribution closing shot. The public npm
47
- package and GitHub archive carry the same qualified bytes.
27
+ 1. Use a disposable Desktop profile and scratch workspace. For the published
28
+ demo, install `@toddzheng024/dscode-desktop@0.7.35` through **Plugins → Add
29
+ plugin**, then choose **Enable now**. Fully quit and reopen Desktop after
30
+ updating. Hub is separate from this package. For local development builds,
31
+ follow the [installation guide](browser-use.md#install-the-experimental-combined-desktop-package)
32
+ and identify the checkout being demonstrated.
33
+ 2. Select the **DSCODE** preset when creating the session. Harness 0.2.0-rc.2
34
+ gates the preset picker behind **Show coding view**; ensure that option and
35
+ the Agent presets UI are enabled before recording. A Standard session does
36
+ not acquire the complete DSCODE preset just because the package is installed.
37
+ 3. Configure a model in private, confirm one short response and install Chrome.
38
+ For annotations, choose a model that accepts images. Do not record API keys,
39
+ account login or personal workspace contents.
40
+ 4. Rehearse one small coding task and the browser annotation with that model.
41
+ Keep the matching release page or local-build information ready. A local
42
+ build must not be presented as the published 0.7.35 archive.
48
43
 
49
44
  ### Walkthrough
50
45
 
51
46
  | Approximate time | Action | Point to explain |
52
47
  | --- | --- | --- |
53
- | 0:00–0:30 | Show the enabled DSCODE plugin and a DSCODE session in official Desktop. | Existing DSH Desktop users can add DSCODE through a plugin. |
54
- | 0:30–1:30 | Open Plugin Hub, search, choose a category and open details. | Our Hub brings community discovery, descriptions and compatibility information into the application. |
55
- | 1:30–2:30 | Choose **Review installation**, show the exact package/version, then **Confirm installation**. Wait for its actual outcome. | The user reviews the package; official Harness performs installation. Download time is additional. |
56
- | 2:30–3:00 | Choose **Manage installed plugin**, show its disabled state and official controls. | Enabling, configuration and removal stay in official management. Enabling the example theme is optional. |
57
- | 3:00–4:30 | In the DSCODE session, ask: “Use the browser to open https://example.com and inspect the page.” Grant that origin if requested. In **Browser preview**, refresh the image, select a point, type “Summarize the text at this point” and choose **Send annotation**. | This is DSCODE's browser workflow. The screenshot, page reference and selected point enter the conversation; show the real response only after it arrives. |
58
- | 4:30–5:00 | Show the exact npm install specification and GitHub release assets/notes. | Users can install the released plugin today; releases include compatibility, changes and verification limits. |
59
-
60
- For a Hub-only cut, keep the first four rows and the release closing shot. No
61
- model account is needed to browse and install through the Hub UI. For a longer
62
- DSCODE cut, add a scratch-project coding task and demonstrate the relevant
63
- usage/delegation view after rehearsing it with the selected model.
48
+ | 0:00–0:30 | Show the enabled DSCODE plugin and a DSCODE session. | Existing DSH Desktop users can add the coding workflow through a plugin. |
49
+ | 0:30–2:00 | Run the rehearsed small coding task in the scratch workspace. | Show actual changes and verification; model quality is not established by the installation checks. |
50
+ | 2:00–4:00 | Ask the agent to open https://example.com. Grant that origin if requested. In **Browser preview**, refresh, select a point, enter “Summarize the text at this point” and choose **Send annotation**. | Basic browsing overlaps official Browser Use. The demonstrated DSCODE additions are the permission controls and screenshot/point handoff into the conversation. |
51
+ | 4:00–4:30 | Open the session usage view; show the delegation view only if the task actually delegated. | Views reflect the current DSCODE session and available records. |
52
+ | 4:30–5:00 | Show the matching install specification and release notes, or label the local build. | Published availability and an unreleased change are distinct states. |
64
53
 
65
54
  ### Rehearsal and reset
66
55
 
67
- - Confirm the selected package is absent before the install shot. Remove a
68
- previous demo installation through official **Plugins** in the disposable
69
- profile, then reopen Hub. Do not remove plugins from a personal profile to
70
- prepare the demonstration.
71
- - Show success, cancellation, refusal or restart-required exactly as reported.
72
- After a Host restart, inspect official **Plugins** before attempting another
73
- installation; Hub operation history does not survive the restart.
74
- - If the Hub/network is unavailable, use a clearly identified earlier recording
75
- or continue with the DSCODE segment. Do not label cached footage as a live
76
- successful install.
77
- - Refresh the browser screenshot and select a new point if the capture expires
78
- or navigation occurs. Text-only delivery must be described as text-only.
79
- - Keep standalone DMG delivery, coordinated update/changelog UI, Profile
80
- rollback and native Computer Use permission qualification out of this demo's
81
- claims. See [Plugin Hub](plugin-hub.md), [Browser use](browser-use.md) and the
82
- [release notes](releases/0.7.34.md) for the shipped behavior and limits.
56
+ - Reopen Desktop after a package update. Confirm both plugin activation and a
57
+ working new DSCODE session before starting the recording.
58
+ - Refresh the screenshot and select a new point after navigation or expiry.
59
+ Image understanding needs an image-capable model. Describe text-only delivery
60
+ as text-only.
61
+ - Stop the session browser between rehearsals. Its Chrome profile and login
62
+ state are separate from the official embedded browser.
63
+ - Keep standalone DMG delivery, Hub integration, coordinated update/changelog
64
+ UI, Profile rollback and native Computer Use permission qualification out of
65
+ this demo's claims. See [Browser use](browser-use.md) and the
66
+ [0.7.35 release notes](releases/0.7.35.md) for published behavior and limits.
83
67
 
84
68
  ## The 90-second terminal demo
85
69
 
@@ -37,15 +37,16 @@ A user who already has dsh-hub installed can apply directly, but must use pnpm 1
37
37
 
38
38
  Install the official Harness Desktop application with embedded runtime
39
39
  0.2.0-rc.2. In **Plugins → Add plugin**, enter
40
- `@toddzheng024/dscode-desktop@0.7.34`, review and install, then choose
41
- **Enable now**. Select the DSCODE preset and configure your model account.
40
+ `@toddzheng024/dscode-desktop@0.7.35`, review and install, then choose
41
+ **Enable now**. Fully quit and reopen Desktop, enable **Show coding view** and
42
+ **Agent presets**, then create a DSCODE session and choose an existing model.
42
43
  The Desktop preview is qualified on macOS Apple Silicon. See
43
44
  [Desktop installation](browser-use.md#install-the-experimental-combined-desktop-package)
44
45
  for archive checksums, migration and removal, and [Plugin Hub](plugin-hub.md)
45
- for discovering community plugins after installation.
46
+ for the separation between DSCODE and Hub.
46
47
 
47
48
  Version 0.7.34 fixes the 0.7.33 activation error “4 entries did not activate”
48
- when Desktop starts without `DSH_HOME`. Update to the exact 0.7.34 package and
49
+ when Desktop starts without `DSH_HOME`. Update to the current 0.7.35 package and
49
50
  enable it again; exporting a shell variable is unnecessary. Default Desktop
50
51
  state uses `~/.dsh`, as resolved by Harness. Publication now verifies installation
51
52
  and the affected components with that default environment.
@@ -135,8 +136,8 @@ node scripts/verify-desktop-registry.mjs .research/desktop-release-runtime --loc
135
136
  `prepare:desktop` provisions exact direct dependencies with install scripts
136
137
  disabled; it refuses to overwrite an unrelated project. `release:desktop`
137
138
  builds a public candidate only for Harness 0.2.0-rc.2, then unpacks those exact
138
- bytes for Host startup/restart, browser, annotation, isolation and authenticated
139
- Hub RPC checks. The source runtime is checked for unintended changes. The
139
+ bytes for Host startup/restart, browser, annotation and isolation checks, plus
140
+ checks that Hub files, UI, tools and endpoint are absent. The source runtime is checked for unintended changes. The
140
141
  local install rehearsal additionally resolves dependencies in a new native
141
142
  Harness profile and boots the installed package; it does not establish public
142
143
  npm availability or drive the Electron UI.
@@ -154,6 +155,7 @@ npm run publish:desktop -- credentials
154
155
  npm run publish:desktop -- npm
155
156
  npm run publish:desktop -- hub
156
157
  npm run publish:desktop -- verify
158
+ npm run publish:desktop -- promote
157
159
  ```
158
160
 
159
161
  Each phase checks the archive and receipt again. The npm phase publishes with
@@ -166,8 +168,11 @@ version retry up to 40 times, 15 seconds apart. Other rejections and credential
166
168
  errors stop immediately; the final integrity and compatibility checks still
167
169
  apply. The final phase downloads public bytes,
168
170
  checks their SHA-256, and installs the exact npm version into a new native
169
- Harness profile before booting it and checking the preset and Hub RPC. The
170
- result is saved as `artifacts/local/desktop-public-install.json`. No model
171
+ Harness profile before booting it and checking the preset and absence of bundled Hub tools and endpoint. The
172
+ result is saved as `artifacts/local/desktop-public-install.json`. The `promote`
173
+ phase requires this public receipt to match the candidate, then updates npm
174
+ `latest` to the same version as `preview`. Both entry points serve the current
175
+ qualified preview; the Desktop support boundary remains unchanged. No model
171
176
  account is used, and no real-model quality claim follows from these probes.
172
177
 
173
178
  The existing npm token must permit the new Desktop package. Successful `whoami`
@@ -175,7 +180,7 @@ proves authentication only; the first publish establishes write permission.
175
180
  Desktop publication does not replace the terminal profile, create a DMG, or
176
181
  implement an automatic Desktop updater. GitHub Release attaches the Desktop
177
182
  archive, checksum and instructions alongside the terminal assets. Follow the
178
- [Plugin Hub guide](plugin-hub.md) for discovery and official management.
183
+ [Plugin Hub guide](plugin-hub.md) for the separation from DSCODE and earlier-version behavior.
179
184
 
180
185
  ### Login-free publishing (local machine)
181
186
 
@@ -1,68 +1,35 @@
1
- # Plugin Hub in Harness Desktop
1
+ # DSCODE and Plugin Hub
2
2
 
3
- The DSCODE Desktop plugin includes **Settings → Plugin Hub**, backed by
4
- [DSH Plugin Hub](https://dshpluginhub.ai). It uses the same public catalog as
5
- the Hub website and CLI. No Hub login is required to browse.
3
+ DSCODE and [DSH Plugin Hub](https://dshpluginhub.ai) are separate products.
4
+ Installing DSCODE should not also install a Hub browsing interface.
6
5
 
7
- ## Find and inspect plugins
6
+ ## Version 0.7.35 and later
8
7
 
9
- Enter a package name or describe a capability, optionally choose a category,
10
- and select **Search**. **Load more plugins** continues the current search.
11
- Open **View details** to read the description, repository, license, weekly
12
- downloads, publisher indicators, reported security checks and declared
13
- compatibility. The website link opens the corresponding Hub listing.
8
+ The Desktop build no longer includes the Hub settings page, Host endpoint,
9
+ `plugin_hub_search` or `plugin_hub_info` tools, Hub source files or Hub-specific
10
+ runtime dependencies. DSCODE sessions do not require the community catalog to
11
+ start or use coding and browser features.
14
12
 
15
- Publisher verification and a passing scan do not guarantee safety. Missing,
16
- failed and incomplete scans remain visible. Compatibility declarations come
17
- from the catalog; the official installer also checks the actual package.
13
+ The package retains its catalog listing metadata so people can discover DSCODE
14
+ through Hub. Release-time catalog synchronization and the terminal launcher's
15
+ existing Hub distribution mechanism remain in place. Neither adds the Desktop
16
+ Hub interface to a user's DSCODE installation.
18
17
 
19
- In a DSCODE conversation, ask the agent to find a plugin. The read-only
20
- `plugin_hub_search` and `plugin_hub_info` tools use the same catalog and Desktop
21
- compatibility checks. These tools do not install plugins, change the Profile
22
- or expose account credentials. Catalog descriptions are third-party data.
23
- The native Standard preset does not receive these tools.
18
+ Hub discovery is available on the separate website. This change does not publish
19
+ a standalone Hub Desktop plugin or move Hub into the official Plugins page.
24
20
 
25
- ## Install and enable
21
+ ## Published versions 0.7.33 and 0.7.34
26
22
 
27
- 1. Open the package details and choose **Review installation**.
28
- 2. Review the exact npm package, version and registry returned by the official
29
- plugin manager, alongside the Hub's scan and compatibility information.
30
- 3. Choose **Confirm installation**. The official manager downloads the package
31
- and dependencies. **Cancel installation** requests cancellation through that
32
- manager; the displayed outcome determines whether it completed in time.
33
- 4. Select **Manage installed plugin**, then enable and configure it in the
34
- official **Settings → Plugins** page.
23
+ These releases still contain **Settings → Plugin Hub**, catalog search and
24
+ categories, package details, and the two read-only discovery tools in DSCODE
25
+ sessions. Their installation handoff delegates to the official plugin manager;
26
+ enabling, configuration and removal stay in **Settings → Plugins**.
35
27
 
36
- Installation leaves the plugin disabled. Enabling third-party plugins runs
37
- their code in the Host. Build-script approvals, enable/disable, configuration
38
- and removal remain with the official plugin manager. When it reports a failure,
39
- cancellation, override or restart requirement, the Hub preserves that outcome.
40
- It does not report every completed package command as successful activation.
28
+ Installing or reinstalling 0.7.34 will therefore not remove the bundled Hub.
29
+ Update to `@toddzheng024/dscode-desktop@0.7.35` using the [Desktop installation guide](browser-use.md#install-the-experimental-combined-desktop-package).
30
+ Fully quit and reopen Desktop after updating; an already running Host may keep
31
+ the old plugin modules loaded.
41
32
 
42
- An installation preview expires after five minutes. Reopen the preview if it
43
- expires. Closing and reopening the Hub page recovers the latest operation while
44
- the same Host remains running. After a Host restart, check **Plugins** before
45
- retrying; the Hub's operation history is not persisted.
46
-
47
- ## Current boundaries
48
-
49
- - The first integration installs the catalog's latest exact npm version. It
50
- checks DSH and Node ranges, platform, interface support, withdrawal and
51
- deprecation. Git/tarball-only entries remain discoverable but are not installed
52
- through this integration.
53
- - Already available bundles link to official management. This page does not
54
- replace them, select older versions, check for updates or roll back a Profile.
55
- - Searches cover the community catalog, including packages for other Harness
56
- interfaces. Details explain when a package does not fit this Desktop.
57
- - The DSCODE terminal package and Desktop package are separate entries. A
58
- terminal-only package is not made Desktop-compatible by appearing in search.
59
- - Search queries and package lookups go to `api.dshpluginhub.ai`. Provider keys,
60
- conversation text, workspace files and local credentials are not sent by this
61
- catalog client. The agent may include task terms in a query you ask it to make.
62
- - The Desktop plugin is published as `@toddzheng024/dscode-desktop@0.7.34`
63
- on npm, with the `preview` tag. Official Add plugin installation, Hub installation with
64
- handoff to official management, and migration from the legacy probe name
65
- have passed on macOS Desktop 0.2.0-rc.2.
66
-
67
- See [Desktop installation](browser-use.md#install-the-experimental-combined-desktop-package)
68
- and [distribution](hub-distribution.md) for package setup and release status.
33
+ Historical Hub installation and UI verification applies to those earlier
34
+ versions. It does not establish availability of a separate Hub Desktop package.
35
+ See [distribution](hub-distribution.md) for release gates.
@@ -0,0 +1,31 @@
1
+ # DSCODE 0.7.35
2
+
3
+ This release separates DSCODE from Hub, confines its Desktop browser integration to DSCODE sessions, and aligns setup and settings with Harness Desktop.
4
+
5
+ - **Desktop browser boundaries:** browser tools, the browser skill and `/browser` are mounted in DSCODE sessions. Standard sessions retain their own tools; DSCODE preview refuses to start a browser from another preset. TUI Browser Use keeps its existing lazy Chrome integration. Shared Desktop credential and subagent compatibility services remain installed.
6
+ - **Hub separation:** the Desktop package no longer contains Hub UI, discovery tools, endpoint, source files or Hub-specific dependencies. DSCODE remains discoverable through the Hub catalog, and the terminal's Hub distribution continues. This release does not provide a separate Hub Desktop plugin. Older 0.7.33/0.7.34 packages retain their published contents.
7
+ - **Setup and interface:** Settings → DSCODE groups Get started, Models, Accounts and Schedules as peer entries, using Harness theme tokens and compact controls. Plugins → DSCODE · Community opens the same page. Activation guidance explains a full application restart, Show coding view, Agent presets and creating a DSCODE session. Existing sessions keep their preset; host-owned list icons remain unchanged.
8
+ - **Existing accounts:** use the normal model picker for models already configured in Desktop. Native credentials take precedence and new Desktop keys are saved to the native store. Legacy terminal keys remain a fallback; explicit removal clears both copies to prevent reactivation and warns before confirmation. External account sign-in flows keep their existing behavior.
9
+ - **Default distribution:** after an exact public installation passes, both npm `preview` and `latest` point to this Desktop version. This replaces the stale default 0.7.33 entry while retaining the preview support boundary. Publication requires the public-install receipt to match the archive.
10
+
11
+ Update in official **Plugins → Add plugin** with `@toddzheng024/dscode-desktop@0.7.35`, then fully quit and reopen the application. Enable **Show coding view** in General and **Agent presets** in Plugins if needed; create a new session and select **DSCODE**. A window close alone does not restart the Host.
12
+
13
+ Verification before release: `npm run check` passed 1,079 unit/component cases,
14
+ both TypeScript checks, coverage, integration/package checks and 63 eval cases.
15
+ Real Chrome checks passed for the TUI and independent Harness 0.2.0-rc.2
16
+ Desktop Host, including screenshot/annotation transport, permissions,
17
+ Standard/DSCODE isolation and repeated session creation before/after restart.
18
+ The signed macOS application passed installation, upgrade from public 0.7.34,
19
+ incompatible-update rejection, removal/reinstallation and data preservation.
20
+ Light/dark setup, models, accounts, schedule empty state and the Plugins entry
21
+ were inspected in the official shared client attached to an isolated Desktop
22
+ Host. The final release workflow requalifies the exact versioned archives.
23
+
24
+ The first local full run included a scheduler cleanup timeout; its isolated
25
+ suite and the full rerun passed without scheduler code changes. The user's
26
+ intermittent inactive-context failure was not reproduced, and hot reload is
27
+ not qualified. Full restart remains required. Live-model task quality,
28
+ external account login, individual mail/usage/delegation panel visual rehearsal,
29
+ macOS Computer Use Accessibility qualification and other platforms/runtimes
30
+ remain unverified by this release. The Desktop target is macOS Apple Silicon,
31
+ Harness runtime 0.2.0-rc.2; no standalone DMG is included.