前言¶
在 DeepSeek Harness(DSH)裏用右側文檔預覽看代碼、Markdown 或圖片時,若要把磁盤上的那個文件拷到別的目錄,常見做法是記住路徑、打開資源管理器再複製。預覽裏能看內容,卻不等於能直接把「文件對象」交給 Windows 剪貼板,在目標文件夾裏 Ctrl+V 粘貼。
dsh-copy-file 由社區維護者 doudoudouhuahua 發佈,分類爲客戶端插件:在右側預覽頭部增加「複製文件」按鈕,點擊後把當前預覽對應的文件寫入剪貼板文件列表(CF_HDROP),可在任意文件夾粘貼。DSH 生態強調「一切皆插件」;SkillHub 目錄頁 爲獨立社區站點,與 DeepSeek / 幻方無官方從屬關係。
這是什麼¶
一句話:給 DSH Desktop 右側文檔預覽加「複製文件」按鈕,一鍵把正在預覽的文件放進 Windows 剪貼板,直接粘貼到任意文件夾。
維護者:doudoudouhuahua。開源倉庫:github.com/doudoudouhuahua/dsh-copy-file。package.json 中版本爲 0.1.0,許可證 MIT。
核心功能¶
下面能力均來自項目 README 說明:
- 按鈕出現在右側文檔預覽頭部,與「打開 / 顯示文件位置」等圖標同一排。
- 點擊後寫入的是文件本身(非文本內容),資源管理器可直接 Ctrl+V 粘貼。
- 成功時按鈕短暫變爲對勾;失敗時變爲警告圖標,懸停可查看原因。
- 支持中文文件名與中文路徑。
- 僅在本機 DSH 宿主內工作:路徑不離開本機,不上傳、不讀取文件內容。
安裝與啓用¶
環境要求:Windows + DSH Desktop(0.2.x,自帶 PowerShell 5.1)。安裝後需完全退出並重新打開 DSH Desktop。
方式一:插件管理器(推薦)¶
在 DSH 會話裏執行:
plugin_manager(action: "install_bundle", target: "github:doudoudouhuahua/dsh-copy-file")
方式二:手動 link 到 desktop profile¶
README 還給出手動步驟:克隆倉庫、在 profile 的 package.json 增加 link: 依賴並把 bundle 名寫入 dsh.profile.bundles、用 junction 鏈到 node_modules,最後同樣完全重啓 DSH Desktop。細節見倉庫 README「方式二」。
插件以後臺 bundle 與客戶端腳本協作:cordis.patch.yml 聲明掛載;lib/client.js 在 sidebar.right.tab.document.actions 插槽註冊按鈕並向宿主 POST 絕對路徑;lib/index.js 註冊 POST /dsh-copy-file,校驗路徑爲存在的普通文件後調用 Set-Clipboard -LiteralPath。宿主路由只接受本機同源、已認證的 POST,不把路徑寫進日誌。
典型用法¶
- 在右側 Sidebar 打開任意可預覽文件的預覽(代碼、Markdown、圖片等)。
- 在預覽頭部點擊「複製文件」圖標。
- 在目標文件夾按 Ctrl+V 粘貼。
注意:複製會覆蓋剪貼板當前內容;一次只複製一個文件(預覽本身是單文件)。
適用場景與注意¶
適合在 Windows 上使用 DSH Desktop、頻繁在預覽與資源管理器之間搬運實體文件的開發者。若只需複製文本,仍應使用編輯器或預覽內的文本複製,本插件針對的是 CF_HDROP 文件粘貼。
兼容性(README):依賴 DSH 0.2.x 的 sidebar.right.tab.document.actions 插槽與 webServer.register 路由 API;Windows PowerShell 5.1 的 Set-Clipboard -LiteralPath,無需管理員權限。DSH 大版本升級後若按鈕消失,可能需要對照插槽與路由 API。
安全與權限:插件隨當前 DSH 進程權限運行,安裝前建議閱讀源碼與 MIT 許可證,確認行爲符合本機策略。
卸載:從 profile 的 package.json 刪除依賴與 bundles 項,移除 node_modules 下的鏈接目錄,再完全退出並重開 DSH。步驟見倉庫 README「卸載」。
結尾¶
dsh-copy-file 把「預覽裏看到的文件」和「資源管理器裏能粘貼的文件」連成一步,減少回源目錄查找的路徑成本。目錄與源碼: