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.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-translate

Translate

Vendor parameter translation and deterministic JSON repair for DeepSeek Harness: the /translate command maps temperature/top_p/max_tokens/stop/system across 11 vendors, and the tools/post-execute repair layer (plus the fix_json tool) fixes broken JSON too

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

npx -y @deepseek-ai/dsh plugin --profile web add github:PerryLink/dsh-translate#41643ab850d93237adc6014d12fc767fb6ac2d37
READMECompatibilityVersions

Compatibility and provenance

Translate is published as dsh-translate and currently resolves to version 0.2.24. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
11/4/2026

Versions

0.2.24stable
10/18/2026
0.2.21stable
10/10/2026
0.2.20stable
10/5/2026
Show 24 more versionsCollapse versions
0.2.19stable
10/5/2026
0.2.18stable
10/5/2026
0.2.17stable
10/4/2026
0.2.16stable
9/24/2026
0.2.15stable
9/24/2026
0.2.14stable
9/23/2026
0.2.13stable
9/22/2026
0.2.12stable
9/19/2026
0.2.11stable
9/18/2026
0.2.10stable
9/12/2026
0.2.9stable
9/10/2026
0.2.8stable
9/9/2026
0.2.7stable
9/9/2026
0.2.6stable
9/7/2026
0.2.5stable
9/7/2026
0.2.4stable
9/4/2026
0.2.3stable
9/2/2026
0.2.2stable
9/1/2026

Related plugins

Loading related plugins…

Latest
0.2.24
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
Apache-2.0
Source
github
GitHub
★ 15
Weekly downloads
515
Last push
11/4/2026
View source ↗Project homepage ↗
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
0.2.1stable
8/30/2026
0.2.0stable
8/26/2026
0.1.3stable
8/23/2026
0.1.2stable
8/22/2026
0.1.1stable
8/21/2026
0.1.0stable
8/16/2026

Related plugins

More verified plugins in models-usage.

Connect Workbuddydsh-connect-workbuddyConnects locally signed-in WorkBuddy models (domestic and international versions) to DeepSeek Harness, automatically reading each model’s points multiplier from the upstream catalog on every refresh, with per-model image input toggles, multi-account switching, automatic account rotation from an accoCost Meterdsh-cost-meterDeepSeek Harness session cost statistics plugin: tracks current session costs, today’s expenses, and historical records, with synchronization to official pricing. Supports billing across multiple vendors and models, with a built-in catalog of prices for 170+ model IDs and automatic matching. Also suCodex Subscriptiondsh-codex-subscriptionUse ChatGPT and Codex subscriptions in DeepSeek Harness with OAuth, quota, safe resets, web search, images and Fast mode, and control DSH from the ChatGPT mobile app (Beta)Xdpooldsh-xdpoolOne DSH model pool for every free quota you have: merge all locally signed-in WorkBuddy accounts with auto-failover, sign in to 13 vendors by QR/web, aggregate 76 vendors' free tiers, plus a usage dashboard, model routing, a local OpenAI-compatible gatewa

README

🔁 dsh-translate

  • 1024 store channel: npm i -g dsh1024 once, then dsh1024 plugin --profile web add dsh-translate (counts toward the deepseek1024.com install ranking). OpenSSF Scorecard

Vendor parameter translation and deterministic JSON repair for DeepSeek Harness.

Same request, every vendor. Broken JSON, fixed without inventing data.

This is a vendor parameter mapping table, not machine translation.

Official repository. This is the only official repository of dsh-translate, maintained by PerryLink. Same-name repositories under other accounts are not affiliated.

DSH Market

English · 简体中文 · Español · Português · हिन्दी


📖 Ecosystem knowledge base — measured data, not marketing: plugin development guide · plugin-selection data · maintenance criteria.

⭐ 如果它帮到了你

这个插件是 DSH 插件家族的一员(40+ 个,全部 Apache-2.0)。如果你在用,给个 star —— 它不会解锁任何功能,但会让下一个人在搜索里更容易找到它。

English: part of a 40+ plugin family for DeepSeek Harness. If it is useful, a star helps the next person find it — nothing is gated behind it.

What is dsh-translate?

Vendor parameter translation and deterministic JSON repair for DeepSeek Harness.

Same request, every vendor. Broken JSON, fixed without inventing data.

Terminal demo of dsh-translate: dsh-translate — /translate openai ernie max_tokens

Animated terminal demo of dsh-translate

The same run, animated.

Compatibility

