DeepSeek Harness Plugin

TFboy1/dsh-minecraft-ui

Stars ★ 11 Downloads (30d) 351 Category Themes & Appearance Added 2026-08-21 npm dsh-minecraft-ui

Presents DSH Web as a playable, full-screen first-person Minecraft-style voxel interface—not a color-only skin: users walk through a persistent Three.js block world and access native workspaces, sessions, conversations, tools, model selection, permissions, context information, and the composer through in-world facilities and a workbench.

Install

# from npm (prebuilt)

dsh plugin --profile web add dsh-minecraft-ui

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:TFboy1/dsh-minecraft-ui

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

This plugin publishes its README in Chinese only.

安装

DSHcraft 是一个同时声明 dsh.bundledsh.client 的正式组合包。安装后,它会贡献稳定 Cordis 行 minecraft-ui,浏览器模块身份为 dsh-minecraft-ui

不要直接在正在使用的主 Web profile 中启用候选版本。先安装到独立 canary profile,检查组合层,再通过 Guardian stage / canary / promote 流程提升。

npm(推荐)

安装预构建包:

dsh plugin --profile <canary> add dsh-minecraft-ui
dsh --profile <canary> --dump-config

本地 tarball

pnpm install
pnpm run verify
pnpm pack
dsh plugin --profile <canary> add ./dsh-minecraft-ui-0.3.0.tgz
dsh --profile <canary> --dump-config

固定 Git commit

dsh plugin --profile <canary> add github:TFboy1/dsh-minecraft-ui#<commit-sha>

Git 安装会运行本包的 prepare 构建。pnpm 10+ 要求用户显式允许该安装脚本;只对可信源码授权,并按 DSH 输出的准确包键配置 allowBuilds: dsh-minecraft-ui。不希望授予安装时构建权限时,请使用 npm 预构建包或 tarball。

卸载:

dsh plugin --profile <canary> remove dsh-minecraft-ui

项目介绍

把 DeepSeek Harness 变成一座可游玩的 Minecraft 风格 Agent 工作空间。

DSHcraft 不是一套重新实现的聊天界面。它以 Cordis Client Plugin 的形式挂载到官方 shell.overlay,保留 DSH 原生的 Workspace、Session、Conversation、Trajectory、Composer、权限、模型选择和上下文统计,只把进入方式、空间隐喻与视觉表现改造成方块世界。

界面预览

核心理念

DSH 概念 DSHcraft 表现
正在运行的工作 室内工作小狗
最新 Agent 进展 小狗头顶状态牌
Model 装备
Reasoning effort 附魔
Tool / Plugin capability 箱子中的物品
Chat / Composer 工作台
Context / Token 经验条与背包压力
Memory 末影箱式长期存储隐喻(概念预留)
MCP 红石系统(概念预留)
Workspace / Project 地图与制图台
Community Plugin 野外静态社区宝箱

功能

方块世界

  • 基于 Three.js 的第一人称体素世界。
  • 可移动、跳跃、疾跑、潜行、挖掘、放置方块和切换快捷栏。
  • 世界差异、玩家位置、背包、箱子与选择状态可持久化。
  • 方块破坏后生成世界掉落物,包含弹出、下落、旋转、拾取延迟和靠近自动拾取。
  • 背包空间不足时,未能拾取的剩余数量继续留在世界中。

原生 DSH 工作台

G 或使用室内工作台进入 Minecraft 风格的原生 DSH 界面:

  • Workspace / Project 文件夹展开、收起和排序。
  • 新建、打开、重命名、Fork、归档 Session。
  • 原生“对话 / 轨迹”视图和历史分页。
  • 原生 Composer、Queue、Steer、Stop、Slash Command 与附件逻辑。
  • 原生权限模式、审批、模型、推理强度、Context 和 Token 统计。
  • 额外提供 3×3 合成面板,但不替代原生会话功能。

工作小狗

  • 只为正在运行的工作生成小狗;空闲 Session 不生成生物。
  • 一只小狗对应一项运行中的 Session 工作。
  • 状态牌显示该 Agent 最新进展,可覆盖思考、回复流、Tool Call、命令、队列、审批等待、错误和上下文整理等状态。
  • Tool Call 会把小狗引导到对应设施并播放四足动作:
    • Read → 资料书架
    • Command → Agent 终端
    • Web Search → 制图台
    • Write / Edit → 工作台
  • 右击小狗会切换到它对应的 Session,并直接打开原生工作台。

语义设施

设施 功能 快捷键
工作台 原生 DSH 会话与 3×3 合成 G
模型箱 查看与选择模型装备 M
插件箱 管理当前 Agent 的工具能力 P
附魔台 调整推理强度 R
制图台 浏览 Workspace / Project 地图 N
社区插件宝箱 探索社区插件目录 L
资料书架 Read 工具活动位置
Agent 终端 Command 工具活动位置
公告牌 操作教程

工作台、箱子、附魔台、书架、终端、制图台等设施被破坏后会掉落其自身物品,可进入背包并重新放置。旧存档中因早期错误掉落规则而丢失的室内核心设施会恢复一次。

操作

