dsh-assistant:一個把委派、權限和上下文管理交給父代理的 DSH 聊天代理

前言

DeepSeek Harness 的生態理念是「一切皆插件」,agent 類插件也因此很常見。但多數 agent 插件的交互方式仍是「用戶點一下,插件跑一下」:長任務會阻塞當前對話,worker 的中間過程把上下文佔滿,工具權限邊界也比較模糊。

下面介紹的 dsh-assistant 換了一種結構。它由 StarsHarryZhu 維護,以 npm 包 @starsharryzhu/dsh-assistant 分發,版本 0.2.1(本篇按抓取時的倉庫與 package.json 覈對)。核心思路是:對話裏只保留一個輕量的「父代理」,真正幹活的交給後臺 worker 子代理,由父代理統一管理它們的上下文、模型、工作區和權限。下面按架構、能力、安裝、配置、限制的順序說明。

這是什麼

一句話定位:這是一個面向 DeepSeek Harness Desktop 的通用聊天代理(general-purpose chat agent),把「用戶操作每個工具」換成「父代理規劃、委派、審批」。

  • 維護方:StarsHarryZhu(package.json 的 author 字段署名爲 Starfield)。
  • 許可證:MIT,Copyright (c) 2026 Starfield。
  • 語言:TypeScript。
  • 依賴運行時:DeepSeek Harness Desktop >=0.2.1-rc.5 <0.3.0。只支持桌面端,網頁版和其他宿主不支持。
  • 倉庫現狀:截至抓取時 GitHub 倉庫 StarsHarryZhu/dsh-assistant 沒有 description,star 數爲 0、fork 數爲 0,創建於 2026-11-03。功能描述以 README 爲準。

架構:父代理 + worker 子代理

README 把插件描述爲「兩個隱藏的 agent preset + 一個可見的對話」。實際結構分四塊。

1、父代理(router)。它就是聊天窗口裏的那個代理:和你對話、用固定文件上的窄工具記簡單事實、其餘事情用 delegate 交給 worker。它沒有通用文件寫入、shell、web 或官方 subagent 工具,所以不會因爲某個任務卡死,隨時可以接你的下一條消息。

2、Workers。worker 掛在自己的 preset 上,持有真正幹活的工具集。每個 worker 有獨立的 cwd,只能改自己的子工作區(外加臨時目錄);要改別處必須發 request_write_access,由父代理應答。

3、父代理作爲管理者。它從你啓用的模型裏給 worker 選模型和推理力度,把你的請求按你的原話轉述過去,不輪詢進度,只回報結果、決策或失敗。worker 的上下文不進入對話;父代理自己的上下文按可配置比例自動壓縮,默認 50%。

4、權限與隔離。默認允許工作區內寫入,越界自動拒絕。父代理自動批准「與任務匹配的區內工作」,破壞性或含糊的改動只問一句自然語言,不彈模態框。每個 assistant 可以單獨設成只讀、工作區寫入或完全訪問。隔離是雙向的:父代理的記錄工具只存在於兩個隱藏 preset 裏,其他插件的全局工具也不會進這兩個 preset,本插件自身的工具也不會出現在普通會話中。

核心能力

以下條目均來自 README。

  • 側邊欄有一行入口,打開最近一個 assistant 的對話;不同 assistant 之間切換對話標題,也可以創建新的(需要名稱、稱呼、工作區)。
  • 每個 assistant 對應一條長對話,自動壓縮上下文。
  • 每個對話可以分別選模型和推理力度,另有 worker 模型多選列表。
  • 工作區裏以純文本文件保存記錄:日程 ddl.md、清單、備忘錄、日誌、profile、persona、項目。密碼、卡號、身份證號不會被記錄。
  • 日程帶提醒和 /ddl 周視圖,每天早上一份日報,另有 watchdog 看門狗。
  • 心跳代替定時任務:assistant 每小時自動醒一次,到期事項精確到分鐘喚醒,也可以自己設定下次喚醒。空閒心跳是否調用模型是一個設置項。
  • 靜默時間分日常和臨時兩類。靜默時段內的提醒挪到前一天晚上或次日早上,其他微信消息等時段結束再回;assistant 只在你要求時改這些設置。
  • profile 裏有自己的時區,由你所說的位置和日程推算,不看設備時區。
  • DeepSeek 賬戶餘額提醒,措辭可配置。
  • 微信由子插件 im-robot 提供:掃碼綁定,assistant 自我介紹;之後在微信裏就是同一條對話。assistant 對每條回覆決定是否同時發微信,你在哪個入口最後說話,需要看到的內容就發到哪。你發的圖、文件、語音、視頻會顯示在對話裏,並存到工作區的 IM/WeChat/(默認 30 天,可調,設 0 表示不保留);處理前 assistant 會把文件複製一份出去。回覆會把文本拆成短消息發送。

安裝與啓用

要求 DeepSeek Harness Desktop 版本在 >=0.2.1-rc.5 <0.3.0 區間內,且只支持 Desktop。