SurfaceStatus
HarnessMain version dsh-v0.2.1-alpha.1 (verified 2026-09-25: dual typecheck rulers + node --test 80/80 + self-contained/artifacts gates). npm dev/test pins now 0.1.7-rc.2; peers >=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0.
Node^22.19.0 || >=24.0.0
FormPure-host JS plugin (no browser half)
ModelAny model — repair is deterministic, no extra model calls

What you get

Two independent surfaces, one bundle:

  • /translate — the vendor parameter translation table: temperature, top_p, max_tokens, stop, system, and 8 more canonical parameters mapped across 11 vendors (OpenAI, ERNIE, Qwen, Anthropic, Google, DeepSeek, Mistral, Cohere, xAI, Groq, Azure). Ask for a pairwise mapping, list vendors/params, or convert a whole standard request (transformRequest in lib/rosetta.mjs).
  • The repair layer — a tools/post-execute listener plus the fix_json tool. When a successful tool result carries broken JSON as a string (string-rooted or json-rooted output schema, or a tool opted in by name), the layer repairs it deterministically: markdown-fence extraction, escape repair, trailing-comma removal, truncation closure, and required-field completion with explicit null placeholders. No value is ever invented — a result that still violates the schema fails closed, and failed tool results are never flipped into successes.
tool result (success, JSON text) ──▶ extract fence ──▶ parse
    │ ok? ──▶ schema-validate ──▶ accept { kind: 'accept', value }  (registry re-validates + re-renders)
    │ broken ──▶ escape / trailing-comma / close / fill-null ──▶ validate
    │ unrepairable ──▶ next()  (original value preserved) + translate/fix audit (counts only)

Quick start

dsh plugin --profile web add github:PerryLink/dsh-translate
# 1. install the bundle into your profile
dsh plugin --profile web add github:PerryLink/dsh-translate

# or from npm (published releases)
dsh plugin --profile web add dsh-translate

# 2. restart and verify the row
dsh --profile web --dump-config | grep -A2 'id: dsh-translate'

Then ask the agent to check a mapping or repair a payload:

> /translate openai ernie max_tokens
> Use fix_json to repair: {"a": 1,} against {"type":"object","properties":{"a":{"type":"integer"}},"required":["a"]}

Install & uninstall

  • git channel (latest main): dsh plugin --profile web add github:PerryLink/dsh-translate — pure JS, no build step.
  • npm channel (published releases): dsh plugin --profile web add dsh-translate.
  • tarball channel: pnpm pack in this repo, then dsh plugin --profile web add ./dsh-translate-<version>.tgz.
  • uninstall: dsh plugin --profile web remove dsh-translate (or remove the row from the profile patch).

Configuration

All tunables are Schemastery Config fields (changeable from cordis.yml). An id-targeted override replaces the whole row — restate every key you need. cordis.patch.yml documents each key inline.

KeyDefaultMeaning
enabledtrueMaster switch; false registers nothing
repair.enabledtruePost-execute repair layer switch
repair.toolNames[]Extra tool names whose JSON-text results may be repaired (on top of string-rooted / json-rooted schemas)
repair.strategies.escapeRepairtrueEscape raw control characters inside strings
repair.strategies.trailingCommatrueRemove commas directly before a closing bracket
repair.strategies.truncationClosuretrueClose an unclosed string or container cut off by truncation
repair.strategies.fieldCompletiontrueComplete missing required fields with explicit null placeholders
repair.maxSteps8Strategy application budget (repair-loop passes, 1..64)
diffMaxChars200Cap on one logged diff fragment, in characters
diffMaxEntries50Cap on logged diff entries
registerCommandtrueRegister the /translate command
registerTooltrueRegister the fix_json tool
rosettaDataPath(none)Optional external rosetta data file (same shape as the bundled lib/rosetta-data.json); overrides the built-in mapping table

Example override in your profile patch:

- insert:
    - id: dsh-translate
      name: dsh-translate
      config:
        enabled: true
        repair:
          enabled: true
          toolNames: ['emit-json']
          strategies:
            escapeRepair: true
            trailingComma: true
            truncationClosure: true
            fieldCompletion: true
          maxSteps: 8
        diffMaxChars: 200
        diffMaxEntries: 50
        registerCommand: true
        registerTool: true

Tools & surfaces

SurfaceKindNotes
/translatecommandvendors, params, or <from> <to> [param] pairwise mapping
fix_jsontool{ text, schema?, strategies? } → { ok, repaired?, diff?, strategies, truncated, validated, error? }; diff fragments are bounded and sanitized
post-execute repairlistenerAutomatic for successful string results from string-rooted / json-rooted schemas (plus repair.toolNames); always calls next() unless it claims the call

