dsh-seeker-bot:把 AI 在幹什麼攤開給你看的 DSH 對話增強套件

前言

DeepSeek Harness(DSH)默認的對話界面給的是一個輸入框加一條滾動條:模型在想什麼、調了哪些工具、產出了什麼文件,全擠在同一條時間線上,想看懂只能翻工具日誌。裝一堆第三方記憶、檔案、技能插件也往往是各自爲政,側欄越加越長。

下面是對 kr-atg/dsh-seeker-bot 的介紹。這個插件(目錄頁分類爲「工作流」)做的是同一件事:把執行過程從對話流裏拆出來,另外給你一個右欄大盤,再把記憶、檔案、技能這些散件收成一排工作臺。維護者是 Kr-ATG,採用 MIT 協議,條目見 SkillHub 目錄頁與 GitHub 倉庫。

這是什麼

一句話定位:dsh-seeker-bot 是 DSH 的對話體驗增強套件,包含 Seeker 雙欄執行大盤、正文裏的可交互卡片、Bot 團隊 / 羣聊 / 語音,以及記憶 · 檔案 · 技能等工作臺。

README 裏的原話是「把「AI 到底在幹什麼」攤開給你看」,再把記憶、檔案、技能這些散落的東西收成一排工作臺。它面對的問題列得很清楚:想知道 AI 幹了什麼但不想讀一屏工具日誌;想讓模型直接給個能點的東西而不是一段文字;想讓模型畫架構圖 / 流程圖;想把它當團隊用;想讓自己機器上的數據(檔案、記憶、密鑰)留在自己機器上。

倉庫相關事實(以 GitHub API 與 package.json 爲準):

  • 包名 dsh-seeker-bot,當前 package.json 版本 0.2.2;倉庫默認分支 master,主語言 JavaScript。
  • 許可證 MIT,倉庫創建於 2026-10-31,截至撰稿 star 與 fork 均爲 0。
  • 插件聲明 dsh.bundle.patch,因此在 dsh plugin ... add 之後會自動掛到 profile 的 bundles 層,不需要手工改配置。

README 明確寫了「零 DSH 源碼改動」:全部能力以 Cordis 插件注入,官方升級不動它。ARCHITECTURE.md 裏的硬結論是,dsh.bundle.patch 是自動掛載的唯一開關——沒有 dsh.bundle 的依賴只會被當成普通依賴、只 warn 不加載。安裝前可以先看這一節,確認這是插件而不是手改 profile。

安裝與啓用

README 給出的安裝命令只有一條,注意它帶 --profile web 的寫法,不要自己拼接 dsh plugin add github:owner/repo:

dsh plugin --profile web add github:Kr-ATG/dsh-seeker-bot

裝完重啓 DSH 即可。本包聲明瞭 dsh.bundle.patch,dsh plugin add 會自動加進 profile 的 bundles 層,不用手改配置文件。

如果你在本地改這個倉庫,docs/INSTALL-TROUBLESHOOTING.md 給的是官方鏈接安裝方式(link: 前綴),而不是手工建 Junction 或往 profile 裏插 patch 行:

dsh plugin --profile web add link:D:/AI/dsh-seeker-bot

卸載與回滾同樣是一條命令:

dsh plugin --profile web remove dsh-seeker-bot

文檔裏對安裝和重啓有幾處反覆強調的坑:不要用定時腳本 kill 當前 DSH 進程(典型寫法 Start-Sleep -Seconds 5; Stop-Process -Name node -Force 會連當前宿主和安裝腳本一起殺掉,留下半截 profile 或鎖文件殘留);也不要手工改 profile,手工建 Junction 會導致 bundle 行缺失、patch 雙註冊、殘留舊插件這三類問題。另外 --from-default-profile 會替換同名 profile,只能在隔離的 DSH_HOME 裏執行。全文見 docs/INSTALL-TROUBLESHOOTING.md。

