AITP 科研工作臺:爲 DeepSeek Harness 約束課題目錄與寫入位置

前言

在 DeepSeek Harness(DSH)裏做科研類 Agent 會話時,常見摩擦不在「能不能寫文件」,而在「寫到哪裏、換會話後還能不能找到」。推導、腳本、數據和手稿若散落在課題目錄根下,或同一課題材料分佈在多個路徑,後續只能靠全文搜索或記憶。DSH 社區插件按 bundle 擴展 Host 與客戶端能力;AITP 科研工作臺(倉庫 bhjia-phys/aitp-research-desk)把「一個課題 = 含 research.md 的自包含文件夾」落成可執行約束,並提供文件管理器式瀏覽界面,維護者爲 bhjia-phys,分類爲客戶端插件。

下面介紹它的定位、能力、安裝方式與典型用法。事實以 GitHub README 爲準;它不解析 PDF、不做 RAG、不建數據庫,只約束 Markdown 目錄結構與寫入位置,並把已有文件原樣展示。

這是什麼

AITP Research Desk 是 DSH 的一個研究插件:把課題變成自包含文件夾,讓 Agent 在寫文件前通過工具取得規範路徑,用寫守衛攔截根目錄亂放文件,並通過 research.md 相關工具維護進展與結構體檢。側邊欄底部安裝成功後會出現「科研工作臺」入口。

與 AITP Skills bundle(plugins/aitp)是兩個獨立的 DSH bundle,建議一起安裝:Skills 負責研究循環與方法論;本插件負責「東西放哪、現在到哪了」——寫入守衛、research.md 工具、課題瀏覽面板。兩者共享一份 placement-rules.json(Skills 的 assets/placement-rules.json);本插件 placementRules 配置可指向該文件,未配置或讀取失敗時使用內置副本,research_status 會提示「正在使用內置副本」。只裝工作臺也能用;同時安裝 Skills 纔有完整方法論約束。

當前 package 版本爲 0.1.0,許可證 MIT,要求 DeepSeek Harness ^0.2.1-rc.2、Node.js >=22。

核心功能

課題約定與寫守衛

  • 課題 = 含 research.md 的目錄;research.md 是唯一主筆記。
  • 課題目錄根下只允許 research.md、README.md、.tex/.bib 主稿和 .gitignore;其他文件由寫守衛拒絕。
  • 推薦材料目錄包括 notes/、references/、code/、calculations/、manuscripts/ 等;已有目錄可就地採納,把 research.md 放進現有文件夾即可。

寫守衛覆蓋 write / edit / str_replace_editor / research_write;shell 腳本里的寫入靠系統提示與收尾 research_check 發現。

Agent 工具

系統提示會要求:先 research_status 確認課題 → 寫前 research_path → 有實質進展 research_log → 收尾 research_check。

工具 用途
research_status 列出全部課題、狀態、更新時間、材料數量、體檢問題;指出當前工作目錄所屬課題。
research_path 寫文件前取規範路徑(notes/references/code/calculations/manuscripts/data/project/research),必要時建目錄。
research_init 新建課題:research.md 模板 + README 地圖 + 材料目錄。
research_log 把帶日期的進展寫進 research.md 的 Current work。
research_check 結構體檢:根目錄散落文件、缺失 Current work、未鏈接材料等。
research_write 在課題內寫文件(自動建父目錄);WSL/網絡盤上 write/edit 不可用時使用。
research_organize 把課題目錄根下放錯位置的文件整理到規範目錄;默認 dry-run。

