The default interface of the DeepSeek Harness Web Client has limited functionality: it cannot directly perform Git operations in the browser, run a terminal, or manage background tasks. navid-kianfar/dsh-advanced-sidebar fills these gaps with a resizable side dock and a session menu. It uses host processes to run operations that cannot be executed in the browser, and provides practical features such as file browsing and development server previews.

Session Menu

In the header of any session, click the ⋯ button. This menu operates based on the current session’s working directory or workspace path.

  • Panel Actions: Open the Changes, Terminal, Files, Preview, or Background Tasks panel. Clicking an already open item again closes the dock.
  • Open in: Open the Web Client in a new window, open the current session with a configured editor, or open files in the system file manager (such as Finder or Explorer).
  • Session Management: Archive a session (preserving logs) or delete a session (confirmation required).
  • Download Logs: This plugin moves the original harness’s “Download Session Logs” button into a separate menu.

Dock

Panels open as a column on the right side of the application frame, with a draggable edge on the left. Dragging adjusts the width, with a minimum width of 280px and a maximum width of 960px. When the window is too narrow, causing the conversation area to become smaller than 400px, the dock becomes a floating layer.

Changes

This panel displays the Git status of the working directory, grouped into staged, unstaged, untracked, and conflicted groups. Operations include:
* Stage/Unstage: Stage or unstage individual files or entire groups of files.
* Commit: Commit staged changes; supports amending the previous commit.
* Generate Message: Use the current Composer model to generate a commit message for the staged changes.
* Push: Push to the upstream branch.

Note: The current panel does not include a “Discard Changes” feature. If you need to discard changes, use the Terminal panel.

Terminal

Supports running an interactive Shell in the session’s working directory, managed as tabs.
* Keep Running: The Shell process does not terminate when the dock is closed or when switching panels.
* Control: Supports interrupting the process (Ctrl+C), clearing the screen, and restarting the Shell.
* Restore: Reopening a tab restores the output retained by the host.
* Limitation: Closing a tab or archiving/deleting the session terminates the Shell.

Files

Provides a file browser that displays the current working directory.
* Preview: Supports text previews (limited by byte size) and displays binary file sizes.
* Actions: Supports opening files with the default application or showing files in the file manager.

Preview

Provides four modes. Each mode includes a viewport selector: Desktop, Tablet, Mobile, and Custom.

  • Server: Starts a development server based on .claude/launch.json (Claude Code format) or previews settings. Supports starting, stopping, and viewing logs.
  • File: Displays workspace files and renders them based on file type (HTML, SVG, Markdown, images, etc.). Automatically reloads when files change.
  • URL: Loads any HTTP/HTTPS address. Addresses such as localhost are loaded through a host proxy and have same-origin privileges.
  • Scratchpad: HTML code saved in local storage, rendered in real time.

Background Tasks

Manages the list of background jobs for a session.

Usage Examples

  1. Open a panel: In the session header, click ⋯, and select “Terminal” or “Changes” to expand the dock.
  2. Configure preview: Define runtimeExecutable and port in .claude/launch.json, then start the server in Server mode within the Preview panel.
  3. Switch device: In the Preview panel, use the viewport selector to switch between different device sizes.

Notes

  • Missing dependencies: If Git is not installed on the host or the editor command cannot be found, the corresponding menu item is disabled.
  • Shell behavior: The Shell process continues running when the dock is closed. You must manually close the tab or archive the session to terminate it.
  • Log download: This plugin hides the original harness’s log download button and integrates the functionality into its own menu.