DSH (DeepSeek Harness) adopts a plugin-based architecture. When the base bundle lacks necessary search or image understanding capabilities, integrating an external CLI is a common solution. The dsh-mmx plugin bridges MiniMax CLI capabilities into DSH, addressing automatic fallback when a valid DeepSeek search Key is unavailable and enabling text-only models to understand images.
This is a plugin maintained by crazyma99 and licensed under the MIT License.
Core Features¶
-
Web Search Fallback
The plugin registers themmx-searchsearch provider withctx.web. By using a profile patch to pointsearchProvidertommx-search(or by letting DSH automatically select the only available provider when no provider is pinned), theweb_searchtool can be transparently served by MiniMax. -
Transparent Image Understanding
When an image is sent to a text-only model, the plugin callsmmx vision describebefore sending to generate a text description, and injects it using “model-visible replacement” — the image displays normally in the conversation record, while the model actually receives the text description. Theread_imagetool also returns a text description instead of an error. Multimodal models are passed through unchanged by default (thealwaysUseMmxsetting can be changed to always use mmx). -
First-Run Onboarding (OOBE)
The plugin detects whether mmx is installed or logged in. When it is not ready, the two capabilities above are automatically disabled. The settings page card provides a One-click Install feature (enter API Key → automaticnpm install -g mmx-cli+mmx auth login→ refresh status), along with manual installation guides separated by operating system. The plugin re-probes every 30 seconds and automatically enables when the CLI is ready.
Installation and Prerequisites¶
Prerequisite: Node.js >= 20 must be installed locally.
Installation methods are as follows:
# GitHub(推荐)
dsh plugin --profile web add github:crazyma99/dsh-mmx
# npm registry
dsh plugin --profile web add dsh-mmx
# 本地目录
dsh plugin --profile web add file:/path/to/dsh-mmx
Restart dsh web after installation.
Configuration and Usage¶
After installation, you need to configure it to enable the features.
1. Search Provider Pinning¶
The DSH base bundle pins the search provider to deepseek-official by default. If DeepSeek search is not configured with a valid key, override it in the profile’s cordis.patch.yml:
- id: web
config:
searchProvider: mmx-search
2. Settings Page Configuration¶
In the plugin card on the DSH settings page, you can configure the following options:
* enabled: master switch (default true).
* searchEnabled: register the mmx search provider (default true).
* visionEnabled: transparent image understanding (default true).
* alwaysUseMmx: whether multimodal models also use mmx for image understanding (default false).
* visionPrompt: image understanding prompt template.
Click “One-click Install” and enter your API Key to automatically complete the installation and login for the mmx CLI.
Privacy and Security¶
- API Key Security: The plugin does not read, print, or log your API Key.
- Image Processing: Images are uploaded to the MiniMax API (base64) via the mmx CLI for image understanding; temporary image files are set to permission 0600 and deleted after use.
- Process Security: All child process calls use
spawndirectly with argument arrays, and timeouts and cancellation propagation are configured.
Uninstallation¶
dsh plugin --profile web remove dsh-mmx