用 dsh-open-in-vscode 從 DeepSeek Harness 網頁一鍵打開 VS Code 工作區

前言

DeepSeek Harness(dsh)是 DeepSeek 開源的智能體運行時,官方倉庫把它概括成一句話:Everything is a Plugin。模型適配、工具、會話日誌、智能體循環,乃至網頁界面,都可以在配置層替換或擴展,不必改框架源碼。

實際開發裏,很多人會同時開着兩套界面:一邊是 dsh web 的瀏覽器工作區,一邊是本機 VS Code。智能體在網頁裏改完文件之後,要回到編輯器裏看 diff、設斷點、提交代碼,往往得先在側邊欄裏抄路徑,再切窗口用 code . 或「打開文件夾」。路徑一長,這一步就容易出錯。

dsh-open-in-vscode 做的事很窄:在網頁側邊欄每個真實 Workspace 行的溢出菜單里加一項「在 VSCode 中打開」,點一下就把該目錄交給本機編輯器。本文按社區目錄頁、GitHub 倉庫 README / package.json 以及 DeepSeek Harness 官方倉庫交叉覈對後整理:它是什麼、怎麼裝、點哪裏、邊界在哪。

需要先說明:社區插件目錄 deepseek-harness-plugin.com 是獨立站點,用來檢索帶 dsh-plugin 話題的倉庫,和 DeepSeek / 幻方沒有官方從屬關係,不能當成官方應用商店。

這是什麼

dsh-open-in-vscode 是一款界面增強插件,由 GitHub 組織 omdsh-dev 維護,倉庫地址是 omdsh-dev/dsh-open-in-vscode。許可證爲 MIT,當前版本是 0.1.6package.jsondsh.plugin.json 與 git tag v0.1.6 一致)。社區目錄把它歸在「界面增強」,收錄日期是 2026-08-15;本文覈對當天 GitHub 倉庫星標爲 46(目錄頁當時顯示 41,以倉庫頁面爲準)。

它解決的問題可以壓成一句:從 DSH 網頁界面,把側邊欄裏已經打開的工作區目錄,一鍵交給本機 VS Code(或其它能打開目錄的編輯器 CLI)。

package.json 裏客戶端聲明瞭 "platform": "web",所以它掛在網頁界面上,不是終端 TUI 插件。dsh.plugin.jsoncontributestoolsskills 都是空數組:模型看不到它,也不會多出一條可供智能體調用的工具。

核心功能

側邊欄菜單入口

安裝並刷新網頁之後,側邊欄每一個真實 Workspace 行的 菜單裏會多出一行:

  • 界面語言爲中文時:在 VSCode 中打開
  • 英文時:Open in VSCode

文案跟隨 DSH 的 locale,兩條路徑渲染同一行。點這一行會先關掉菜單,再把該工作區的目錄路徑交給主機。

客戶端與主機怎麼配合

倉庫 README 把插件拆成兩半,共用 src/contract.ts 裏的線協議:

  1. 客戶端:優先往 harness 的 sidebar.workspaces.row-menu 插槽註冊菜單行。公開發布的 DSH 0.1.0-rc.6 若還沒有這個原生插槽,會走一份受限的兼容適配器。兩條路徑對用戶來說都是同一菜單項。
  2. 主機:通過嚴格的 Typert Remote 端點 openInVscode/open 接收目錄路徑,再 spawn 配置好的編輯器 CLI。子進程是 detached 的,編輯器啓動後不跟 dsh 服務器綁在一起,關掉網頁服務也不會把 VS Code 一起殺掉。

源碼裏對路徑有硬限制:相對路徑直接拒絕;可執行文件找不到會拋錯,並提示去裝 CLI 或改 command。默認命令是 code,Windows 上還會額外探測用戶級 / 系統級的標準 VS Code 安裝目錄(Code.exe)。

可配置的編輯器命令

部署相關的選項是經過 schema 校驗的 Config 字段,可以在 cordis.yml 裏改:

默認值 含義
command code 用來打開目錄的可執行文件。默認值在 Windows 上還會查找標準安裝位置;其它命令走 PATH。
args [] 追加在目錄路徑前面的參數。

相對路徑形式的 command 會被拒絕。缺了可執行文件時失敗是響亮的,README 寫明會給出修復提示。如果你更常用 Cursor、VSCodium 或其它能接受「打開一個目錄」的 CLI,可以把 command 改成對應命令,前提是它確實在 PATH 上、並且能打開目錄。

能力邊界

README 用一張表把邊界寫死了:

動作 在哪裏執行 是否需要審批
在編輯器中打開工作區目錄 主機(用戶點擊菜單) 否,因爲是用戶主動點的
其它 沒有工具、沒有設置命名空間、沒有模型可見面

插件自己不讀、不寫工作區文件,只打開用戶已經在 DSH 裏打開過的那個目錄。它不會給智能體多一個 open_in_vscode 之類的工具,因此也不存在「模型自己彈編輯器」這條路徑。

安裝與啓用

目錄頁給出的命令

社區目錄詳情頁上的安裝命令原文是:

dsh plugin add github:omdsh-dev/dsh-open-in-vscode

dsh CLI 會從 GitHub 解析插件並裝進當前配置。目錄頁同時提示:如需可復現安裝,可以固定 commit 哈希:

dsh plugin add github:omdsh-dev/dsh-open-in-vscode#commit

#commit 換成實際提交哈希即可。不要憑倉庫名自己拼接其它 installer 語法。

