qingj01/dsh-attention-inbox:把跨 Session 的待處理事項集中到一個收件箱

前言

用 DSH 跑 agent 的人大多會遇到同一個問題:事項散落在各個 Session 和 Workspace 裏。審批、提問、計劃審閱、受阻 goal、自主運行輪的待驗收結果,有的在其他 Session 裏等,有的已經中斷幾個鐘頭沒人看。原生界面能給的是當前窗口內的對象,跨 Session 彙總要自己翻日誌。

下面介紹的 qingj01/dsh-attention-inbox 就是在補這一層。它把個人 DSH 環境中「等待你處理」的事項投影到一個側欄隊列,分類後統一展示,並提供處置、忽略、靜音和統計。需要說明的是,當前版本是發佈候選,npm 包尚未發佈,市集分發和完整驗收也尚未完成。

這是什麼

qingj01/dsh-attention-inbox 是面向個人的 DeepSeek Harness 插件,維護者爲 QingJ01。分類屬於記憶。它解決的問題單一:把跨 Session、跨 Workspace 的待處理事項集中到一個隊列,包括審批、問題、計劃審閱、受阻 goal、自主運行待驗收、最終輪次失敗和賬戶登錄失效。

當前爲 v1.0.0-rc.2 發佈候選。獨立測試使用的 DSH Desktop 版本是 0.2.1-rc.5。這個版本號不能理解爲全部驗收已通過,完整驗收記錄在倉庫的 008 驗收表。包名 dsh-attention-inbox,倉庫爲 QingJ01/dsh-attention-inbox,採用 MIT 許可證。星標數目前爲 0。

核心功能

三類關注項

收件箱按「需要你做什麼」分成三類:

  • Agent 在等你:審批、問題、計劃審閱。允許一次、拒絕和回答使用 DSH 原生交互對象,不繞過權限策略;原生能力不可用時打開來源 Session。計劃批准使用原生 intent 中的指定選項。
  • 待你決定下一步:受阻 goal、來源明確的自主完成輪、最終失敗或中斷輪次。軟事項可以忽略當前 revision,或設置一小時後再次提醒;人工自己完成 goal 不會額外製造一條自主驗收事項。
  • 系統:DeepSeek 登錄失效。完成登錄後由賬戶事實撤回該條目。

只有 hard 和 system 兩類事項計入徽標,而且不能通過忽略或靜音隱藏。原生界面裏「已作答」不等於已處理:調用返回不等於完成,只有原生決定或結算事實確認後纔算已處理。按鈕失敗時顯示錯誤並保留條目,不會靜默丟棄。

設置與統計

與原生設置一致的地方提供 review 開關、賬本保留天數(1–3650 天)、Session/Workspace 靜音規則管理。靜音只作用於軟事項,Workspace 靜音使用實際 Workspace id。關閉 review 不會影響原生審批或原生提問。

頁腳展示可覈對的 L1/L2 丟棄、顯示計數、硬阻塞響應時長、原地處理率和按來源統計的噪音率。沒有確認樣本時顯示無數據,不把點擊成功、請求發送或測試樣本當作真實處置。

數據與恢復

義務事實來自 Session 日誌投影、DSH 自帶的 userQuestions 投影和原生 Client 交互對象。處置、設置、靜音、外部插件提交以及賬本保存在插件自己的 attention_inbox storage domain,提交必須等待持久化成功才返回,不寫入用戶 Session 或 preset。

冷啓動只讀觀察最近七天可讀取的歷史 Session,保留仍有效的受阻 goal、continued 問題、48 小時內失敗和來源明確的自主 review。冷回填與實時推導使用相同的事實和規則,部分讀取失敗時會給出提示。Host 暫時不可達時,原生交互繼續實時更新,最近一次 Host 結果會標記爲可能過時。

擴展能力

插件給 Host 側提供 ctx.attention,給 Client 側提供 ctx.attentionClient,兩者的 apiVersion 都是 1。建議以可選依賴方式接入。Cordis contextual 服務自動追蹤實際調用方,註冊返回 disposer,調用方卸載時清理註冊及其義務。

  • raise / withdraw:顯式提交;producer 可省略,由實際調用方推導。保存返回的規範 key 用於撤回。
  • registerProducer / invalidate:從真實業務事實推導;顯式提交和推導出的義務共同受調用方數量預算約束,默認最多 50 個。
  • registerSubjectType / registerKind / registerAction:主體說明、類型和 Host 動作,或供 Client 執行器使用的動作元數據。
  • attentionClient.registerAction:註冊同 id 的 Client 執行器,保留 revision、權限與破壞性確認邊界。
  • attention.subject keyed Slot:按主體類型提供富渲染,未提供時回退通用說明;內部導航使用 panelId,外部使用 url。
  • registerChannel:默認只選 hard/system;按 key/revision 去重,失敗指數退避到 60 秒上限,關閉或卸載時取消重試並清理異步投遞。
  • defaultAction:通用行展示本地化動作標籤,不暴露 input,不會因到期自動執行;執行仍由提交方負責。

