Introduction

In DSH’s agent workflow, after tool calls like write or edit succeed, the model may not immediately see type errors or lint issues. dsh-lens-lite’s purpose is to integrate post-edit diagnostics into DSH: it runs the configured checkers after successful tool calls of interest and provides the check results to the model as notice-formatted plugin context.

What is this

dsh-lens-lite is a post-edit diagnostic plugin for DeepSeek Harness. The verified repository owner is ben7am1n, and the license is MIT.

It does not bundle checker commands; which checkers are available depends on what is actually installed in your local toolchain. The plugin is responsible for running these checkers at the appropriate time and bringing the results back to the model as context.

Core Behavior

The behavior boundaries of dsh-lens-lite are quite clear:

  • Runs only after successful tool calls of interest, defaulting to listening for write, edit, and str_replace_editor.
  • Runs all checkers declaring that file extension concurrently, based on the edited file’s extension.
  • If all checkers exit with the configured clean code and have no output, no extra context is attached.
  • Never vetoes a call, nor rewrites a call.
  • Skips linting if the downstream listener has already blocked this call.
  • Respects the cancellation signal of the tool call; terminates its entire process tree if the checker itself times out.
  • Returns check results as notice-formatted plugin context.

Installation and Usage

First, install the plugin:

dsh plugin --profile web add dsh-lens-lite

After installation, override the plugin line in the profile’s cordis.patch.yml to change it to the checkers actually available in your toolchain.

Typical Usage

The example mapping provided in the documentation is as follows:

tsc      .ts .tsx                   npx --no-install tsc --noEmit
eslint   .ts .tsx .js .jsx
ruff     .py
go-vet   .go

argv supports placeholders:

{file}
{relFile}
{dir}

Configuration and Failure Behavior

Configuration errors fail directly when the plugin loads. Loading period errors listed in the documentation include:

  • Empty argv.
  • Checkers not declaring an extension.
  • Checkers reading no streams.
  • Duplicate checker names.
  • Non-positive bound.

Environment failures do not cause already successful edits to fail, but instead become findings:

checker unavailable
checker timed out after Nms
checker failed to start

Performance and Considerations

Whole-repository checkers run on every edit. For example, npx tsc --noEmit can add several seconds of time to every write in a large repository.

Before running, you need to confirm that the Node version meets the requirements:

^22.19.0 || >=24.0.0

The plugin runs with the permissions of the current dsh process. It is recommended to check the source code and the MIT license before installing. The DSH community directory is a separate site, not the official app store for DeepSeek or Fengari.

Local Development

Development commands provided in the documentation:

pnpm install --ignore-workspace
pnpm run typecheck
pnpm test
pnpm run build

Links

GitHub: https://github.com/ben7am1n/dsh-lens-lite
Directory page: Not provided in verified materials, it is recommended to search for `dsh-lens-lite` in the DSH community directory