前言¶
DeepSeek Harness(dsh)默认是 React 官方前端:功能完整,但界面风格固定。若你希望在不改宿主核心逻辑的前提下,把「AI 编码代理控制台」换成一套自包含的像素风 UI,并在桌面与浏览器两条路径上都能用,社区插件 dsh_theme_terraria(npm 包名 dsh-theme-terraria)提供了一条标准插件路径:用约 230 KB、零外部 JS 依赖的单文件 index.html 替换或接管前端,同时仍通过 JSON-RPC(HTTP)与 WebSocket 对接宿主,会话、流式输出、工具审批、模型切换等能力保持可用。
下面介绍该插件的定位、能力与安装方式。事实以 GitHub 仓库 README 为准;维护者为 jiabei20031104,SkillHub 分类为「趣味换装」,当前 README 标注版本 0.3.0,许可证 MIT。
这是什么¶
dsh_theme_terraria 是 dsh 的泰拉瑞亚主题插件。它不是一个只改 CSS 的纯皮肤:主题前端直连宿主协议,填入 DeepSeek API 密钥即可与模型真实对话。
实现方式符合 dsh 插件包规范:入口 index.js 导出 apply(ctx),cordis.patch.yml 声明 dsh.bundle 补丁层;桌面版装入 desktop profile,浏览器版装入 web profile,不直接改动 dsh 安装目录里的文件。插件已发布到 npm,推荐按包名 dsh-theme-terraria 安装。
README 标明兼容 DeepSeek Harness Desktop 0.2.0-rc.2 量级;浏览器路径需本机可用的 dsh CLI(桌面应用自带的 dsh.cmd 主要用于 desktop profile 的插件管理,不负责 dsh web)。
核心功能¶
界面与协议¶
- 单文件交付:整块 UI 内联在
web/index.html,由插件伺服,无运行时框架、无构建步骤。 - 真实宿主能力:会话创建、消息发送、流式输出、工具审批、模型切换、工作空间管理与官方前端同一套传输层。
- 概念映射:官方 Agent Preset 对应「难度档」(旅途 / 软核 / 中核 / 硬核);会话称「旅途 / 冒险」,工具审批称「审批石板」,API 密钥状态以「生命水晶」等形式呈现(详见 README 对照表)。
桌面与浏览器两条路径¶
| 环境 | profile | 典型目录 | 生效方式 |
|---|---|---|---|
| 桌面应用(Electron) | desktop |
~/.dsh/profiles/desktop |
宿主注入后窗口导航到 dsh-app://app/terraria/theme.html?host=... |
dsh web |
web |
~/.dsh/profiles/web |
补丁替换官方 web 前端 dist,默认 http://127.0.0.1:3080/ |
桌面应用只读 desktop profile;主题装进 web profile 不会让桌面窗口换肤,这是 README 强调的常见问题。两条路径互不影响。
桌面端:接管与兜底¶
桌面窗口对内置官方前端路径有硬映射。主题默认通过注入行设置 __TERRARIA_THEME__,预检 /terraria/theme.html 成功后 location.replace 到与浏览器相同的 UI。若主题页不可用或关闭接管,可回退为「官方 UI + 注入式像素皮肤」(skin/terraria.css),避免白屏。
环境变量(须在启动宿主前设置,运行中修改无效):
| 变量 | 作用 |
|---|---|
DSH_TERRARIA_STANDALONE=0(或 off/false/no) |
不接管窗口,仅官方 UI + 像素皮肤 |
DSH_TERRARIA_SKIN=0 |
连注入皮肤也不加载 |
桌面窗口可用标题屏「切回官方界面」或 Alt+O 写 localStorage['terraria.takeover']='0';浏览器路径没有可切回的官方 React 前端,需卸载插件后重启 dsh web。
共存与限制¶
- 主题页为自包含前端,接管期间不加载
/plugins/*/client.js,部分客户端插件界面在接管时不可见;需要并存时可设DSH_TERRARIA_STANDALONE=0。 - 同一 profile 不宜装多个「换 dist」主题;本插件检测到已有
webRuntime时会跳过委托并warn。 - 安装主题等于允许约 4 KB 注入脚本与约 230 KB 主题页在 operator 身份的桌面窗口执行;README 说明其不读取/打印 API 密钥,账号快照经同源
/terraria/account与 cookie 栅栏。
安装与启用¶
环境要求¶
- 已安装 DeepSeek Harness(桌面应用或
dshCLI) - Node.js
^22.19 || >=24与 pnpm(dsh plugin内部使用 pnpm;桌面应用自带运行时时可不另装 Node) - DeepSeek API 密钥(对话必需;无密钥也可浏览部分界面)
安装或升级插件后,须完全退出桌面应用再启动:注入行是宿主启动时的一次性快照,仅刷新窗口无效。
桌面版(desktop profile)¶
先完全退出应用(含托盘),再执行安装。README 以 Windows 为例,使用应用内置 CLI(将 <DSH 安装目录> 换成实际路径;dsh 已在 PATH 时也可直接用 dsh):
& '<DSH 安装目录>\resources\runtime\cli\bin\dsh.cmd' plugin --profile desktop add dsh-theme-terraria
也可在应用内 Plugin Hub 搜索 dsh-theme-terraria 安装。有 git 时 README 另给出 github:jiabei20031104/dsh_theme_terraria 来源;无 git 时从 GitHub 安装可能报错,应优先用 npm 包名或本地仓库绝对路径。
安装后正常双击启动,窗口应导航到带 host 查询参数的 terraria/theme.html 路由。卸载回到官方 UI:
& '<DSH 安装目录>\resources\runtime\cli\bin\dsh.cmd' plugin --profile desktop remove dsh-theme-terraria
卸载后同样建议完整退出并重启。
浏览器版(web profile)¶
需本机可执行 dsh web 的 CLI:
dsh plugin --profile web add dsh-theme-terraria
dsh web
默认地址为 http://127.0.0.1:3080/。在 deepseek-harness 源码树内开发时,README 建议命令前加 pnpm 前缀(如 pnpm dsh plugin ...、pnpm dsh web)。
恢复官方 Web 前端:
dsh plugin --profile web remove dsh-theme-terraria
然后重启 dsh web。
典型用法¶
- 按上节将插件装入对应 profile,重启宿主或执行
dsh web。 - 打开主题界面,点击「新的会话」;首次进入会弹出设置,在「DeepSeek API 密钥」填入
sk-...并保存。密钥经credentials.set写入宿主机.dsh-home/.credentials.yaml,页面不持久保存明文。 - HUD 显示 API 密钥已配置后,在对话框输入指令即可开始对话。
- 通过「难度档」切换 Agent 预设:旅途(standard)、软核(code)、中核(minimal)、硬核(cordis),插件组合随难度变化。
README 还单独描述了视觉设计、8-bit 音效、隐藏彩蛋、性能与可访问性护栏等章节,需要细节时可直接查阅仓库文档。
适用场景与注意¶
适合谁:已在用 dsh 做编码代理、希望桌面或浏览器界面换成泰拉瑞亚像素风,且接受「换前端 dist / 桌面接管」这一信任边界的开发者。
使用前请知悉:
- 插件以当前 dsh 进程权限运行;安装前建议阅读源码与 MIT 许可证,并理解注入脚本与主题页的执行范围。
- desktop 与 web 的 profile 必须配对,否则会出现「插件已安装但界面未变」。
- 社区目录 SkillHub 插件页 与 GitHub 由社区维护,与 DeepSeek / 幻方无官方从属关系;星标等元数据以各站点当时展示为准。
结尾¶
dsh-theme-terraria 把 dsh 的 Web UI 做成可安装的泰拉瑞亚像素主题:标准 bundle 补丁、npm 包名安装、桌面接管与浏览器换 dist 双路径,并在失败时保留官方 UI 像素皮肤兜底。若你要在 Harness 里用向导陪写代码,可从 desktop 或 web profile 安装 dsh-theme-terraria,配置 API 密钥后按难度档切换预设即可开工。
- 目录页:https://www.skillhub.cn/plugins/jiabei20031104/dsh_theme_terraria
- 源码与文档:https://github.com/jiabei20031104/dsh_theme_terraria