前言¶
DeepSeek Harness(DSH)插件生態中,針對特定網絡資源的訪問需求,dsh-nga-reader 提供了一個基於 Cordis 的持久化 Host/Client bundle。它不僅解決了直接在瀏覽器中閱讀 NGA 論壇的體驗問題,還通過獨立的 Electron 窗口和 Agent 工具,將論壇內容與 AI 對話場景連接起來。
核心能力¶
- 論壇瀏覽與發現:支持版塊發現與過濾、主題列表、搜索、分頁閱讀,以及頭像和圖片展示。
- 登錄與憑證管理:支持掃碼登錄(NGA App 掃碼授權)、賬號密碼登錄和手動輸入 access_uid/token 作爲備選。賬號密碼不會被存儲,憑證持久化存儲在本地 YAML 文件中。
- 獨立閱讀窗口:側邊欄啓動器會將
GET /nga-reader推送到獨立的 Electron 應用窗口。無桌面 IPC 父進程時窗口保持關閉。 - AI 交互集成:支持文本選擇後右鍵選擇“解釋”或“總結”,在獨立窗口打開 canonical Session。提供 Agent 工具用於論壇發現、主題閱讀和獲取 UI 上下文。
- MNGA 功能對等:支持每日簽到、通知(回覆/提及/投票/私信)、短消息(對話、閱讀、回覆)、收藏(版塊/文件夾/話題)、熱門話題(日/周/月)、用戶資料、關注列表、投票等功能。
安裝與配置¶
在 DeepDeck 中打開 設置 → Apps,在 Install an App plugin 處粘貼安裝源:
https://github.com/jo32/dsh-nga-reader.git
選擇 Inspect source 檢查包信息,確認後選擇 Confirm install。安裝完成後重啓 DeepDeck,從側邊欄打開 Apps → NGA Reader。
本地開發時,克隆倉庫並構建:
git clone https://github.com/jo32/dsh-nga-reader.git
cd dsh-nga-reader
npm install
npm run typecheck && npm test
dsh plugin --profile web add "$PWD"
最後一條命令用於掛載 Cordis bundle,需在由 DeepDeck 管理的 profile 中運行,以確保 App runtime 存在。
使用示例¶
- 基礎閱讀:打開論壇版面,選擇主題,在聚焦的閱讀器中翻閱分頁帖子。
- 文本分析:在閱讀器中選中一段文本或右鍵點擊帖子,選擇“解釋”或“總結”,插件會在
~/DeepDeck/Apps/nga-reader打開對應的會話。 - Agent 調用:向 DeepDeck Agent 提示詞,例如“列出 NGA 當前熱門主題,並按版面分組”或“閱讀這個帖子,提煉主要共識、爭議點和有用鏈接”。
- 賬號聯動:僅在需要收藏、通知、私信、簽到、投票或回覆時才連接賬號。Agent 觸發的發佈操作仍需審批。
技術細節與限制¶
- 運行環境:插件掛載時需要 DeepDeck App runtime service。
- 認證機制:支持訪客瀏覽,僅在執行個人操作時需要認證。憑證存儲在
$DSH_HOME/.credentials.yaml(默認~/.dsh/.credentials.yaml)。 - 依賴:需要 Node.js >= 22,無需 Python。
- 通信:閱讀器窗口與主窗口通過 BroadcastChannel 進行 IPC 通信。