dsh-web
zhu1090093659
DeepSeek Harness (DSH) Web 插件聚合生态 · 万物皆插件,通过创意工坊分发||DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:lywusichen/dsh-sidebar-buttons
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
English | 简体中文
A DeepSeek Harness plugin. Takes over the buttons at the bottom of the left sidebar: drag to reorder them, put each one into one of three display states, and give them all the same height.
Tested on DSH 0.1.5-rc.1 (web profile). Also runs on 0.1.2-rc.1 — those two
releases are what dsh.engines.dsh in package.json declares, so a host or
plugin manager can read the same range without parsing this file.
Everything happens in the browser. The plugin re-registers entries in the
sidebar.footer.action slot — a documented slot — and never touches the DSH
core or another plugin's files, so uninstalling it restores the original
sidebar.
Add the plugin:
dsh plugin --profile web add github:lywusichen/dsh-sidebar-buttons
Restart DSH.
Open Settings → Sidebar Buttons.




The sidebar foot is a list slot, so a plugin can register more than one entry
under the same id and the renderer sorts them by priority. This plugin
re-registers each existing entry with priority: -1, which puts its copy in
front of the original, and renders its own wrapper around the original
component. Order, visibility, and size then come from a shared store that every
wrapper reads. Nothing is unregistered, so turning the plugin off returns
control to the originals immediately.
One kind of button does not fit that model: the slot entry is only an anchor and the plugin renders the real button elsewhere in the sidebar, so re-rendering it inside another container moves nothing. Those buttons are relocated as their real DOM node instead — the component stays mounted and the node moves between the sidebar, the More menu, and a hidden park, depending on its state.
data-plugin-entry marker or a built-in declaration table. With neither, it
cannot tell the button apart and leaves it alone.slots.entries and slots.subscribe,
which the plugin relies on to stay aligned with registrations made after it
loads. If a future DSH release changes the list-slot contract, this plugin
needs an update.npm install # esbuild
npm run build # generates lib/client.js
Commit lib/client.js. Git-hosted installs consume the built artifact directly.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: sidebar、sidebar-menu。