Foreword

DeepSeek Harness (DSH) uses a plugin-based architecture, aiming to modularize all capabilities. In agent development, task records and progress tracking within Agent sessions often need to be decoupled from external project management tools. plane-dsh-plugin is designed for this scenario: it allows DSH Agents to identify tasks, bugs, decisions, or progress at runtime, persist these events locally, and then asynchronously synchronize them to the Plane project management platform.

Plugin Positioning

This is a native DSH plugin maintained by Bene-2020. It connects DSH agent sessions with Plane workflows. Without manually calling the Plane API in Agent scripts, it enables seamless flow from “Coding Work” to “Project Updates”.

Core Capabilities

The plugin integrates DSH’s native Cordis host and browser client plugins, providing the following capabilities:

  • Dual-end plugin architecture: Provides installable Bundles that include both Host and Browser client components.
  • Agent toolset: Includes 8 Agent tools for project discovery, binding, capture, and review.
  • Local persistence and retries: Uses a local SQLite Outbox and supports idempotency, retries, leases, and crash recovery to ensure no data loss.
  • Asynchronous synchronization: Synchronization with Plane runs asynchronously in the background and does not block DSH’s main Agent tasks.
  • Incremental context: Uses incremental active-item context rather than fetching a full snapshot every turn, improving efficiency.
  • Global floating panel: Provides a Plane-like floating panel with status filtering, optimistic updates, and synchronization health checks.
  • Manual switching and fault tolerance: Supports manual project switching in DSH’s global overlay, with disambiguation for duplicate names and protection against stale responses.
  • Security mechanisms: The Plane API Key is resolved through DSH credentials and is not written to the plugin database.

Installation and Enablement

The plugin is installed into DSH’s Web Profile via an NPM package.

  1. Install the plugin:
    Run the following command to install the pre-built bundle into the Web Profile:
    npx @deepseek-ai/dsh plugin --profile web add plane-dsh-plugin
This command directly installs the Bundle containing Host and Browser components, without local build required.
  1. Configure credentials:
    Store the Plane API Key in DSH’s global credentials file. Do not write it in cordis.patch.yml:
    # $DSH_HOME/.credentials.yaml
    PLANE_API_KEY: "your-plane-api-key"
  1. Configure plugin parameters:
    Edit $DSH_HOME/profiles/web/cordis.patch.yml, override the Bundle line, and fill in the workspace information:
    - id: plane-dsh-plugin
      config:
        workspaceSlug: your-workspace-slug
        planeBaseUrl: https://api.plane.so
        planeMode: sdk
  1. Start DSH:
    Start DSH using the same Web Profile:
    npx @deepseek-ai/dsh web

After startup, when the Agent first encounters an unbound directory, it will offer Plane project binding options. The floating panel will appear in DSH’s Web UI.

Notes

  • Early stage: This is an early release version. The storage and synchronization paths have been sufficiently tested, but DSH and its external plugin APIs are still evolving.
  • Privacy and security: The plugin does not store source code, terminal output, or full conversation records. The API Key is resolved through DSH credentials per operation and is not stored in the plugin’s local database.
  • Local storage: Local project metadata and the Outbox are stored by default in ~/.dsh/plugins/ambient-project/ambient.sqlite.
  • Environment dependencies: Requires Node.js 22.19 or later, pnpm, and the latest DSH version with support for external Bundles, credentials, tools, client slots, and Typert remote support. A Plane workspace and API Key are also required.

Use Cases

Suitable for developers who need to continuously record development progress, maintain task lists, or integrate with the Plane project management tool in DSH Agent sessions.

Summary

plane-dsh-plugin addresses the pain point of task status synchronization in agent development. It ensures operational reliability through local SQLite and asynchronous mechanisms. For development workflows that need a closed loop between code changes and project management, it is a DSH ecosystem plugin worth trying.