Back to home@MichengAI

dsh-codex-ui

用Codex的方式打开deepseek-harness

Stars
1
Language
TypeScript
Created
Aug 14, 2026
Updated
Aug 16, 2026
GitHub repo

Introduction

DSH Codex UI

DSH Codex UI

A DeepSeek Harness Web plugin that rebuilds the sidebar, workspace tree, search, and turn navigation in a Codex-style layout.

Report an issue · View on npm · 简体中文

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

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

Features

  • Replaces the default sidebar through the official sidebar slot and keeps sidebar.workspaces, sidebar.settings, and sidebar.footer.action.
  • Provides a Codex-style header with brand wordmark, sidebar collapse, and global search.
  • Lists workspaces and conversations with expand/collapse, drag reorder, project pinning, unread dots, and running-state indicators.
  • Adds project and conversation menus for rename, pin, unread, archive, fork, open folder, copy, and delete.
  • Restyles the conversation column and composer card, and adds a compact turn navigator on the current session.
  • Adds Settings sections for Connectors and About, including companion-plugin install status.

Codex-style sidebar and empty conversation

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.

Installation

Install from npm

Run this from any PowerShell directory. Install into the DSH profile through dsh plugin:

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

Restart DSH Web and hard-refresh the browser. The plugin takes over the default sidebar through cordis.patch.yml; uninstalling restores the default sidebar. If a package mirror is behind, append --registry=https://registry.npmjs.org/.

Install the complete suite

To install Codex UI together with the experts, skills, and archived-session managers after @michengai/dsh-codex-suite is published:

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

Individual and aggregate installation are mutually exclusive. Do not install both in the same profile. Remove the four individually installed plugins before switching to the suite.

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 see expert, skill, and archive plugin status.

Conversation menu

Workspace menu

Conversation view and turn navigator

About page and companion 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.
  • Expert and skill management are optional peer plugins.
  • The Connectors directory never exposes addresses, commands, or credentials.

Companion plugins

Pluginnpm packageRole
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
Suite@michengai/dsh-codex-suiteInstalls the four plugins together

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

Documentation and license

Start from the handoff index for project status, architecture, and iteration notes.

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.