Skip to main content

dashi-taskboard/integrations/deepseek-harness

2.4kStars314Forks34Issues11Watchers

Integrate Codex Taskboard with DeepSeek Harness, add a task panel entry in the sidebar, and bridge to the Taskboard runtime managed by the local launcher.

Evidence5/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki
Language
JavaScript
License
Apache-2.0
Branch
main
claude-codeclicodexcodex-appcodex-desktopcodex-plugindshdsh-plugin

Install

cmdweb profile
$ dsh plugin --profile web add github:chuspeeism/dashi-taskboard#path:integrations/deepseek-harness

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin chuspeeism/dashi-taskboard/integrations/deepseek-harness for me: review the repository at https://github.com/chuspeeism/dashi-taskboard first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

One-Line Positioning

This is a Codex Taskboard integration plugin for DeepSeek Harness. It doesn't embed the taskboard itself; instead, it adds a "Taskboard" button to the DSH sidebar, which opens the current local Codex Taskboard launcher page as an embedded web view in the DSH main area.

Core Capabilities

  • Adds a "Taskboard" button at the bottom of the DSH Web sidebar; clicking opens a side panel on the right of the main workspace
  • The panel loads the Codex Taskboard running page via iframe, equivalent to opening the local Taskboard directly in a browser
  • The server registers a redirect route within DSH, which 307 redirects requests to /integrations/codex-taskboard to the current active address reported by the local launcher
  • Discovers the active address by reading the runtime description file written by the launcher; no fixed port dependency, so the plugin doesn't need config changes when the launcher switches ports
  • The panel provides a "Refresh" button to reload content after Taskboard service restarts, and a "Close" button to collapse the panel
  • When the runtime description file is missing or malformed, the redirect route returns 503 with "Codex Taskboard is not running" text to avoid blank error pages

Technical Implementation

  • Language: Native JavaScript (ESM module, no build step; "type": "module" in package.json, entry published as source)
  • Key Dependencies: @deepseek-ai/dsh-client-ui-sidebar (DSH official client package, injected via manifest); @deepseek-ai/cordis (host injection framework, plugin registers routes via ctx.webServer.register and sidebar buttons via ctx.slots.inject); react (client UI uses React.createElement directly in DSH's render layer, no JSX)
  • Architecture Pattern: Dual-end Cordis patch plugin. cordis.patch.yml inserts a service node named codex-taskboard at host startup; server index.js obtains the webServer handle via export const inject = ["webServer"] to register the 307 redirect route; client client.js registers the frontend module via window.__ModuleLoader__.load, injecting into the sidebar.footer.action slot
  • Entry Files: integrations/deepseek-harness/index.js (server activation entry, exports name, inject, apply(ctx)); integrations/deepseek-harness/client.js (browser activation entry, mounts apply(ctx) to DSH client runtime)

Use Cases

For users who have already deployed and use Codex Taskboard locally, installing this plugin brings the task list from a separate browser tab or app into the DSH main window, viewable side-by-side with conversations. It solves the problem that DSH doesn't include task management UI by default, and switching windows back and forth to view Taskboard breaks focus.

Prerequisites and Compatibility

DependencyMinimum VersionDescription
DeepSeek HarnessNot declaredPlugin package.json doesn't declare engines or peerDependencies; connects to host via dsh.bundle.patch and dsh.client manifest fields
Node.jsNot declaredPlugin itself has no engines field; host DSH is responsible for Node version when starting DSH process
PlatformCross-platformClient injection uses platform: web, server has no native modules; however, default runtime file path is macOS-style (see below)
Native ModulesNoneOnly uses three Node built-in modules: node:fs/promises, node:os, node:path
Local Codex TaskboardAny working versionPlugin is just a redirect shell; the actual Taskboard service comes from the local launcher

Installation

dsh plugin --profile web add github:chuspeeism/dashi-taskboard/integrations/deepseek-harness

Configuration

This plugin has no user-configurable fields; only one environment variable affects the runtime file path:

ConfigTypeDescriptionDefault
CODEX_TASKBOARD_RUNTIME_FILEEnvironment variableAbsolute path to the active address description file written by the Codex Taskboard launcher; plugin reads the current URL from here for redirect~/Library/Application Support/Codex Taskboard/launcher-runtime.json (macOS default)

FAQ

Q: Can this plugin be used independently?

A: No. It's just a redirect bridge between DSH and Codex Taskboard; the local machine must have the Codex Taskboard launcher running first for the button to redirect to the actual page.

Q: The "Taskboard" button doesn't appear in the sidebar after installation?

A: Check if DSH is started with the Web profile (--profile web), and whether the plugin manifest declares client platform as web; non-web profiles (like terminal profile) won't inject sidebar UI.

Q: Clicking the button shows "Codex Taskboard is not running" in the panel?

A: Usually the launcher isn't running or the description file path is incorrect; first start Codex Taskboard (npm run codex or macOS App), then click the sidebar button; you can also use the "Refresh" button in the panel to retry.

Q: Can the default runtime file path be used directly on Windows / Linux?

A: No. The default path ~/Library/Application Support/Codex Taskboard/launcher-runtime.json is macOS-style; on Windows, Taskboard data is typically in %APPDATA%\Codex Taskboard, and on Linux it generally requires npm run codex with a custom path; on Windows / Linux, you need to set the CODEX_TASKBOARD_RUNTIME_FILE environment variable to point to the correct description file.

Q: Does the plugin need any changes when the Taskboard launcher switches ports?

A: No. The plugin doesn't depend on a fixed port; the launcher writes the current URL to the runtime description file, and the plugin reads the latest value for redirect.

Q: How to uninstall?

A: Use dsh plugin --profile web remove to remove this plugin; the plugin itself doesn't store any persistent data, so after removal the sidebar button and route won't be injected on next DSH startup.

Q: What do the "Refresh" and "Close" buttons in the panel do?

A: "Refresh" increments the iframe's key value, forcing the iframe to reload and bypass browser cache; "Close" collapses the right panel, keeping the sidebar button's expanded state until next click.

Learning Curve

Beginner — just install the plugin and ensure the local Codex Taskboard launcher is running; no advanced configuration fields to fill in.

Known Issues and Limitations

  • The default runtime file path ~/Library/Application Support/Codex Taskboard/launcher-runtime.json is macOS-style; on Windows / Linux, without overriding via CODEX_TASKBOARD_RUNTIME_FILE, the plugin won't find Taskboard; this plugin's package.json has no os field for platform restrictions
  • The runtime description file requires version === 1 and url to be a string, otherwise the plugin throws an error and returns 503; if the launcher upgrades to a new description format, the plugin's judgment logic needs updating
  • The redirect route uses 307 temporary redirect with cache-control: no-store, but cross-origin behavior within the iframe is still subject to host CSP and the launcher's own policies
  • There are no TODO / FIXME / HACK comments in the source code, and no explicitly marked bugs

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/chuspeeism/dashi-taskboard/integrations/deepseek-harness)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory