前言¶
在 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.1dshCLI 在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-arm64、darwin-x64、linux-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-arm64、darwin-x64、linux-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