Itikia Digital Solutions · Nairobi

Plugin for the DeepSeek Harness

Your agent can’t see the file you hand it. This fixes that in ten minutes.

dsh-media-reader gives a DeepSeek Harness agent five tools to read local images, audio and video — including on a model route that cannot accept media at all, where a picture is otherwise a dead end.

  • 5 tools + a composer drop target
  • Works on text-only routes
  • Nothing installed with a package manager
  • 18/18 live checks, 115/115 unit tests
Interactive demo Pick a file to see what your agent gets Real output · captured from a live session
media_image · 2.0 s inserted into the draft as text
[media: hello.png]
<path>hello.png</path>
<type>image-description</type>
<source>deepseek-official/deepseek-v4-flash-vision-exp</source>
<latencyMs>2049</latencyMs>
<image>image/png 640x360 px, 8979 bytes</image>
<content>
A solid dark blue image displays the white uppercase words “HELLO MEDIA” centered horizontally.

On-screen text: HELLO MEDIA

Details: The background is a uniform dark blue with no visible objects or patterns. The text is white, sans-serif, uppercase, and positioned near the vertical center of the frame. No other legible text or visual elements are present.
</content>

Trimmed for display; long file paths shown as names. Nothing here is typed by hand — the text is the output the plugin produced on this machine.

Showing the image result. A model on a text-only route can now read this.

Install it with your own agent — no call, no booking

Answer a few questions and get a prompt that drives your LLM through the install, the verification and the first real task. Nothing is sent anywhere: the prompt is generated on your device, and it is written for a model, not for you — so a language barrier cannot get in the way.

What it does

  • media_probe — real metadata from ffprobe: kind, duration, dimensions, frame rate, codecs, audio and subtitle tracks.
  • media_image — on a vision route the actual image; on a text-only route a factual description from your configured vision provider.
  • media_audio — local Whisper transcript with timestamps, written as .txt, .json and .srt.
  • media_video — shot detection, bounded key frames, a contact sheet, and the spoken transcript fused onto the shot timeline.
  • media_evidence — an evidence pack: tempo, key, loudness, onsets, chords, shot boundaries, lyrics confidence, every field tagged MEASURED, INFERRED or UNVERIFIED.
The DeepSeek Harness composer after a PNG was dropped on it, showing a structured block of text describing the image and the words HELLO MEDIA found in it.
One drop of a 640×360 PNG, captured from a live session. The analysis lands in the draft as ordinary text, so a text-only model can work from it.

What was actually verified

Every number here was measured on the artifact you download, not on a development tree.

The composer while a file is dragged over it: the Drop media chip is outlined in blue.
The drop target highlights while a file is over it. Captured by driving a real browser with a real drag event.

How to check it yourself, before paying

The plugin crate is public. Download it, verify its hash, and run the smoke test on your own harness before you buy anything:

  • sha256sum -c dsh-media-reader-0.1.2.tar.gz.sha256
  • ./install.sh --dry-run — reads out every action first
  • DSH_TEST_URL=… ./smoke.sh — 18 checks on your machine

That is the point of publishing it: you should not have to take my word for any of this.

Free, or paid — the line is commercial use

UseFreeCommercial licence — $79 / KSh 10,000
Read, study, run it for yourselfYesYes
Use in a commercial product or a paid serviceNoYes
Use inside a company’s internal, revenue-earning workflowNoYes
Updates for 12 months—Yes
Redistribute or resell itNoNo — not granted at any price

The full terms ship in the bundle as LICENSE, at the top level and beside the payload. If your use is not obviously on one side of that line, ask before you pay: one email now is cheaper than a disagreement later.

What it does not do

Known defect, disclosed

Dropping an audio or video file inserts an <artifacts> element containing absolute local paths, e.g. /home/<user>/artifacts/videos/…/digest.md. If you then paste that draft into a chat or a ticket, you publish your own directory layout. Image drops carry only the file name. A fix is queued; until then, drop images for drafts you intend to share.

  • It does not judge whether a picture or a film is any good. It extracts evidence; taste is yours.
  • It makes no generation calls and spends no provider credits.
  • Non-speech audio is out of scope — it says so rather than inventing words.
  • Install is by copy-restore, deliberately. dsh plugin add can leave a profile unable to run any tool call; this bundle never uses it.

Questions

What do I need on the machine?

Node, ffmpeg and python3. Local transcription needs a small virtual environment with faster-whisper; the docs walk through it. No package manager is used or required.

Does it work if my model cannot accept images?

That is the case it was built for. On a text-only route, an image is returned as a factual description from your configured vision provider, and the built-in read_image is redirected to media_image rather than failing silently.

Is a licence per machine or per team?

Per team, one time. Install it on as many machines as your team uses; do not hand the crate to another company.

How is it delivered?

The crate downloads immediately and is the same public artifact you can inspect today, verified by the same sha256. Your licence document — naming your team, the order reference and that exact hash — is issued to the address you paid with, normally within one business day. Nothing about the download is gated: you can verify everything before you buy.

What if it does not work on my harness?

Tell me what happened — open an issue — and I will either fix it or refund you. I would rather lose a sale than keep one for something that does not run.