在 DeepSeek Harness (DSH) 環境中,智能體在處理複雜任務時通常需要較長的思考時間。在這段時間裏,對話流往往是靜默的,用戶可能無法感知系統正在工作,也無法獲得實時的背景信息。現有的做法通常是輪詢狀態或手動查詢,交互體驗不夠連貫。dsh-gap-feed 插件旨在解決這個問題,它能在智能體長思考期間,將熱點新聞或自定義提醒卡片直接插入對話流中,保持用戶對當前會話的感知。
這是一個由 faukwaa 維護的聯網工具類插件,遵循 MIT 許可證。它通過在長思考階段觸發消息注入,向對話流中添加卡片內容,且頻率較低,不會打斷正常的交互。
安裝¶
使用官方命令安裝:
dsh plugin --profile web add dsh-gap-feed
安裝後,重啓 dsh web 或刷新頁面即可生效。
核心功能¶
-
長思考注入
插件不會在每次思考時都觸發。只有當滿足以下條件時,纔會向對話流注入卡片:enabled開關爲true;- 智能體持續思考時間超過
minThinkSeconds(默認 20 秒)且未處於空閒狀態; - 距離上次注入已超過
cooldownMinutes(默認 15 分鐘); - 過去一小時內注入次數未超過
maxPerHour(默認 4 次)。
-
多源並行抓取
支持同時從三個源抓取數據:- 今日頭條:使用公開 API,無需登錄;
- GitHub 趨勢:抓取本週創建且按 Star 數排序的倉庫;
- Bilibili 熱榜:獲取當前熱門視頻排行。
多個源並行抓取,任一源失敗都不會影響其他源的正常運行。
-
自然語言提醒
用戶可以在對話中直接使用自然語言設置提醒,插件會解析任務和截止時間並保存。支持的示例包括:- “提醒我 18:00 開會”
- “remind me to have a meeting at 18:00”
- “半小時後提醒我回郵件”
解析失敗時返回友好錯誤,不會阻斷對話。
-
優先級與去重
- 優先級:已到期的提醒優先於新聞顯示。
- 去重:同一內容不會在單次會話中重複注入。
-
持久化與配置
- 內置設置頁面,自動根據配置表單渲染 UI,支持修改限流參數、管理提醒(增刪改查、啓用/完成)。
- 配置和提醒數據支持持久化存儲,重啓後不丟失。
- 注入的消息繼承會話中現有消息的
model source,確保會話加載正常。
配置項¶
| 配置項 | 類型 | 默認值 | 說明 |
|---|---|---|---|
enabled |
boolean | true |
總開關 |
minThinkSeconds |
number | 20 |
觸發注入的最長思考時間(秒) |
cooldownMinutes |
number | 15 |
注入間隔的最小時間(分鐘) |
maxPerHour |
number | 4 |
每小時最大注入次數 |
blacklist |
string[] | [] |
標題黑名單關鍵詞,匹配的標題會被過濾 |
提醒存儲¶
提醒數據存儲在本地文件中:
$DSH_HOME/profiles/<profile>/data/gap-feed/reminders.json
DSH_HOME默認爲~/.dsh;- 文件結構爲 JSON 數組,包含
id、text、dueAt、done、enabled、createdAt字段; - 缺失的目錄會自動創建,讀寫失敗或 JSON 損壞時靜默回退到內存狀態。
注意事項¶
- Bilibili 限流:Bilibili 源在數據中心 IP 下可能觸發限流(錯誤碼 -352),但插件會靜默降級,不影響其他源。
- 會話去重:去重邏輯僅針對單次會話生命週期(重啓後重新計算),因此重啓後可能出現重複內容。
- 運行權限:插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。