前言¶
DeepSeek Harness(DSH)支持插件化擴展,本插件針對中國農業大學(CAU)的通知公告場景,提供了一套開源的爬蟲與 AI 加工管道。它將公開網頁抓取、AI 摘要生成、分類與截止日期提取整合在一起,通過 DSH 側邊欄面板展示,並支持在對話中直接查詢。
與市面上託管式的通知聚合服務不同,本項目只開源工具本身。數據由使用者自行收集、存儲在自己掌控的私有倉庫中,不作爲工具服務的一部分。維護者:@ZBber-lab。
核心能力¶
插件主要解決“信息分散、閱讀耗時”的問題,提供以下功能:
- 側邊欄面板:要求 DSH 版本 ≥ 0.1.5-rc.2。面板停靠在 DSH 官方右側欄,包含今日要覽、要聞、我的事項(截止提醒)、欄目頻道、關注與歸檔、數據管理及文章閱讀(支持原文 + AI 摘要 + 截止日期高亮 + 一鍵引用到對話)。
- 欄目頻道管理:在設置中可開關首頁顯示來源(默認顯示新來源,關閉僅不顯示,數據照常抓取)。支持“添加新來源”,通過
tools/scraper/probe.mjs探測站點結構並確認後寫入配置。 - 多系統解析:內置博達(boda)、蘇迪(sudy)及校新聞網自研(news-custom)三類解析器,通過
sites.json驅動。probe.mjs可探測目標站並生成配置片段,方便接入其他院校或院系欄目。 - AI 加工:利用 DeepSeek API 對文章進行摘要生成、分類(通知/新聞/講座等)、重要度評估及截止日期提取。
- 對話查詢(MCP):提供 6 個 MCP 工具(最新通知、關鍵詞檢索、截止事項、站點目錄、用量統計、文章詳情),AI 可在對話中直接回答查詢。
- 數據自主:數據倉庫完全由用戶配置(owner/repo),令牌僅存儲於本地。插件與 MCP 共享同一套憑據配置。
安裝與啓用¶
安裝插件需在 DSH 環境中進行。
桌面版(推薦):
在 DSH 側邊欄點擊“插件” → “添加插件”,輸入以下地址並安裝:
github:ZBber-lab/cau-portal-open
安裝完成後,務必在插件列表中點擊“立即啓用”。側邊欄底部會出現“農大門戶”入口,若未啓用則入口置灰。
CLI / Web 環境:
若環境中有 dsh 命令,使用以下命令(注意區分 profile):
dsh plugin --profile desktop add "github:ZBber-lab/cau-portal-open"
# 或
dsh plugin --profile web add "github:ZBber-lab/cau-portal-open"
安裝成功後需重新加載 DSH 才能生效。
數據管道與使用¶
本插件的數據流爲:爬蟲抓取公開網頁 → AI 加工 → 產物提交到用戶的私有數據倉庫 → 插件與 MCP 讀取展示。
本地運行抓取¶
工具代碼位於 tools/scraper/ 目錄。運行前需準備兩個倉庫:一個是本插件倉庫(用於獲取工具代碼),另一個是你的數據倉庫(用於存放抓取結果)。
- 抓取:
node tools/scraper/crawl.mjs --data-dir ../<你的數據倉>/data --pages 2 --articles 8
- AI 加工:
DEEPSEEK_API_KEY=sk-xxx node tools/scraper/enrich.mjs --data-dir ../<你的數據倉>/data --limit 8
產物將寫入 <數據倉>/data/ 目錄下的 index.json、feed/、articles/ 和 usage.jsonl。完成後需在數據倉庫提交併推送,插件面板纔會刷新。
定時自動抓取(可選)¶
爲避免手動運行,可使用 GitHub Actions。將工具倉庫的 .github/workflows/crawl.yml 複製到你的數據倉庫。
由於 GitHub 免費私有倉庫不支持原生 schedule 觸發器,通常需要配合外部調度服務(如 cron-job.org)調用 Actions 的 workflow_dispatch 接口來實現每 2 小時自動抓取。
MCP 對話集成¶
要使 AI 能在對話中直接調用工具,需註冊 MCP client。
- 安裝依賴:
cd tools/mcp && pnpm install
- 配置
cordis.patch.yml:
在 DSH 對應 profile 的配置文件中添加(路徑視環境而定,桌面版通常爲~/.dsh/profiles/desktop/cordis.patch.yml):
- id: mcp-cau
name: '@deepseek-ai/dsh-mcp-client'
serverName: cau
transport: stdio
command: node
args: [<本倉庫路徑>\tools\mcp\index.mjs]
cwd: <本倉庫路徑>\tools\mcp
*注意:數據倉配置不必在此文件中重複填寫(v0.5.4 起),插件會自動讀取面板設置頁的配置。*
- 配置令牌:
在 DSH 側邊欄“農大門戶” → 設置 → 令牌管理中,粘貼你的 GitHub 數據倉細粒度令牌。
前置要求與注意事項¶
- 環境依賴:
- DSH 官方桌面版(建議)或 Web/CLI 環境,版本需 ≥ 0.1.5-rc.2(面板停靠在右側欄需此版本)。
- Node.js 18+。
- 數據源:
- 需要一個 GitHub 私有倉庫作爲數據倉。
- 需要一個 DeepSeek API Key(用於管道 AI 加工)。
- 安全:
- GitHub 令牌僅存本機,請勿泄露。
- 調度用的 cron-job.org 令牌僅授予
Actions: Read & write權限。 - 校內數據版權歸學校所有,公開頁面信息僅作個人學習使用。
結語¶
農大門戶插件將爬蟲技術與 AI 能力封裝爲 DSH 生態的一部分,通過面板與 MCP 工具,讓通知公告的檢索與閱讀變得高效且可控。所有數據由用戶自行託管,工具代碼開源透明。項目目錄與 GitHub 倉庫:zbber-lab/cau-portal-open。