search-school-sci-skill:把學院科研產出整理成可視化 Excel

前言

在 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 生態理念是「一切皆插件」,可按需審閱後再安裝。

羽毛球分组比赛记分
小程序二维码

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

小夜