Permissions & data

  • Permissions: no network, no subprocess, no credentials — the plugin only consumes the official commands and tools services and appends to the session log.
  • Data: repair never fabricates values; the only model-visible additions are the repaired canonical value and the fix_json diff. Session audit events (translate/fix) carry tool name, call id, strategy names, edit counts, and truncation flags — never payloads. The audit write is gated by the host’s session-event vocabulary: a host that knows translate/fix gets the plain two-argument append, and a host with the ignorable append envelope gets the marked append. On 0.1.6+ and 0.2.x the private translate/fix type is not in the host vocabulary, so no audit event is written; the tool result remains the model-visible log. This is an observability limitation, not a data-plane change.

Security boundaries

  • Deterministic only. Repair is bounded text surgery; the upstream LLM-retry arm of JSON-Schema-Enforcer-Proxy was deliberately not ported — a post-execute listener never calls a model.
  • Fail closed. Unrepairable syntax and schema violations leave the original result untouched (or return a structured error from fix_json); null placeholders only land when the schema accepts null.
  • Hostile input bounded. Unsupported schema keywords and circular schemas are rejected; oneOf validation is capped by depth (MAX_ONE_OF_DEPTH) and a branch budget (MAX_ONE_OF_BUDGET), so an exponential schema cannot exhaust the process.
  • No payload leakage. Logs and audit events never contain repaired payloads; diffs are truncated and capped before display or storage.

Known limitations

  • The supported JSON Schema subset mirrors the harness tool registry (type/oneOf/properties/required/additionalProperties/items/enum/const); other keywords are rejected as unsupported, not silently ignored.
  • Repair only applies to successful results whose canonical value is a JSON-text string; a value that already failed schema validation arrives as a failed result and is never flipped.
  • The translation table covers 11 vendors × 13 canonical parameters; extended rows follow public API references (not the upstream trio) and are marked as such in lib/rosetta.mjs.
  • On hosts that neither know translate/fix nor expose the ignorable append envelope — including 0.1.6+ and 0.2.x, whose private-type vocabulary does not contain it — the adaptive gate skips the audit append so the session log is never polluted; the tool result remains the durable evidence until the event type is registered.

Development

pnpm install        # node ^22.19 || >=24
pnpm test           # node --test: 79 tests (pure lib suites + real-service assembly suite)
pnpm run check      # tsc checkJs against types.d.ts
pnpm run verify:self-contained  # dependency specs resolve from the registry
pnpm run verify:artifacts       # ESM face imports under plain Node + lib exports present
node scripts/check-readme-sync.mjs  # five-language README sync gate (also in CI)
pnpm pack           # the published tarball

Interoperability with other DSH plugins

Verified against DSH 0.2.0-rc.2 (the runtime this README ships for) and the high-star plugin set surveyed on 2026-10-05.

This plugin does not interfere with other plugins, including the widely installed high-star ones:

  • No tool-name collision. Every tool is namespaced; no bare name owned by a shipped tool or another plugin is registered.
  • No service-key collision. It provides no service key at all, so it cannot collide on one.
  • No slot collision. It registers no client slot key, so it cannot contend for a shadows-shipped-ui seat.
  • No HTTP route collision. It registers no webServer prefix.
  • No patch-layer collision. The bundle patch only inserts its own row; it never overrides a built-in row's config.
  • No global mutation. It does not patch prototypes, rewrite process.env, or replace the global fetch dispatcher.

Shared event listeners are non-interfering by construction. It observes the ordering-sensitive event tools/post-execute with ctx.on() — Cordis's broadcast registration, where every listener runs and none can starve another. Every listener here delegates through next(), so the chain is never short-circuited, and a mutation is applied to the value next() produced rather than returned in its place:

  • tools/post-execute — also used by cc-safety-net (1576★).

Static evidence: dsh-plugin-doctor K10–K13 report pass for every check on this repository.

Topics

dsh, dsh-plugin, deepseek-harness, deepseek, cordis, json-repair, schema-validation, parameter-mapping, llm-api, tooling

Contributors

  • @PerryLink — creator and maintainer: translation table and repair pipeline ports, plugin surfaces, tests, and the five-language docs.

PerryLink DSH Plugin Family

This project is one of the 34 actively maintained DeepSeek Harness plugins from PerryLink — the roster is 42, of which 5 are frozen and 3 retired; every one keeps its row below, with the reason in the Status column. If this one helps you, the others likely will too:

