dsh-powerdesk:在 DSH Web UI 中增加可停靠 IDE 工作臺

前言

在 DSH 的插件化思路下,開發者可以把常用工具裝進 Web UI。智能體工作流裏,聊天、終端、文件、編輯、筆記、瀏覽器和日程常常分散在不同應用裏;dsh-powerdesk 的目標是把這幾類工具放進 DSH Web UI 的右側和底部可停靠面板中,減少離開聊天頁面的切換。

這是什麼

dsh-powerdesk 是一個 DSH 網頁插件,由 FleetingEcho 維護。它爲 DSH Web UI 提供 IDE 工作臺,包含終端、文件瀏覽器、Markdown 筆記、代碼編輯器、沙箱瀏覽器和日曆。

該插件尚未發佈 npm 包,安裝直接來自 GitHub 倉庫:

https://github.com/FleetingEcho/dsh-powerdesk

使用它需要 DSH >=0.0.1,並且 dsh CLI 在 PATH 中。

核心功能

終端

終端使用 restty 渲染器,包含 WebGPU/WebGL2 + WASM VT,並由 Rust PTY 驅動,相關實現使用 napi-rs + portable-pty。

終端在當前會話工作目錄打開;同一會話可以打開多個終端,直到配置配額。字體和主題可以在 Settings → Powerdesk 中調整。

文件瀏覽器

文件瀏覽器用於選擇本地文件夾,並瀏覽目錄樹。點擊文件可以在編輯器中打開;文件行提供複製相對路徑或絕對路徑的操作。

Markdown 筆記

筆記模塊可以綁定一個本地文件夾,以遞歸樹瀏覽和編輯其中的 .md 文件,並支持創建、重命名和刪除。

代碼編輯器

代碼編輯器基於 CodeMirror 6,支持 TS/JS/Python/JSON/CSS/HTML/Markdown/Rust/YAML 語法高亮。它還支持主題、軟換行,以及 Cmd/Ctrl+S 保存。

沙箱瀏覽器

沙箱瀏覽器提供帶地址欄的 iframe。瀏覽器標籤默認沙箱化:不使用 allow-same-origin,拒絕 loopback 地址,並探測 X-Frame-Options / frame-ancestors 的拒絕原因。

日曆

日曆使用 schedule-x,支持月、周、日視圖。事件存儲在本地 SQLite 數據庫。

搜索、面板與擴展

插件提供 ripgrep 內容搜索。右側面板和底部面板均支持停靠、拖動調整大小,並支持在面板間拖動標籤。

自定義擴展可以通過提交 React 組件和 powerdesk.json.tgz 包來增加標籤頁。

安裝採用零構建方式:lib/ 與 macOS / Linux-x64 Rust PTY 二進制已提交,安裝時直接複製文件。

安裝與啓用

先確認環境:

  • DSH >=0.0.1
  • dsh CLI 在 PATH
  • 從源碼安裝時,需要 Node.js 20+ 和 pnpm 9+

README 提示只選擇一個安裝渠道,不要同時啓用兩個。下面先介紹從 GitHub 倉庫安裝。

從 GitHub 安裝

dsh plugin --profile web add https://github.com/FleetingEcho/dsh-powerdesk.git

安裝完成後,在瀏覽器執行硬刷新:

Cmd/Ctrl+Shift+R

預編譯 Rust PTY 二進制已提交到 darwin-arm64darwin-x64linux-x64-gnu。其他平臺首次使用時需要從源碼構建 Rust PTY。例如 Windows 或 Linux ARM64:

cd ~/.dsh/profiles/web/node_modules/dsh-powerdesk
pnpm build:rust

從源碼安裝

適合開發或需要本地修改的場景。先克隆倉庫,再執行構建和註冊:

git clone https://github.com/FleetingEcho/dsh-powerdesk.git
cd dsh-powerdesk
pnpm install
pnpm build
pnpm build:rust
dsh plugin --profile web add "dsh-powerdesk@link:$PWD"

從源碼安裝需要 Node.js 20+ 和 pnpm 9+。

典型用法

1、點擊窗口右上角按鈕,打開或收起右側面板、底部面板。

2、將標籤拖到面板邊緣進行分割,拖到面板中心進行合併或重排,也可以把標籤在右側面板與底部面板之間移動。

3、打開終端後,可以在當前會話工作目錄執行命令;按配額打開多個終端,並在 Settings → Powerdesk 中調整字體和主題。

4、在文件瀏覽器中選擇本地文件夾,瀏覽目錄樹,點擊文件在編輯器打開,或複製相對路徑、絕對路徑。

5、在筆記中綁定本地文件夾,瀏覽和編輯 .md 文件,並創建、重命名、刪除條目。

6、在日曆中查看月、周、日視圖;事件保存在本地 SQLite 數據庫。

適用場景與注意

適合需要在 DSH Web UI 內同時使用終端、文件、編輯、筆記、瀏覽器和日曆的開發者。由於它運行在 DSH Web 宿主環境中,會受當前 dsh 進程權限和本機目錄訪問能力影響;安裝前應檢查 GitHub 源碼和 LICENSE 文件。已覈實資料中只出現 LICENSE 文件名,未給出具體許可證名稱,使用前應自行確認。

需要注意:

  • 瀏覽器標籤默認沙箱化,不使用 allow-same-origin,並拒絕 loopback 地址。
  • darwin-arm64darwin-x64linux-x64-gnu 平臺首次使用時需要構建 Rust PTY。
  • 只選擇一個安裝渠道,不要同時啓用兩個。
  • 插件尚未發佈 npm 包,安裝直接來自 GitHub 倉庫。

獲取

dsh-powerdesk 的價值在於把常用開發工具收進 DSH Web UI 的可停靠面板中,保持聊天和工作臺在同一頁面。

  • 目錄頁:https://www.skillhub.cn/plugins/FleetingEcho/dsh-powerdesk
  • GitHub:https://github.com/FleetingEcho/dsh-powerdesk
羽毛球分组比赛记分
小程序二维码

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

小夜