NingYuanLee/dsh-minimax-api ↗★ 2
dsh-minimax-api
Native MiniMax for DeepSeek Harness: chat with an M Plan subscription or a pay-as-you-go API key, image, video, speech and speech-to-text tools, and M Plan usage in the sidebar.
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:NingYuanLee/dsh-minimax-apiREADME
Read the full README ↗Configuration
Use the plugin settings page for normal setup. Manual configuration in the profile's cordis.patch.yml is possible but optional:
- id: minimax-api
name: dsh-minimax-api
config:
connection:
plan: coding-cn
baseURL: https://api.minimaxi.com/anthropic
api: anthropic-messages
apiKeyEnv: MINIMAX_API_KEY
verify: true
timeoutMs: 60000
media:
imageModel: image-01
videoModel: MiniMax-H3
speechModel: speech-2.8-hd
musicModel: ''
dataDir: ''
| Key | Default | Notes |
|---|---|---|
connection.plan | coding-cn | Access mode: payg-global, payg-cn, coding-global, coding-cn, custom. Fills baseURL and api. The default is the China M Plan route on the recommended Anthropic-compatible protocol. |
connection.baseURL | https://api.minimaxi.com/anthropic | API address. Non-local addresses must be HTTPS; the path is normalized to /v1 or /anthropic. |
connection.apiKey | empty | Direct key override for local testing; takes precedence over the credential. Leave empty in normal use. |
connection.apiKeyEnv | MINIMAX_API_KEY | Credential reference name in the dsh credential service. |
connection.api | anthropic-messages | Chat protocol: openai-completions, openai-responses or anthropic-messages. |
connection.verify | true | Verify GET {root}/v1/models with the saved key when settings are saved. |
connection.timeoutMs | 60000 | Request timeout in milliseconds (1000–600000). |
media.imageModel | empty | Image model used when a call omits model. |
media.videoModel | empty | Video model used when a call omits model. |
media.speechModel | empty | TTS model used when a call omits model. |
media.musicModel | empty | Music model used when a call omits model. Retired upstream; only existing paying accounts can call it. |
media.dataDir | empty | Media output directory; empty means $DSH_HOME/plugins/dsh-minimax-api. |
modelOverrides | [] | Per-model overrides written by the settings page: category, display name, image support, context window, max output, reasoning efforts. Applied on the next refresh. |
connection, media and modelOverrides are volatile sections: after saving, dsh reloads the plugin layer and the model catalog is discovered again.
The settings page writes the API key into the dsh credential service under the reference name above; the configuration keeps only the reference. Do not hand-write a key into YAML.
Usage
- Chat: choose MiniMax in the model picker. Only chat models are listed; the settings page's model table is what the picker shows, so delete a row and save to hide that model.
- Images: one call generates and saves; inline the result with an absolute local path —
![alt](). dsh Web serves it through/api/file; the limit is 20 MiB per file. - Video: submits a job. Call
minimax_media_statuswith the returnedtask_iduntil the result is saved or the task failed; the status card does not refresh by itself. Do not resubmit a job whose submission status is unknown — that would be billed twice. - Speech:
minimax_speakwrites an audio file for text up to 10000 characters;minimax_speak_longsubmits an asynchronous job for long text and returns a task id to fetch withminimax_media_status;minimax_list_voicesreturns thevoice_idvalues to pass to either.minimax_transcribeuploads a local audio file and returns the transcript as text. - Display: video and audio appear in the tool result card player. Do not inline them with Markdown image syntax — the chat does not render them and shows a broken image instead.