dsh-always-apply
Manifest validDeepSeek Harness plugin: injects alwaysApply-marked skill bodies into sessions before the first model request — no skill tool load needed.
@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:
- Skip agentless assemblies and
subagentsessions by default (skipSubagent). - Load
.mdcrules from the resolved rules root (cached; invalidated on Settings write/delete and on external edits whenwatchRulesis enabled). - Auto-attach Always bodies and Specific bodies whose globs match v1 in-context paths (tool
read/write/editfile_pathvalues ∪ path tokens in user message text). - Honor
maxTotalBytesfor the complete auto-attached section text (drop Specific before Always when over budget).
Also registers:
projectRulesTypert remote —list/read/write/deletefor 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/rulesimport — storage is.dsh/rulesonly. - 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
completepersona suppress this section for that agent. - Typert client artifacts — the gateway registers at runtime; web Settings must compose a client that can call
projectRulesonce the remote is on the host API surface.
Comments
Loading…
Similar plugins
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.
★ 4
↓ 62/wk
MIT
JavaScript
Nov 1, 2026
dsh plugin --profile web add dsh-plugin-greetby oThTJx
DeepSeek Harness plugin: obra/superpowers skill library adapted to dsh tooling, plus a session-start bootstrap — brainstorming, systematic debugging, TDD, planning and more.
★ 0
TypeScript
Oct 25, 2026
dsh plugin --profile web add @firefly0621/dsh-superpowersby fufu1437
DeepSeek Harness (DSH) plugin: declare shell commands in Settings, and every one becomes a tool the model can call directly.
★ 0
MIT
JavaScript
Oct 17, 2026
dsh plugin --profile web add @fufu1437/dsh-model-commandsby qqmqq
DSH plugin: keeps the session skill catalog out of every request — skills are listed on demand, the ones a task needs are recorded once, and only a picked skill is loaded by name.
★ 0
MIT
JavaScript
Oct 30, 2026
dsh plugin --profile web add dsh-skill-on-demandby andrepontesmelo
The DSH productivity suite: plugins + agent skills for the DeepSeek Harness, installable in one command.
★ 0
MIT
JavaScript
Sep 11, 2026
dsh plugin --profile web add @andrepontesmelo/dsh-suiteby hujiyo
DeepSeek Harness plugin: browse, search, copy and hide the prompts you sent to the AI across all sessions.
★ 0
MIT
JavaScript
Oct 20, 2026
dsh plugin --profile web add dsh-recent-prompts