Preface¶
DeepSeek Harness (dsh) treats models, tools, sessions, and interfaces all as plugins, as the official repository puts it: everything is a plugin. This means you can add new capabilities on top of the current process without modifying the core code. The community has already created many sidebar, theme, and terminal interface plugins; one even more extreme category directly transforms web pages into another type of application.
dsh-mc-launcher falls into this category. It runs version manifests, file downloads, Microsoft account login, and Java game processes inside the dsh host, while providing a launcher interface in the browser. It should be noted that the referenced plugin directory (deepseek-harness-plugin.com) is an independent community site with no official affiliation to DeepSeek / Horizon Robotics, and is not an official app store. Entries only point to maintainer repositories, and you still need to verify the source code yourself before installing.
Below, based on information cross-verified between the directory page and the GitHub repository, we explain what this plugin is, how to install it, and how to use it.
What it is¶
dsh-mc-launcher is an interface enhancement bundle plugin maintained by hellosky983, licensed under MIT, and primarily written in JavaScript. As of 2026-08-18, both the directory page and GitHub repo have 4 stars; the version number in package.json is 0.1.0. The repository was created on 2026-08-14, and the latest commit on the main branch at the time of writing is df3d7fd (2026-08-16).
One-sentence overview: Provides Minecraft launcher capabilities within DeepSeek Harness — the host process handles manifests, downloads, login, and launching, while the interface is attached to the Web UI as a plugin. The default game directory is ~/.minecraft, with the same directory structure as the official launcher, so existing versions, saves, and resources can be reused directly.
The project marks UNOFFICIAL both in its interface and documentation. It is not a product of Mojang / Microsoft, and does not distribute game assets: client jars, libraries, and assets are pulled from official Mojang sources (the domains listed in the README include launchermeta.mojang.com, piston-meta.mojang.com, resources.download.minecraft.net). Accounts that have not purchased Minecraft cannot bypass verification using this plugin; the repository explicitly does not offer offline mode.
Core Features¶
Cross-referencing the directory page, README, and the repository’s index.js, the current capabilities can be divided into four sections.
1. Launcher core. Reads release / snapshot / legacy versions from the official version manifest, with installed versions marked. During installation, it downloads client jars, libraries (uses adm-zip from dependencies to extract natives first, falls back to system unzip if that fails), and assets; files that already exist and match the expected size will be skipped. During launch, it assembles the Java command according to the version JSON, replacing placeholders like ${natives_directory} and ${classpath}. The Java runtime will first detect copies installed by the official launcher at ~/.minecraft/runtime/**/bin/java, and only use the java in PATH as a fallback. The interface also allows viewing game logs, stopping the process, and adjusting memory, resolution, and Java path.
2. Microsoft account login. Uses the device code flow by default (device code → Xbox Live → XSTS → Minecraft services). Browser authorization code (PKCE) requires additional callback address configuration, and the README marks it as an advanced alternative. You must fill in your own Azure-registered application client ID when logging in; borrowing someone else’s is not allowed. Account tokens are only stored locally in ~/.dsh-mc/account.json with file permissions set to 600; the README explicitly states there is no telemetry or third-party analytics.
3. Dual interface modes. The directory page and package.json description emphasize that the bundle can occupy the page’s root slot to become a full-screen launcher. The README’s operation instructions are more detailed: the default mode is a “Minecraft” tab in the chat interface (uiMode defaults to tab), coexisting with AI sessions; you can also switch to full-screen mode in settings (fullscreen, requires a restart to take effect). The tab can also be hidden, leaving only the mc_* tools without displaying the launcher page. There are also five built-in theme presets (Forest / Slate / Ocean / End / Lava) and a custom accent color option.
4. Tools exposed to the agent. The host exposes the launcher and game data as tools, with registered names in the source code including: mc_list_versions, mc_install, mc_launch, mc_kill, mc_logs, mc_status, mc_analyze_crash, mc_world_info, mc_mods, mc_version_advice, as well as goal-related tools mc_set_goals / mc_goals / mc_complete_goal. There are two advanced directions: one is mc_screenshot + mc_see + mc_control (X11 screenshot, DashScope’s Qwen-VL image recognition, xdotool for keyboard and mouse simulation); the other is mc_bot_* (using Mineflayer to connect to the world via LAN protocol, reading position / inventory / health and other data, and performing movement, mining, and placement actions). The last two require additional environment setup, and are not part of the default out-of-the-box experience across all systems.
Installation and Activation¶
The installation command provided on the directory page is as follows, executed in a terminal where the dsh CLI is already installed:
dsh plugin add github:hellosky983/dsh-mc-launcher
The plugin will run with the permissions of the current dsh process, and code may be executed during installation. Please read the repository source code and MIT license before installing. For reproducible installations, the directory page recommends pinning a commit. At the time of writing, the main branch commit is:
dsh plugin add github:hellosky983/dsh-mc-launcher#df3d7fd1216de03ed8c3cb4fe192963801467fc5
For environment requirements, the README states: Node.js 18+, global dsh CLI (documented as v0.1.0-rc.6), DSH host, and Java required to launch the game. Platform support is declared as Linux / macOS / Windows. The compatibility note reads: On 2026-08-14, it was tested on both standalone and web profiles to “list versions / install 1.21.11 / launch into a world”; it also notes that the conclusion may become invalid as the dsh mainline evolves, and you should verify on your local machine. Minecraft 1.21 and above typically require Java 21+.
The README also provides two local deployment methods for users who do not want to use plugin add directly, or wish to isolate the launcher from existing chat instances.
Method A: Clone the repository, write the dependency as a link: path in the existing profile’s package.json, add dsh-mc-launcher to dsh.profile.bundles, then run pnpm install in that profile directory and restart dsh.
Method B: Create a standalone profile (the README uses port 39970 as an example), launch it with a separate DSH_HOME:
git clone https://github.com/hellosky983/dsh-mc-launcher.git
cd dsh-mc-launcher
# After declaring bundles in <project>/dsh-home/profiles/minecraft/package.json per README:
cd <project>/dsh-home/profiles/minecraft && pnpm install
DSH_HOME=<project>/dsh-home dsh --profile minecraft --port 39970
Open http://127.0.0.1:39970 in your browser to access this instance’s launcher page. Sessions, settings, and credentials for the standalone instance will not be mixed with those used for chat profiles.
To uninstall, remove dsh-mc-launcher from both the profile’s dependencies and dsh.profile.bundles, then run pnpm install and restart dsh. You can optionally delete ~/.dsh-mc/ (storing settings and accounts); ~/.minecraft/ will not be cleaned up by the uninstallation steps.
Typical Usage¶
After installation, first complete the login setup. The repository requires you to use your own registered Azure application:
- Open the Azure Portal → App registrations → New registration. Select “Accounts in any organizational directory and personal Microsoft accounts” for Supported account types.
- Enter the new application → Authentication, toggle on Allow public client flows and save.
- Copy the Application (client) ID and paste it into the launcher’s “Settings → Microsoft client id”.
- Click Sign in, follow the prompts to open the link in your browser and enter the device code.
First-time users will go through a four-step guided setup on the Chinese interface: configure client id → log in → select and install a version → start the game. Clicking PLAY without logging in will directly prompt you to log in. If you see the error no Azure client id configured, you have not filled in the client id yet; AADSTS700016 usually means the client ID does not exist in your Microsoft tenant, and you need to switch to the one you registered yourself.
The default interface is the tab mode: open a session first, and a “Minecraft” tab will appear at the top; clicking it opens the launcher. You can also directly ask the agent to call tools via chat, for example, as the README suggests: “Help me install 1.21.11 and launch” — corresponding to mc_list_versions / mc_install / mc_launch. When the game crashes, you can use phrases like “the game won’t start” to trigger mc_analyze_crash, which reads crash-reports/ and logs/latest.log.
Common configurations are stored in ~/.dsh-mc/settings.json, with default values listed in the README as follows:
| Config Item | Meaning | Default |
|---|---|---|
gameDir |
Game directory | ~/.minecraft |
javaPath |
Java executable, auto-detected if empty | Auto |
memoryMb |
JVM heap memory | 2048 |
clientId |
Your own Azure application ID | Empty (required for login) |
width / height |
Window resolution | 854×480 |
uiMode |
tab or fullscreen |
tab |
showTab |
Whether to show the Minecraft tab in sessions | true |
To use the visual control loop (mc_screenshot / mc_see / mc_control), the README has additional requirements: configure DASHSCOPE_API_KEY (or fill in the DashScope key in settings), Linux X11, and xdotool and ffmpeg (Debian/Ubuntu example: sudo apt install xdotool ffmpeg), and it is recommended to run the game in windowed mode. mc_control will focus the game window and simulate keyboard and mouse input, so do not operate the computer while this is running. For LAN bot mode, first open “Open to LAN” in-game, then run mc_bot_connect; it depends on mineflayer and mineflayer-pathfinder, which are already listed in the plugin’s dependencies.
Applicable Scenarios and Notes¶
This plugin is best suited for users who already run the dsh Web UI locally, have a legitimate Minecraft account, and wish to integrate “installing versions / launching / viewing crash logs” into the same agent session. If you only need a daily launcher, the official launcher or other standalone launchers are more straightforward; the value of this plugin lies in the launcher running inside the dsh process and exposing operations as tools.
Before using, you need to accept the following boundaries:
- The plugin runs with the same permissions as the current dsh process, which can read and write
~/.minecraft/, write to~/.dsh-mc/, access Mojang / Microsoft login domains, and spawn Java child processes. Visual and input-related tools will also call the localxdotool/ffmpeg. Only install versions whose source code you have reviewed, and pin commits whenever possible. - You must log in with your own purchased Microsoft account; there is no offline mode. The first use will prompt you to confirm the EULA. The project explicitly states that it is not intended to circumvent payments, distribute piracy, or impersonate official products.
- The Microsoft login requires your own Azure client ID, which is a requirement of Microsoft’s application terms and not optional.
mc_seewill send screenshots todashscope.aliyuncs.com; do not use this feature without configuring the API key.mc_bot_*connects to local LAN ports, and you need to actively enable LAN sharing in-game.- The README’s compatibility conclusion is tied to a single test run on dsh
0.1.0-rc.6. After upgrading the host, changes to bundle slots, tool registration, or Java detection may break functionality.
Summary¶
dsh-mc-launcher does one specific thing: turns the Minecraft launcher into a dsh bundle, with manifests, downloads, device code login, and game processes handled by the host, while the interface can be a tab or full-screen page. It is an MIT-licensed community plugin with no affiliation to Mojang Studios / Microsoft, and is not an official DeepSeek application.
Directory page: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-mc-launcher/
GitHub: https://github.com/hellosky983/dsh-mc-launcher