Passer au contenu principal
M

dsh-codex-ui

michengai/dsh-codex-ui

Rebuilds the DeepSeek Harness web sidebar, workspace tree, search, and turn navigation in a Codex-style layout.

Installer

dsh plugin --profile web add github:michengai/dsh-codex-ui

README

DSH Codex UI

DSH Codex UI

Rebuild the DeepSeek Harness Web sidebar, workspace tree, search, and turn navigation in a Codex-style layout

简体中文 · Apache-2.0

License: Apache-2.0 npm package DSH Web Plugin Node.js 22 or later

DSH Codex UI is a community-maintained DeepSeek Harness (DSH) plugin, not an official DeepSeek AI product. It uses public DSH slots only and does not modify host source code or conversation data.

Features

  • Replace the default sidebar through the official sidebar slot and keep sidebar.workspaces, sidebar.settings, and sidebar.footer.action.
  • Provide a Codex-style header with brand wordmark, sidebar collapse, and global search.
  • List workspaces and conversations with expand/collapse, drag reorder, project pinning, unread dots, and running-state indicators.
  • Add project and conversation menus for rename, pin, unread, archive, fork, open folder, copy, and delete.
  • Restyle the conversation column and composer card, and add a compact turn navigator on the current session.
  • Show companion-plugin status in Settings → About, and install the missing pieces from npm.

Screenshots

Light theme: Codex-style sidebar, workspace tree, and conversation column.

Light theme conversation

Dark theme: the same layout with Codex dark tokens.

Dark theme conversation

Conversation menu: rename, pin, unread, archive, fork, copy, and delete.

Conversation menu

Settings → About lists the companion plugins and their install state.

About page and companion plugins

Prerequisites

  • A working DeepSeek Harness Web installation with dsh available in PowerShell.
  • Examples use the web profile; replace it with the target profile.
  • Source installation and development require Node.js 22+ and pnpm. Installing from npm does not require running pnpm install in an arbitrary directory.

Plugin combo

@michengai/dsh-codex-suite is the one-click combo. It installs these six plugins into the same profile:

Pluginnpm packageRole
Codex UI@michengai/dsh-codex-uiCodex-style sidebar, workspace tree, search, and turn navigation
Expert management@michengai/dsh-agency-agentsSettings page opened from Experts
Skill management@michengai/dsh-skills-managerSettings page opened from Skills
Archive management@michengai/dsh-archive-managerPermanent deletion and archived-session management
IM Assistant@michengai/dsh-im-connectIM settings and the Channels tab
Scheduled tasks@michengai/dsh-automationScheduled-task settings and the Schedule tab

dshmarket stays optional. When it is installed, Plugins opens the market first.

Do not install the suite and the individual plugins in the same profile. The two patch sets conflict.

Installation

dsh plugin add forwards to pnpm add in the profile directory. Without a version and official registry, a local mirror or minimum-release-age policy can leave you on an older build.

Ask another agent to install the suite

Copy one of the sentences below into DSH, Codex, or WorkBuddy and let that agent install the combo into your local web profile.

From npm:

Install the latest DSH plugin suite @michengai/dsh-codex-suite into my local web profile using the official npm registry: dsh plugin --profile web add @michengai/dsh-codex-suite@latest --registry=https://registry.npmjs.org/. Then run dsh --profile web --dump-config, confirm codex-ui, agency-agents, skills-manager, archive-manager, im-connect, and dsh-automation are mounted, and remind me to restart DSH Web and hard-refresh the browser.

UI only:

Install the latest DSH plugin @michengai/dsh-codex-ui into my local web profile using the official npm registry: dsh plugin --profile web add @michengai/dsh-codex-ui@latest --registry=https://registry.npmjs.org/. Then run dsh --profile web --dump-config, confirm codex-ui is mounted, and remind me to restart DSH Web and hard-refresh the browser.
ProductHow to use it
DSHSend one of the sentences above to the current session.
CodexSend one of the sentences above to Codex and let it install locally.
WorkBuddySend one of the sentences above to WorkBuddy.

If dsh is not on PATH, replace the leading dsh with npx --yes @deepseek-ai/dsh.

Install the complete suite

This is the one-click combo. Run it from any PowerShell directory:

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
dsh plugin --profile web add @michengai/dsh-codex-suite@latest --registry=https://registry.npmjs.org/
dsh --profile web --dump-config

To pin a release, replace @latest with a version such as @0.1.0.

Restart DSH Web and hard-refresh the browser. If the profile already has any of the six plugins installed individually, uninstall those plugins first.

Install Codex UI only

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
dsh plugin --profile web add @michengai/dsh-codex-ui@latest --registry=https://registry.npmjs.org/
dsh --profile web --dump-config

The plugin takes over the default sidebar through cordis.patch.yml. Uninstalling restores the default sidebar.

Install from source

Use this for debugging or unpublished changes. The cloned directory becomes the plugin source path:

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
Set-Location D:\Repository\deepseek-harness-plugin
git clone https://github.com/MichengAI/dsh-codex-ui.git
Set-Location .\dsh-codex-ui
pnpm install --frozen-lockfile
pnpm build
dsh plugin --profile web add .
dsh --profile web --dump-config

Restart DSH Web and hard-refresh the browser. Do not copy dist manually; local installation reads both package metadata and cordis.patch.yml.

Usage

Open DSH Web. The left navigation is rendered by this plugin.

GoalAction
Start a conversationSelect New task, or use a workspace + / New conversation action.
Find a conversation or settingUse the header search field and choose a session, Settings page, or quick action.
Collapse the sidebarUse the header panel button. The expand control stays on the collapsed rail.
Pin a workspaceDrag it into Pinned, or use Pin project in the project menu.
Manage a conversationOpen the conversation menu to rename, pin, mark unread, archive, fork, copy, or delete.
Jump between turnsUse the turn marks on the left of the current conversation.
Inspect connectorsOpen Settings → Connectors. Addresses, commands, and credentials are never shown.
Check companion pluginsOpen Settings → About to install or update the combo plugins.

Deleting a workspace registration does not delete its folder or conversation records. Pinned and unread state is stored only in the current browser.

Persistence and safety limits

DataStorageScope
Pinned workspaceslocalStorage key dsh-codex-ui.pinned-workspace-idsCurrent browser only
Pinned conversationslocalStorage key dsh.session-pins.v1Current browser only
Unread conversationslocalStorage key dsh.session-unread.v1Current browser only
Conversation recordsDSH host servicesUnchanged by this plugin
  • The plugin uses only public DSH slots and services.
  • It does not modify host source code or the conversation data model.
  • Permanent deletion of archived conversations is provided by @michengai/dsh-archive-manager.
  • The Connectors directory never exposes addresses, commands, or credentials.

Secondary development

After changing src, rebuild, test, and install from the local directory:

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
pnpm build
pnpm test
dsh plugin --profile web add .

New features should reuse existing DSH slots and public services. Do not depend on private host DOM or write conversation records.

Verification

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
pnpm build
pnpm test

License

This project is licensed under Apache License 2.0. Conversation-management workflow is informed by Semidia/dsh-session-manager, but this plugin is implemented independently through public DSH slots and services.

Plugins associés