dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Friendly AI Minecraft companion for DeepSeek Harness: follows the player, chats like a friend, remembers adventures. Built on the shared mcBot service.
一个让 DeepSeek Harness(DSH)变成你的 Minecraft 游戏搭子的正式 bundle 插件。
「阿深」是一个住在 Minecraft 世界里、陪你一起玩的好朋友:他会跟在你身后一起跑图,会像真人朋友一样和你聊天,会记得你说过的话,会关心你现在在做什么。它不是一个冷冰冰的自动化脚本,而是一个有性格、有记忆、会主动搭话的伙伴。
dsh-mc-companion 是 DSH 的正式 bundle 插件(host-only,没有 client 半区)。它加载后会在 DSH 运行时里注册一个"伙伴"层:
mc_friend_* 工具,供你在 DSH 聊天界面直接指挥伙伴。它不负责启动 Minecraft、下载版本、连接 bot 这些底层工作——那些由 dsh-mc-agent 完成。
dsh-mc-companion 复用 dsh-mc-agent 通过 Cordis 提供的共享服务 mcBot。二者要一起安装:
dsh-mc-agent 提供 mcBot 服务(启动器 / bot 连接 / 移动 / 挖矿 / 自治)
│
└── ctx.provide('mcBot', ...)
│
dsh-mc-companion 通过 inject: ['mcBot'] 拿到同一个 bot,接管"社交层"
dsh-mc-agent:负责登录、下载、启动游戏、开局域网、连接 bot、移动/挖掘/自治等"身体"能力。dsh-mc-companion:负责跟随、聊天、记忆、心情、主动关心这些"灵魂"能力。mcBot 是 companion 的硬依赖(声明在 inject 里):Cordis 会保证 dsh-mc-agent 先提供 mcBot 服务、companion 再 apply,避免 loader 并发 apply 导致的顺序竞争。二者必须一起安装。
/跟着我、/跟我走 让它跟特定玩家;/别跟着、/停下 让它原地待着。~/.dsh-mc/companion.json。mc_friend_* 工具:让主 AI 在 DSH 里查询/控制伙伴。把它和 dsh-mc-agent 一起 link 进你的 profile。
编辑你的 profile 的 package.json(例如 /home/kevin/.dsh/profiles/web/package.json):
dependencies 里加:
"dsh-mc-companion": "link:/home/kevin/Desktop/ai/Minecraft/minecraft-launcher/dsh-mc-companion"
dsh.profile.bundles 数组里加:
"dsh-mc-companion"
在 profile 目录下安装依赖(node 不在默认 PATH):
export PATH=$PATH:/home/kevin/.local/lib/nodejs/node-v24.19.0-linux-x64/bin
pnpm install
验证是否挂载:
dsh --profile web --dump-config
能看到 # == dsh-mc-companion 层 即成功。
注意:link 包的 peerDependencies(
@deepseek-ai/dsh-tools)需要显式放在 profile 的 dependencies 里(通常已经固化)。
在 DSH 里用 dsh-mc-agent 的工具登录、下载、启动 Minecraft,并把世界开放到局域网(Open to LAN)。
bot 连接上世界后,dsh-mc-companion 会自动接管社交层:阿深会打招呼并开始跟随你。
在游戏聊天里直接说话(例如"阿深你叫什么""跟着我""你在哪"),他会回复。
在 DSH 聊天界面用工具指挥伙伴,例如:
mc_friend_status → 看伙伴现在连没连、在跟谁、心情如何
mc_friend_talk → 让伙伴说一句话
mc_friend_follow → 开始/停止跟随
mc_friend_memory → 看伙伴记得什么
| 工具 | 参数 | 说明 |
|---|---|---|
mc_friend_status | 无 | 连接状态、跟随状态、心情、记忆条数、persona、facts、bot 状态 |
mc_friend_persona | persona? | 读取或设置伙伴的性格/系统提示词 |
mc_friend_talk | message(必填) | 让伙伴在游戏里说一句话 |
mc_friend_follow | action? player? distance? | 开始(默认)或停止跟随;可指定玩家和距离 |
mc_friend_memory | 无 | 读取 facts 与最近 30 条记忆 |
mc_friend_forget | clear? | 传 "all" 清空所有记忆 |
dsh-mc-companion 通过 inject: ['mcBot'] 拿到 ctx.mcBot,使用以下方法:
| 成员 | 类型 | 用途 |
|---|---|---|
connected | boolean | bot 是否已连接 |
bot | object | null | 原始 mineflayer bot(可能为 null,访问前必须判空) |
state() | () => 快照对象 | 位置 / 血量 / 饥饿 / 手持 / 背包等纯数据快照 |
followStatus() | () => 快照对象 | 跟随状态(active / target / distance 等) |
follow(playerName|null, distance) | function | 跟随指定玩家(null = 最近玩家) |
stopFollow() | function | 停止跟随 |
stopAutonomy() | function | 停止自治模式(伙伴接管时关掉它) |
autonomyStatus() | () => 快照对象 | 自治模式状态(enabled 等) |
chat(text) | function | 用 bot 在游戏里发消息 |
setChatResponder(fn) | (fn) => disposer | 注册聊天接管回调 (username, message) => boolean |
on(event, fn) | (event, fn) => disposer | 订阅事件:spawn / playerJoined / death / end |
伙伴的记忆只存在你本机的 ~/.dsh-mc/companion.json(文件权限 0600),不会上传到任何服务器。里面是 persona、心情、facts、最近 60 条聊天记忆。用 mc_friend_forget 传 clear="all" 可以一键清空。
dsh-mc-companion 是非官方社区项目,与 Mojang Studios / Microsoft 无任何关联、不被其背书。
详见 NOTICE 与 LICENSE(MIT)。