dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Small, focused UI enhancements for DeepSeek Harness
English | 中文
Small, focused UI enhancements for DeepSeek Harness.
Select New Session and start typing. The composer defaults to No workspace; its existing workspace picker can still select or add a workspace. A workspace's own new-session action continues to start inside that workspace.
<DSH_HOME>/projectless/session-projectless-<uuid>. The active profile determines the DSH home. No workspace is registered and no existing project directory is used; the browser only presents the conversation as a No workspace virtual workspace entry, leaving DSH's workspace registry untouched. See the storage location under Settings → Conversations → No workspace; the native Open workspace in Finder action opens the conversation's directory.The interaction follows Codex's option to start without a project, while retaining DSH's native conversation controls.
Open Settings → Plugins → Plugin list to enable or disable every plugin bundle installed in the active DSH profile.
cordis.patch.yml; unrelated settings and comments are preserved. Flow and block sequences are supported (flow formatting may become block formatting). Invalid YAML or patch entries are rejected before an atomic file replacement.dsh-ui-enhancements switch stays visible but locked on so the recovery control cannot disable itself.Version 0.7.1 requires DSH 0.2.0-rc.2. Restart DSH after installing or upgrading so the host and browser halves reload together.
DSH already ships Pin, Rename, Fork, and Archive in a session row's "..." menu, and the hover buttons at the end of the row are the same set of actions. This plugin no longer draws its own pin and archive buttons; it contributes one Delete now row after the native archive entry.
sidebar.workspaces.session.menu.item slot, after the native entries and behind its own separator, styled like a shipped menu row (danger colors, hover fill, keyboard reachable).Open Settings → Conversations → Archived conversations → Manage, including when the session list is empty. Settings closes and the manager opens in DSH's main content area. Back to conversation returns to your current conversation.
dsh-conversation-tree are excluded. Missing or unreadable records stay visible. Unavailable rows cannot be restored; their text preview can be retried or the record deleted.The plugin adds no agent tools or conversation copies. Title fallback resolution may read a session log; message text is sent to the browser only when you select a conversation. The browser keeps at most three text previews in memory until the plugin unloads.
0.7.0 is validated against DSH 0.2.0-rc.2 only. 0.2.0 changed three internal contracts this plugin relies on: descriptor value codecs moved from a schema field to a create() factory; the sidebar session list arrives as a list snapshot prop instead of a useSessions hook; and the hero and composer no longer flow through the main.conversation renderSlot pipeline. This release adapts to all three and replaces the render-prop injection with a virtual workspace entry (::dsh-no-workspace) in the client-side workspace model. The host registry gains no workspace.
Pin, rename, fork, and archive are entries of DSH 0.2.0-rc.2's sidebar.workspaces.session.menu.item and sidebar.workspaces.session.row.action slots; this plugin's delete row now registers into that same list instead of rewriting row fibers or hover buttons. The composer × shortcut relied on 0.1.5's composer chip pipeline; on 0.2.0 the same switch is made from the No workspace entry in the workspace picker.
0.7.0 changes: the plugin used to draw its own Pin and Archive buttons beside the native menu and to keep a pin list in browser storage that it wrote back over the saved session order, fighting the native pin. Both buttons are gone in favor of DSH's native row buttons, and Delete now moved from the hover strip into the session row's "..." menu, after the native archive row and behind a separator.
0.6.2 fixes: 0.2.0 also removed the navigation.sessions.clear() helper the New Session action used, and calling it threw inside the click handler, leaving the sidebar button and the ⌥⌘N shortcut completely inert; this release starts the managed conversation directly instead. It also stopped claiming only the selected conversation, which left the remaining workspace-less conversations in the native ungrouped area and produced two identically named No workspace groups.
0.6.4 fixes: the virtual workspace entry carried an empty path, and the native tree view nests a workspace under the nearest registered directory that contains it — an empty path contains every absolute path, so Group by workspace tree rendered every registered workspace as a child of No workspace. The entry now carries the managed root directory, which holds only this plugin's own conversation folders, so workspaces keep their own level.
0.6.3 fixes: No workspace was sorted by activity together with real workspaces, so a busy workspace could push it down, while the Last updated view disables group dragging — which made "dragging No workspace" look completely inert. The workspace-less anchor now leads every order mode (the native ungrouped bucket renders under the same label and travels with it), activity order only decides the groups below it, and the anchor row no longer offers a drag handle it cannot honor.
0.2.0 draws the composer workspace button and the picker menu itself, in a component the plugin can no longer wrap, so the shared chat icon is applied through a DOM adapter: a button or menu item is decorated only while it shows this plugin's own No workspace label, and the native folder icon returns for a real workspace.
DSH 0.2.0-rc.2 has no native restore/delete API. This release uses its registry serialization, native Agent handles, JSONL write leases, and SQLite search eviction. Revalidate these integrations before upgrading DSH. Restart DSH if a session was already active before the plugin loaded. Subagent sessions owned by another agent cannot be deleted directly. The storage root and every conversation directory must be real directories, not symlinks.
dsh plugin --profile web add github:Unintendedz/dsh-ui-enhancements#v0.7.1
Restart the DSH Web service after installing or removing the plugin.
dsh plugin --profile web remove dsh-ui-enhancements
npm install
npm test
The browser regression in tests/browser/workspace-choice.js checks direct clearing, shared icons, current-group highlighting, keyboard use, and draft transfer. Run it with playwright-cli run-code --filename=tests/browser/workspace-choice.js against a fresh isolated profile with synthetic Alpha Workspace and Beta Workspace fixtures. Its safety guard requires a temporary dsh-workspace-choice-test-* DSH home and a dedicated loopback port; never use an existing profile.
MIT