Skip to content
dsh-market Browse plugins GitHub 中文

All3nCN/dsh-better-sidebar-N23

Full workbench fork of dsh-better-sidebar: explorer, editor, terminal, Git, browser and split panes, plus a VSCode-like shell refactor with a full-width compact header and activity rail; publishes as @all3cn/dsh-better-sidebar-n23 on npm.

Stars ★ 0 Category UI Enhancements Listed 2026-09-01 npm @all3cn/dsh-better-sidebar-n23

Install

Inside DeepSeek Harness, with dsh-market

dsh plugin --profile web add dshmarket

Or from the command line

dsh plugin --profile web add @all3cn/dsh-better-sidebar-n23

Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.

README

A service-first sidebar framework plus a complete out-of-the-box workbench for DSH. This package is a community fork of the open-source plugin dsh-better-sidebar (MIT), published independently under the @all3cn scope; see UPSTREAM.md for attribution.

English | 中文

Features

  • File workbench: explorer (lazy directory tree, symlink-aware) + CodeMirror editor; inline previews for images / Markdown / HTML / PDF / Office documents
  • Real terminal: xterm.js + node-pty real shell with reconnect replay; optional terminal_* model tools
  • Git panel: real diffs + VSCode-style diff tabs, history, stage / commit / revert from the context menu
  • Embedded browser: multi-tab web views with back / forward / reload, sandboxed iframe content
  • Background tasks: subagent topology and background jobs (exit codes, live output, force kill)
  • Dual workspace: side panel + bottom panel; drag tabs to split / merge panes across both
  • Shell refactor: full-width 48px header, VSCode-style activity rail, and global controls — an IDE layout where the conversation and the workbench coexist
  • Service API: open to every plugin via ctx.betterSidebar — register sidebar pages and file viewers with registerTab / registerFileViewer; built-in tabs and third-party plugins use the same registration interface
  • Session isolation: layout / tabs / panes persisted per conversation session; UI follows the DSH language (zh / en)

Compatibility

Validated against DSH (DeepSeek Harness) 0.1.1-rc.2; peer dependencies are declared as @deepseek-ai/* >= 0.1.0-rc.6 < 0.2.0. Requires Node.js >= 20.

Install

Prerequisite: a working DSH installation (dsh web runs).

dsh plugin --profile web add @all3cn/dsh-better-sidebar-n23

The package declares a dsh.bundle.patch (cordis.patch.yml); the CLI bundle reconciliation adds it to the profile bundle stack automatically — no profile file edits. If the profile still carries an old manual mount line for dsh-better-sidebar (upstream or a local fork copy), remove it first to avoid double-mounting. Uninstall: dsh plugin --profile web remove @all3cn/dsh-better-sidebar-n23.

A one-shot helper script is included (handles pnpm 11 build approvals and the minimumReleaseAge bypass):

bash scripts/install.sh                # macOS / Linux / Git Bash
powershell -File scripts/install.ps1   # Windows

Integration for other plugins

// in any DSH plugin's client half
ctx.betterSidebar.registerTab({ id: "my-tab", title: "My Tab", render: ... });
ctx.betterSidebar.registerFileViewer({ pattern: "**/*.xyz", render: ... });

Release notes

0.1.0 (first fork release)

  • Based on upstream dsh-better-sidebar@0.12.3, republished under the @all3cn scope
  • Panel drags no longer write CSS variables per frame; the central conversation reflows once on pointer-release commit
  • Complete workbench: explorer / editors / previews / terminal / git / browser / tasks with side + bottom split panes
  • Shell refactor: full-width 48px header, activity rail, global controls
  • Compatible with the newer DSH kernel module system (lazy chunk fix), validated on 0.1.1-rc.2

Release and packaging

  • npm release flow: docs/RELEASE.md (tag v* triggers Trusted Publishing with provenance)
  • Build-free registry packaging (manifest + npm-style tarball audit): npm run package:registry -- --dry-run
  • This repository tracks the prebuilt lib/ directly; src/ and lib/ are kept in sync by hand (see UPSTREAM.md)

Testing

Tests use the Node.js built-in test runner with no dependencies:

npm test

src/ and lib/ are currently intentionally split-track (src/ is ahead on robustness fixes, lib/ is ahead on shell layout; runtime is governed by lib/). See UPSTREAM.md for details.

License

MIT. Forked from omdsh-dev/DSH-better-sidebar (MIT); not affiliated with DeepSeek or the upstream authors.

Content from the project README on GitHub ↗

Comments

Comments live in GitHub Discussions. Sign in with GitHub to post or react.