前言¶
DeepSeek Harness(DSH)的 Web 控制檯默認是 React 前端,功能完整,但界面風格偏工程化。如果你希望在同一套 JSON-RPC 與 WebSocket 協議上繼續寫代碼、審工具、切預設,只是換一層更有辨識度的交互外殼,社區裏有人做了另一種選擇:用單文件 HTML 把控制檯包裝成泰拉瑞亞像素冒險界面,嚮導 NPC 陪你對話,難度檔對應 Agent 預設,而不是另起一個與宿主脫節的靜態頁面。
下面介紹維護者 10086ggqq 的 dsh_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 對話框左側爲嚮導立繪,右側爲輸入框與模式選擇、工作空間、權限、模型、停止、發送等按鈕。
設置、壁紙與桌寵¶
設置彈窗分四區:
- API 密鑰:經
credentials.set存到宿主機.dsh-home/.credentials.yaml,頁面不持久保存明文;可切換工具審批模式(自動允許 / 手動確認)。 - 壁紙:支持拖拽或點擊上傳圖片/視頻;圖片自動壓縮到 1920px JPEG 存 localStorage,GIF 保留動畫,MP4/WebM(≤512 MB)存 IndexedDB 作全屏動態壁紙。
- 背景音樂:支持 MP3/WAV/OGG 等(≤64 MB),存 IndexedDB 循環播放,頂欄可一鍵開關。
- 插件:打開上述插件管理器。
標題屏「人物桌寵」可替換對話區陪伴角色,並獨立控制五隻屏幕桌寵(克魯蘇之眼、史萊姆王、嘉登、神明吞噬者、極地之靈)的顯示;支持自定義頭像、名字(≤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/。
典型用法¶
經過上面的步驟,可按以下流程開始對話:
- 打開
http://127.0.0.1:3080/,點擊「新的會話」。 - 首次進入會彈出「設置」,在「DeepSeek API 密鑰」輸入框填入
sk-...,點「保存密鑰」。 - 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