DeepSeek Harness plugin

dsh-env-probe

Zero-dependency DeepSeek Harness (dsh) plugin: probes the local machine environment (OS / shells / runtimes / tools / disks / proxy) once, caches the report, and injects it into every session's

Jump to install

Source facts

Repository
nodata404/dsh-env-probe
Latest update
Aug 18, 2026
Category
Memory
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/nodata404/dsh-env-probe
Plugin: dsh-env-probe
Author: nodata404

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only
README language

dsh-env-probe

English | 中文

Zero-dependency DeepSeek Harness (dsh) plugin: probes the local machine environment (OS / shells / runtimes / tools / disks / proxy) once at startup, caches the report on disk, and injects it as an ordered section into every session's system prompt — so the agent starts every conversation already knowing what this computer offers instead of guessing commands.

v1.0.1: slash commands

Registered only when a command adapter is composed (e.g. the Web UI); headless profiles skip them automatically — injection keeps working.

CommandWhat it does
/env-refreshForces an immediate re-probe, rewrites the cached profile, replies with a summary plus a diff against the previous probe (+added / -lost / ~version changed)
/env-suggestRefreshes the profile first, then steers the current session so the agent produces optimization suggestions based on the freshly injected profile: purpose & recommended install method for missing runtimes/tools, upgrades for outdated versions, priority-sorted — propose first, never installs anything

> /env-suggest uses the same agent.steer() pattern as the official /plan command: the command itself costs no model tokens; suggestions arrive as a normal assistant reply.

Features

  • Generic by design: no machine-specific endpoints, no local-service checks, every probe item configurable — ready for a public plugin registry
  • Cross-platform: Windows / Linux / macOS
  • Read-only & safe: only where/which, --version, df, Get-CimInstance style read-only commands; executable names validated against a strict whitelist regex
  • Disk cache + TTL: default 7-day cache, zero-latency injection; expired cache triggers a silent background re-probe while stale values stay served (marked as such)
  • Graceful degradation: a failed item is reported as "unavailable", never aborts the run; .cmd/.bat shims are executed via cmd /c; tunable total budget and concurrency; concurrent refreshes share one probe via single-flight
  • Bilingual: injected text and command copy support language: 'en' | 'zh'

Install

Add to your profile's cordis.patch.yml:

- insert:
    - id: env-probe
      name: 'file:///absolute/path/dsh-env-probe/index.js'
      config:
        language: en
        order: 30
        cacheTtlHours: 168

Configuration

KeyDefaultMeaning
cacheTtlHours168Cache lifetime; re-probes in background on next assembly after expiry
order30System-prompt section order (-100 identity / 0 persona / 100-199 tool guidance)
language'en'Injected text language: 'en' / 'zh'
cacheDir'~/.dsh-env-probe'Cache directory (env-profile.json + env-profile.md)
runtimesgit, node, npm, python, python3, pip, docker, java, go, rustcRuntimes to probe
toolscurl, wget, ffmpeg, 7z, pandoc, tar, unzip, make, gcc, pwshTools to probe
perProbeTimeoutMs5000Per-probe timeout
totalTimeoutMs30000Total probe budget
concurrency4Probe concurrency
marker'ENV-PROBE'Section marker text

Plugin contract

Follows the official dsh plugin standard (docs/user/develop/basic): ESM exporting apply(ctx, config); inject: ['systemPrompt']; dependency-free Config["~standard"].validate implementing the standard schema interface; contributes an ordered section via ctx.systemPrompt.section() whose text provider is evaluated at every assembly, keeping the injection fresh as the cache refreshes.