前言¶
在 DSH 裏跑智能體時,很多真正要辦的事並不在代碼倉庫或任務系統裏,而是散落在微信、QQ 羣聊的轉發、接龍和附件裏。人工翻聊天記錄成本高,也容易漏掉截止日和報名鏈接。常見做法是定期導出聊天記錄再自己整理,但缺少一個和 Harness 工作區綁定的、可定時刷新且能回鏈原文的結構化面板。
下面介紹社區插件 dsh-chat-digest(維護者 OverDustD7,目錄分類爲「記憶」):它在 DSH Web UI 中提供一塊麪板,並託管一條常駐主 Agent 會話;按日程或手動 Fetch 時,由該會話讀取你提供的聊天數據源,提煉「必須做」「可申請」「值得知道」三類條目,寫回面板,且每條可鏈接到原始文件或圖片。插件本身不解析聊天內容,也不替你選模型,解析與提煉邏輯由你配置的 pipeline 與路由決定。
這是什麼¶
dsh-chat-digest 是發佈在 npm 的 DSH profile bundle(當前 package 版本 1.5.1,許可證 MIT)。一句話定位:把聊天日誌經 Agent 回合蒸餾成可維護的面板列表;核心零 npm 依賴,可選附帶微信/QQ 採集管線。
GitHub 倉庫:OverDustD7/dsh-chat-digest。社區目錄頁:skillhub.cn/plugins/OverDustD7/dsh-chat-digest。DSH 社區插件目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,安裝與運行均在本地 Harness 進程內完成。
核心功能¶
面板與三類條目¶
面板按示例結構渲染條目,例如待辦(含說明、步驟、注意事項與附件鏈接)、機會與招募、有用信息。條目可帶 file: / img: 鏈接;在 Windows 上可通過系統默認應用打開附件路徑(非 Windows 時面板與 API 仍可用,file: 鏈接會退化爲下載)。
常駐會話與採集回合¶
插件擁有面板、每條配置路由對應的一條常駐主 Agent 會話,以及面板與會話之間的 HTTP 契約。流程概要:
- 定時(每日固定時刻)或點擊 Fetch;
- 選擇一條 route,先探測其 gateway(無響應則不觸發回合,採集游標不前進);
- 喚醒或複用該 route 的常駐會話,運行你提供的 pipeline 並讀取聊天數據;
- 會話通過
POST寫回/chat-feed/api/items,重建面板; - 回合結束時更新 busy 記賬、游標;異常結束時會自動重試一次;可按 route 閾值做上下文輪換。
插件負責:面板、常駐會話、回合 bookkeeping、文件端點;不自行解析聊天,不在已配置路由之外選擇模型。
默認數據契約(無需先搭管線)¶
全新安裝可用三步起步:把聊天導出放進 Agent 工作區下的 inbox(純文本、Markdown 或 JSON),常駐會話讀取 inbox 並寫入面板。默認 inbox 路徑爲 %USERPROFILE%\.dsh\dsh-chat-digest\inbox\(精確路徑以 GET /chat-feed/api/state 返回的 state.inbox 爲準)。倉庫內 examples/inbox/sample.txt 可作樣例複製。
也可把導出放到私有 inbox,或通過 HTTP 喂數據;若要自定義措辭或採集器,可將 examples/local/ 複製到自有目錄,設置 config.localDir 並編輯「數據來源」相關段落。
可選微信/QQ 管線¶
包內可選附帶 WeChat/QQ ingestion pipeline;核心不依賴採集器。配置 wxRoot 後,可解析 inbox 與 <agentCwd>\output 之外的微信附件根目錄,供 fileRoots 允許的字節服務與「用默認應用打開」。
自檢 API¶
GET /chat-feed/api/state:返回 items、面板來源、route 槽位、採集游標、上下文窗口與限制、最近錯誤等 JSON 字段。POST /chat-feed/api/collect,body{"dry": true}:只生成回合 prompt 不執行,便於覈對 Agent 將收到的指令。- 磁盤上私有 profile 內有
state.json、panel.json。
安裝與啓用¶
環境要求(來自 README):
| 依賴 | 說明 |
|---|---|
DSH >= 0.1.5-rc.1 |
宿主 |
Node >= 22.5 |
loader 與瀏覽器端 |
| 已配置的 model route | 無路由時面板與手動寫回仍可用,但無法跑採集回合 |
| Windows(可選) | 附件「用默認應用打開」;非 Windows 見上文 fallback |
安裝並重啓 Web UI(profile 名 web 爲 DSH Web UI 默認 profile,若已改名請替換):
dsh plugin --profile web add dsh-chat-digest
安裝會自動寫入 profile 的 dsh.profile.bundles,不要再手工重複添加同一 loader id,否則會報 duplicate loader entry id。完成後重啓 dsh web(宿主半區在 mount 時求值一次)。
本地開發目錄可用 link 安裝:
dsh plugin --profile web add link:/path/to/dsh-chat-digest
UI 腳本由包內 HTTP 提供(Cache-Control: no-store),改 UI 後刷新頁面即可;改宿主邏輯仍需重啓 dsh web。
插件以當前 dsh 進程權限運行,安裝前請自行審閱 源碼 與 MIT 許可證,確認 inbox、私有 profile 與聊天導出路徑的可接受範圍。
典型用法¶
1. 僅用 inbox 驗證¶
- 執行上述安裝命令並重啓
dsh web。 - 將聊天導出放入 inbox(或複製
examples/inbox/sample.txt)。 - 在 Web UI 點擊 Fetch 一次:按鈕會經歷「探測中…」「採集中…」,成功後面板展開並出現帶來源鏈接的條目。
- 若 gateway 無響應,按鈕會閃紅,游標與採集時間不變。
2. 配置私有目錄與多路由¶
在 profile 的 cordis.patch.yml(推薦 $DSH_HOME/profiles/<name>/cordis.patch.yml,優先級高於包內 patch)中配置,例如:
- id: dsh-chat-digest
config:
localDir: 'C:\path\to\your\private-profile'
wxRoot: 'C:\path\to\wechat\attachments'
routes:
- id: 'free'
label: 'Free'
provider: 'your-provider'
model: 'your-model'
probeUrl: 'https://your-gateway/v1/models'
ctxRatio: 0.75
- id: 'paid'
label: 'Paid'
provider: 'your-other-provider'
model: 'your-other-model'
default: true
localDir 默認爲 <DSH_HOME>/dsh-chat-digest,存放 pipeline 配置、output、knowledge、archive 及面板狀態等本地數據,更新插件包時通常保留。inboxDir 默認爲 <agentCwd>\inbox。未設置 wxRoot 時,僅 <agentCwd>\output 在默認 fileRoots 內可用於附件解析。
3. 幹跑回合 prompt¶
POST /chat-feed/api/collect
Content-Type: application/json
{"dry": true}
返回內容爲即將發給常駐 Agent 的 prompt,便於調試 pipeline 與 prompt 覆蓋。
新裝後面板爲空是預期行爲:在你喂入條目或成功跑完一輪採集之前,不會自動出現內容。
適用場景與注意¶
適合:已在 DSH Web UI 中使用多路由模型;願意維護聊天導出或可選微信/QQ 管線;希望把羣聊裏的待辦、招募與公告收斂到 Harness 側邊面板,並保留回鏈原文/附件。
注意:
- 必須自行提供「讀聊天並蒸餾」的 ingestion pipeline(或使用 inbox + 內置 prompt 的默認契約);插件只提供面板、會話與 HTTP 契約。
wxRoot、羣名、數據庫路徑等敏感配置寫在私有 profile(如pipeline.yaml),不應上傳到公共倉庫。- README 標明 Windows 爲附件打開的最佳體驗;Linux/macOS 用戶仍可使用面板與 API。
- 社區目錄顯示該倉庫 GitHub 星標爲 1(截至資料抓取時),成熟度需自行評估。
結尾¶
dsh-chat-digest 把「羣聊裏 buried 的待辦」變成 DSH 內可定時刷新的結構化面板:宿主管面板與常駐 Agent 回合,模型與解析管線由你的 route 與私有 profile 決定。若你要在 Harness 里長期記住聊天-derived 的行動項,可按官方命令安裝,從 inbox 或自有 pipeline 起步。
- 目錄頁:https://www.skillhub.cn/plugins/OverDustD7/dsh-chat-digest
- GitHub:https://github.com/OverDustD7/dsh-chat-digest