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:
happyexcitedcalmworriedcurious
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.
- Put
dsh-mc-companionanddsh-mc-agenttogether in the profile. Edit the profile’spackage.json, add thelink:dependency ofdsh-mc-companionindependencies, and add the plugin name to thedsh.profile.bundlesarray.
The example structure is as follows:
{
"dependencies": {
"dsh-mc-companion": "link:/path/to/dsh-mc-companion"
},
"dsh": {
"profile": {
"bundles": [
"dsh-mc-companion"
]
}
}
}
- Handle peer dependencies. In the
peerDependenciesof the linked package,@deepseek-ai/dsh-toolsneeds 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"
}
}
- 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¶
-
Use tools from
dsh-mc-agentin DSH to log in, download, launch Minecraft, and open the world to LAN. -
After the bot connects to the world,
dsh-mc-companionautomatically takes over the social layer: A-Shen will greet and start following. -
Speak directly in the in-game chat, for example, “A-Shen what’s your name”, “Follow me”, “Where are you”, and it will reply.
-
Control following using commands in-game:
/跟着我
/跟我走
/别跟着
/停下
- 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.jsonwith permissions0600and will not be uploaded to any server. mcBotis a hard dependency ofdsh-mc-companionand must be installed withdsh-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: