DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-context-imports

Context Imports

Claude Code-style @path imports for DSH: expands @imports in AGENTS.md/CLAUDE.md and injects the referenced files into model context at session start

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-context-imports@0.3.1
READMECompatibilityVersions

Compatibility and provenance

Context Imports is published as dsh-context-imports and currently resolves to version 0.3.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
11/4/2026

Versions

0.3.1stable
10/24/2026
0.3.0stable
10/24/2026
0.2.3stable
10/9/2026
Show 6 more versionsCollapse versions
0.2.2stable
9/30/2026
0.2.1stable
9/26/2026
0.1.4stable
9/25/2026
0.1.3stable
9/23/2026
0.1.2stable
9/21/2026
0.1.1stable
9/17/2026

Related plugins

Loading related plugins…

Latest
0.3.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
128.3 kB
Files
10
Surface
web
License
MIT
Source
npm
GitHub
★ 6
Weekly downloads
393
Security scan
✓ v0.3.1 scan passed
Last push
10/24/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in memory-context.

Experimental Session Search@deepseek-ai/dsh-experimental-session-searchGive Agents tools to search and read earlier sessions from the current workspace.Hindsight Coding Agents@vectorize-io/hindsight-coding-agentsReflect-only Hindsight long-term memory for coding agents (harness-pluggable: opencode, …), with automatic background ingestion (no setup CLI).Ab Memorydsh-ab-memory--- description: "The dsh-ab-memory package: a cross-session, file-backed agent memory with five tools (remember / recall / forget / load_skill / distill) and an always-on light injection." kind: "package-reference" ---Fish Memorydsh-fish-memoryGive conversations in DSH a fading long-term memory, with every entry timestamped.

README

dsh-context-imports

Inject the files referenced from AGENTS.md into model context at session start.

DeepSeek Harness injects AGENTS.md itself, but the @path references inside it stay as plain text and the model never sees them. This plugin expands those references the way Claude Code does: it reads each referenced file and adds the content to the session context.

English | 中文


Why

Without this pluginWith it
AGENTS.md itselfInjected by the stock agent-instructions pluginStill injected by it, no duplication
@docs/architecture.md referencesPlain text, ignoredFull file content in context
Nested importsNobody handles themExpanded recursively, depth limited
After compactionReferenced files are gone with the historyRe-injected automatically
Resumed sessionsMay stack a second copySkipped when one is already present

How it works

agent/session-start (startup / resume / clear / compact) records the scene
agent/pre-step (every step) decides whether to inject
  ├─ scan the instruction files (default AGENTS.md, CLAUDE.md) for @path imports
  │    ├─ fenced code blocks are skipped; the path must have a file extension
  │    ├─ relative paths resolve against the importing file's directory
  │    └─ duplicates collapse by resolved path, so import cycles are harmless
  ├─ merge the explicit files list (injected in full; instruction files are
  │    scanned but never re-injected)
  ├─ budgets: 64 KB per file (truncated with a note), 128 KB total (skipped
  │    with a note); a missing file becomes a one-line note instead of an error
  ├─ at most one injection stays in the active history: the full event log is
  │    fingerprint-scanned, and compaction that removes the block re-enables it
  └─ the bundle is appended to the end of the step messages, after AGENTS.md
       and every other context injection

The injected message is a <system-reminder> containing <file path="..."> blocks and nothing else. Set template if you want your own framing around it.

Features

  • Expands @path imports recursively. Default depth is 3; import cycles and duplicates are collapsed.
  • Follows the imports of every instruction file the harness loaded — including a project's AGENTS.md it picks up mid-session once the agent touches files under it.
  • Triggers on new sessions, resume, clear, and after compaction. Each scene can be turned off.
  • Never sends the same file twice: a file already in the model's context is left alone, and a newly loaded instruction file adds exactly its own imported files.
  • Six-language settings card (zh, en, ja, fr, ru, ko) under Settings, Plugins, Plugin configuration. Every option is editable there and applies without a reload.
  • Byte budgets per file and in total. Missing files are reported, never fatal.
  • Uses the official API surface only: cordis events, createUserMessage from dsh-llm, a schemastery config, and the optional dsh-settings namespace. No feature-plugin dependencies.

Configuration

FieldDefaultDescription
files[]Extra files to inject, relative to the session working directory or absolute
scanImportstrueScan AGENTS.md and the other instruction files for @imports
instructionFiles["AGENTS.md", "CLAUDE.md"]Files to scan. They are never re-injected themselves
expandLoadedInstructionstrueAlso follow the imports of the instruction files the harness itself loaded, including a project AGENTS.md it brought in mid-session
maxDepth3How many levels of nested imports to follow
maxFileBytes65536Per-file cap in bytes; larger files are truncated
maxTotalBytes131072Total budget; files beyond it are skipped with a note
injectOnall fourWhich session-start scenes trigger injection
template""Custom wrapper text. {{content}} marks where the files go; empty uses the plain wrapper

Install

dsh plugin --profile web add dsh-context-imports

It works with no configuration: AGENTS.md and CLAUDE.md are scanned and their imports injected. To build from source instead:

git clone https://github.com/ciskonc/dsh-context-imports.git
cd dsh-context-imports
npm install
DSH_CHECKOUT=<path-to-your-dsh-installation> npm run build
npm run build:client

Compatibility

Plugin versionDeepSeek HarnessNotes
0.3.1+≥ 0.2.0-rc.1(0.3.1 tested on 0.2.1-rc.2 and 0.2.1-rc.3)Current line. Adds expandLoadedInstructions: the imports of every instruction file the harness loaded are expanded, including a project AGENTS.md it brings in mid-session. Injection is incremental — a file already in the context is never sent twice. Needs the host's published instruction scopes (agent-instructions message source + agent.inbox.nextStep), so it targets DSH ≥ 0.2.0
0.3.0≥ 0.2.0-rc.1(tested on 0.2.1-rc.2)Same feature, but the inbox lookup read session.inbox instead of agent.inbox and therefore never fired — the step-batch path carried the feature on its own. Fixed in 0.3.1
0.2.3≥ 0.1.7-rc.1(tested on 0.2.0-rc.1, 0.2.0-rc.2 and 0.2.1-rc.2)Config access hardened: on DSH ≥ 0.2.0-rc.2 the volatile config projection no longer fills schema defaults, so every field is normalized at entry (0.2.2 could crash session creation or silently skip injection there). Note: on DSH ≥ 0.2.0-rc.2 install via dsh plugin add only — the loader verifies lockfile consistency, hand-copied node_modules are silently dropped
0.2.0 – 0.2.2≥ 0.1.7-rc.1(0.2.1 tested on 0.1.7-rc.2 and 0.2.0-rc.1; 0.2.2 tested on 0.2.0-rc.1)0.2.2 fixed re-injection after compaction and settings-page mounting, but on DSH ≥ 0.2.0-rc.2 it can crash session creation (injectOn.includes is not a function) or silently skip injection (cfg.files is not iterable) — upgrade to 0.2.3
0.1.x0.1.5-rc.1 – 0.1.5-rc.3(tested on 0.1.5-rc.2/rc.3)Legacy line. Does not work on 0.1.7 — it waits on the removed settingsScope service and the removed agent/session-start event

Each release note names the DSH version it was tested against.

Development

FileRole
src/index.tsHost side: session-start ledger, import expansion, budgets, pre-step injection, settings namespace
src/client/index.tsBrowser side: six-language dictionaries and the settings card slot
src/client/form.tsStaged form model behind the card
src/client/ContextImportsCard.tsxThe card component

License

MIT