前言¶
在 DeepSeek Harness(DSH)裏跑長任務時,常見做法是盯着終端或 Web 界面等日誌。需要你在關鍵步驟拍板時,往往還要切回會話裏打字回覆。若希望任務完成、報錯或需要授權時能推到手機,並在手機上用按鈕或文字答覆後再讓本地智能體繼續,就要在 DSH 側接一條「發通知—等人答—校驗答覆」的通道。Ntfyx 提供簽名 CLI 與手機端;dsh-plugin-ntfyx 以原生 DSH 插件包形式註冊 Ntfyx MCP 與 bundled skill,把上述流程接到 DSH 工具調用裏,而不是另起一套託管 MCP 或替換 DSH 自帶的權限引擎。
下面介紹該插件的定位、能力、安裝步驟與用法約束。事實以 GitHub 倉庫 README 爲準。
這是什麼¶
dsh-plugin-ntfyx(npm 包名 dsh-plugin-ntfyx,版本 0.1.0)是 Ntfyx 維護的 DSH 社區插件,倉庫位於 KaylaONeal/dsh-plugin-ntfyx,在 SkillHub 等社區目錄中歸類爲 客戶端。它通過包內的 cordis.patch.yml 啓動本機已安裝的 ntfyx mcp(經 DSH 官方 MCP 客戶端),並註冊 bundled 的 ntfyx skill;包內不含憑證、轉錄上傳器或託管 MCP 端點。
聲明兼容:DSH 0.2.2-alpha.2、Node.js 24.9+、Ntfyx CLI 0.6.0+;DSH 仍處於開發者預覽,該初始版本僅聲明其驗證過的 DSH 版本。
核心功能¶
插件把 Ntfyx 能力映射爲 DSH 可調用的 MCP 工具(名稱以 README 爲準):
| 能力 | DSH 工具 |
|---|---|
| 受保護通知與富文本報告 | mcp__ntfyx__ntfyx_send |
| 向手機提問 | mcp__ntfyx__ntfyx_ask |
| 等待並認領已驗證的回答 | mcp__ntfyx__ntfyx_result |
| 取消待處理提問 | mcp__ntfyx__ntfyx_cancel |
| 本地富消息校驗 | mcp__ntfyx__ntfyx_validate_message |
| 公開 Topic 通知與讀取 | mcp__ntfyx__ntfyx_public_send、mcp__ntfyx__ntfyx_public_read |
| 已配對 Inbox 使用情況 | mcp__ntfyx__ntfyx_usage |
會話約定(摘自 README):同一任務的通知與提問共用 one session_id;待處理提問保持同一 request_id,僅在 status: "answered" 且 consumption.claim_acquired: true 後再繼續。若用於確認,只有 response.value: "allow" 才表示允許所描述的操作;拒絕、超時、取消或校驗失敗均不構成同意。
完成類通知由智能體主動調用工具發送;0.1.0 沒有自動生命週期鉤子,不攔截 DSH 原生提問,也不替 DSH 審批工具權限提示——DSH 原有權限策略仍控制工具執行。
安裝與啓用¶
1. 安裝並配對 Ntfyx CLI¶
在未給其它 agent 單獨配 Ntfyx 的前提下,可安裝簽名 CLI 並完成連接(受保護通知與手機提問需要 connect):
curl -fsSL https://ntfyx.me/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"
ntfyx version --json
ntfyx connect
從 Ntfyx 1.8.0+ 掃碼授權並選擇受保護的 Topic。公開 Topic 操作無需配對。
2. 在 DSH profile 中安裝插件包¶
將 web 換成你實際使用的 profile 名;若通過 npx 啓動 DSH,用 npx @deepseek-ai/dsh@0.2.2-alpha.2 替代 dsh。DSH 的 plugin 子命令要求 pnpm 在 PATH 中。安裝後若 profile 已在運行,需重啓。
dsh plugin --profile web add dsh-plugin-ntfyx@0.1.0
dsh web
也可從 GitHub 安裝已打包 bundle(無需 build):
dsh plugin --profile web add github:KaylaONeal/dsh-plugin-ntfyx#v0.1.0
3. 在 DSH 界面中發現(可選)¶
若啓用了 DSH 實驗性的 Custom plugin indexes,可在 Plugins → Discover → Add index source 添加 Ntfyx 維護的索引:
https://raw.githubusercontent.com/KaylaONeal/dsh-plugin-ntfyx/main/plugins.json
該索引展示圖標與中英文說明及安裝確認;並不表示該包成爲 DeepSeek 官方維護的 Official bundle。
更新與移除¶
dsh plugin --profile web update --latest dsh-plugin-ntfyx
dsh plugin --profile web remove dsh-plugin-ntfyx
移除 bundle 會保留本機 Ntfyx CLI 與已配對憑證。GitHub 安裝若 pinned 到 tag,更新需 add github:KaylaONeal/dsh-plugin-ntfyx#vNEW_VERSION,僅改 pinned tag 不會自動選新版本。
典型用法¶
安裝完成後,可在 DSH 中用自然語言指示智能體讀取 skill 並走通手機鏈路。README 給出的驗證話術示例:
Read the ntfyx skill, then use Ntfyx to ask me a test question on my phone. Use Ntfyx for decisions and send a completion notification for this task.
僅有安裝成功並不能證明手機可達;需要真實簽名答覆回到等待中的 agent,才能驗證手機工作流。
排查時可運行 ntfyx doctor、ntfyx version --json;桌面啓動器也需保證 ntfyx 在 PATH 上。bundle 的 MCP 入口 ID 爲 ntfyx-mcp,傳輸超時允許最長約 45 秒的 Ntfyx question/result 等待。CLI 缺失或無法啓動時,DSH 會記錄 MCP 連接錯誤並繼續運行——修正 PATH 後重啓。同一 scope 內避免再添加名爲 ntfyx 的第二個 MCP 客戶端。
查看合成配置(不啓動插件、不證明 MCP 或手機投遞):
dsh --profile web --dump-config
適用場景與注意¶
適合:已在 DSH 中開發或運維智能體,希望在長任務中向 iPhone、Android 或已授權 Web Inbox 推送進度與報告,並在本地由 Ntfyx CLI 校驗、認領手機回覆後再繼續的場景;需要與現有 DSH MCP + skill 體系一致、不引入托管 MCP 時也可考慮。
注意:
- 插件與 DSH 進程同權限運行;安裝前應閱讀倉庫源碼與 MIT(bundle 配置與 skill)及 Ntfyx CLI/服務各自許可與 服務條款。
- 受保護消息與答案在設備端加密;服務處理路由元數據與密文。公開 Topic 對知曉 Topic ID 的各方可見、非端到端加密,且不能用於授權操作;首次公開發送前須顯式接受 公開內容條款。
- DeepSeek 目前分發自有 Official bundles,默認不帶第三方插件索引;社區目錄(如 SkillHub)爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
- README 註明:Linux 運行時檢查與本地富消息校驗見 release notes;其它操作系統及真實 DSH 到手機投遞需單獨驗收。
結尾¶
dsh-plugin-ntfyx 把 Ntfyx 的手機通知、富文本報告與可驗證回覆,以原生 DSH 插件包(MCP + skill)接到 Harness 上,適合需要「人在手機上確認後再繼續」的 DSH 工作流。進一步瞭解可訪問 SkillHub 目錄頁 與 GitHub 倉庫;中文說明見倉庫內 README.zh.md,Ntfyx 產品見 ntfyx.me。