倉庫 README 推薦的 web profile 寫法

因爲客戶端明確跑在 web 平臺,倉庫 README / README.zh.md 建議把它加到 web profile,並用版本化 tarball,避免走 git prepare 腳本:

dsh plugin --profile web add https://github.com/omdsh-dev/dsh-open-in-vscode/archive/refs/tags/v0.1.6.tar.gz

這條命令會在 profile 裏跑 pnpm,併合並 bundle 層。裝完後重啓 Web 服務器,再用瀏覽器刷新頁面。README 特別強調:重啓用 kill -TERM <pid> 並等待進程退出,不要 kill -9,以免把會話的 zstd 日誌撕在半幀上。

主機插件掛載名是 dsh-open-in-vscode;客戶端 bundle 由 /plugins/dsh-open-in-vscode/client.js 提供。確認實際裝上的版本:

dsh plugin --profile web list dsh-open-in-vscode --depth 0

前置條件

倉庫寫明瞭兩條硬條件:

  1. DeepSeek Harness 0.1.0-rc.6 或更高。有原生 Workspace 行菜單擴展點時走插槽,rc.6 則走兼容適配器。dsh.plugin.json 裏的 engines.dsh 寫的是 >=0.0.1,那是插件清單字段;實際能用的界面能力以 README 這條爲準。
  2. 本機已安裝 VS Code,或 PATH 裏有編輯器 CLI
    - macOS:需要先裝 VS Code 命令行工具(命令面板裏的 “Shell Command: Install ‘code’ command in PATH”),否則默認的 code 會找不到。
    - Windows:使用默認 code 時,插件會在 PATH 以及標準用戶級 / 系統級安裝目錄裏找 Code.exe
    - 其它編輯器:把插件 command 配成能打開目錄的 CLI。

package.jsonengines.node^22.19 || >=24,和當前 DSH 開發者預覽對 Node 版本的要求同一量級,裝插件前先確認本機 Node 能跑 dsh web

典型用法

下面按倉庫說明覆現一次完整路徑,不額外編造界面截圖或未公開的配置項。

  1. 本機已經能運行 DeepSeek Harness 的 Web UI(例如官方文檔裏的 npx @deepseek-ai/dsh web,或源碼倉庫裏的 pnpm dsh web)。
  2. 用上一節的目錄頁命令,或 README 的 web profile + v0.1.6 tarball 安裝插件。
  3. kill -TERM 重啓 Web 服務器,瀏覽器刷新。
  4. 確認側邊欄裏至少有一個真實 Workspace(插件只給真實工作區行加菜單,虛擬行不在範圍內)。
  5. 點該行右側的 ,選 在 VSCode 中打開(英文界面是 Open in VSCode)。
  6. 本機應彈出 VS Code,並打開該工作區目錄。編輯器進程獨立於 dsh 服務器。

如果沒有任何窗口出現,按 README 的失敗路徑排查:

  • 命令行裏是否有 code(macOS 尤其容易漏裝 shell command)。
  • 插件 command 是否寫成了相對路徑(會被拒絕)。
  • Windows 上 VS Code 是否裝在非標準目錄,且沒有進 PATH;這時需要把 command 改成絕對路徑下的可執行文件,或把 code 加進 PATH。

需要換編輯器時,只改 command / args 兩個字段。例如默認行爲等價於在主機上執行:

code /absolute/path/to/workspace

args 會插在目錄路徑前面。具體 YAML 寫法以你當前 profile 的 cordis.yml 爲準,倉庫沒有再給一份示例片段,這裏不自行補一份可能過期的 patch 語法。

適用場景與注意事項

適合這些情況:

  • 日常在瀏覽器裏看智能體改代碼,但真正讀文件、跑調試、提交 Git 仍在 VS Code。
  • 同時開着多個 DSH 工作區,不想每次手抄路徑。
  • 只想補一個菜單項,不想給模型增加新工具。

不適合、或需要先改配置的情況:

  • 只跑 headless / 終端、不用 Web UI:客戶端平臺是 web,沒有網頁側邊欄就沒有入口。
  • 本機沒有圖形編輯器、或 SSH 遠程開發環境裏沒有 code:需要先解決 CLI,或把 command 指到實際能打開目錄的程序。
  • 指望智能體「自己決定打開 VS Code」:插件沒有模型可見面,做不到。

安裝前還有幾條和目錄頁、官方倉庫一致的約束:

  • 插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。裝之前應閱讀倉庫源碼和 MIT 許可證;生產或共享環境裏優先固定 tag(如 v0.1.6)或 commit 哈希。
  • DeepSeek Harness 目前仍是面向開發者的預覽版,核心插件和 API 還會變。本插件在 0.1.0-rc.6 上用兼容適配器補插槽,後續原生插槽穩定後行爲應以當時的 harness 爲準。
  • 社區目錄只是發現渠道,星標和分類會滯後於 GitHub。覈對安裝命令、版本號時以倉庫 README 和 git tag 爲準。

小結

dsh-open-in-vscode 把「網頁裏那個工作區」和「本機 VS Code」之間少掉的那一次點擊補上了。它不擴展智能體能力,也不碰文件內容,只在用戶點菜單之後,用分離進程把絕對路徑交給編輯器 CLI。

目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-open-in-vscode/

GitHub:https://github.com/omdsh-dev/dsh-open-in-vscode

DeepSeek Harness 官方倉庫:https://github.com/deepseek-ai/deepseek-harness

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

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

小夜