dsh-mmx-bridge

8Star0Fork0Issue0Watching
语言
JavaScript
License
MIT
分支
main
agent-toolai-agentcordisdeepseek-harnessdsh-pluginimage-generationminimaxmultimodal

安装

$ dsh plugin --profile web add dsh-mmx-bridge

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

dsh-mmx-bridge banner

dsh-mmx-bridge

一个工具 = MiniMax 全部多模态能力。 让 DeepSeek Harness(DSH)的纯文本模型直接看图、画图、生成视频、说话、唱歌、翻唱、搜索、查额度。

npm version npm downloads GitHub stars DSH version license Awesome DSH Plugin minimax

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 / JPEG COM写回图片本身,同图同问题再次读取直接复用,零 VLM 调用;追问按问题分层缓存,各层互不覆盖;图片被重新编码时缓存自动失效重建。可在设置页「插件配置」关闭。

feature overview

兼容性(Compatibility)

项目说明
DSH 版本0.1.0-rc.7+(Web GUI profile)
运行时依赖Node 内置模块 + @deepseek-ai 生态 peer 包(宿主运行时提供),无第三方运行时依赖
外部依赖mmx-cli(工具调用时;插件支持自动扫描 / 配置路径 / 一键安装 / api-key 一键登录)
OSmacOS / Linux(一等支持);Windows 尽力支持(os.tmpdir 默认路径、where mmx 发现、cmd.exe 启动分支已适配,未经真机验证)

安装与卸载(Install / Uninstall)

前置条件

  1. 已安装 DSH(v0.1.0-rc.7+)
  2. 已安装 mmx-cli 并登录:npm i -g mmx-cli && mmx auth login

安装

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_bridgeaction 分发:

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

默认含义
enabledtrue插件总开关
count3每次文生图张数(1–8)
webSearchEnabledtrueweb_search 改用 mmx-cli
readImageEnabledtrueread_image 改用 MiniMax VLM
imageBridgeEnabledtrue图片桥:拖图直发、发给 LLM 前落盘替换
imageCacheEnabledtrue识别缓存:识别结果内嵌写回图片,同图同问复用
mmxBin自动mmx 可执行文件路径(留空/删除 = 回到自动扫描)

键缺省即按默认值(false 显式关闭)。设置页开关写入同一文件。

mmx 环境管理(设置卡「环境」区块)

插件自动完成 mmx-cli 的发现 / 配置 / 安装 / 登录全闭环:

  1. 自动扫描:按优先级探测 控制文件 mmxBin > 环境变量 MMX_BIN > 自动扫描(command -v mmx / where mmx/usr/local/bin/mmx/opt/homebrew/bin/mmx、npm 全局目录等);
  2. 扫描不到 → 手动配置:设置卡「mmx 路径」输入真实路径保存(校验存在性),留空保存即清除、回到自动扫描;
  3. 未安装 → 一键安装:设置卡一键执行 npm install -g mmx-cli(跟随系统 npm 配置),成功后自动重扫;
  4. 未登录 → api-key 一键登录:设置卡输入 MiniMax API Key 点「登录」(内部执行 mmx auth login --api-key),Key 不落盘、不写日志、不回显;「登录状态」按钮实时查询 mmx auth status
  5. 模型自助修复(免去后台配置):新增 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_imagemmx_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)

  • MITLICENSE
  • 不收集任何遥测;不读取系统凭据;不修改 DSH 附件存储
  • 内嵌识别缓存为明文,无需保密信息;按需在写回前自行加密

相关项目

项目说明
DeepSeek HarnessDSH 本体 —— 一切皆插件的 Agent 框架
MiniMax CLIMiniMax 官方命令行工具
awesome-dsh-pluginDSH 插件精选集(本插件已收录)
dsh-recommendDSH 插件排行榜(本插件已收录)

如果这个插件对你有帮助,欢迎给个 ⭐ Star 支持一下!