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
羽毛球分组比赛记分
小程序二维码

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

小夜