DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-always-apply

o

dsh-always-apply

Manifest valid

DeepSeek Harness plugin: injects alwaysApply-marked skill bodies into sessions before the first model request — no skill tool load needed.

hasBundlePatch

@firefly0621/dsh-always-apply

English | 中文

Opt-in Cordis consumer that loads Cursor-aligned project rules from .dsh/rules/**/*.mdc and injects them into the system prompt. Cordis plugin name: rules. Prompt section: rules:project.

This package does not read skills or depend on ctx.skills. Mount it when you want project rules; install with:

dsh plugin --profile web add @firefly0621/dsh-always-apply

Or insert the shipped cordis.patch.yml into a custom base. The browser Settings「规则」panel (@firefly0621/dsh-client-ui-settings-rules) is a dependency of this package, so one install brings the host plugin and the settings page together.

Rule files

Place .mdc files under <session cwd>/.dsh/rules/ (override with Config rulesDir). Each file needs YAML frontmatter:

| alwaysApply | globs | Type | |---|---|---| | true | * | Always Apply — full body every assemble | | false | non-empty | Specific Files — body when an in-context path matches | | false | empty | Inactive — stored on disk but not auto-attached |

Only alwaysApply: true classifies as Always Apply. alwaysApply: false without globs is never treated as always.

---
alwaysApply: true
description: Repo-wide constraints
---

Keep rules short and actionable.

Bodies must not contain complete {{...}} prompt-variable groups (skipped with a warning).

Behavior

On every system-prompt/assemble:

  1. Skip agentless assemblies and subagent sessions by default (skipSubagent).
  2. Load .mdc rules from the resolved rules root (cached; invalidated on Settings write/delete and on external edits when watchRules is enabled).
  3. Auto-attach Always bodies and Specific bodies whose globs match v1 in-context paths (tool read/write/edit file_path values ∪ path tokens in user message text).
  4. Honor maxTotalBytes for the complete auto-attached section text (drop Specific before Always when over budget).

Also registers:

  • projectRules Typert remotelist / read / write / delete for Settings and host callers.

Config

| Field | Default | Meaning | |---|---|---| | rulesDir | .dsh/rules | Relative directory under the session workspace root; absolute paths and .. are rejected. | | skipSubagent | true | Skip subagent-origin sessions. | | maxTotalBytes | 100000 | UTF-8 length of the complete auto-attached section text (reminder + bodies + framing as rendered). | | watchRules | true | Watch each accessed rules root and invalidate the cache on external .mdc edits (debounced). | | watchDebounceMs | 100 | Watcher debounce window in milliseconds before cache invalidation. | | defaultWorkspaceRoot | (empty) | Absolute workspace root used when no session workspace is available. Enables the Settings UI to manage rules without an active session. Must be an absolute path. |

Model Experience

Project rules section

What the model sees

When non-empty: a rules:project system-prompt section with a short reminder and <auto_attached_rules> / <rule_content> blocks for all auto-attached rules (Always and matching Specific).

Token effect

One section re-sent each request while rules and in-context matches stay within budget.

KV Cache effect

Prefix reuse holds while the rendered section text is unchanged; a rules-file write, delete, or Specific match set change recomposes the section.

Known Limitations and Deferred Work

  • Opt-in only — product defaults do not mount this plugin.
  • No .cursor/rules import — storage is .dsh/rules only.
  • In-context paths are incomplete vs Cursor IDE — no open-editor inventory on the web host; Specific matching uses tool-touched paths and user-text path tokens only.
  • A complete persona replaces every section — presets with a complete persona suppress this section for that agent.
  • Typert client artifacts — the gateway registers at runtime; web Settings must compose a client that can call projectRules once the remote is on the host API surface.

Comments

Loading…

Similar plugins

dsh-plugin-greet

by 0lidaxiang

DeepSeek Harness is a plugin-based system for building AI agents. Everything, from tools and models to the web UI, can be added or replaced as a plugin.

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

4

210/wk

MIT

JavaScript

Sep 9, 2026

dsh plugin --profile web add dsh-plugin-greet

by andrepontesmelo

The DSH productivity suite: plugins + agent skills for the DeepSeek Harness, installable in one command.

Tools & CapabilitiesManifest valid

0

MIT

JavaScript

Sep 11, 2026

dsh plugin --profile web add @andrepontesmelo/dsh-suite

by Qingzhou-Joshua

DeepSeek Harness plugin—a simple toolkit for developers.

Manifest valid

0

MIT

TypeScript

Aug 14, 2026

dsh plugin --profile web add dsh-dev-toolbox

by ShiXiangYu2

A DeepSeek Harness plugin that registers a greet tool callable by the model.

Manifest valid

0

JavaScript

Aug 15, 2026

dsh plugin --profile web add dsh-greet-plugin

by extension-hunter

DeepSeek Harness plugin: a 'Connected Apps' settings section — a central platform where other DSH plugins surface themselves.

Manifest valid

0

MIT

JavaScript

Aug 15, 2026

dsh plugin --profile web add dsh-authorize-app

by AGSQ11

A small DeepSeek Harness plugin that shows the actual provider/model used by a subagent directly inside the existing native subagent tool-call row.

Terminal & ClientsManifest valid

0

MIT

JavaScript

Aug 21, 2026

dsh plugin --profile web add dsh-subagent-model-visibility