Documentation menu
Source

Installation

Choose a source

GoalCommandSource
Install a releasebash install.sh installLatest released tag for each capability
Update an existing installbash install.sh updateCurrent release catalog
Test unpublished codebash install.sh localCurrent checkout, including uncommitted changes
Roll back one capabilitySee Roll backExact immutable tag

Released installs never follow main. To test a branch, check it out and use local.

Guided installer

The installer supports Claude Code, CodeBuddy, Codex, Qoder, OpenClaw, Qwen Code, and Gemini CLI. It invokes each harness's native installation mechanism and stores shared configuration in ~/.qwen-mm-plugins/config.

Qoder and Qwen Code here do not include the separate QoderWork and QwenWork desktop apps. Use their in-app setup instead.

curl -fsSL https://raw.githubusercontent.com/QwenLM/Qwen-MM-Plugins/main/install.sh | bash

The menu provides Install, Update, Configure, Verify, and Uninstall. Each capability is installed separately as a Skill plus an optional MCP server.

Update

Use a current copy of the script so it contains the latest release catalog:

curl -fsSL https://raw.githubusercontent.com/QwenLM/Qwen-MM-Plugins/main/install.sh | bash -s -- update

For managed installs, the selected capability's Skill and MCP configuration are updated together. The installer then starts the tagged MCP package with --check-system. An already-open harness may still need a reload:

HarnessActivate the update
Claude Code/reload-plugins, or restart
CodeBuddy/reload-plugins, or restart
CodexStart a new task, or restart
Qoder/plugins reload, or restart
OpenClawManaged Gateways normally restart automatically; otherwise openclaw gateway restart
Qwen CodeRestart
Gemini CLI/skills reload and /mcp reload, or restart

Roll back

For guided harnesses that accept a remote tag, select only the capability named by the tag:

QMP_REF=qwen-mm-plugins-search-v1.0.1 bash install.sh install

Local checkout

Use a dedicated clone whose path will remain stable:

git clone https://github.com/QwenLM/Qwen-MM-Plugins.git
cd Qwen-MM-Plugins
git switch <development-branch>   # optional
bash install.sh local

Local mode points the selected plugin manifests and MCP package specs at this checkout and adds uvx --refresh. It intentionally leaves absolute local paths in tracked manifests while the clone is used for development. Restore release sources when leaving local mode:

bash install.sh local --restore

See Local development for direct source execution and targeted debugging.

Manual Skill + MCP installation

Use this path for DeepSeek Harness, Hermes Agent, opencode, pi, QwenPaw, or another harness without a compatible marketplace. For an MCP capability, keep these three values aligned:

  • Skill: src/capabilities/<cap>/skill
  • package extra: qwen-mm-plugins[<cap>]
  • entry: qwen-mm-plugins-<cap>

For example, video-memory uses [video-memory], not [memory]. edu-agent is Skill-only.

# Install/copy/link the Skill directory where your harness discovers Skills, then register:
uvx --from \
  "qwen-mm-plugins[<cap>] @ git+https://github.com/QwenLM/Qwen-MM-Plugins.git@qwen-mm-plugins-<cap>-v<version>" \
  qwen-mm-plugins-<cap>

Manual Skill and MCP registrations have no shared install receipt, so the harness usually cannot detect or notify you about a mismatched update. Run the current installer, choose Update → other (manual / another harness), and update both registrations to the tag it prints. For a linked Skill, use a dedicated checkout per capability/tag because independent tags may point to different commits.

In-app steps and exact configuration examples for the other harnesses are in Other harness setup.

Windows (WSL2)

Windows is currently supported through Ubuntu WSL2 only. Clone into the WSL home directory (for example ~/code), not a mounted Windows path such as /mnt/c, and run the Linux commands there.

wsl --install -d Ubuntu

For Codex, select a WSL2 agent environment and install the plugin inside that same environment. Native Windows has not been validated.

Dependencies

uvx installs each capability's Python dependencies into an isolated cache. The remaining inputs are service settings and system applications.

Common service settings

These are the settings most users need for cloud capabilities. The configuration reference covers every setting available through Configure.

VariableUsed by
DASHSCOPE_API_KEYCloud media APIs, text-only image captions, generation, and memory builds (video-memory, omni-memory)
SERPER_API_KEYSerper web search/extraction and all reverse-image search
TAVILY_API_KEYTavily web search and extraction
EXA_API_KEYExa web search and extraction
SERPLY_API_KEYSerply web search and extraction

Native core file reading needs no API key. Set values through the installer's Configure action, the shell environment, or ~/.qwen-mm-plugins/config; environment variables take precedence. With QWEN_MM_SEARCH_BACKEND unset or set to auto, text search uses the first configured key in this fixed order: Serper, Tavily, Exa, Serply. Setting it to serper, tavily, exa, or serply pins that provider; a missing key then raises an error instead of falling back. image_search always uses Serper Lens, independently of QWEN_MM_SEARCH_BACKEND, and raises an error when SERPER_API_KEY is unavailable.

Common system tools

ToolUsed by
ffmpegVideo/audio reading, memory, editing, and rendering
LibreOfficeOffice and DrawIO visualization
TeXLaTeX visualization
ChromiumWeb-page screenshots and edu-agent rendering
Blender / FreeCADTheir respective live application integrations

Run bash install.sh verify or <entry> --check-system to see what the selected capability needs. Capability-specific prerequisites are documented in its Skill and cookbook.

Complete configuration

See the configuration reference for provider endpoints, search routing, timeouts, cache paths, video-memory files, OSS, application hosts, and advanced compatibility switches.