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.

Math Input — DSH Plugin for DeepSeek Harness
← Plugins
M

dsh-math-input

Math Input

Zero-token offline math input for DeepSeek Harness: handwriting recognition, screenshot OCR, LaTeX editor, and inline LaTeX rendering.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:xiaxi626/dsh-math-input#489f50a2219d34164af85de3d8b7782db3d18358
READMECompatibilityVersions

Compatibility and provenance

Math Input is published as dsh-math-input and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/1/2026

Versions

0.1.0stable
9/1/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/1/2026
View source ↗
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
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in productivity-workflow.

Client Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Rewind Plugindsh-rewind-pluginIn-window conversation rewind with workspace file restore · 同窗口内对话回退并可还原工作区文件Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-base

README

dsh-math-input

English | 中文

A zero-token, fully offline math input plugin for DeepSeek Harness (DSH). Handwrite formulas, OCR them from screenshots, or edit LaTeX directly — all recognized in your browser, no API key, no token cost.

Why you need it

DSH's composer is plain text. If you want the model to reason about a formula, you type LaTeX by hand — slow and error-prone. This plugin adds three input methods plus inline rendering:

Input methodBest forEngine
HandwritingHave a stylus / mouse, want to write a formula fastCoMER neural network (ONNX Runtime Web)
Screenshot OCRAlready have a formula image (PDF screenshot, etc.)Same engine, image-to-tensor recognition
LaTeX editorKnow LaTeX syntax, want a symbol paletteNo recognition needed, direct input
Inline renderingType \[ ... \] in the composer, auto-rendersKaTeX

All recognition runs via ONNX Runtime Web (WASM / WebGPU). The model is 7.2 MB, downloaded once and cached in IndexedDB. The plugin never calls ctx.llm — your token bill stays at zero.

Install

Prerequisites

  • DeepSeek Harness >= 0.1.1-rc.2
  • Node.js >= 20.0.0
  • Chrome or Edge (for WebGPU support and SharedArrayBuffer)

Install the plugin

# from GitHub
dsh plugin --profile web add github:<owner>/dsh-math-input

# without global dsh CLI
npx @deepseek-ai/dsh plugin --profile web add dsh-math-input

Restart the DSH profile after install (stop and re-run dsh web). A "+" button appears to the left of the input row — that means the install succeeded.

Uninstall

# remove from DSH profile
dsh plugin --profile web remove dsh-math-input

# or without global CLI
npx @deepseek-ai/dsh plugin --profile web remove dsh-math-input

Restart the DSH profile. The "+" button and all input windows will be removed.

The model cache (IndexedDB database math-handwrite-models) is not automatically cleared. To clean it up manually, go to browser DevTools → Application → IndexedDB and delete the database.

Usage

Click the "+" button to the left of the input row to open the menu:

1. Handwriting input

  1. Click "Handwriting input" in the menu — a canvas modal pops up
  2. Draw a formula with mouse, touch, or stylus
  3. Stop for ~1.5 seconds (configurable in Settings) — the engine recognizes automatically
  4. The result renders as a KaTeX preview; the LaTeX source is editable below
  5. Click "Confirm and insert" — the formula enters the composer as \[ ... \] and renders inline
  6. Click "Clear" to start over, "Undo" to remove the last stroke

2. Screenshot OCR

  1. Click "Screenshot and recognize" in the menu
  2. Ctrl+V to paste an image, or click "Upload file" to select a local image
  3. The engine extracts LaTeX from the image automatically
  4. Review the preview and click "Confirm and insert"

3. LaTeX syntax editor

  1. Click "LaTeX syntax editor" in the menu — a dock panel expands below the input row
  2. The palette offers Greek letter buttons (\alpha, \beta, \pi, etc.) and template buttons (\frac{}{}, \sqrt{}, \sum_{}^{}, etc.)
  3. Click any button to insert the corresponding LaTeX code into the editor
  4. A live KaTeX preview renders on the right
  5. Click "Insert" — the formula enters the composer as \[ ... \]

Inline rendering

