dsh-mini-games:DeepSeek Harness 侧边栏小游戏合集

前言

DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。在开发或调试过程中,长时间盯着屏幕容易产生疲劳。dsh-mini-games 作为一个轻量级工具插件,将三个纯前端小游戏挂载在 DSH Web 界面的 details 面板(右侧栏)中,不依赖后端,利用浏览器本地存储记录最高分。

是什么

这是一个由 aga-j 维护的插件,用于在 DSH Web 界面的详情面板中提供常驻的游戏入口。它包含三个经典游戏:猜数字、2048 和 扫雷。插件运行时完全在浏览器端执行,不占用宿主逻辑资源。

核心功能

  1. 面板常驻:游戏界面集成在 details 面板中,切换游戏标签时状态保留,但切换会话时会重置。
  2. 悬浮开关:提供右上角悬浮按钮(shell.overlay 插槽),用于在面板收起时重新打开。
  3. 数据持久化:游戏最高分通过 localStorage 存储,键名前缀为 dsh-mini-games:。
  4. 游戏机制:
    • 2048:支持键盘方向键与屏幕触控按钮。
    • 扫雷:支持右键插旗、首击安全规则以及计时功能。
  5. 主题跟随:使用 DSH 主题别名 token 配色,自动适配明暗主题。

安装与启用

通过官方插件管理命令安装:

dsh plugin --profile web add dsh-mini-games

安装完成后,需要重启 dsh web 使配置生效。重启后,在聊天区右上角会出现一个圆形的 🎮 按钮,点击即可打开或收起小游戏面板。

验证安装是否成功:

# 1. 检查配置树中是否存在 mini-games 行
dsh --profile web --dump-config

# 2. 验证浏览器端文件可访问
Invoke-WebRequest http://127.0.0.1:3080/plugins/dsh-mini-games/client.js

典型用法

  1. 确保 DeepSeek Harness Web 进程已启动且处于运行状态。
  2. 点击聊天区右上角的 🎮 按钮。
  3. 如果是首次打开,面板会显示三个游戏选项卡(猜数字 / 2048 / 扫雷)。
  4. 选择游戏进行游玩。切换选项卡不会中断当前游戏进度。

技术注意与限制

  1. 会话要求:面板必须在一个非空白的会话中才能正常打开(点击按钮会提示“先进入一个会话”)。
  2. 依赖警告:安装过程中出现的 missing peer @deepseek-ai/* 警告是正常现象。不要手动安装 @deepseek-ai/cordis,这些依赖由官方 bundle 提供。
  3. 面板宽度:面板的显示宽度由 ui-layout 组件控制,范围通常在 300px 至 520px 之间。过窄会导致面板自动关闭。
  4. 技术实现细节:
    • 为了避免与默认的 DetailsPanel 冲突,details 插槽注册使用了 -100 的优先级进行影子化处理。
    • exports 字段必须显式导出 ./package.json,否则激活扫描会报错。
    • 游戏状态在会话切换时会重置,但标签页切换期间会保留。

结语

dsh-mini-games 是一个符合 DSH 生态规范的轻量级插件,适合需要在开发间隙放松或测试界面交互的开发者。所有逻辑均为前端实现,源码透明。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