在 DeepSeek Harness (DSH) 的開發或調試過程中,開發者通常需要通過日誌或界面查看 agent 的運行狀態。如果能在本地有一個持續的後臺狀態指示,會更有助於監控進程。dsh-discord-richpresence 插件正是爲此設計,它將 DSH 的交互狀態實時鏡像到本地 Discord 客戶端的 Rich Presence 上,且只推送模糊的、可自定義的狀態文案。
插件定位¶
這是一個宿主側的後臺插件。安裝後,它會注入到 DSH 的啓動流程中,隨 DSH 一起常駐運行,無托盤圖標、無界面、無窗口。它不讀取工作區內容,僅響應 DSH 的粗粒度生命週期信號。
核心功能¶
插件監聽運行中 DSH 的粗粒度活動信號,並將其映射到 Discord 狀態:
-
信號監聽:監聽並推送以下信號:
- 用戶消息進入 agent 收件箱
- agent 正在運行(思考 / 流式輸出)
- 模型工具正在執行
- 創建了新會話 / 分支
- 無活動
-
豐富模式(可選):在設置中開啓後,插件會推送帶實時數據的狀態,例如:
- Token 數量
- 思考時長
- 當前思考步數
- 注:豐富模式的數據始終關聯你當前正在交互的會話(即最後一條真實輸入所在的會話)。
-
隱私保護:插件絕不讀取工作區內容(如消息正文、文件路徑、工具輸入輸出),只響應生命週期信號並推送配置好的狀態字符串。
-
兼容性:兼容 Harness 0.1.1-rc.1 及以上版本。
安裝¶
在 DSH 的檢出目錄或 profile 下執行以下命令:
dsh plugin --profile web add https://github.com/0QwQ0/dsh-discord-richpresence/releases/latest/download/dsh-discord-richpresence.tgz
安裝並重啓 DSH 後,狀態會自動出現在 Discord 個人資料上(Discord Application ID 已預置,無需配置)。
配置與使用¶
1. 基礎狀態配置¶
所有配置位於 bundle patch (cordis.patch.yml) 的 config 下。你可以通過修改 statuses 列表來自定義狀態文案。
config:
clientId: '1540732930127691807' # 已預置,通常無需修改
details: 'DeepSeek Harness' # 可選:第二行文字
largeImage: '' # 可選:Discord 大圖資產 key
statuses: # 可編輯的狀態列表,按階段分組
userInput:
- 正在指揮大肥魚乾活
- 正在給大肥魚喂 token
agentWorking:
- 正在與大肥魚一起 Brainstorming
- 正在聽大肥魚講解 Project
tools:
- 正在提交改動意見
forking:
- 正在創建大肥魚記憶切片
idle:
- 大肥魚待命
randomize: false # true 時隨機選取,否則輪流
minIntervalMs: 5000 # 兩次推送之間的最小間隔
reconnectMs: 15000 # Discord 斷線重連的輪詢間隔
2. 啓用豐富模式¶
豐富模式不屬於 patch 配置,而是在 DSH 界面中開啓:
- 在 DSH 界面中進入 設置 → 通用設置。
- 找到 Rich Presence 豐富狀態 開關並開啓。
開啓後,插件會根據實時數據(如 token 數、思考時長)智能隨機推送狀態,每個狀態在 Discord 上至少展示 8 秒。
注意事項¶
- 環境要求:必須本地運行 Discord 桌面客戶端(Rich Presence 走本地 IPC 端點)。
- 卸載殘留:卸載插件後,
settings.yaml中可能會殘留discord-richpresence:配置段。雖然這不會影響運行,但若需徹底恢復,可手動刪除該段配置。
結語¶
dsh-discord-richpresence 爲 DSH 用戶提供了一個輕量級的、基於本地 Discord 的狀態監控方案。它不侵入工作區內容,僅通過粗粒度信號反饋 agent 的生命週期狀態,適合需要在後臺保持狀態可見的開發或演示場景。
- 倉庫地址: https://github.com/0QwQ0/dsh-discord-richpresence
- 許可證: MIT