Preface

The DeepSeek Harness (DSH) architecture emphasizes modularity and scalability. When multiple independent plugins need to be integrated in a development environment, developers often face tedious configuration, dependency conflicts, and high maintenance costs. The dsh-plugins repository provides a main entry point that aggregates and manages a series of independently maintained plugins, offering a unified installation and configuration mechanism.

Repository Positioning

dsh-plugins is the main repository for DeepSeek Harness plugins, maintained by user leonardoxr. It coordinates a collection of plugins with various capabilities, aiming to address the fragmented toolchain problems developers encounter when using DSH.

Core Features

The repository includes the following core capabilities:

  1. Chat Titles and Configuration: Provides semantic, configurable chat titles (via dsh-auto-chat-titles).
  2. Sidebar and Extensions: Provides a sidebar workbench and extension API (via dsh-better-sidebar).
  3. Usage Statistics: Provides Claude/Codex usage interfaces and conversation statistics rows (via dsh-claude-usage, dsh-codex-usage, dsh-status-bar-config).
  4. Coding Tools: Provides LSP, ast-grep, and versioned editing tools (via dsh-coding-tools).
  5. Update Detection: Provides update detection and one-click update functionality for Claude Code / Codex CLI (via dsh-harness-updater).
  6. Interaction and Preview: Supports inline image preview, clipboard copy, and configuration-file plugin management (via dsh-image-preview, dsh-plugin-manager).
  7. Workspace Integration: Provides read-only workspace/session APIs, notifications, and workspace Git integration (via dsh-companion, dsh-workspace-git).
  8. Mobile Support: Provides native desktop and mobile shells for the DSH web server (via dsh-native).
  9. Agent Delegation: Supports delegated subagents for complex routing (via dsh-routed-subagent).

Installation and Enablement

The repository provides the dsh-all-in-one aggregate package, allowing all plugins to be installed with a single command.

dsh plugin --profile <name> add dsh-all-in-one

You can also directly mount a specific version using the tarball from GitHub Releases:

dsh plugin --profile <name> add https://github.com/leonardoxr/dsh-plugins/releases/download/v<version>/dsh-all-in-one-<version>.tgz

Typical Usage

1. Sidebar Extension Development

If using the dsh-better-sidebar plugin, the plugin host code must inject the service and register views. The sample code is as follows:

inject = ['betterSidebar'];

// 注册逻辑建议包裹在 ctx.effect() 中以确保 HMR 安全
ctx.effect(() => {
  ctx.betterSidebar.registerTab({
    id: 'my-plugin-tab',
    title: 'My Tab',
    view: MyViewComponent
  });

  return () => {
    ctx.betterSidebar.unregisterTab('my-plugin-tab');
  };
});

2. Plugin Management

Using dsh-plugin-manager, mounted plugins can be managed through configuration files.

3. Git Integration

The dsh-workspace-git plugin provides workspace-level Git operation support.

Notes

  1. Installation Conflicts: Plugins are mounted through the cordis.patch.yml mechanism. Do not mount independent bundles and the aggregate suite at the same time, as this will cause startup failure (error “duplicate loader entry id”).
  2. Exit Options: The exit option for each plugin is preserved in the aggregate.
  3. History Isolation: This repository coordinates the plugin collection but does not merge their histories. Plugin directories are independent Git repositories and can be operated with git -C <plugin>.
  4. Development Conventions: Code changes must follow each plugin’s contribution rules; only collection-level documentation changes can be made here.
  5. Runtime Permissions: Plugins run with the permissions of the current DSH process. Review the source code and license before installation.

Summary

Through submodules and aggregate packages, the dsh-plugins repository provides DeepSeek Harness users with a standardized toolset. It integrates fragmented capabilities, reduces configuration complexity, and preserves each plugin’s independent development and maintenance abilities.