倉庫裏的 hello-producer 是 28 行按需接入示例,演示 raise、withdraw 和 Host action,掛載時不會製造業務事項。擴展 API 給出實際接口與 Client/Slot 用法。公開類型可以通過下面這行引入:

import type { AttentionService } from 'dsh-attention-inbox/api'

安裝與啓用

候選階段只能通過 DSH 的 Plugin Manager 安裝倉庫絕對目錄,或由維護者提供的候選歸檔:

{ "action": "install_bundle", "target": "/absolute/path/to/dsh-inbox" }

README 同時給出了 npm 形式的目標,但明確說明僅在發行後可用,現在不要執行:

{ "action": "install_bundle", "target": "dsh-attention-inbox@1.0.0-rc.2" }

若只是把包下載到普通開發項目,發行後的 npm 命令爲:

npm install dsh-attention-inbox@1.0.0-rc.2

npm 下載本身不會激活 DSH bundle。要在 DSH 中使用,走上面的 Plugin Manager 安裝入口,不手工改 profile 配置。安裝後在當前 DSH 界面側欄打開「注意力收件箱」。如果頁面仍使用舊模塊,刷新現有頁面即可,不需要另外啓動服務器。

典型用法

安裝完成後的日常使用其實就是讀隊列和做決定。下面按 README 描述的順序列出每類事項的處置方式。

  1. 打開側欄的「注意力收件箱」,查看 Agent 在等我 下的審批、問題和計劃審閱。審批用原生對象允許一次或拒絕,提問用原生對象回答,計劃審閱在原生 intent 的指定選項裏批准。
  2. 在 待你決定下一步 裏分辨受阻 goal、自主完成輪和失敗/中斷輪次。想稍後再處理的軟事項,選擇忽略當前 revision,或設置一小時後提醒。
  3. 看到系統類的 DeepSeek 登錄失效,去完成登錄;登錄完成後系統會依據賬戶事實撤回該條目。
  4. 想減少打擾時,進 DSH 原生設置配置 review 開關、賬本保留天數和靜音規則。靜音隻影響軟事項,hard 與 system 不受影響。
  5. 需要第三方接入時,先讀 docs/004-extension-api.md,照 hello-producer 的寫法用 raise 提交事項,拿返回的規範 key 做 withdraw。

開發與驗證

倉庫用 pnpm 管理,測試用 Node 內置 runner:

pnpm install --ignore-scripts
pnpm check

check 腳本依次執行 node --check index.js、node --check client.js 和 node --test tests/*.test.mjs。Host 使用 ESM,Client 使用 DSH ModuleLoader,當前不需要單獨打包構建。TypeScript 5.9.3 實際編譯公開 API 的正反例。

完整原生 runtime 測試需要指向一份已有的 DSH 安裝或提取產物:

DSH_TEST_RUNTIME=/path/to/dsh/node_modules/@deepseek-ai node --test tests/*.test.mjs

本輪獨立完整複覈結果爲 90 通過、0 失敗、0 跳過,覆蓋真實 Cordis caller 生命週期、Channel 重試與取消、Client 執行器與 Slot、公開類型編譯和匿名結構錄製回放。需要提醒的是,測試不能替代 GUI 或市集驗收;最新真實界面、全新安裝與卸載的證據以 008 驗收表 爲準,候選實現範圍見 007。

適用場景與注意

適合管理個人 DSH 環境、希望把散落在多個 Session 裏的事項統一看的人。它只服務個人,不提供團隊共享或指派。

使用前留意這些邊界:插件不自動放權、不改 preset、不切換異步提問模式,也不提供權限規則建議。沒有內置飛書、郵件或桌面通知 Channel 提供方;Channel 重試狀態當前在進程內,外部投遞需要提供方自己的冪等設計,不承諾跨進程 exactly-once。原生審批和提問對象仍屬於 DSH 實現接口,升級後能力檢測失敗時回退爲打開來源 Session。

插件以當前 dsh 進程的權限運行,安裝前應先檢查源碼與許可證。倉庫採用 MIT 許可證,配置裏還帶一個 cordis.patch.yml,change 前值得通讀一遍。目錄頁在 SkillHub,該站點與 DeepSeek / 幻方無官方從屬關係。

結尾

這個插件的價值在於把「還有哪些事在等你」這個問題收斂到一個隊列裏,並且用事實來源而非界面狀態判斷是否已處理。當前仍是候選版本,npm 安裝入口不可用,裝之前按候選方式走 Plugin Manager。

  • 目錄頁:https://www.skillhub.cn/plugins/QingJ01/dsh-attention-inbox
  • 源碼倉庫:https://github.com/QingJ01/dsh-attention-inbox
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