DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-chat-preset

T

dsh-chat-preset

Manifest valid

DeepSeek Harness bundle that adds a chat preset with web tools, skill loading, and no filesystem or shell access.

hasBundlePatch

dsh-chat-preset

A DeepSeek Harness bundle that registers a chat agent preset: a plain helpful assistant with web access and local skills, and no way to touch the filesystem or run a command.

Abstract

The harness composes behaviour from bundles, presets, and plugins. This bundle adds one preset row and one guard plugin, so a session can be switched to a chat mode whose model can search, fetch, and load skill instructions, and nothing else. A preset-scope tool restriction would also filter the preset's own tools, so the restriction is applied per agent once that agent exists.

What it registers

One preset, mounted from cordis.patch.yml:

FieldValue
idchat
nameChat
order5
personahelpful assistant, cites sources, marks uncertainty, never claims to have run something it did not
toolsweb_search, web_fetch, skill
compactionbasic compaction plus /compact

The persona is complete: true, so it replaces rather than extends the host prompt, and includeRuntimeContext is off: chat mode does not get the workspace facts injected.

Why a guard instead of a config flag

The preset's own tools are registered in the shared preset scope, and the host also registers a few global tools such as working_directory. A restriction applied at the preset scope would filter the preset's own tools too, and would miss the globals. So the restriction is applied per agent, once the agent exists.

lib/guard.js listens for agent/created, reads the tools that agent can actually see, keeps web_search and web_fetch, adds skill when it is present, and calls agent.ctx.tools.restrict({ allow }).

Reading the allow list from the visible tools rather than hard-coding it means a search-only or fetch-only web configuration still produces the right restriction instead of an empty one. If no web tool is registered at all, the guard logs a warning and leaves the inherited tools unrestricted, which is a deliberate failure mode: it prefers a visible configuration error over silently removing a tool the user asked for.

Why the skill tool survives

skill reads only the skill files that the discovery provider exposes. It never resolves a workspace path, so keeping it does not widen filesystem access. Dropping it would make user-level skills unreachable in the one mode that most needs them.

Install

DSH_HOME=${DSH_HOME:-$HOME/.dsh}
git clone https://github.com/ThomasTZh/dsh-chat-preset \
  "$DSH_HOME/local-plugins/dsh-chat-preset"

Register it in $DSH_HOME/profiles/web/package.json as a dependency:

"@local/dsh-chat-preset": "link:<absolute path to $DSH_HOME>/local-plugins/dsh-chat-preset"

and list @local/dsh-chat-preset in dsh.profile.bundles, then:

cd "$DSH_HOME/profiles/web" && pnpm install

dsh plugin --profile web add "<path-to-this-clone>" performs the same registration through the harness CLI.

Verification

CheckCommandResult
Unit testsnode --test test/guard.test.mjspass, 6 tests
Module parsesnode --check lib/guard.jspass
Install layoutclone into a temporary DSH_HOME, then check the package and its patch arrivepass; pnpm install and a harness restart were not run

Not tested: a full preset switch in a freshly installed harness. The machine this bundle was written on runs the preset, but no separate live check was repeated from this repository.

Limitations

  • The guard restricts tools, not prompts. A chat session can still load any skill the discovery provider exposes, by design.
  • The preset rows name shipped harness packages (@deepseek-ai/dsh-agent-preset, dsh-persona, dsh-agent-instructions, and the skill and compaction plugins). They are resolved from the harness install and are not vendored here.

Acknowledgements

The harness and its shipped packages are the work of the DeepSeek Harness project [1].

References

  1. DeepSeek Harness. https://github.com/deepseek-ai/deepseek-harness. MIT.

Comments

Loading…

Similar plugins

dsh-deepseek-chat

by zerorigin-studio

Web chat entry for DeepSeek Harness: a sidebar button opening chat.deepseek.com in a dedicated desktop window under dsh-desktop, with in-webview fallback for plain web environments.

Tools & CapabilitiesUI & ExperienceManifest valid

★ 6

↓ 174/wk

MIT

JavaScript

Sep 23, 2026

dsh plugin --profile web add @zerorigin-studio/dsh-deepseek-chat

by abalika

A community plugin for DeepSeek Harness Desktop: switch between Harness and official DeepSeek Chat, with optional persistent login on Windows.

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Oct 19, 2026

dsh plugin --profile web add dsh-mode-switch

by konata

A DeepSeek Harness (DSH) plugin that adds parallel side chats to the right sidebar, inheriting the main session's workspace, tools, permissions, and model.

Manifest valid

★ 0

TypeScript

Oct 19, 2026

dsh plugin --profile web add btw

by sweet560

DeepSeek Chat (chat.deepseek.com) as a DSH sidebar panel: full main-area chat, last-conversation memory, crash containment.

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 1

MIT

JavaScript

Oct 24, 2026

dsh plugin --profile web add dsh-plugin-deepseek-chat

by gulagala001

DeepSeek 网页聊天、临时侧栏聊天、API 开放平台与 DSH 会话迁移。

UI & ExperienceManifest valid

★ 3

MIT

JavaScript

Nov 4, 2026

dsh plugin --profile web add dsh-deepseek-workbench

by xmuwenxiang

Deepseek Harness插件,可以直接在Deepseek Harness中使用网页版deepseek进行聊天,并将聊天过程直接迁移到Deepseek Harness进一步进行开发。主要目的是节省前期方案讨论时的token

UI & ExperienceManifest valid

★ 16

↓ 218/wk

Apache-2.0

TypeScript

Sep 7, 2026

dsh plugin --profile web add dsh-webchat