前言¶
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.6(package.json、dsh.plugin.json 與 git tag v0.1.6 一致)。社區目錄把它歸在「界面增強」,收錄日期是 2026-08-15;本文覈對當天 GitHub 倉庫星標爲 46(目錄頁當時顯示 41,以倉庫頁面爲準)。
它解決的問題可以壓成一句:從 DSH 網頁界面,把側邊欄裏已經打開的工作區目錄,一鍵交給本機 VS Code(或其它能打開目錄的編輯器 CLI)。
package.json 裏客戶端聲明瞭 "platform": "web",所以它掛在網頁界面上,不是終端 TUI 插件。dsh.plugin.json 的 contributes 裏 tools 和 skills 都是空數組:模型看不到它,也不會多出一條可供智能體調用的工具。
核心功能¶
側邊欄菜單入口¶
安裝並刷新網頁之後,側邊欄每一個真實 Workspace 行的 … 菜單裏會多出一行:
- 界面語言爲中文時:在 VSCode 中打開
- 英文時:Open in VSCode
文案跟隨 DSH 的 locale,兩條路徑渲染同一行。點這一行會先關掉菜單,再把該工作區的目錄路徑交給主機。
客戶端與主機怎麼配合¶
倉庫 README 把插件拆成兩半,共用 src/contract.ts 裏的線協議:
- 客戶端:優先往 harness 的
sidebar.workspaces.row-menu插槽註冊菜單行。公開發布的 DSH0.1.0-rc.6若還沒有這個原生插槽,會走一份受限的兼容適配器。兩條路徑對用戶來說都是同一菜單項。 - 主機:通過嚴格的 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
前置條件¶
倉庫寫明瞭兩條硬條件:
- DeepSeek Harness
0.1.0-rc.6或更高。有原生 Workspace 行菜單擴展點時走插槽,rc.6則走兼容適配器。dsh.plugin.json裏的engines.dsh寫的是>=0.0.1,那是插件清單字段;實際能用的界面能力以 README 這條爲準。 - 本機已安裝 VS Code,或 PATH 裏有編輯器 CLI。
- macOS:需要先裝 VS Code 命令行工具(命令面板裏的 “Shell Command: Install ‘code’ command in PATH”),否則默認的code會找不到。
- Windows:使用默認code時,插件會在 PATH 以及標準用戶級 / 系統級安裝目錄裏找Code.exe。
- 其它編輯器:把插件command配成能打開目錄的 CLI。
package.json 的 engines.node 是 ^22.19 || >=24,和當前 DSH 開發者預覽對 Node 版本的要求同一量級,裝插件前先確認本機 Node 能跑 dsh web。
典型用法¶
下面按倉庫說明覆現一次完整路徑,不額外編造界面截圖或未公開的配置項。
- 本機已經能運行 DeepSeek Harness 的 Web UI(例如官方文檔裏的
npx @deepseek-ai/dsh web,或源碼倉庫裏的pnpm dsh web)。 - 用上一節的目錄頁命令,或 README 的 web profile +
v0.1.6tarball 安裝插件。 - 用
kill -TERM重啓 Web 服務器,瀏覽器刷新。 - 確認側邊欄裏至少有一個真實 Workspace(插件只給真實工作區行加菜單,虛擬行不在範圍內)。
- 點該行右側的 …,選 在 VSCode 中打開(英文界面是 Open in VSCode)。
- 本機應彈出 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