升級時注意 pnpm 一輪內刪除數超閾值會報 SAFE_DELETE_BULK_CONFIRM_REQUIRED,remove 與 add 要分兩輪:

dsh plugin --profile web remove dsh-seeker-bot
dsh plugin --profile web add dsh-seeker-bot

核心能力一:Seeker 雙欄執行大盤

會話頭部標籤欄多一個「Seeker」(內部代號 KR),與官方「對話 / 軌跡」並列。點進去之後,底層仍然是官方 ChatView(多輪歷史、虛擬滾動、Markdown、輸入框全部原樣),右邊多一欄執行大盤:

  • 左欄只留一行狀態卡:頭像 +「Seeker 正在…」+ 末尾三點 + 用時讀數,工具明細不再往這邊堆。
  • 右欄固定五張卡:子智能體、操作面板、任務、產出物、記憶。子智能體卡固定 5 行窗口(卡高與內容無關,多出來的行在窗口內滾動),這樣緊貼其下的「操作面板」永遠停在同一位置——子智能體多幾個少幾個都不會把它推走;沒有子智能體時整卡不可見但佔位保留。
  • 右欄「操作面板」做的事情是把工具調用翻成中文人話:顯示「查看文件 KrAgentPanel.tsx」,而不是 read_file(path=…)。
  • 左欄「思考過程」貼在對話流裏,跑時展開、收口自動摺疊成一行;右欄的「記憶」卡釘在底部、默認摺疊。

切換輪次的入口是右鍵你自己發的那條消息,右欄大盤切到對應輪次;左鍵保持正常文本選擇與複製,不觸發大盤。

「Seeker」標籤右側有一枚齒輪按鈕,點開在視口中央彈出設置卡片,共四組:「提示詞通道」4 行(對話內交互卡片 / 團隊協作 / 動效技能強制加載 / 通俗解釋 ELI5)、「任務清單」2 行(任務清單紀律 / 回合結束自動收口)、「展示」3 行(總結卡外框 / 工具調用卡 / 思考自動翻譯),以及下方通欄的「工作區記憶」。齒輪與卡片聯動(再點收起、Esc 關閉、點遮罩關閉),改完立刻生效、刷新後保留。

值得單獨說一句的是「工作區記憶」:它列出本機全部工作區,每個工作區兩枚開關——記錄(要不要往這個工作區攢新記憶,關掉後不再自動提取、模型也不能手動記)與不注入(要不要把已有記憶讀進它的會話)。兩件事語義相反、互不影響:關掉「記錄」不影響已有記憶照常注入,打開「不注入」也不影響繼續攢。

README 還記了一處兼容性細節:DSH 0.2.1-rc.3 給標籤行外面多包了一層 .tabs 容器,舊規則打在內層 tablist 上會把標題擠到最右;插件按新結構補了規則,兩版選擇器靠 :not([role='tablist']) 區分,rc.2 與 rc.3 都能正常顯示。README 頂部的 DSH 版本徽標標的是 0.2.1-rc.2+。

核心能力二:正文裏能出卡片

這類能力的特點是不需要額外配置,直接在對話裏寫圍欄或發命令就行。

