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, andstr_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