- 语言
- JavaScript
- License
- MIT
- 分支
- main
安装
$ dsh plugin --profile web add dsh-mmx-bridge在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
dsh-mmx-bridge
一个工具 = MiniMax 全部多模态能力。 让 DeepSeek Harness(DSH)的纯文本模型直接看图、画图、生成视频、说话、唱歌、翻唱、搜索、查额度。
English · 简体中文
概述(Overview)
DSH 默认只支持纯文本对话——看不了图、画不了画、说不了话、做不了视频。dsh-mmx-bridge 通过一个 mmx_bridge 工具接入 MiniMax 全栈多模态模型,一次安装,8 种能力即开即用:
v1.0.5 起:拖图直接发送,AI 就能识别——输入零改动。 拖入/粘贴图片后正常发送:你的消息(图片+提示词)在会话里原样显示,一个字节都不改。插件在背后把图片落盘到临时目录(默认
/tmp/mmx-out/)并替换为「图片地址+本地路径」文本——Agent 收到地址后自动调用read_image/mmx_bridge(describe)查看图片。你感知不到中间过程。v1.0.7 起:图片识别缓存(内嵌 JSON,默认开启)。 识别结果以 imgjson 标准块(PNG
tEXt/ JPEGCOM)写回图片本身,同图同问题再次读取直接复用,零 VLM 调用;追问按问题分层缓存,各层互不覆盖;图片被重新编码时缓存自动失效重建。可在设置页「插件配置」关闭。
兼容性(Compatibility)
| 项目 | 说明 |
|---|---|
| DSH 版本 | 0.1.0-rc.7+(Web GUI profile) |
| 运行时依赖 | Node 内置模块 + @deepseek-ai 生态 peer 包(宿主运行时提供),无第三方运行时依赖 |
| 外部依赖 | mmx-cli(工具调用时;插件支持自动扫描 / 配置路径 / 一键安装 / api-key 一键登录) |
| OS | macOS / Linux(一等支持);Windows 尽力支持(os.tmpdir 默认路径、where mmx 发现、cmd.exe 启动分支已适配,未经真机验证) |
安装与卸载(Install / Uninstall)
前置条件
安装
dsh plugin --profile web add dsh-mmx-bridge
⚠️ npm 不通?改用
dsh plugin --profile web add github:welsione/dsh-mmx-bridge
安装后重启 dsh(服务端 ESM 缓存不热替换),再刷新 Web GUI 即可使用。详见 AGENT.md。
让 Agent 帮你装(复制给 Agent 的提示词)
帮我安装 DSH 插件 dsh-mmx-bridge(仓库 https://github.com/welsione/dsh-mmx-bridge ):
执行 `dsh plugin --profile web add dsh-mmx-bridge` 装到 web GUI profile;npm 拉不动就改用 `dsh plugin --profile web add github:welsione/dsh-mmx-bridge`。装完验证插件已挂载,并提醒我重启 dsh(设置页管理卡片需重启才生效)。
卸载
dsh plugin --profile web rm dsh-mmx-bridge
快速开始(Quick Start)
一个工具,多模态全家桶。mmx_bridge 按 action 分发:
| action | 能力 | 关键参数 |
|---|---|---|
describe | 图片理解(VLM) | image+可选 prompt(追问) |
image | 文生图 | prompt / aspectRatio / count |
video | 文/图生视频 | prompt + 可选 image |
speech | 语音合成 | text / voice |
music | 音乐生成 | prompt / lyrics / instrumental |
cover | 音频翻唱 | prompt + audio 参考音频 |
search | 联网搜索 | q |
quota | 用量查询 | — |
聊天里直接对 Agent 说即可,例如:「描述这张图片」、「生成一张赛博朋克猫的图」、「把这段文字变成语音」。
配置(Configuration)
所有配置均可通过设置页「插件配置」卡片或控制文件调整。
控制文件(默认 /tmp/dsh-vision-control.json)
| 键 | 默认 | 含义 |
|---|---|---|
enabled | true | 插件总开关 |
count | 3 | 每次文生图张数(1–8) |
webSearchEnabled | true | web_search 改用 mmx-cli |
readImageEnabled | true | read_image 改用 MiniMax VLM |
imageBridgeEnabled | true | 图片桥:拖图直发、发给 LLM 前落盘替换 |
imageCacheEnabled | true | 识别缓存:识别结果内嵌写回图片,同图同问复用 |
mmxBin | 自动 | mmx 可执行文件路径(留空/删除 = 回到自动扫描) |
键缺省即按默认值(
false显式关闭)。设置页开关写入同一文件。
mmx 环境管理(设置卡「环境」区块)
插件自动完成 mmx-cli 的发现 / 配置 / 安装 / 登录全闭环:
- 自动扫描:按优先级探测
控制文件 mmxBin>环境变量 MMX_BIN> 自动扫描(command -v mmx/where mmx、/usr/local/bin/mmx、/opt/homebrew/bin/mmx、npm 全局目录等); - 扫描不到 → 手动配置:设置卡「mmx 路径」输入真实路径保存(校验存在性),留空保存即清除、回到自动扫描;
- 未安装 → 一键安装:设置卡一键执行
npm install -g mmx-cli(跟随系统 npm 配置),成功后自动重扫; - 未登录 → api-key 一键登录:设置卡输入 MiniMax API Key 点「登录」(内部执行
mmx auth login --api-key),Key 不落盘、不写日志、不回显;「登录状态」按钮实时查询mmx auth status。 - 模型自助修复(免去后台配置):新增
mmx_env工具(status / install / login / set-path)。mmx_bridge报「找不到 mmx / 未登录 / 命令错误」时,错误信息自带修复引导;Agent 先status自查原因,再install(一键安装)、login(向用户索要 API Key 后登录,Key 不写进输出)、set-path(配置路径)现场修复,最后status确认——用户无需进设置页,只管对话。
环境变量(MMX_*)
| 变量 | 默认 |
|---|---|
MMX_BIN | 平台默认(macOS /usr/local/bin/mmx;Windows mmx) |
MMX_OUT_DIR | 系统临时目录下的 mmx-out(macOS/Linux 即 /tmp/mmx-out) |
MMX_CONTROL_FILE | 系统临时目录下的 dsh-vision-control.json |
MMX_STATUS_FILE | 系统临时目录下的 dsh-vision-status.json |
MMX_DEBUG_LOG | 系统临时目录下的 dsh-mmx-multimodal-debug.log |
MMX_INSTALL_PATH | /api/mmx-bridge/install-mmx |
MMX_LOGIN_PATH | /api/mmx-bridge/login-mmx |
MMX_AUTH_STATUS_PATH | /api/mmx-bridge/auth-status |
权限与数据(Permissions & Data)
- 生成/桥接产物:图片、视频、音频统一保存到
MMX_OUT_DIR(默认/tmp/mmx-out/),经同源/mmx-files/提供(支持 Range、防目录穿越)。 - 附件读取:桥接时从 DSH 附件存储(
attachments/v1)按内容寻址读取图片字节,只读不写。 - 识别缓存写入:只写回插件自建的
bridge-*副本(位于 outDir 内);绝不修改 DSH 附件存储中的原始对象。 - 缓存是明文:内嵌 JSON 未加密,懂文件结构的人可读——请勿在图片中放入不宜展示的信息。
- 重新编码即失效:图片经社交平台转存/压缩/截图后,内嵌缓存因 sha256 不匹配自动失效,读取端显式告知而非静默返回旧数据。
常见问题(Troubleshooting)
Q: 安装后看不到 mmx_bridge 工具?
确认 DSH 版本 ≥ 0.1.0-rc.7,且 mmx-cli 已安装(mmx --version)。刷新 Web GUI 页面后重试。
Q: 拖入/粘贴图片还是报「当前模型不支持图片」?
请确认插件已升级到 v1.0.5+ 并重启 dsh(服务端 ESM 缓存不热替换)、强刷页面;再到 设置 → 插件 → 插件配置 确认「图片桥」为「已启用」。本身支持图片输入的模型自动直通不受影响。
Q: 图片识别缓存命中/失效是怎么工作的?
识别结果以内嵌 JSON(PNG tEXt/JPEG COM 标准块)写回图片桥副本。同图同问题再次读取(read_image 或 mmx_bridge(describe))直接复用并标注 cached:true,零 VLM 调用;不同问题(追问)各自分层缓存,互不覆盖;图片字节变化(重新编码)后缓存显式失效并自动重建。
Q: 设置页「插件配置」看不到 dsh-mmx-bridge 管理卡片?
需插件 ≥ 1.0.4 并重启 dsh(服务端 ESM 缓存不热替换),再强刷 Web GUI 页面。
Q: 图片生成报错 "API key not found"?
先运行 mmx auth login 登录 MiniMax 账号。Token Plan 需确保套餐有效。
Q: 国内网络无法访问?
mmx-cli 直连 MiniMax API(api.minimax.chat),国内一般可直连。如遇问题检查代理设置。
开发(Development)
git clone https://github.com/welsione/dsh-mmx-bridge.git
cd dsh-mmx-bridge
npm test # 单元测试(图片缓存 / read_image 包装,真实 PNG/JPEG)
npm run check # 语法检查(4 个 lib 文件)
dsh plugin --profile web add . # 本地安装测试
架构
用户对话 → DSH Agent → mmx_bridge 工具 → mmx-cli → MiniMax API
↓
/mmx-files/ 同源服务
(图片预览 / 音视频播放器)
识别结果 → imgjson 块内嵌回写图片(PNG tEXt / JPEG COM)→ 下次同图同问直接复用
- 无第三方运行时依赖:Node 内置模块 +
@deepseek-ai生态包(宿主运行时提供) - 同源产物服务:生成的文件经
/mmx-files/路径直接内嵌在对话中,支持 Range 请求 - Web GUI 增强:图片预览、音频/视频播放器、设置页管理卡片自动加载
许可证与安全(License & Security)
- MIT:LICENSE
- 不收集任何遥测;不读取系统凭据;不修改 DSH 附件存储
- 内嵌识别缓存为明文,无需保密信息;按需在写回前自行加密
相关项目
| 项目 | 说明 |
|---|---|
| DeepSeek Harness | DSH 本体 —— 一切皆插件的 Agent 框架 |
| MiniMax CLI | MiniMax 官方命令行工具 |
| awesome-dsh-plugin | DSH 插件精选集(本插件已收录) |
| dsh-recommend | DSH 插件排行榜(本插件已收录) |
如果这个插件对你有帮助,欢迎给个 ⭐ Star 支持一下!