前言¶
在 DSH 裏做科研情報或學院材料輔助時,常見需求是:給定「學校 + 學院」,彙總論文數量、分區、作者身份,並輸出能直接用於彙報的表格。知網、Web of Science 等機構庫通常沒有穩定的「學院」字段,同一學院英文名在不同論文裏寫法不一,同名學院還會跨校誤命中。手工檢索再貼進 Excel,耗時長且口徑難統一。
下面介紹社區插件 search-school-sci-skill(維護者 liu-Daniel7,分類:聯網工具)。它把 OpenAlex 抓取、單位串普查、師資名單比對和 Excel 看板生成串成一條流水線;裝到 DSH 後可通過自然語言觸發技能,實際計算仍由倉庫內 Python 腳本執行。
這是什麼¶
search-school-sci-skill 的定位是:查任意大學任意學院的科研產出,總結成可視化 Excel。給一個「學校 + 學院」,輸出一張可直接交材料的工作簿。
插件包在 GitHub 開源(liu-Daniel7/search-school-sci-skill),package.json 聲明 dsh.bundle,版本 1.0.0,許可證 MIT。目錄頁:SkillHub 插件頁。
它解決什麼問題¶
README 用對照表概括了與「只有學校/個人、沒有學院粒度」做法的差異,核心包括:
| 現實問題 | 工具做法 |
|---|---|
| 機構庫缺少學院級字段 | 作者單位字符串匹配 + 教師姓名反查還原學院 |
| 同名學院跨校誤算 | 強制校名限定,普查階段列出撞名學校 |
| 學院英文名多種寫法 | 寫法普查,變體納入檢索 |
| 論文只署實驗室 | 可單獨配置實驗室/中心名稱通道 |
| 大量論文只寫校名不寫學院 | 用教師 OpenAlex 作者 ID 反查擴展 |
| 難區分教師與學生 | 與學院師資名單比對,學生標爲「推定」 |
| 中文期刊在 OpenAlex 覆蓋不足 | 提供知網補數流程與合併腳本 |
統計口徑分兩種,報告裏應分開引用:本院主導(一作或通訊單位爲本院,對外報材料用這個數)與 本院參與(含外單位主導、本院教師參與)。
輸出長什麼樣¶
最終是一個 7 個工作表 的 Excel 工作簿,例如:
| 工作表 | 內容 |
|---|---|
| ① 看板 | 核心數字、方向×期刊層級、方向×作者身份、圖例與柱狀圖 |
| ② 論文清單 | 全量記錄,層級列配色,全列可篩選 |
| ③ 姓名對照表 | 第一作者與姓氏參考 |
| ④ 教師-方向矩陣 | 教師×方向熱力圖 |
| ⑤ 教師產出 | 逐人分區、一作/通訊、被引 |
| ⑥ 學生(推定) | 推定學生一作清單 |
| ⑦ 說明 | 口徑、清洗記錄、侷限 |
期刊層級參考中科院《期刊分區表》(1–4 區 + Top);會議按 CCF 推薦目錄標 A/B/C;中文期刊在知網補數後按來源類別分層。README 要求報告附帶四條限定語(學生身份推定、分區表年版、默認不含知網獨有中文刊、被引爲 OpenAlex 口徑等),詳見倉庫 README「口徑說明」。
安裝與啓用¶
DSH 安裝命令(來自 README,勿自行改 owner/repo 寫法):
dsh plugin add liu-Daniel7/search-school-sci-skill
裝完後可直接說「用 search-school-sci 查某大學某學院的科研產出」觸發技能。插件本體爲 lib/index.js(skill provider),把 SKILL.md 註冊爲技能正文,倉庫根目錄作爲 resourceBase,因此 reference/、scripts/ 相對路徑在技能上下文中可解析。
安全與權限:插件隨當前 DSH 進程權限運行,會聯網訪問 OpenAlex 等接口;安裝前請閱讀源碼與 MIT 許可證,確認機構數據出境與賬號策略符合本單位要求。
環境與依賴¶
需要 Python 3.9+ 以及 pandas、openpyxl:
pip install -r requirements.txt
不裝 DSH 時,也可在克隆或解壓後的倉庫根目錄直接跑腳本(本文不展開 git clone,以 README 命令爲準)。
典型用法¶
僅命令行跑通¶
① 生成配置(交互向導,不必預先交教師名單):
python scripts/wizard.py --out config.json
② 抓取師資名單(可手工給學院官網 URL,或由 agent 搜索後傳入):
python scripts/faculty_fetch.py --url https://你的學院官網/szdw/ --out faculty.csv --deep
③ 先普查,再全量出表(普查不可跳過,用於校驗檢索式是否混入其他學校):
python scripts/college_sci.py --config config.json --faculty-csv faculty.csv --stage census
python scripts/college_sci.py --config config.json --faculty-csv faculty.csv --out 學院科研產出.xlsx
--stage census 只做機構解析、單位串普查與同名學院檢測,約 2–3 分鐘,不抓論文。
單行示例(已有 config.json 時):
python scripts/college_sci.py --config config.json --out 學院科研產出.xlsx
知網補中文期刊(可選)¶
OpenAlex 對中文期刊覆蓋有限;完整流程見倉庫 reference/CNKI_GUIDE.md(需人工登錄知網導出,腳本負責合併):
python scripts/cnki_import.py --records 結果.records.json \
--cnki-dir ./cnki_export --config config.json --out 結果_含中文.xlsx
離線驗證¶
python tests/smoke_test.py
不聯網,驗證記錄到 7 個工作表、層級配色與中文署名處理鏈路。
在 DSH 裏怎麼用¶
安裝插件後,把上述步驟交給 agent 按 SKILL.md 與 reference/WALKTHROUGH.md 執行即可:生成配置、抓師資、跑 census、再出 Excel;需要中文刊時走 CNKI 指南。踩坑案例與數字證據見 reference/pitfalls.md。
常見問題(README):篇數偏少多爲單位寫法未覆蓋,看 census 輸出補 college.en 或 extra_patterns;教師被判爲學生多爲 faculty.csv 拼音問題;OpenAlex 免費額度按 IP 約 $0.10/天(UTC 零點重置,北京時間早 8:00),遇 429 可申請 key 或分日續跑(有緩存斷點)。
適用場景與邊界¶
適合:需要學院粒度科研產出材料、願意接受 OpenAlex + 可選知網合併口徑的團隊;在 DSH 裏用對話驅動「配置 → 普查 → 出表」。
邊界(README「已知邊界」):中文刊依賴知網機構賬號,工具只做合併;學生身份僅能推定;不接入 WoS/Scopus 訂閱庫;學科方向由關鍵詞自動判定,交叉論文可能需人工改;自動搜學院官網不穩定,建議 agent 先搜到 URL 再傳給 faculty_fetch.py。
查「整校」在方法上可行,但本工具的設計最小區分粒度是學院;全校可按機構 ID 取數,不依賴這裏的單位串匹配邏輯。
結尾¶
search-school-sci-skill 把學院級文獻歸屬、分級與可視化報表收成一條可復現流水線,並封裝爲 DSH 聯網工具插件,便於在 Harness 裏用一句話啓動長流程。
- 目錄頁:https://www.skillhub.cn/plugins/liu-Daniel7/search-school-sci-skill
- 源碼與文檔:https://github.com/liu-Daniel7/search-school-sci-skill
社區目錄 SkillHub 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,可按需審閱後再安裝。