裝法有兩種:在 DSH Desktop 的 Plugins 頁面安裝,或者命令行:

dsh plugin --profile desktop add @starsharryzhu/dsh-assistant

這條命令會同時裝上兩個子插件 @starsharryzhu/complete-subagent(委派工具、worker 模型選擇、寫權限申請)和 @starsharryzhu/im-robot(微信橋)。兩個子插件在 dependencies 裏固定爲精確版本,只掛載在兩個隱藏 preset 內部;如果單獨安裝其中一個,自帶的那份會自動關掉。

配置項:Plugins 頁與每個 assistant 的 Settings

分兩層。

Plugins 頁(所有 assistant 共享):

1、worker 模型列表。
2、上下文壓縮比例。
3、餘額提醒的閾值和檢查間隔。
4、提醒文案。
5、persona 和 profile 的長度上限。

每個 assistant 的 Settings 標籤頁:

1、名稱和稱呼。
2、提醒提前量、日報時間。
3、心跳間隔和空閒喚醒。
4、靜默時間。
5、watchdog 超時。
6、微信開關和消息長度。

設置頁的「Shared settings」按鈕可以打開 Plugins 頁那套共享配置。數字類字段可以直接清空重填,離開字段時會對值做校正。

典型用法

README 沒有給端到端示例腳本,下面這些是從能力描述能直接落地的用法。

1、首次創建 assistant:在側邊欄入口新建,填名稱、稱呼和工作區。之後這條對話就是它長期運行的上下文。

2、日常記錄:直接讓 assistant 記日程或備忘,它寫到工作區的 ddl.md 等文件裏,你不用自己維護文件結構。到期前靠心跳和提醒通知。

3、查看一週安排:在對話裏用 /ddl 打開周視圖。

4、委派長任務:把任務描述發給 assistant,父代理會用 delegate 交給後臺 worker,期間父代理仍可接受你的下一條消息。worker 需要改工作區外的文件時,父代理會代爲提問並等你確認。

5、綁定微信:用 im-robot 提供的二維碼掃碼綁定,隨後 assistant 會自我介紹。綁定後從微信發消息到同一個對話;assistant 按條決定是否同時把回覆發回微信。

已知限制

README 的 Known limits 一節列出了這些約束,照錄如下。

  • 側邊欄的全文本搜索仍能找到 assistant 的對話。
  • 應用關閉或電腦休眠時心跳停止;恢復後會補上仍然待辦的事項。
  • 應用會保留對話中顯示過的每張圖片和文件的副本,即使 IM/WeChat/ 已刪除原文件。
  • 只隔離工具;其他插件注入的全局 prompt 上下文不做過濾。
  • assistant 還不能向微信發送圖片或文件。語音仍是原始 SILK 音頻,文字形式用微信轉寫的文本代替。
  • worker 不能修改工作區之外的任何內容;在 DSH 0.2.1-rc.5 上,審批通過的路徑只覆蓋 write/edit 工具,不覆蓋 shell 命令。
  • 只在 macOS 上用 Desktop 0.2.1-rc.5 和 0.2.2-rc.1 驗證過,其他系統未測試。

另有一條路線圖:下一步是父代理的單窗口自我管理——在同一個對話裏處理它自己的上下文、模型選擇和長跑任務,減少交接與人工監督。目前尚未實現。

適用場景與注意

適合這幾類人:

1、想在 DSH 裏跑「長線陪伴型」agent、而不是一問一答工具的開發者;願意接受「父代理替你管理 worker」這種更自主的模式。
2、需要微信入口同步接收提醒和彙報的人,im-robot 已經做了收發兩側。
3、關注權限邊界的人,插件提供了工作區隔離和逐 assistant 的訪問級別。

同時需要注意:

1、插件按當前 DSH 進程的權限運行。README 未說明它是否以沙箱或降級權限運行;安裝前應先讀源碼,確認工具調用路徑與文件訪問範圍是否符合你的預期。
2、許可證是 MIT,但包內含子插件,且 files 裏帶了 cordis.patch.yml 和 THIRD_PARTY_NOTICES.md,涉及第三方組件,建議一併查看。
3、網頁版和其他宿主不在支持範圍內,務必先確認 Desktop 版本區間。
4、場景描述和功能要點應以最新版 README 爲準,本篇基於抓取時(2026-11-07)的倉庫與 README 內容。

結尾

dsh-assistant 的價值在於把委派、權限審批和上下文壓縮交給父代理統一處理,讓對話窗口保持輕量,同時給 worker 提供受控的工作區。當前版本在委派、工作區隔離、自動壓縮、日程提醒、心跳與微信接入上已經可用,父代理的單窗口自我管理是後續路線。

查看目錄頁:https://www.skillhub.cn/plugins/StarsHarryZhu/dsh-assistant
源碼與 README:https://github.com/StarsHarryZhu/dsh-assistant

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

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

小夜