dsh_theme_terraria:把 DSH 控制台换成泰拉瑞亚像素世界

前言

DeepSeek Harness(DSH)的 Web 控制台默认是 React 前端,功能完整,但界面风格偏工程化。如果你希望在同一套 JSON-RPC 与 WebSocket 协议上继续写代码、审工具、切预设,只是换一层更有辨识度的交互外壳,社区里有人做了另一种选择:用单文件 HTML 把控制台包装成泰拉瑞亚像素冒险界面,向导 NPC 陪你对话,难度档对应 Agent 预设,而不是另起一个与宿主脱节的静态页面。

下面介绍维护者 10086ggqqdsh_theme_terraria(npm 包名 dsh-theme-terraria)。它在 SkillHub 目录归类为「趣味换装」,GitHub 仓库当前约 12 stars;插件以 MIT 许可证发布,版本 0.1.1

这是什么

dsh_theme_terraria 是 DSH 的泰拉瑞亚主题插件:用一个约 98 KB、零外部 JS 依赖的自包含 index.html 替换官方 Web 前端,把「AI 编码代理控制台」映射成像素世界。

它不是纯 CSS 换皮。主题直连 dsh 宿主的 JSON-RPC(HTTP 上行)与 WebSocket(事件下行),会话创建、消息发送、流式输出、工具审批、模型切换、工作空间管理均走真实协议;填入 DeepSeek API 密钥即可与模型对话。

安装方式遵循标准 dsh 插件包:index.js 导出 apply(ctx)cordis.patch.yml 声明 dsh.bundle 补丁层,一条命令写入 web profile,不改动 dsh 安装目录里的文件。

核心功能

难度档 = Agent 预设

模式选择界面复刻泰拉瑞亚人物创建弹窗。四个难度按钮对应四套后端预设,切换即调用 agentPreset.select

难度档 预设 说明
旅途 standard 全功能编码代理
软核 code Code Mode SDK
中核 minimal 极简双工具
硬核 cordis 自定义 preset 模板

插件组合随难度实时变化;插件管理器读取当前预设的 cordis.yml,列出已挂载插件及中文用途,停用项会置灰标注。

界面与交互映射

官方 UI 概念被统一翻译成游戏语言:

官方 UI 主题映射
Agent Preset 难度档:旅途 / 软核 / 中核 / 硬核
会话 旅途 / 冒险
用户消息 冒险者
工具审批 审批石板
任务清单(todo) 任务清单 HUD
API 密钥状态 生命水晶指示灯

主对话区为三栏布局:顶栏含连接状态(「已连接到向导世界」)、对话/终端切换、音效与音乐开关;底部 NPC 对话框左侧为向导立绘,右侧为输入框与模式选择、工作空间、权限、模型、停止、发送等按钮。

设置、壁纸与桌宠

设置弹窗分四区:

  1. API 密钥:经 credentials.set 存到宿主机 .dsh-home/.credentials.yaml,页面不持久保存明文;可切换工具审批模式(自动允许 / 手动确认)。
  2. 壁纸:支持拖拽或点击上传图片/视频;图片自动压缩到 1920px JPEG 存 localStorage,GIF 保留动画,MP4/WebM(≤512 MB)存 IndexedDB 作全屏动态壁纸。
  3. 背景音乐:支持 MP3/WAV/OGG 等(≤64 MB),存 IndexedDB 循环播放,顶栏可一键开关。
  4. 插件:打开上述插件管理器。

标题屏「人物桌宠」可替换对话区陪伴角色,并独立控制五只屏幕桌宠(克鲁苏之眼、史莱姆王、嘉登、神明吞噬者、极地之灵)的显示;支持自定义头像、名字(≤12 字)与性格设定(可从 .md 导入)。

音效与叙事细节

内置 8-bit WebAudio 音效引擎(方波合成,无音频文件):助手回复完成、工具审批、向用户提问、发送失败各对应一声短促提示;流式输出过程静音,顶栏可关音效。

交互文案贯穿冒险叙事:用户署名固定为「冒险者」,手动停止生成显示「旅程被中断」,断线提示「连接已断开,重连中…」。

安装与启用

环境要求

  • 已安装 dsh CLI,dsh --version 可用
  • Node.js ^22.19 || >=24 与 pnpm(dsh plugin 内部转发给 pnpm)
  • DeepSeek API 密钥(对话必需;无密钥也可浏览界面)

安装步骤

先把主题作为插件安装进 web profile:

dsh plugin --profile web add dsh-theme-terraria

若 npm 包尚未发布,可从 GitHub 或本地路径安装:

dsh plugin --profile web add github:10086ggqq/dsh_theme_terraria
# 或
dsh plugin --profile web add /path/to/dsh_theme_terraria

在 deepseek-harness 源码仓库内运行时,上述命令需加 pnpm 前缀,例如 pnpm dsh plugin --profile web add dsh-theme-terraria

安装完成后启动 Web 服务:

dsh web

默认地址:http://127.0.0.1:3080/

典型用法

经过上面的步骤,可按以下流程开始对话:

  1. 打开 http://127.0.0.1:3080/,点击「新的会话」。
  2. 首次进入会弹出「设置」,在「DeepSeek API 密钥」输入框填入 sk-...,点「保存密钥」。
  3. HUD 显示「API 密钥:已配置」后,在底部对话框输入指令即可。

切换编码风格时,点「模式选择」,在人物创建风格弹窗里选旅途 / 软核 / 中核 / 硬核,再点「选择」——后端预设与会话名会同步更新。

换工作目录时,点「工作空间」,点击已有目录行即在该路径开新会话;也可通过选择文件夹、拖拽或手动输入完整路径注册新工作空间。

适用场景与注意

适合谁

  • 已在用 DSH Web 控制台,希望保留全部 Agent 能力,只换视觉与交互语气。
  • 喜欢像素风、泰拉瑞亚 UI 隐喻,或需要难度档直观对应不同 preset 的场景。
  • 需要壁纸、BGM、桌宠等轻度个性化,又不想改 dsh 核心代码。

使用前请注意

  • 插件以当前 dsh web 进程权限运行,安装前建议阅读 GitHub 仓库 源码与 MIT 许可证。
  • SkillHub 目录页(https://www.skillhub.cn/plugins/10086ggqq/dsh_theme_terraria)为社区独立站点,与 DeepSeek / 幻方无官方从属关系。
  • 更新插件后若页面仍是旧 UI,可强制刷新(Ctrl+F5)或地址加 ?v=2 绕过浏览器缓存。
  • dsh plugin add 报 pnpm 相关错误时,需先安装 pnpm 并重开终端;密钥保存失败常见于沙箱环境拦截宿主目录写入。
  • 浏览器选择文件夹时可能只返回文件夹名,主题会尝试匹配已注册同名目录;否则需手动补全路径。

结尾

dsh_theme_terraria 把 DSH 的 Web UI 换成单文件泰拉瑞亚像素世界:向导陪你写代码,真实对话、工具审批、难度切换一应俱全,零外部 JS 依赖。若你已在用 DSH,一条 dsh plugin --profile web add dsh-theme-terraria 即可体验。

  • 目录页:https://www.skillhub.cn/plugins/10086ggqq/dsh_theme_terraria
  • GitHub:https://github.com/10086ggqq/dsh_theme_terraria
羽毛球分组比赛记分
小程序二维码

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

小夜