输入 行为
W A S D 移动
Space 跳跃
Ctrl 疾跑
Shift 潜行
鼠标移动 转动视角
左键长按 挖掘方块
右键 使用方块、打开设施或工作小狗
鼠标中键 选取目标方块
滚轮 / 19 切换快捷栏
E 背包
F 与副手交换
T 游戏内聊天
Tab Session 列表
Esc 游戏菜单
G 原生工作台
M 模型箱
P 插件箱
R 附魔台
N Workspace 地图
L 社区插件宝箱

首次点击画面后浏览器会请求 Pointer Lock。打开任何设施时会立即释放鼠标锁定。

配置

Bundle 自带安全默认值,用户可以在该 profile 的后置 patch 中覆盖稳定行 minecraft-ui

- id: minecraft-ui
  config:
    dataDirectory: dshcraft
    catalogUrl: https://awesome-dsh-plugin.com/plugins.json
    catalogCacheTtlMs: 21600000
    catalogLimit: 2000
    confirmationTtlMs: 60000
字段 默认值 说明
dataDirectory dshcraft $DSH_HOME 内的安全相对目录
catalogUrl 社区目录 URL 仅允许 HTTP(S)
catalogCacheTtlMs 21600000 社区目录缓存时长
catalogLimit 2000 最多保留的目录条目数,范围 1–5000
confirmationTtlMs 60000 社区插件确认 token 有效期

Cordis 会用 Schemastery 校验配置并填充默认值;非法路径、协议和数值范围会在插件激活时直接报错。

社区插件安全模型

社区插件采用“发现 → 收集 → 检查 → 明确确认”的流程:

  1. 从策展目录读取插件元数据。
  2. 将候选插件收集到社区宝箱。
  3. 展示安装命令、风险标记和第三方代码警告。
  4. 用户确认后返回一份 Guardian 安装计划。

确认结果始终是 dry-run。DSHcraft 不会 spawn CLI,也不会自行修改任何 profile。候选插件必须交给 Guardian stage,在独立 canary 验证后再由用户决定是否 promote。

架构

dsh-minecraft-ui/
├─ src/index.js                    # Host 插件、Config、RPC 与持久化
├─ cordis.patch.yml                # dsh.bundle 贡献的组合层
├─ client/src/index.jsx            # shell.overlay 注册与样式生命周期
├─ client/src/game-root.jsx        # DSH 状态绑定与游戏 UI 组合
├─ client/src/engine.js            # Three.js 世界、交互、掉落物和工作小狗
├─ client/src/world.js             # 地形、建筑、方块与存档迁移
├─ client/src/inventory.js         # 物品定义和堆叠规则
├─ client/src/inventory/           # 合成、容器和玩家背包状态机
├─ client/src/dsh/                 # Session 投影、工具路由和社区战利品
├─ client/src/ui/                  # 工作台、箱子、地图和 HUD
├─ scripts/build.mjs               # Host / Client 确定性构建
├─ scripts/verify-package.mjs      # Bundle、身份、许可与体积契约检查
├─ lib/index.js                    # 构建后的 Host 入口
├─ lib/client.js                   # lazy-CJS 浏览器 bundle
└─ test/                           # Node test runner 测试

为什么使用 shell.overlay

官方 DSH Root 和 AppFrame 继续拥有 Sidebar、Conversation、Details 与 Composer。DSHcraft 只注册一层可逆的世界 Overlay,并在进入工作台时露出、换肤原生界面。

这种方式避免在第二个 React Root 中重复挂载 Session/Conversation,从而保护草稿、附件、流式状态和 Session 生命周期的一致性。

开发

环境要求

  • Node.js 22+
  • pnpm 11+
  • 可运行的 DeepSeek Harness Web 环境

常用命令

pnpm install
pnpm test
pnpm run build
pnpm run package:check
pnpm run verify
pnpm pack --dry-run
  • pnpm test:运行 Host、Package、背包、合成、移动、Session、模型、世界、工作小狗和掉落物测试。
  • pnpm run build:从 src/client/src/ 生成 lib/index.jslib/client.js;构建不改写源码目录。
  • pnpm run package:check:检查 Bundle manifest、Client factory 身份、发布白名单、双许可和 bundle 体积。
  • pnpm run verify:依次执行语法检查、构建、测试、Package 契约和产物检查。
  • prepare:支持固定 commit 的 Git 安装。
  • prepack:在 tarball / npm 发布前强制执行完整验证。

修改 Client 源码后必须重新运行 pnpm run build。前端人工验证由用户在独立 canary 中执行。

持久化

能力与社区状态默认写入:

$DSH_HOME/dshcraft/capabilities.json
$DSH_HOME/dshcraft/community.json
$DSH_HOME/dshcraft/community-cache.json

世界、玩家与背包存档由游戏持久化服务管理。不要直接修改 DSH Session 日志。

已知限制

  • 当前交互面向键盘和鼠标,不支持触屏游戏模式。
  • 这是 DSH 的空间化主题与客户端,不是完整 Minecraft 实现。
  • 社区目录不可用时会回退到缓存或内置候选条目。
  • 部分设施属于 DSH 语义映射,行为与原版 Minecraft 方块不完全相同。
  • Client bundle 包含 Three.js 和内嵌字体,因而被设置为 2 MB 以内的显式体积预算。

License

项目代码采用 MIT License

像素字体使用 Monocraft,其许可文件位于 licenses/Monocraft-LICENSE.txt。Minecraft 是 Mojang Studios 的商标;本项目与 Mojang Studios 或 Microsoft 无隶属关系。

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.