HTML 沙箱卡片(能跑真 HTML/JS):正文裏寫 ```html 圍欄,卡片會在對話流裏渲染。畫架構圖 / 流程圖 / 時序圖的做法是手寫內聯 SVG,同樣走這個圍欄。想讓它給個能點的小工具 / 可視化 / 演示頁也是這條路。

iu 原生交互卡:輸入框發 /iu 開頭,出來的是真控件而不是文字,包括滑塊 / 表格 / 清單 / 看板 / 天氣 / 行情 / 鏈接等類型(README 首屏表格寫「共 15 種」;docs/ARCHITECTURE.md 目錄下寫的卻是「12 種 kind」,兩處口徑不一致,以實際能出的類型爲準)。用途是快速取值換算 / 對比 / 清單,不要長篇大論。

內聯 SVG:手寫內聯 SVG 直接在對話流裏渲染,不需要外部渲染服務。

@ 挑窗口:輸入框打 @,可以挑當前運行中的程序窗口,目的是讓 AI 知道「我現在開着什麼」。

多消息(一次 turn 多條消息):Bot 像同事一樣分段彙報,而不是憋一大段:每條消息獨立氣泡,風險 / 待決策 / 待批准各是一張卡片。對應文檔裏的多消息與審批卡。

對話完成膠囊:跑完以後在左下角小橫條 / 頂部懸浮提示,點一下回到那條會話。

消息撤回:用戶消息旁有 ↶ 撤回按鈕,作用是對話回退到那條消息之前:項目文件默認不動,附件回填輸入框。package.json 的 description 寫的是「對話撤回(文件與對話一併回退,含版本翻頁)」。

網頁搜索降級鏈:搜索額度打滿時自動換一家繼續搜,鏈路是 AnySearch → Tavily → DeepSeek。

核心能力三:Personal Agent(Bot 模式)

側欄頂部有 Work / Bot 切換,切到 Bot 就是 Personal Agent:主 Bot + 子 Bot + 羣聊 + 日記 + 語音通話。README 對羣聊的描述是「成員真能互相看見上下文」,不是各說各話。

幾個可復現的操作:

  • Bot 到點自己幹活,不需要一直開着頁面:右欄的「例行任務 / 主動詢問」,執行在宿主常駐進程裏。
  • 分段彙報:見上一節的多消息。
  • 一鍵開始 / 掛斷 Bot 語音通話(全局熱鍵):官方設置 → 通用 → 快捷鍵 →「語音通話(開始 / 掛斷)」,默認 Ctrl+Alt+V;桌面殼下窗口沒焦點也能按,在哪個 Bot 界面就通話哪個。

記憶是按 owner 隔離的,Bot 之間不串味。這與下面工作臺的記憶是同一套存儲。

核心能力四:記憶、檔案、技能等工作臺

README 的目錄裏有一節叫「六個工作臺」,package.json 的 description 寫的是「供應商中心、記憶/技能/連接器/畫廊/檔案七個工作臺」,兩處口徑不一致,以實際側欄爲準。README 首屏表格點名到的有:

  • 記憶:讓 AI 記住你的偏好與身份,按 owner 隔離。
  • 檔案:存賬號密碼 / 卡 / 證件照片,並且要能自動進上下文。ARCHITECTURE.md 的安全一節寫的是敏感值落盤加密(AES-GCM),列表接口返回掩碼,明文只在用戶主動查看時單字段取出。
  • 檔案 → 文件區:存 Clash 訂閱 / 配置文件 / 證書,隨雲同步上傳,換機也不丟。
  • 技能、連接器(MCP)、畫廊:技能與連接器以工作臺形式收納。
  • 同步設置:勾選要漫遊的資產(記憶 / 檔案 / 技能 / MCP / 供應商與密鑰 / 實時語音 Live 供應商),端側加密後推到你自己 GitHub 私庫,換機後跟着過來。
  • 供應商:官方設置彈窗裏的供應商中心,用來管 API Key / 代理 / 生圖模型。

安全邊界方面,ARCHITECTURE.md 列的是:路由複用宿主 web 會話 cookie,寫操作校驗 Origin;文件只接受 workspace 內相對路徑,resolve 後做前綴校驗以防路徑穿越;審批覆用 dsh-user-approval,插件不自建放行通道;寫進系統提示的文本一律限長並規整換行。

側欄這一層做的是「工作區 ⇄ 操作間」切換,六個工作臺入口加側欄底部的 MCP 膠囊(點擊彈出連接器彈窗)。

典型用法

下面幾條都是 README 或文檔裏寫到的用法,裝完就能照着走。

  1. 看執行過程。切到會話頭部的「Seeker」標籤,左欄留給對話,右欄看子智能體 / 操作面板 / 任務 / 產出物 / 記憶。要畫圖就在對話裏要求它給出 ```html 圍欄的內聯 SVG;想讓它分段彙報就要求按一次 turn 多條消息出。

  2. 一次性要一個能用的東西。在對話裏要求它給出某個換算 / 對比 / 清單的 /iu 卡片;要「一個能點的小工具 / 演示頁」時要求用 HTML 卡片,確認卡片裏能跑 JS。

  3. 讓 AI 記住你。在記憶工作臺按 owner 記偏好與身份,Bot 之間按 owner 隔離。不想某個工作區繼續攢記憶、或不想讓已有記憶讀進它的會話,在 Seeker 大盤設置裏的工作區記憶列表裏分開開關即可。

  4. 存檔。在檔案工作臺存賬號密碼 / 證件照片,確認端側加密;需要跨機時在同步設置裏勾選讓資產跟隨。

  5. 組一個團隊。側欄切到 Bot,建主 Bot + 子 Bot,用羣聊讓他們互相看得見上下文;用例行任務 / 主動詢問讓它到點自己幹活;用全局快捷鍵 Ctrl+Alt+V 一鍵通話。

  6. 重來本輪。要作廢某一輪就點那條用戶消息旁的 ↶ 撤回:對話回到那條消息之前,項目文件默認不動,附件回填輸入框。