PluginOne-linerStatus
dsh-auto-reviewSecond-model auto-review on the approval chain, fail-closed by default
dsh-autotierAutomatic strong/cheap model-tier routing with deterministic risk guards and a /tier command
dsh-background-agentsDurable background child agents with a Web UI sidebar, messaging and interrupt🚫 RETIRED — see the note above
dsh-budgetCost governance for DeepSeek Harness: budgets, carbon, and latency in one panel.🧊 FROZEN — see the repo README
dsh-catalogDSH Desktop Market standard catalog source for the PerryLink family
dsh-cert-mcpRead-only MCP server exposing the certification registry: grades, snapshots and five-dimension evidence
dsh-checkpoint-rewindClaude Code /rewind-equivalent: snapshots, session forks, one-shot restore
dsh-claude-moveMigrate Claude Code sessions, memory, skills and CLAUDE.md into DSH🧊 FROZEN — see the repo README
dsh-clickCross-platform native desktop control for DeepSeek Harness — Windows first.
dsh-composer-historyTerminal-style input history for the web composer: arrows, Ctrl+R search

Install from the DSH Desktop Market

All PerryLink plugins are browsable in the built-in DSH Desktop Market: Market → Sources → add source → paste https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → select it. Installation still goes through the Market's npm-identity verification and your confirmation.

License

Apache License 2.0 © 2026 dsh-translate contributors

dsh-data-qualityDataset quality checks and citation cross-checks (the optional numeric bridge consumed here)
dsh-defendPrompt-injection, jailbreak, and secret-leak defense for DeepSeek Harness.🧊 FROZEN — see the repo README
dsh-doublecheckEngineering-discipline guard: requirements grill, test gates, adversary review
dsh-drawUnified static-image generation routing for DeepSeek Harness.🧊 FROZEN — see the repo README
dsh-fastRead-only performance diagnostics for DeepSeek Harness.
dsh-fund-researchDeterministic research reports for Chinese public mutual funds
dsh-githubGitHub PR/issues integration for DSH, every write gated by approval
dsh-industry-researchIndustry research orchestration that seals its deliverables through this plugin's ctx.researchReport.assemble
dsh-layaLaya typed decisions (noul/choice/score) as a first-class Cordis service and model-visible tools
dsh-libraryLocal document knowledge base for DeepSeek Harness.
dsh-local-aiLocal-model (Ollama) integration for DeepSeek Harness.
dsh-lsp-actionsLSP diagnostics, formatting, completion, code actions and rename over language servers
dsh-maskPII masking middleware: anonymize at the model boundary, restore at the display layer
dsh-mcp-panelRead-only MCP runtime panel: /mcp command + Settings tab with status, tools and errors
dsh-mementoApproval-gated cross-session memory: ctx.memory seam + SQLite + memory tool
dsh-observeOpenTelemetry and Langfuse observability exporter for DeepSeek Harness.
dsh-output-stylesClaude Code outputStyles-equivalent runtime style switching
dsh-permission-rulesClaude Code-style declarative allow/deny/ask permission rules with audit
dsh-plugin-certificationCommunity certification registry with repro-checkable grades and badges
dsh-plugin-doctorZero-dependency static + sandbox smoke detector for DSH plugins
dsh-plugin-guidePlugin-development knowledge base as an on-demand agent skill
dsh-plugin-kitShared zero-runtime-dependency toolkit for the PerryLink DSH plugins
dsh-plugin-upgradeOne-package, one-corridor-index plugin upgrade skill: routes a repository to the matching closed corridor card
dsh-plugin-upgrade-015Merged 0.1.3-alpha.1 → 0.1.5-rc.1 upgrade corridor card plus a zero-dependency seam scanner🚫 RETIRED — corridors carried by dsh-plugin-upgrade
dsh-reachMulti-channel approval/question bridge: WeChat/Telegram/Feishu, session console🧊 FROZEN — see the repo README
dsh-research-reportVerifiable research-report engine: content-addressed evidence ledger and sealed versions
dsh-scoreMulti-dimensional quality scoring for DeepSeek Harness plugins.
dsh-session-pinPin sessions in the Web sidebar with durable ordering🚫 RETIRED — see the note above
dsh-session-syncCross-device session sync for DeepSeek Harness — a dedicated git mirror of your session store.
dsh-skill-pack-securitySecurity-audit skill pack: secret scan, dependency and supply-chain review
dsh-talkVoice-first session loop for DeepSeek Harness: talk to it, hear it answer.
dsh-team-roomsCross-session team rooms: shared message bus, task board and timeline🚫 RETIRED — see the note above
dsh-test-driveIsolated install-and-smoke test drives for DeepSeek Harness plugins.
dsh-ticktickTickTick/Dida365 task bridge: session-header panel + 11 tools
dsh-translateVendor parameter translation and deterministic JSON repair for DeepSeek Harness.