UncleK/dsh-think-translate ↗★ 20
dsh-think-translate
为DSH Web提供思考链、任务卡片及回答的翻译功能。 适合使用外语模型,需要将思考过程或输出实时翻译为中文等目标语的用户。
同名包的其他仓库
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:UncleK/dsh-think-translate说明文档
阅读完整 README ↗🚀 Usage
- Open Settings → Think Translation
- Pick the target language (e.g. 日本語) — the settings panel, thinking rows and task cards all switch to it
- Manage the provider chain — the list below it is the delivery order; drag rows to reorder, and the checkbox is the on/off switch:
- Built-ins: google gtx / bing (free, works out of the box via system proxy) and local Ollama — on first local-model selection a download prompt appears (qwen2.5:7b / 14b or custom); it auto-enables when finished. Built-ins are permanent: uncheck one to stop using it, there is nothing to delete
- DSH providers: endpoints already configured in DSH (
llm-pi-ai.providers) appear automatically as read-only entries (badge "DSH"); their checkbox adds/removes them from the chain. The Import from DSH config button right below the list rescans on click and adds all of them in one go — there is no base URL and no key to retype, because the key is resolved from DSH's own credentials at request time - Custom providers: "Add custom provider" registers any OpenAI-compatible or Anthropic Messages endpoint; the form offers presets for common low-cost models (DeepSeek, OpenAI, Qwen, GLM, Kimi, SiliconFlow, OpenRouter, Anthropic) that fill base URL + model + env name, all still editable; the model lists were checked against the vendors' documentation in September 2026 and are suggestions only — any model id can be typed in. Each row has a test button, an edit form and a × to delete it (a DSH row cannot be deleted — it is managed by the harness)
- A provider can name an environment variable (
apiKeyEnv) instead of carrying the key: presets fill that in, and a DSH row brings its own. The key is resolved per request and never written toconfig.json, and such a row shows anenv:NAMEbadge. The edit form has no env field (the value survives an edit untouched), but emptying a field really removes it — the field is sent as an explicit delete - The former fallback chain option is gone: it was redundant once the chain itself ends with the free providers, and unchecking a provider is how you opt out of it.
fallbackstill exists inconfig.jsonfor anyone who wants it (off by default)
- Send a message that makes the model think, then expand the Think row to read the translation and compare with the original