dsh-session-move:在 Web UI 中移動、刪除與 AI 重命名 DSH 會話

前言

DeepSeek Harness(dsh)的 Web 工作臺裏,會話默認綁定在創建時所在的工作目錄(文件夾)上;側欄只能歸檔,不能把會話遷到其他 workspace,也無法從磁盤上徹底刪掉。會話標題往往只反映首條消息,長對話後很難從列表裏一眼認出內容。若你經常在多個項目目錄間切換、或希望 Agent 也能整理會話,官方 UI 會缺這幾塊能力。

下面介紹社區插件 dsh-session-move(維護者 hwangjunjie,分類:客戶端):在瀏覽器端補全「跨文件夾移動」「永久刪除」「整段對話 AI 重命名」,並把同一套能力暴露給 Agent 工具與 HTTP 接口。

這是什麼

dsh-session-move 是面向 DeepSeek Harness 的雙端插件(host + browser),在 Web UI 中管理會話:拖拽或菜單把會話移到另一個文件夾、經確認後永久刪除、以及用 LLM 根據整段對話生成標題。與官方行爲對比如下(摘自插件 README):

能力 官方 dsh 安裝本插件後
將會話移到另一文件夾(workspace) 會話鎖定在創建目錄 支持拖拽或菜單選擇目標文件夾
永久刪除會話 僅歸檔(隱藏,未真正刪除) 菜單確認後完整移除
AI 重命名 自動標題多來自首條消息 一鍵:LLM 採樣整段對話後生成 concise 標題

每項能力還對應 Agent 工具,便於自動化整理會話。

核心功能

移動會話

  • 拖拽:在側欄抓住某條會話,拖到另一文件夾標題上;懸停時目標高亮,鬆手即移動。
  • 菜單:會話 ... → Move to folder… → 選擇目標 → 確認。

移動會改寫會話工作目錄:更新會話頭中的 cwd,把持久化日誌遷到目標文件夾的 storage slug,並更新 workspace 記賬;歷史隨會話一起走,之後在新目錄下繼續可用。

永久刪除

會話 ... → Delete session → 勾選理解後果 → 確認。會先停止正在運行的 Agent,再移除日誌目錄、projection-cache 行與 workspace 記賬,不會留在「未分組」裏。

AI 重命名

會話 ... → AI Rename。LLM 在 token 預算內對整段對話做代表性採樣,修正筆誤並生成與對話語言一致的短標題。默認 timeoutMs 爲 60 秒,運行中可取消;按鈕在 Cancel(進行中)與 Done(完成)之間切換。

路由:若在插件配置裏固定 renameAi.provider 與 renameAi.model,優先使用該路由;否則使用各會話最近一次請求的路由,失敗或超時會 failover。可在 profile 的插件行中配置,例如:

- id: session-move
  name: dsh-session-move
  config:
    renameAi:
      provider: deepseek-official
      model: deepseek-v4-flash
      targetWords: 6
      targetCjkCharacters: 14
      maxInputBytes: 8192
      maxOutputTokens: 96
      timeoutMs: 60000

Agent 工具

工具名 說明
workbench_session_move 按 session id + workspace id 移動會話
workbench_session_delete 永久刪除會話
workbench_session_rename_ai AI 重命名會話

HTTP 接口(供 UI 或直接調用)

路徑 方法 Body 返回
/__sessionmove/info GET — 全部 workspace 及會話當前 workspace
/__sessionmove/move POST { sessionId, workspaceId } 移動結果(舊/新 cwd、workspace id、agentReleased 等)
/__sessionmove/delete POST { sessionId } 已移除內容
/__sessionmove/rename-ai POST { sessionId } 新標題
/__sessionmove/rename-ai-cancel POST { sessionId } { ok, cancelled },中止進行中的 AI 重命名

安裝與啓用

插件要求 Node >=22.19.0、dsh >=0.1.0-rc.6(見 package.json)。安裝命令以 README 原文爲準:

# from GitHub (recommended until published to npm)
dsh plugin --profile web add https://github.com/reinocheong/dsh-session-move/archive/refs/tags/v0.1.2.tar.gz

加載插件需重啓對應 profile,例如 systemd 部署:

# systemd-managed installs
sudo systemctl restart dsh

若手動把包拷到 ~/.dsh/profiles/node_modules/,還需在 profile 的 cordis.patch.yml 中註冊(dsh plugin add 會自動完成):

- insert:
    - id: session-move
      name: dsh-session-move

許可證:MIT。

典型用法小結

  1. 安裝並重啓 dsh Web profile。
  2. 在側欄用拖拽或 Move to folder… 把會話遷到目標項目文件夾。
  3. 需要清理時用 Delete session 做永久刪除(勿與官方歸檔混淆)。
  4. 長對話列表難辨時,用 AI Rename;需要固定模型時在 cordis.patch.yml 的插件 config.renameAi 中配置。
  5. 在 Agent 流程中調用 workbench_session_move / workbench_session_delete / workbench_session_rename_ai 做批量或腳本化整理。

移動的實現會同步 header cwd、日誌目錄、projection cache 與 workspace 註冊表;對正在執行任務的會話,v0.1.2 起會釋放 Agent 註冊,避免移動後無法重新打開或續聊。細節見插件 README 的 “How it works” 與 Reliability 小節。

適用場景與注意

適合:在多 workspace / 多目錄間整理 dsh 會話的開發者;希望徹底刪除誤開會話或歸檔仍佔存儲的場景;需要基於整段對話生成側欄標題;或讓 Agent 代爲移動、刪除、重命名會話。

注意:

  • 插件與當前 dsh 進程同權限運行,安裝前請自行審閱 GitHub 源碼 與 MIT 許可證。
  • 永久刪除不可恢復,操作前確認會話 ID 與目錄。
  • AI 重命名依賴已配置的 LLM 路由與網絡;超時或失敗會嘗試 failover。
  • 社區目錄 SkillHub 插件頁 與 DeepSeek / 幻方無官方從屬關係;DSH 生態強調「一切皆插件」,本插件爲社區貢獻的客戶端能力擴展。

結尾

dsh-session-move 把官方 Web UI 未覆蓋的會話遷移、真刪除和整對話 AI 標題補到側欄與 Agent 工具裏,適合日常多項目使用 dsh 時保持側欄整潔。更多信息見 SkillHub 目錄頁 與 GitHub 倉庫。

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

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

小夜