前言¶
在 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