DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-files-tab

d

dsh-files-tab

Discovered

A DeepSeek Harness (DSH) conversation 'Files' tab plugin: open, read (Markdown + TOC) and edit (Monaco) workspace files without leaving the chat.

dsh-files-tab

A DeepSeek Harness (DSH) plugin that adds a Files tab to the conversation view — open, read and edit workspace files without leaving the chat.

中文文档见 README.zh.md。

Features

  • Files tab in the conversation view, with multi-document chips (open / switch / close, dirty marker). State is per session.
  • Open modes, chosen by file type:
    • Read — Markdown rendered with a collapsible table of contents. The TOC supports per-node expand/collapse and a 1 | 2 | 3 | a level bar (expand to a given depth, or all); clicks jump instantly. Inline images for relative paths (resolved against the Markdown file's directory) render from the sandbox.
    • Edit — Monaco with syntax highlighting; the default (and only mode) for code / other text files. Markdown can switch between Read and Edit.
    • Preview — unified viewer for binary / rich files (images, pdf, csv, video). Fully local: bytes are read through the session sandbox into a blob URL, nothing is uploaded. PDF uses the browser's native viewer with the pdf.js worker inlined for offline use.
  • External-change detection: if an open file changes on disk (e.g. edited by the conversation), the toolbar shows a hint with one-click Reload (conflict wording when you have unsaved edits); a badge marks changed background documents.
  • Toolbar: mode switch (segmented control), Save (Ctrl/Cmd+S) with a dirty indicator.
  • Open file dialog: browse the workspace as a lazy-loaded directory tree, or type to search by filename; type a path to open it directly.
  • Sandbox-aware: read / write / list / search / read-bytes resolve against the calling session's workspace cwd and honor its sandbox policy.
  • Theme-adaptive (light / dark, via DSH design tokens) and i18n (English / 简体中文, follows the DSH language setting).

Packages

PackageHalfDescription
@dzwalker/dsh-host-filesHostfiles service: readFile / readBytes / saveFile / listDir / searchFiles Remote.
@dzwalker/dsh-client-ui-filesClientThe browser Files tab UI.

Requirements

  • DeepSeek Harness ^0.1.0-rc.5 (the plugin builds against the DSH client/host packages of that line).
  • A DSH web profile (the tab registers into conversation.view).

Install

Install both packages into your DSH profile, then add them to the composition.

# from your DSH profile directory
pnpm add @dzwalker/dsh-host-files @dzwalker/dsh-client-ui-files

Add to your profile's cordis.patch.yml (or run dsh web --patch examples/cordis.yml):

- insert:
    - id: files-host
      name: '@dzwalker/dsh-host-files'
    - id: files
      name: '@dzwalker/dsh-client-ui-files'

Restart the web server. A Files tab appears next to Chat / Trajectory.

Usage

  • Open the Files tab → click Open file (or the + Open… chip) to browse or search the workspace.
  • Markdown opens in Read mode; use the toolbar to switch to Edit.
  • Edit, then Save (Ctrl/Cmd+S). The chip shows a dirty dot until saved.

Known limitations

  • Monaco runs without language workers: you get editing + syntax highlighting, but no IntelliSense / diagnostics. This keeps the single-file bundle self-contained.
  • The client bundle is large (~5 MB, Monaco inlined); it is served once and cached.
  • Saving uses the session sandbox policy; writing outside the allowed workspace is denied by DSH.
  • Opening a file by clicking a path in the conversation is not included in this release. It requires an extension point in the DSH conversation view that is not yet upstream. See Roadmap.

Roadmap

  • Click a file path / artifact name in the conversation to open it in the Files tab (pending an upstream openFile extension point in @deepseek-ai/dsh-client-ui-conversation).

Building from source

The published npm packages already ship prebuilt lib/ artifacts (including the generated Typert Remote contracts and the bundled Monaco client.js). Consumers do not need to build anything — just pnpm add the two packages (see Install).

Building from source has one caveat. The Host half generates its Typert Remote contracts (typert.host.js / typert.remote-client.js) with @deepseek-ai/dsh-typert-generator, which currently only resolves the @deepseek-ai/dsh-typert-protocol markers when it runs inside the DSH monorepo workspace (where that package is a source project). Out of tree the generator silently produces no Remote artifacts, so a standalone pnpm run build here cannot yet emit a complete, self-consistent Host bundle.

Until DSH ships a dedicated out-of-tree plugin SDK, the release artifacts are produced by adding these two packages to a DSH monorepo checkout as workspace packages and running the monorepo's build:lib:host / build:lib:client, then publishing the resulting lib/ from here. This repository is the source and release home; the monorepo is only the build host.

The build scripts here run tsdown per package (build:host / build:client), which is the correct structure; the only missing piece out of tree is the generated Host Typert contracts.

Standalone type-checking works once the Host Typert contracts exist, because the Client half imports @dzwalker/dsh-host-files/remote (lib/typert.remote-client.d.ts). So either:

pnpm install
pnpm run build:host   # emits lib/index.js (Typert contracts only emit inside the monorepo)
pnpm run typecheck    # passes once lib/typert.remote-client.d.ts is present

or drop the prebuilt Host lib/ (e.g. copied from a release) in place first, then pnpm run typecheck.

License

MIT © dzwalker

Comments

Loading…

Similar plugins

dsh-file-preview

by ld-1101

DSH (DeepSeek Harness) plugin: workspace file preview column with Markdown/PDF/image/CSV preview, session-produced files, drag files/folders into the conversation as plain paths.

Manifest valid

★ 0

MIT

JavaScript

Aug 17, 2026

dsh plugin --profile web add dsh-file-preview

by Rainier-Z

A DeepSeek Harness plugin that periodically detects added, modified, and deleted files in a workspace and reports the changes.

Workflow & AutomationDevelopment & InfrastructureManifest valid

★ 2

↓ 283/wk

MIT

JavaScript

Sep 27, 2026

dsh plugin --profile web add dsh-workspace-monitor

by ice5kysl

dsh (DeepSeek Harness) file explorer: browse the active session's workspace and preview files (Markdown/image/PDF/text/binary) right inside the chat GUI — a standard Cordis bundle plugin (read-only /d

UI & ExperienceTerminal & ClientsTools & CapabilitiesManifest valid

★ 1

↓ 1.2k/wk

MIT

JavaScript

Sep 30, 2026

dsh plugin --profile web add dsh-file-explorer-kit

by ZSeven-W

The DeepSeek Harness plugin for OpenPencil — preview, inspect, and edit real .op documents inside a conversation.

Tools & CapabilitiesManifest valid

★ 185

↓ 799/wk

MIT

TypeScript

Oct 6, 2026

dsh plugin --profile web add @zseven-w/dsh-openpencil

by SLin-code

One installable DeepSeek Harness plugin for managing Workspace → Task → Session collaboration.

Sessions & MessagesMemory & ContextManifest valid

★ 3

MIT

TypeScript

Aug 24, 2026

dsh plugin --profile web add dsh-task-notice-board

by houlain

DeepSeek Harness plugin: workspace file browser + code viewer + session change diff + per-hunk partial revert (Trae-style). Windows verified only; Linux/macOS untested — use with caution.

Development & InfrastructureManifest valid

★ 1

MIT

TypeScript

Aug 16, 2026

dsh plugin --profile web add dsh-workspace-studio