dsh-cmdk:DeepSeek Harness 的 ⌘K 命令面板

前言

在 DeepSeek Harness(DSH)裏日常會切換會話、工作區,還要找某條歷史消息或開關某個 client 插件。側欄和菜單能完成這些事,但路徑分散:會話一多,標題檢索、歸檔、Fork、導出 Markdown 往往要點好幾層。社區插件 dsh-cmdk(維護者 hhse,分類:客戶端)把上述能力收進一個命令面板:用 ⌘K / Ctrl+K 打開,模糊搜會話標題、掃最近會話正文、切工作區、換主題與語言,並對單條會話或工作區做快捷動作;已安裝插件可在面板裏啓用/禁用。README 寫明裝完即用、無配置、零依賴,當前版本 0.3.1,許可證 MIT。

這是什麼

dsh-cmdk 是 DSH 的 client 插件,在桌面 Web 界面注入 overlay 命令面板與側欄底部「⌘K 搜索」入口。Host 側提供 /cmdk/* 路由讀會話目錄、工作區清單與插件狀態;Client 側負責展示、鍵盤導航,以及通過公開的 uiWorkspace、sessions、theme、locale 等 Client 服務執行跳轉與動作,不直接改宿主內部模塊。

目錄頁:https://www.skillhub.cn/plugins/hhse/dsh-cmdk
源碼:https://github.com/hhse/dsh-cmdk

核心功能

打開面板與搜索

輸入 結果
⌘K / Ctrl+K 打開或關閉面板
會話標題 模糊匹配全部會話(前綴優先,其次子串、拼音首字母、子序列),回車跳轉
中文首字母 例如 cj 匹配「插件…」,cjgc 匹配「插件廣場」
消息內容 宿主掃描最近 12 個會話的日誌文本,展示帶上下文的命中片段
工作區名 切換工作區
深色 / 淺色 / 跟隨系統 切換主題
中文 / English 切換界面語言

拼音匹配僅支持首字母(內置 U+4E00–U+9FFF 首字母表),全拼如 chajian 不會命中,cj 可以。

對會話的更多動作

在列表中對一條會話按 →(或行尾 …)可:打開、重命名、Fork 到新會話、歸檔、複製會話 ID、複製工作目錄路徑、在訪達/資源管理器打開工作目錄、導出爲 Markdown(含圖片輪與工具調用,文件落到下載目錄)。

插件與工作區

面板中的「插件」分組列出當前 profile 下已安裝插件的名稱、版本與啓用狀態;回車切換啓用/禁用(調用 pluginManager.setBundleEnabled,失敗自動回滾),按 → 可打開該插件在 node_modules 中的目錄。對工作區按 → 可切換、在此新建會話、在訪達打開。

系統項

可打開 profile 目錄、sessions 目錄、日誌目錄,或刷新頁面。

鍵盤:↑ ↓ 選擇,↵ 執行,→ 更多動作,← / Esc 返回上一層。

給其他 client 插件擴展命令

任意 client 插件可向面板註冊一行命令,無需改 dsh-cmdk 源碼:

window.__DSH_CMDK__?.register({
  id: 'my-plugin.open-docs',
  title: '打開插件文檔',
  sub: 'my-plugin 說明書',
  run: (ctx) => ({ status: '已打開' }),
});
window.__DSH_CMDK__?.unregister('my-plugin.open-docs');

早於本插件加載的模塊也可用事件:window.dispatchEvent(new CustomEvent('dsh-cmdk:command', { detail: { id, title, run } }))。

最近使用

用過的動作寫入 localStorage["dsh-cmdk/recent"](次數與時間,最多 60 條),空查詢時按使用頻率排在最前,數據僅存本地。

安裝與啓用

在 DSH 插件市場搜索 dsh-cmdk 安裝;或從本地目錄以 link 方式加入 profile(README 示例):

dsh plugin --profile desktop add link:/Users/mumu/Documents/微信插件/DSH插件/cmdk2

安裝完成後重啓桌面 app,或刷新頁面,以加載新的 client 模塊。README 未要求額外配置文件。

典型用法

  1. 按 Ctrl+K(macOS 爲 ⌘K)打開面板,輸入會話標題片段或拼音首字母,回車進入目標會話。
  2. 記得某段對話關鍵詞但不確定在哪個會話時,直接輸入關鍵詞;面板會在最近 12 個會話的正文裏檢索並展示片段(跳轉到會話頂部,不定位到單條消息序號)。
  3. 輸入工作區名稱切換環境;輸入 深色 或 English 快速改主題或語言。
  4. 選中會話後按 →,選擇「導出爲 Markdown」或「Fork 到新會話」等動作。
  5. 在「插件」分組中找到目標插件,回車切換啓用狀態;若宿主提示需重啓,按提示重啓後再用。

Host 路由(供對接與排查)

方法 路徑 作用
GET /cmdk/info home / profile / platform
GET /cmdk/sessions?q=&limit= 會話目錄、標題匹配、正文命中片段
GET /cmdk/workspaces 工作區清單與已歸檔會話 ID
GET /cmdk/export?id= 將會話渲染爲 Markdown
GET /cmdk/plugins 已安裝插件(名稱、版本、啓用狀態、目錄)
POST /cmdk/plugin { name, enabled } 啓用或禁用插件
POST /cmdk/open-profile 在系統文件管理器中打開目錄(可選 {path})

自定義路由經 connection.requestRejection 校驗,僅在本機迴環口可用。

適用場景與注意

適合經常在 DSH 裏切換會話與工作區、需要快速搜最近對話內容、或集中管理 client 插件開關的用戶。內容搜索不依賴 SQLite 全文索引,而是掃 filterEvents({ kind: 'text' }),因此只覆蓋最近 12 個會話,且無法跳到具體消息行。

插件以當前 DSH 進程權限運行;安裝前建議閱讀 GitHub 倉庫 源碼與 MIT 許可證。社區目錄 SkillHub 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,安裝來源以你信任的 market 或自建 link 爲準。

結尾

經過上面的步驟,dsh-cmdk 把會話、工作區、插件與常用系統動作收到一個快捷鍵入口裏,並允許其他 client 插件通過 window.__DSH_CMDK__ 擴展命令。需要詳情時見目錄頁 skillhub.cn/plugins/hhse/dsh-cmdk 與倉庫 github.com/hhse/dsh-cmdk。

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

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

小夜