適用場景與注意

適合的人,按 README 列的四條來讀:已經在用 DSH 但覺得官方界面不夠用;需要中文界面 + 中文人話的執行過程反饋;想把 AI 當團隊用(多 Bot 協作、羣聊、定時幹活、語音通話);關心檔案、記憶、密鑰全部端側存儲與加密。

幾點需要先說清楚:

  • 權限邊界:插件注入當前 DSH 進程,以該進程的身份與權限運行,能訪問同一臺機器上的文件與工作區。裝之前把它當作「接受了帶代碼的遠程依賴」,先看倉庫源碼與許可證(本項目 MIT),再決定是否打到真實 profile。
  • 項目還早:倉庫 2026-10-31 創建,截至撰稿 star 與 fork 均爲 0。功能面鋪得開(Seeker、卡片、Bot、工作臺、同步),但 README 與文檔內部也有口徑不一致的地方(如工作臺數量、iu 卡片種類數量),實際以界面爲準。
  • 裝錯的代價:文檔記過一次真實事故——舊版客戶端把手寫的 MutationObserver 裏做模式切換 + 列表重渲染,觸發「重建 → 變更 → 再重建」的死循環,服務端完全正常但頁面在 15 秒後主線程不響應。修復要點是隻做冪等外殼對賬、不再重建 DOM 結構,並在寫 DOM 前先比對。所以裝完請按文檔的方式驗證「頁面沒卡死」,而不是隻看服務是否返回 200。
  • 不要手工裝:README 與排障文檔都明確不要手工改 profile、不要建 Junction、不要用定時 kill 重啓。
  • 版本面:DSH 0.2.1-rc.2 / rc.3 的標籤行結構差別已在插件裏處理;升級 DSH 後優先看 Seeker 標籤位置是否正常。

安裝 / 回滾的完整流程、隔離驗證腳本(scripts/verify-install.mjs、scripts/test-bot-install.mjs、scripts/smoke-host.mjs)與故障復盤見 docs/INSTALL-TROUBLESHOOTING.md,技術架構見 docs/ARCHITECTURE.md。

結尾

dsh-seeker-bot 的價值不在於它加了多少功能,而在於它把 DSH 裏本來就散落的東西收攏成一套入口:執行過程進右欄大盤,可交互結果進正文卡片,偏好與憑據進工作臺,多 Bot 協作進 Bot 模式。安裝是一條命令,卸載也是一條命令,不涉及 DSH 源碼改動。

直接入口:SkillHub 目錄頁 https://www.skillhub.cn/plugins/Kr-ATG/dsh-seeker-bot ,倉庫 https://github.com/Kr-ATG/dsh-seeker-bot 。

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

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

小夜