dsh-projectless-session:DeepSeek Harness 無工作區會話插件

前言

DeepSeek Harness (DSH) 的設計理念傾向於模塊化,開發者有時需要在不建立完整 Workspace 的情況下進行臨時對話。在 DSH 0.2.0-rc.2 版本中,沒有已註冊 Workspace 的空白會話會禁用原生的編輯器 UI,導致 Agent 預設、附件上傳等功能無法使用。

dsh-projectless-session 插件解決了這一問題。它通過創建一個臨時的 Workspace 註冊,讓原生 UI 能夠正常工作,並在首次對話後清理註冊,從而實現無工作區會話的功能。

插件簡介

這是一個由 jarvisluk 維護的客戶端插件,旨在 DeepSeek Harness 中提供“無工作區會話”能力。每個會話都會獲得一個按日期整理的獨立工作目錄。

核心功能

  • 創建無工作區會話:在 Workspace 選擇器中增加該選項,無需預先配置文件或環境。
  • 按日期組織獨立工作目錄:會話文件默認存儲在 ~/Documents/DSH/YYYY-MM-DD/session-HH-mm-ss-random/,避免衝突。
  • 複用 DSH 原生新會話 UI:在會話打開時,完整保留 Agent 預設、命令、附件、訪問模式及發送按鈕。
  • 支持中英文雙語:界面文案跟隨 DSH 的 Language 設置自動切換。
  • 保留會話可恢復性:首條消息後僅刪除 Workspace 註冊,Session、日誌和目錄保留在“未分組”區域。
  • 自動清理未使用的空白會話:未發送消息的空白會話會被歸檔和清理。

安裝與啓用

使用官方 CLI 安裝插件:

dsh plugin --profile web add github:jarvisluk/dsh-projectless-session

安裝完成後,必須重啓 dsh web 進程才能生效。若需卸載,可執行:

dsh plugin --profile web remove dsh-projectless-session

典型用法

會話目錄結構

插件會自動爲每個會話創建獨立的根目錄,默認路徑如下:

~/Documents/DSH/YYYY-MM-DD/session-HH-mm-ss-random/

自定義根目錄

如需修改存儲位置,可在 Web profile 的 cordis.patch.yml 中配置:

- id: dsh-projectless-session
  config:
    root: /absolute/path/to/DSH

工作原理

插件利用 DSH 的 Cordis Host/Client 擴展接口,在會話生命週期內模擬一個臨時 Workspace:

  1. 創建目錄:Host 通過共享 /api 通道上已認證的 DSH Connection 接口創建目錄。
  2. 註冊臨時 Workspace:客戶端將該目錄註冊爲臨時 Workspace。
  3. 啓動原生 UI:DSH 在臨時 Workspace 中創建並打開 Session,此時原生的空白會話編輯器完全可用。
  4. 首次消息後清理:DSH 接受首條消息並報告 blank === false 後,插件僅刪除 Workspace 註冊,不刪除實際目錄和歷史。
  5. 會話歸檔:Session 進入內置的“未分組”區域,重啓 DSH 後仍可恢復。
  6. 清理廢棄會話:如果會話從未被使用(用戶切換走、DSH 退出或啓動時發現殘留),插件會註銷 Workspace 並刪除空目錄。

適用場景與注意

  • 依賴環境:依賴 DeepSeek Harness 0.2.0-rc.2 和 Node.js 22.19 或更高版本。
  • 運行權限:插件以當前 dsh web 進程的權限運行,建議安裝前檢查源碼與許可證。
  • 僅限本地:當前功能主要面向本地 Web/Desktop profile。

總結

dsh-projectless-session 通過巧妙的生命週期管理,在保留 DSH 原生 UI 優勢的同時,實現了輕量級的無工作區會話功能。對於需要頻繁創建臨時對話的開發者,這提供了一個兼顧便捷性與數據管理的解決方案。

更多細節與源碼請訪問:GitHub 倉庫 | 技能樹目錄

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

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

小夜