前言¶
DeepSeek Harness(DSH)插件:羣聊上下文投餵——非 @ 的消息攢批掛進上下文(零 token、不喚醒模型),每天再壓成日結。
羣聊場景裏,Agent 面臨兩個極端:要麼只在被 @ 時才醒,對上下文一無所知,答非所問;要麼爲了接住每一條消息,頻繁喚醒模型,導致賬單暴漲。本插件走第三條路:非 @ 的消息在內存中攢批,攢成一段後以零 token 的方式掛進會話上下文,不觸發模型調用;每日再對會話進行一次摘要並清理。
核心功能¶
攢批投餵
非 @ 消息按條數(25條)或時間(40分鐘)觸發投餵。從最新往舊取,每次最多處理 40 條。同一會話最多掛 3 段未讀,防止上下文被撐爆。
零 token 注入
投餵過程不喚醒模型,不產生 token 成本。消息只在內存中暫存,待下次被 @ 時作爲背景一起注入。
每日日結
每天 04:10(本地時間)執行。將每個會話的原文壓成一段中文摘要寫入 <dir>/digest/<日期>.md。摘要失敗不清會話,保證數據不丟失。
會話篩選
40 字以下的會話不進行日結摘要。04:10 到 08:00 之間進程未運行則跳過當日日結。
安裝與配置¶
安裝命令如下:
dsh plugin --profile web add github:JackZo400/dsh-group-feed
配置需抄 cordis.patch.yml 裏那份。
典型用法¶
投餵消息
通過 note 函數將非 @ 消息存入內存:
ctx.get('groupFeed').note('group:chatId', senderName, text)
手動日結
若需立即整理,可調用 digest:
ctx.get('groupFeed').digest()
數據目錄
插件運行時會在啓動目錄下創建 .group-feed 文件夾,用於存儲狀態和日結摘要。
適用場景與注意¶
適用場景
適合需要在羣聊中保持一定語境感知,但不想爲每一條閒聊消息付費的 DSH Agent。
運行限制
攢批僅在內存中,進程重啓後未投出的消息會丟失。投餵本身仍需 token 成本(下次被 @ 時)。沒有工具(tool)出口。
依賴要求
需要通道插件實現 transcript 函數提供原文。若摘要失敗或通道未提供原文,會話不會清空,以保證數據安全。
時間窗口
04:10 到 08:00 之間進程未運行則跳過當日日結。需要手動補做。
結尾¶
該插件通過攢批和日結機制,平衡了 Agent 的上下文感知能力與 token 成本。更多細節可查閱插件目錄或 GitHub 源碼。