Foreword

The DSH ecosystem emphasizes plugin-based extensibility. For developers who want to use DSH with Minecraft, the underlying work typically includes logging in, downloading, launching, opening to LAN, and connecting the bot. dsh-mc-companion fills in another layer: in-game chat, following, memory, mood, and initiating conversation. Below, I will introduce its positioning, capabilities, installation, and usage.

What is this

dsh-mc-companion is the official DSH bundle plugin maintained by hellosky983. The current package.json version is 0.1.0, and the license is MIT.

It is a host-only bundle plugin with no client side. After loading, it registers a companion layer within the DSH runtime, takes over the social layer of in-game chat, and replies to players with natural, brief, and warm Chinese.

It does not handle launching Minecraft, downloading versions, or connecting the bot; these are handled by dsh-mc-agent. dsh-mc-companion reuses the shared service mcBot provided by dsh-mc-agent via Cordis, so both must be installed together.

Core Features

Following and Chatting

Auto-follow is enabled by default. After spawning, it will follow the nearest player at a distance of 3 blocks.

In the in-game chat, you can speak directly to it, for example, “A-Shen what’s your name”, “Follow me”, “Where are you”. It also supports a set of in-game commands:

  • /跟着我 (Follow Me), /跟我走 (Walk With Me): Make it follow a specific player.
  • /别跟着 (Don’t Follow), /停下 (Stop): Make it stay in place.

Memory

It remembers important information said by the player, up to 60 items, and will naturally bring them up in chat afterwards.

Memory is stored locally:

~/.dsh-mc/companion.json

The file permissions are 0600 and will not be uploaded to any server. You can use mc_friend_forget with argument all to clear it all at once.

Mood and Initiating Conversation

It switches moods based on chat content, including:

  • happy
  • excited
  • calm
  • worried
  • curious

The logic for initiating conversation is: check the follow status every about 12 seconds; after about 90 seconds, with a 35% probability, it will say a sentence proactively.

Event Responses

It responds to several events:

  • Greeting upon spawn;
  • Welcoming when a player joins;
  • Consoling when a player dies.

DSH Tools

It injects a line of companion status into the main DSH agent as a system prompt context, allowing DSH to know that a companion is playing along.

It also exposes a set of mc_friend_* tools for directly querying or controlling the companion in the DSH chat interface. Common tools include:

mc_friend_status
mc_friend_talk
mc_friend_follow
mc_friend_memory
mc_friend_forget

Installation and Activation

The following is a local link / pnpm installation example from the README, not the general dsh plugin add installation method. Actual paths need to be replaced according to the local directory.

  1. Put dsh-mc-companion and dsh-mc-agent together in the profile. Edit the profile’s package.json, add the link: dependency of dsh-mc-companion in dependencies, and add the plugin name to the dsh.profile.bundles array.

The example structure is as follows:

{
  "dependencies": {
    "dsh-mc-companion": "link:/path/to/dsh-mc-companion"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "dsh-mc-companion"
      ]
    }
  }
}
  1. Handle peer dependencies. In the peerDependencies of the linked package, @deepseek-ai/dsh-tools needs to be explicitly placed in the profile’s dependencies. The peerDependencies declared by the plugin itself are:
{
  "peerDependencies": {
    "@deepseek-ai/cordis": "^4.0.1",
    "@deepseek-ai/dsh-tools": "^0.1.0-rc.6"
  }
}
  1. Install dependencies in the profile directory:
export PATH=$PATH:/home/kevin/.local/lib/nodejs/node-v24.19.0-linux-x64/bin
pnpm install

Typical Usage

  1. Use tools from dsh-mc-agent in DSH to log in, download, launch Minecraft, and open the world to LAN.

  2. After the bot connects to the world, dsh-mc-companion automatically takes over the social layer: A-Shen will greet and start following.

  3. Speak directly in the in-game chat, for example, “A-Shen what’s your name”, “Follow me”, “Where are you”, and it will reply.

  4. Control following using commands in-game:

/跟着我
/跟我走
/别跟着
/停下
  1. Command the companion using tools in the DSH chat interface, for example:
mc_friend_status
mc_friend_talk
mc_friend_follow
mc_friend_memory

Applicable Scenarios and Notes

It is suitable for developers who are already using DSH to build local agent workflows and want to incorporate chat, following, and memory from the Minecraft scene into tool calls.

Please note:

  • This is an unofficial community project and is not affiliated with or endorsed by Mojang Studios / Microsoft.
  • “Minecraft” is a trademark of Mojang Synergies AB and is used here for compatibility or reference purposes only.
  • Using this plugin requires a legitimately purchased Minecraft account; offline (cracked) mode is not supported and is discouraged.
  • Companion memory only exists locally; the file is ~/.dsh-mc/companion.json with permissions 0600 and will not be uploaded to any server.
  • mcBot is a hard dependency of dsh-mc-companion and must be installed with dsh-mc-agent.
  • The plugin runs with the permissions of the current DSH process; you should check the source code, dependencies, and license before installing.

Links

Community Directory Page (Independent site, not the DeepSeek official app store):

https://www.skillhub.cn/plugins/hellosky983/dsh-mc-companion

GitHub Repository:

https://github.com/hellosky983/dsh-mc-companion