客戶端面板

  • 課題樹:按方向 → 課題 → 材料目錄 → 文件逐層展開,讀真實文件夾;點文件用 DSH 原生預覽;大目錄只顯示前 500 項並提示剩餘數量。
  • 規劃頁:編輯課題根下的 research-plan.md,可插入指向具體課題的鏈接。
  • 編輯器:Ctrl/Cmd+S 保存;攜帶 mtime,磁盤被 Agent 改過時拒絕覆蓋;未保存草稿可恢復;超過 2 MB 時只讀。
  • 知識庫:右側「知識庫」頁籤瀏覽共享知識庫,支持全文搜索,文件在原生預覽中打開。
  • 遠程主機:僅允許 remoteAllow 中列出的 SSH 別名,在本機終端中執行。

設計取捨上:只讀文件系統 + 普通 Markdown,無數據庫;面板不寫文件,寫入發生在會話裏;不做 Zotero/RAG 式文獻管理。

安裝與啓用

要求 DSH 0.2.1-rc.2 或更高(桌面版 / web profile 均可),Node.js 22+(DSH 自帶運行時即可)。

1. 安裝 AITP Skills(推薦)

git clone https://github.com/bhjia-phys/AITP-Research-Protocol.git
dsh plugin --profile desktop add ./AITP-Research-Protocol/plugins/aitp

2. 安裝本插件

git clone https://github.com/bhjia-phys/aitp-research-desk.git
dsh plugin --profile desktop add ./aitp-research-desk

也可在 DSH 插件管理器裏用 install_bundle,target 指向本目錄的絕對路徑。安裝後重啓 DSH(Host 側需重新加載),頁面刷新後側邊欄底部出現「科研工作臺」圖標。

3. 配置課題根目錄

編輯本插件的 cordis.patch.yml(或在 profile 的 patch 層覆蓋):

config:
  roots:
    - 'D:\Research'
    # WSL 示例:
    # - '\\wsl$\Ubuntu2204\home\you\physics\topics'
  newProjectRoot: 'D:\Research'
  placementRules: 'D:\AITP-Research-Protocol\plugins\aitp\assets\placement-rules.json'

roots 是掃描課題的根目錄;每個根下按 maxDepth 查找 research.md。配置變更後重啓 DSH。

插件以當前 DSH 進程權限讀寫配置的根目錄與課題文件;安裝前請閱讀倉庫源碼與 MIT 許可證,確認路徑與遠程 SSH 配置符合本機安全策略。

典型用法

  1. 配置 roots 與(可選)placementRules 後重啓 DSH,在面板中展開課題樹,用原生預覽打開 research.md 或材料文件。
  2. 在 Agent 會話中先調用 research_status,確認當前工作目錄所屬課題及體檢問題。
  3. 新建課題時用 research_init;寫 notes、code、manuscripts 等前用 research_path 取路徑,再用 DSH 寫入工具或 research_write。
  4. 有實質進展時用 research_log 更新 research.md 的 Current work;會話結束前用 research_check 做結構體檢;根目錄誤放文件可用 research_organize(先 dry-run)整理。

規劃跨多個課題時,在 research-plan.md 中維護鏈接或路徑文本,與面板中的真實目錄一致即可。

適用場景與注意

適合:已在用或計劃用 AITP 目錄約定做課題筆記、希望 Agent 寫入有統一 guard、需要不另建索引就能瀏覽課題與材料的研究者;與 AITP Skills 同裝時方法論與放置規則一致。

注意:

  • WSL 上首次爲某課題目錄打開原生預覽時需創建/複用 workspace 與會話;大 WSL 路徑首次展開可能受 9P 延遲影響。
  • 無文件監聽推送,面板按需刷新;行內數學爲輕量 LaTeX→Unicode,不是完整 TeX。
  • 社區目錄 SkillHub 插件頁 與 GitHub 爲獨立信息源,與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」。

結尾

AITP 科研工作臺把課題文件夾、research.md 工具鏈和寫位置守衛綁在一起,並用文件管理器式面板展示真實目錄,適合在 DSH 里長期跑科研 Agent、又不想讓材料堆在課題目錄根的情況。詳情與 issue 見倉庫 bhjia-phys/aitp-research-desk,目錄頁見 SkillHub。

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

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

小夜