前言¶
在 DSH 裏接天氣,常見做法是暴露 weather 一類工具,把溫度、降雨概率和預報原樣交給模型。用戶問「今天要帶傘嗎」,agent 往往復述接口字段,換一個人問,措辭也差不多。若你還希望 agent 記得對方怕冷、騎車上班、對空氣敏感,並在合適時段用一兩段能直接發出去的話來關心,就需要在「算清楚」和「怎麼說」之間多一層邏輯。dsh-whale-care(小鯨魚關心)就是面向這一點的 DSH 插件:天氣是第一個關心來源,偏好只存本機,MIT 許可,無需 API Key。
這是什麼¶
維護者 fanyingnie2163663 在 GitHub 發佈 dsh-whale-care,社區目錄分類爲聯網工具。當前版本 0.5.7(README 標明爲早期版本,功能仍在擴展)。插件給 DeepSeek Harness (dsh) 提供一套「關心引擎」:先根據預報與個人偏好算出該提醒什麼,再組織成關心式話術,而不是堆數據。
與普通天氣插件的差異可以概括爲:把概率和區間翻譯成帶傘、穿衣、通勤與安全建議;同一城市不同人會因 profile.json 裏怕冷、出行方式、健康備註等而不同;還可選每日主動關心一條(可關、可跟作息),以及極端天氣預警與條件/定時提醒。插件和所用天氣接口不收費;agent 回答仍消耗模型額度。wttr.in 爲社區服務可能限流;Open-Meteo 免費額度僅限非商業用途(見 README 說明)。
核心功能¶
五個工具¶
| 工具 | 用途 |
|---|---|
weather |
詳細播報:當前天氣、空氣質量、三天預報、常規建議 |
weather_care |
關心版:按偏好和時段寫成可直接發送的一段話 |
weather_profile |
讀寫偏好:城市、稱呼、怕冷怕熱、出行方式、傘、健康備註,以及每日關心開關/時間 |
weather_reminder |
到點提醒(如喫藥喝水),或按天氣條件在到期時用最新預報判斷是否提醒 |
weather_alert |
極端天氣預警(暴雨/大風/高溫/寒潮/雷電/沙塵/大霧/空氣污染等),黃橙紅三級,當天不重複 |
偏好保存在本機 $DSH_HOME/whale-weather/profile.json(默認 ~/.dsh/whale-weather/profile.json,權限 600)。提醒保存在同目錄 reminders.json。
關心版如何隨偏好變化¶
設置好偏好後,weather_care 會結合稱呼、時段問候、降溫/高溫閾值、通勤方式(如騎車遇雨提醒路滑、大風提醒逆風)、是否常忘帶傘、以及 notes 中與鼻/咽/哮喘/過敏相關的關鍵詞,在空氣較差時追加口罩等建議;晚上會額外預告明天。詳細規則見 README 中的偏好表與示例輸出。
提醒與每日關心¶
提醒本質是「時間 + 觸發條件 + 內容」:intent=text 到點直接說;intent=weather 在到期那一刻用最新預報評估條件(降雨、降溫、大風、溫差、AQI 等),命中才說。同一天不重複提醒,並有 2 小時補發窗口;可按星期幾限定。純 dsh 沒有內置定時器,提醒與預警的「到點響」依賴宿主喚醒 agent;配合 qq-bridge 時,橋接會週期性檢查提醒,並在默認 07:00 / 18:00 等時段檢查預警(README 有環境變量說明)。純 Web / TUI / headless dsh 下,agent 僅在自身醒來時順帶檢查 weather_reminder(due) / weather_alert。
每日關心由 weather_profile 的 dailyCare(默認開)和 careTime(固定 HH:MM,不設則宿主按作息自適應)控制;定時能力在宿主側,純 dsh 環境沒有自動推送這一條。
天氣源¶
默認 wttr,可切換 openmeteo 或自定義模塊。優先級:環境變量 DSH_WEATHER_PROVIDER,其次 $DSH_HOME/whale-weather/config.json(含 provider、fallback、customModule),失敗時按 fallback 重試(默認 wttr → openmeteo)。
可選:外部用戶印象快照¶
若同機其他插件寫入只讀快照 $DSH_HOME/whale-weather/user-context.json,本插件可讀以補全未填字段;profile.json 始終優先,快照超過 7 天未更新視爲過期。不依賴該文件也可正常使用。
安裝與啓用¶
插件要求 Node 22 / 24(見 README badge 與 package.json 的 engines.node),DSH 0.1.2-rc.1 ~ 0.2.x;0.3 未驗證,peer 門禁會拒裝。
安裝使用預構建包,不需要本地編譯。官方命令如下:
dsh plugin --profile web add "https://github.com/fanyingnie2163663/dsh-whale-care/releases/download/v0.5.7/dsh-whale-care-0.5.7.tgz"
裝完重啓 dsh 後,工具列表中會出現 weather 等五個工具。建議在任意會話裏先讓 agent 執行一次 weather_profile(action="get"),若本機已有外部印象快照,返回中可能帶「印象(來自 xxx)」,可減少重複填寫。
插件以當前 dsh 進程權限運行;安裝前請自行查看倉庫源碼與 MIT 許可證,確認是否符合你的環境與合規要求。
典型用法¶
重啓 dsh 後,用自然語言讓 agent 記住你是誰,例如:
記住:我在合肥,叫我阿寧,我怕冷,平時騎車上班,有鼻炎
之後可隨時提問,例如「今天要帶傘嗎」「明天穿什麼」「這週哪天最冷」。需要關心式一整段時,由 agent 調用 weather_care;需要改城市或關閉每日關心,可通過對話讓 agent 使用 weather_profile。
本地可運行演示腳本(需已安裝依賴環境):
node scripts/demo.mjs 合肥
(命令來自 package.json 的 demo 腳本,在插件包內執行。)
若使用 dsh + qq-bridge,需在 qq-chat-v2 preset 的白名單 SAFE_EXACT 中加入上述五個工具名,否則默認會拒絕非 MCP 工具;橋接還提供提醒與每日關心的定時喚醒,詳見 README「用在哪」一節。
適用場景與注意¶
適合希望在 DSH 裏把天氣與空氣質量變成個性化、可朗讀的關心話術,並需要本地偏好、條件提醒與預報推算型極端預警的開發者或自用部署。標準 dsh 插件,不依賴 qq-bridge;QQ 只是可選宿主。
務必注意:聯網拉取 wttr.in / Open-Meteo 等數據;敏感偏好僅本地 JSON,不上傳。預警文案標明「預報推算」,不替代官方預警接口。星標與社區目錄信息以 SkillHub 插件頁 與 GitHub 爲準。
結尾¶
dsh-whale-care 把「先算清楚,再說成舒心的關心」做成可複用的五個工具,天氣是第一條鏈路,後續 README 提到作息、喫飯、喝水、久坐等同套判斷邏輯。DeepSeek Harness 社區插件目錄獨立於 DeepSeek / 幻方,並非官方應用商店;瞭解詳情與更新請以倉庫 README 爲準。
- 目錄頁:https://www.skillhub.cn/plugins/fanyingnie2163663/dsh-whale-care
- GitHub:https://github.com/fanyingnie2163663/dsh-whale-care