Any \[ ... \] you type (or paste) in the composer renders inline as a formula. For example, typing \[x^2 + y^2 = r^2\] renders the equation directly.

Settings

Open Settings → Math Input to configure:

SettingDescriptionOptions
Recognition modeLimits the recognition vocabularyauto (all), number (digits & operators), expression (math expressions)
Beam widthQuality vs speed trade-off1 (fastest), 2, 3 (best quality)
Execution providerONNX inference backendwasm (universal), webgpu (needs Chrome 113+, typically 2–5x faster)
Stroke debounceIdle time before auto-recognition0.3 – 10 seconds
Interface languageOverride UI languagezh / en, empty follows DSH language

Settings persist on the Host side and survive page reloads.

Local testing

No need to push to GitHub or publish to npm — follow these five steps to verify locally.

Step 1: Build the project

In the dsh-math-input/ directory:

cd dsh-math-input
npm install
npm run build      # generates lib/ directory

To check types without building, run npm run typecheck (tsc only, no output).

Step 2: Link the local package

This plugin has both a Host entry and a Client bundle (dsh.client in package.json). The Client is discovered through node_modules, so the package must be linked first — an overlay alone won't load the UI.

Windows (Git Bash / MINGW):

PROJECT="$(cygpath -m ~/Downloads/dsh-math-input)"   # ← your path
npx @deepseek-ai/dsh plugin --profile web add "file:$PROJECT"

macOS / Linux:

PROJECT="$(pwd)"          # ← run from the repo root
npx @deepseek-ai/dsh plugin --profile web add "file:$PROJECT"

This creates a persistent link in the profile's node_modules. After code changes, just npm run build and restart — no reinstall needed.

Step 3: Launch DSH

npx @deepseek-ai/dsh web --no-open

Open http://127.0.0.1:3080.

Host-only testing without linking: if you only need to test Host-side code (settings, typert manifest) without the Client UI, use an overlay patch instead. See Local testing guide for details.

Step 4: Verify functionality

In the DSH web UI, check each item:

  1. A "+" button appears to the left of the input row
  2. Clicking "+" opens a menu with three items: Handwriting, Screenshot, LaTeX editor
  3. Handwriting pad: modal renders, canvas accepts pointer drawing
  4. Settings: Settings → Math Input shows five controls
  5. Changing a setting persists across page reload
  6. Type \[x^2\] in the composer — a KaTeX chip renders below
  7. LaTeX editor dock: toggles from the menu, palette inserts snippets, Insert writes \[...\]

Step 5: Re-test after code changes

After modifying code:

# rebuild
npm run build

# stop DSH (Ctrl+C), restart
npx @deepseek-ai/dsh web --no-open

Notes & limitations

  • Model download: first recognition triggers a ~7.2 MB download (encoder 3.4 MB + decoder 4.0 MB + vocab 4 KB); subsequent loads use IndexedDB cache.
  • WebGPU auto-fallback: when webgpu is selected but the browser doesn't support it (requires Chrome 113+), the engine automatically falls back to wasm.
  • SharedArrayBuffer: ONNX Runtime Web uses multi-threaded WASM when Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp headers are present. Without them, it falls back to single-threaded — recognition still works but is slower.
  • Handwritten vs printed: the CoMER model is trained on the CROHME handwritten math expression dataset and optimized for handwriting. Screenshot OCR of printed formulas may underperform.
  • Browser compatibility: requires a modern browser with WebAssembly SIMD support. Chrome / Edge recommended; Firefox mostly works; Safari has limited support.
  • Zero-token guarantee: the plugin never calls ctx.llm — all recognition runs locally in the browser, with zero API costs.

Development

npm run typecheck   # tsc --noEmit (strict)
npm run lint        # ESLint 9
npm test            # node:test + tsx
npm run build       # tsdown + tsc → lib/

CI runs across Node 20 / 22 / 24: typecheck, lint, unit tests, build, and a check that committed lib/ matches a fresh build.

Documentation

  • Architecture (English) | 架构 (中文)
  • Recognition engine selection
  • Local testing guide
  • Plugin install verification
  • Contributing
  • Changelog

License

MIT