前言¶
用 DeepSeek Harness(DSH)改 Minecraft 模組時,常見做法是自己在終端裏跑 Gradle,再把日誌片段貼回會話;模型很難穩定地選任務、等客戶端就緒,更談不上對 runData 這類一次性任務給出通過或失敗的結論。minecraft-dev-starter 是社區維護的 DSH 工作流插件:在當前工作區裏識別 Fabric、Forge、NeoForge 等工程,在會話標題欄提供運行目標與啓停,並把日誌接到側邊欄;可選的模型工具與面板共用同一份運行狀態,便於「改代碼 → 跑一遍 → 看 verdict」閉環。
這是什麼¶
minecraft-dev-starter(npm 包名 minecraft-dev-starter,當前發佈版本 0.1.11,MIT 許可證)由 Chemiofitor4096 維護。官方簡介爲:在 DeepSeek Harness 會話標題欄中檢測、啓動並驗證 Minecraft 模組構建(DSH plugin: detect, launch and verify Minecraft mod builds from the session header)。
插件識別工作區中的模組與插件工程,在標題欄展示當前運行目標並提供啓動、停止;日誌流入側邊欄標籤頁。面板面向人操作,六個可選工具面向模型,兩者共享運行狀態與鎖:同一工程至多一個實例,互不誤殺對方拉起的進程。
核心功能¶
工程識別與運行目標¶
支持 Fabric、Forge、NeoForge、Architectury、Paper 與 Spigot,覆蓋 Minecraft 1.7.10 至 26.x;單模塊、多模塊與聚合倉庫均可,loader 只寫在子模塊時也能識別。運行目標從 Gradle 構建中提取,分爲兩類:
- daemon(常駐):如
runClient、runServer,直到人關閉窗口; - oneshot(會跑完):如
runData、runGameTestServer,結束時給出通過或失敗,便於模型自動驗證而無需人盯畫面。
按 loader 慣例推斷、尚未從構建腳本證實的目標會標記爲未驗證,仍可選擇與啓動。
託管啓動、JDK 與依賴展示¶
任務通過工程自帶的 Gradle Wrapper 啓動。常駐目標依據日誌中的就緒標記判定是否進入運行態;一次性任務區分成功、失敗、被停止、起不來。停止時會終止 Gradle 及其整棵子進程樹。
JDK 大版本按 MC 版本與 toolchain 推斷;本機探測到的 JDK 可在「Mod Dev」面板選擇,也可手動登記 JDK 根目錄。選擇保存在 ~/.dsh/mc-dev-starter/jdk.json,經 -Dorg.gradle.java.home 與 JAVA_HOME 傳給 Gradle,不寫進 gradle.properties。
聲明依賴從 dependencies { }、gradle/libs.versions.toml 與元數據 depends 解析,按配置、座標與 文件:行號 列出,用於覈對是否已添加;不包含 Gradle 解析後的傳遞依賴圖。
日誌、狀態與模型工具¶
運行記錄按 DSH profile 存放在 ~/.dsh/mc-dev-starter/profiles/<name>/;宿主重啓後按 PID 對賬,無法確認存活時記爲未知。日誌支持跟隨、級別着色與過濾(全部 / INFO+ / WARN+ / ERROR);異常退出時給出依賴解析、JDK 不匹配、端口占用、認證失敗等可能原因。
工作區隨當前會話的工作目錄變化,切換會話自動重掃;沒有可運行工程時不渲染標題欄膠囊,避免佔用非 MC 項目界面。
可選模型工具(與面板同一服務):mc_projects、mc_project_detail、mc_launch、mc_launch_logs、mc_launch_list、mc_launch_stop。對 oneshot 目標,mc_launch 默認等到結束並返回 verdict(passed / failed / aborted / error)及失敗行摘要。
安裝 dsh-better-sidebar 後,面板與日誌可在其側邊欄以圖標標籤頁打開。
安裝與啓用¶
需要 DSH Desktop 0.2.1 或更高版本,或匹配的 dsh CLI。插件 peer 依賴 @deepseek-ai/cordis 與 @deepseek-ai/dsh-tools(見 npm 包 package.json)。
下面介紹官方文檔中的安裝方式(dsh plugin 是對 pnpm 的封裝,效果等同於編輯 profile 的 package.json 後執行 pnpm install):
# 從 npm 安裝
dsh plugin --profile desktop add minecraft-dev-starter
# 本地倉庫(修改後即時生效)
dsh plugin --profile desktop add link:C:/Projects/minecraft-dev-starter
# 使用打包文件
dsh plugin --profile desktop add file:./minecraft-dev-starter-0.1.10.tgz
安裝完成後重啓 DSH。卸載:
dsh plugin --profile desktop remove minecraft-dev-starter
插件在 SkillHub 社區目錄 歸類爲「工作流」;該目錄爲獨立社區站點,與 DeepSeek / 幻方無官方從屬關係。
典型用法¶
- 打開工作區包含 Minecraft 工程的 DSH 會話。
- 標題欄顯示當前運行目標;點擊名稱打開浮層,選擇工程與 Gradle 任務。
- 在「Mod Dev」面板「構建環境」中更換 JDK(下拉或填寫 JDK 根目錄)。
- 點擊啓動開始構建並運行;默認自動打開運行日誌標籤頁(可通過配置關閉)。
- 運行中按鈕變爲停止,點擊後終止 Gradle 及子進程。
用模型工具驗證 oneshot 任務¶
- 調用
mc_project_detail,確認哪些目標是oneshot(如runData、runGameTestServer及項目自定義runGametest)。 - 調用
mc_launch啓動;失敗時查看返回的summary、failures,必要時用mc_launch_logs讀全文。 - 常駐
runClient僅能自動斷言是否進入運行態及日誌異常;畫面與手感仍適合人工查看後再讓模型讀日誌。
配置¶
在 profile 的 cordis.patch.yml 中爲插件條目添加 config(插件 id 以你 profile 中實際條目爲準,文檔示例爲 mcdev-host):
- id: mcdev-host
name: minecraft-dev-starter
config:
autoOpenLogTab: true
# logDock: right # 默認:裝了 dsh-better-sidebar 落底部工作臺,沒有則落右側欄
readyTimeoutMs: 90000
logRingLines: 2000
| 配置項 | 類型 | 默認值 | 說明 |
|---|---|---|---|
autoOpenLogTab |
boolean | true |
啓動後自動打開運行日誌標籤頁 |
logDock |
right | bottom |
自動 | 日誌停靠位置;可強制 right |
readyTimeoutMs |
number | 90000 |
等待進入運行態的超時(超時不計爲失敗) |
logRingLines |
number | 2000 |
內存保留的日誌行數 |
適用場景與注意¶
適合誰:在 DSH 裏日常開發 Fabric / Forge / NeoForge 等模組或 Paper 插件、希望標題欄一鍵跑 Client/Data、或希望 Agent 通過工具拿到 oneshot 構建結論的開發者。
權限與安全:啓動時在工程目錄執行該倉庫自帶的 Gradle Wrapper,環境變量繼承自 DSH 宿主,即以當前 dsh 進程的用戶權限運行工作區構建腳本——與你在本機手動執行 gradlew 同屬一種信任邊界。運行記錄與日誌寫在 ~/.dsh/mc-dev-starter;除 Gradle 自身產物外不改工程目錄;/mcdev/api 由本機 DSH Web 服務提供,文檔說明不向外發送數據。安裝前建議閱讀 GitHub 倉庫 源碼、SECURITY.md 與 MIT 許可證。
其他限制:原生右側欄標籤無圖標字段(圖標依賴 dsh-better-sidebar);子模塊各自成工程後,聚合根上單獨掛的 run 目標不會出現在列表;Windows 上首次構建可能因下載 Gradle 與依賴耗時較長。
結尾¶
minecraft-dev-starter 把 MC 模組的識別、Gradle 託管啓動、日誌與 oneshot verdict 收進 DSH 會話標題欄與可選工具,減少在終端與聊天之間來回搬運的狀態。進一步瞭解可查看 SkillHub 目錄頁 與 GitHub:Chemiofitor4096/minecraft-dev-starter。