dsh-workspace-sidebar:DSH Web 右側工作區側邊欄

前言

在 DSH Web 會話裏處理代碼時,經常需要同時查看文件結構、git 差異、提交歷史,並把某個文件路徑引用到輸入框。如果不在外部 IDE、終端和瀏覽器之間來回切換,就需要一個能貼在會話側邊的插件。

DSH 的插件擴展可按「一切皆插件」理解。插件目錄頁可以視爲獨立站點或插件線索,不應理解爲 DeepSeek 或幻方官方應用商店。下面介紹 pang123hui/dsh-workspace-sidebar。

插件定位

dsh-workspace-sidebar 是一個 DSH Web 插件,用於在右側增加工作區側邊欄。

它主要覆蓋四類內容:

  • 文件樹
  • git 差異
  • 提交歷史
  • @文件 引用

維護者爲 pang123hui,許可證爲 MIT,版本爲 0.1.0。

核心功能

文件瀏覽

文件視圖支持目錄樹懶加載。

可以執行以下操作:

  • 查看文件
  • 重命名文件
  • 刪除文件
  • 預覽 Markdown
  • 預覽代碼高亮內容

文件重命名和刪除通過文件行上的「⋯」菜單觸發。

文件視圖有自動刷新機制:刷新間隔爲 2s,並採用單在途防疊票,避免多個刷新請求互相疊加。

git 差異

插件提供 git 變更文件列表。

狀態含義爲:

  • M:修改
  • D:刪除
  • U:新建

當同一文件出現多個狀態時,優先級爲:

M > D > U

點擊某個變更文件後,可以查看該文件的 diff。

差異視圖也有自動刷新機制:刷新間隔爲 4s,並採用單在途防疊票。

提交歷史

提交歷史使用 git log --graph 展示提交樹。

使用方式是:

1、點擊某個提交。

2、展開該次提交改動的文件。

3、點擊某個文件,查看該次提交中的 diff。

@文件 引用

在文件行懸停時,會出現「@」按鈕。

點擊「@」按鈕後,會把 @相對路徑 追加到輸入框。

適合在對話中快速引用當前項目裏的文件。

側邊欄交互

側邊欄停靠在工作區右側,可以拖拽調整寬度,並把會話區往左推。

安裝與啓用

從 GitHub 安裝

先使用下面命令從 GitHub 添加插件:

dsh plugin --profile web add github:pang123hui/dsh-workspace-sidebar

裝完後,需要重啓 dsh web。可以在終端按 Ctrl+C 停止後重跑,然後在瀏覽器硬刷新。

從 npm 安裝

README 中提供了 npm 安裝命令:

dsh plugin --profile web add dsh-workspace-sidebar

該命令在 README 中標註爲發佈後使用。本文不將其作爲當前確定可用的安裝來源。

手動安裝

如果不使用 dsh plugin 命令,可以手動安裝。

第一步,把插件包鏈接到:

~/.dsh/profiles/node_modules/dsh-workspace-sidebar

第二步,在 ~/.dsh/profiles/web/cordis.patch.yml 中加入:

- insert:
    - id: workspace-sidebar
      name: 'dsh-workspace-sidebar'

改動後如何生效

如果改動的是 client 半,瀏覽器硬刷新即可。

如果改動的是 host 半,需要重啓 dsh web。

典型用法

下面列出一組可復現的使用路徑。

1、安裝插件:

dsh plugin --profile web add github:pang123hui/dsh-workspace-sidebar

2、重啓 DSH Web:

dsh web

3、在瀏覽器中硬刷新頁面。

4、打開右側工作區側邊欄。

5、在文件視圖中展開目錄樹,點擊文件查看 Markdown 或代碼預覽。

6、在文件行懸停,點擊「@」按鈕,把 @相對路徑 追加到輸入框。

7、切換到差異視圖,查看 M、D、U 文件列表。

8、點擊某個文件查看 diff。

9、切換到提交歷史,點擊某個提交展開改動文件,再點擊文件查看該次提交 diff。

適用場景與注意

適合誰

如果你使用 DSH Web 會話,並且希望在瀏覽器裏直接完成以下事情,這個插件會比較合適:

  • 瀏覽項目文件
  • 重命名或刪除文件
  • 查看 Markdown 和代碼預覽
  • 查看 git 變更
  • 查看某個文件的 diff
  • 查看提交歷史
  • 查看某次提交中的文件改動
  • 把 @相對路徑 追加到輸入框

權限與安全風險

這個插件的寫操作已繞過 DSH shell 沙箱。

具體包括:

  • 文件刪除走 host 進程內 Node fs
  • 文件重命名走 host 進程內 Node fs
  • git 操作經 sandboxPolicy: danger-full-access 執行

因此,它不再受會話工作區限制。任意目錄可能可刪、可改、可暫存、可提交。

安裝前建議先檢查源碼,並確認許可證和使用方式。

ACL 限制

文件系統級 ACL 拒絕繞不過。

例如,在 Windows 層,如果某個目錄被外部工具顯式鎖定寫入,例如通過:

icacls ... /deny

導致寫入被拒絕,需要管理員解除對應 DENY。

只讀瀏覽不受 ACL 寫入拒絕影響。

依賴約束

插件的 peerDependencies 包括:

@deepseek-ai/cordis ^4.0.1
@deepseek-ai/dsh-client-runtime ^0.1.0-rc.7
react ^18.2.0

鏈接

GitHub:

https://github.com/pang123hui/dsh-workspace-sidebar

目錄頁線索:

https://www.skillhub.cn/plugins/pang123hui/dsh-workspace-sidebar

說明:該目錄頁 URL 未在本稿引用的抓取資料中直接出現,僅作爲插件線索列出。

羽毛球分组比赛记分
小程序二维码

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

小夜