DSH 平臺通過插件機制擴展功能。在地理信息系統(GIS)場景中,智能體通常需要查詢 GeoServer 服務、發佈數據圖層或獲取地圖快照。手動操作這些 REST API 或登錄後臺不僅繁瑣,且難以在 Agent 交互流中複用。dsh-geoserver 插件提供了這些能力。
這是一個 DSH 平臺 GeoServer 交互插件。它通過設置卡片實現可視化配置,並在會話內直接獲取地圖圖像,無需手動登錄瀏覽器。該插件由用戶 wangcong1137-hash 維護。
核心功能¶
插件提供了四個 Agent 工具和一套可視化的配置界面。
- 資源枚舉:列出工作區、圖層和樣式,支持通過 REST API 或 WMS GetCapabilities 文檔獲取信息。
- 數據發佈:上傳本地 GeoTIFF 或包含單個 SHP 數據集的 ZIP 文件。
- 地圖獲取:在服務器端獲取 WMS 地圖圖像,並返回同源顯示 URL。
- 連通性診斷:檢測 GeoServer 的可達性、認證狀態及渲染能力。
安裝與啓用¶
執行以下命令將插件安裝到 Web 配置文件中。
dsh plugin --profile web add dsh-geoserver
安裝後重啓 dsh web。即使未配置服務器 URL,Harness 也不會啓動失敗,但工具調用會報配置錯誤,直到保存 URL。
使用方式¶
插件暴露了以下命令行工具:
geoserver_list:枚舉工作區、圖層(標題/範圍/座標系/樣式)和圖像格式。geoserver_publish:上傳本地 GeoTIFF 或 ZIP。支持通過 Webhook 通知業務系統。geoserver_map:服務器端獲取 WMS GetMap 圖像,返回同源顯示 URL。geoserver_probe:執行連通性、認證狀態和渲染測試。
配置與限制¶
憑證與權限¶
- 憑證管理:通過設置卡片配置連接。憑證不經過瀏覽器,由插件在主機端管理 Basic Auth,通過
ctx.webServer提供同源圖片服務。 - 發佈限制:發佈文件必須位於
publishRoots目錄內,且大小受publishMaxBytes限制。 - 狀態獨立:GeoServer 發佈和 Webhook 交付有獨立狀態。發佈失敗不會回滾已創建的圖層,Webhook 失敗也不影響圖層存在。
圖像與枚舉¶
- 圖像限制:圖像緩存在主機內存中。請求受寬高限制(4096 px)和 HTTP 超時約束。
- GetCapabilities 回退:回退模式僅解析名稱/標題/樣式,CRS 和邊界來自 REST 路徑。
- 服務範圍:WFS/WMTS 服務列表尚未暴露,REST 枚舉僅覆蓋 WMS 圖層和樣式。
適用場景¶
該插件適用於需要在 DSH 智能體中集成 GeoServer 服務的場景。注意該插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證。
總結¶
dsh-geoserver 將 GeoServer 的操作集成到了 DSH 平臺的會話流中。通過可視化的設置卡片和命令行工具,Agent 可以完成從枚舉、發佈到地圖獲取的全流程操作。
- 目錄頁: dsh-geoserver
- GitHub: wangcong1137-hash/dsh-geoserver