The DSH platform extends its functionality through a plugin mechanism. In geographic information system (GIS) scenarios, agents typically need to query GeoServer services, publish data layers, or retrieve map snapshots. Manually operating these REST APIs or logging into the backend is not only cumbersome but also difficult to reuse in agent interaction flows. The dsh-geoserver plugin provides these capabilities.
This is a DSH platform GeoServer interaction plugin. It uses configuration cards to enable visual configuration and retrieves map images directly within a session, without manual browser login. The plugin is maintained by user wangcong1137-hash.
Core Features¶
The plugin provides four Agent tools and a visual configuration interface.
- Resource enumeration: Lists workspaces, layers, and styles, supporting information retrieval through the REST API or WMS GetCapabilities documents.
- Data publishing: Uploads a local GeoTIFF file or a ZIP file containing a single SHP dataset.
- Map retrieval: Retrieves WMS map images on the server side and returns a same-origin display URL.
- Connectivity diagnosis: Detects GeoServer reachability, authentication status, and rendering capabilities.
Installation and Enablement¶
Run the following command to install the plugin into the Web configuration file.
dsh plugin --profile web add dsh-geoserver
Restart dsh web after installation. Even if no server URL is configured, the Harness will not fail to start, but tool calls will report configuration errors until a URL is saved.
Usage¶
The plugin exposes the following CLI tools:
geoserver_list: Enumerates workspaces, layers (title/bounds/CRS/styles), and image formats.geoserver_publish: Uploads a local GeoTIFF or ZIP file. Supports notifying business systems via Webhook.geoserver_map: Retrieves a WMS GetMap image on the server side and returns a same-origin display URL.geoserver_probe: Performs connectivity, authentication status, and rendering tests.
Configuration and Limitations¶
Credentials and Permissions¶
- Credential management: Configure the connection through a configuration card. Credentials do not pass through the browser; the plugin manages Basic Auth on the host side and provides same-origin image service through
ctx.webServer. - Publishing limitations: Files to be published must be located within the
publishRootsdirectory, and their size is limited bypublishMaxBytes. - State independence: GeoServer publication and Webhook delivery have independent states. A publication failure does not roll back layers that have already been created, and a Webhook failure does not affect the existence of the layers.
Image and Enumeration¶
- Image limitations: Images are cached in host memory. Requests are constrained by width/height limits (4096 px) and HTTP timeouts.
- GetCapabilities fallback: Fallback mode parses only name/title/style; CRS and bounds are taken from REST paths.
- Service scope: WFS/WMTS service listings are not yet exposed, and REST enumeration covers only WMS layers and styles.
Use Cases¶
This plugin is suitable for scenarios that require integrating GeoServer services into DSH agents. Note that the plugin runs with the permissions of the current DSH process; verify the source code and license before installation.
Summary¶
dsh-geoserver integrates GeoServer operations into the DSH platform session flow. Through visual configuration cards and CLI tools, agents can complete the full workflow from enumeration and publishing to map retrieval.
- Directory page: dsh-geoserver
- GitHub: wangcong1137-hash/dsh-geoserver