MIT-licensed plugin from the Wuhan University CVEO group that puts a CesiumJS-based 3D Tiles / 3DGS workspace beside the DeepSeek Harness chat, with measurement, spatial analysis, screenshots and reports that both you and the agent can operate.
DSH integration
Native runtime
Author-claimed
Safety audit
Unaudited
Last verified
2026-11-14
License
MIT
01What can it help you accomplish?
Look at a 3D Tiles or 3DGS dataset next to the conversation and measure what you see, without standing up a GIS server
A right-hand 3D scene panel with layer visibility, distance / area / height difference measurement, ground selection with GeoJSON export, and a coordinate HUD sampled at roughly 5–6 Hz
People working with 3D city models, real-scene 3D or Earth-observation data who want the model to see the same scene they do
Ask the agent to drive the scene in plain language — colour by height, take a clean screenshot, produce a report
Six host tools (`earth_scene`, `earth_capture`, `earth_draw`, `earth_measure`, `earth_analyze`, `earth_shader`) that the agent calls, plus a `/earth` command, with screenshots carrying a camera metadata JSON sidecar
Users who would rather describe the operation than hunt for buttons, and who need reproducible outputs for a report
Run terrain-style analysis — profile, flood, sunlight, clip, skyline — on the loaded scene and hand the results to the agent
One active analysis at a time, overlaid in the scene, with the elevation source (3D Tiles surface or terrain) stated in the analysis card
Analysts who need a quick first read on a site before going to professional software
02How to install into DeepSeek Harness
Prerequisites
- A desktop DeepSeek Harness install with a profile you can add plugins to (the README uses `dsh plugin --profile <profile> add …`)
- A default model that accepts image input if you want the AI 圈选 (AI circle-select) flow, since it sends a screenshot to the visual model
- 3D Tiles data whose root tile carries its own world placement (`root.transform` or `root.boundingVolume.region`)
Installation steps
- 01
Easiest: open the desktop DeepSeek Harness, click 「插件」 in the top right, search the plugin marketplace for the full package name `@cveo/dsh-digital-earth` and install 「数字地球」
- 02
Or from a terminal: `dsh plugin --profile <profile> add @cveo/dsh-digital-earth`
$ dsh plugin --profile <profile> add @cveo/dsh-digital-earth
- 03
Or install a local tarball: `dsh plugin --profile <profile> add ./cveo-dsh-digital-earth-1.5.2.tgz`
$ dsh plugin --profile <profile> add ./cveo-dsh-digital-earth-1.5.2.tgz
- 04
Fully quit and reopen DSH — the client bundle registers at startup, so a page refresh is not enough
- 05
Click the 「数字地球」 card on the start page, or the globe button in the conversation title bar, to open the right-hand 「数字地球」 tab
- 06
Load data: 数据 ▾ → open a local directory containing `tileset.json`, or paste an online address / enter coordinates to fly there
Verify the integration
- After the full restart the conversation title bar has a globe button and the start page has a 「数字地球」 card
- Loading a tileset renders the 3D scene in the right-hand panel, and a plain click on a building or the ground pops an identification card with layer, coordinates and elevation
Rollback
- Updating a locally installed copy requires fully quitting and restarting DSH so the new host routes take effect
03DSH integration and capability boundaries
A DSH plugin (`@cveo/dsh-digital-earth`) that registers six host tools and opens a 「数字地球」 tab beside the conversation, where the 3D scene panel and the agent read and write the same scene.
3D Tiles / 3DGS scene browsing with layers
a local directory containing `tileset.json`, an absolute local path, or an `http(s)` URL; plus local GeoJSON or Shapefile for the 地图 tab→stacked 3D Tiles / 3DGS layers with show-hide, locate and attribute identification; local paths stay within the directory you authorised once
online base maps and terrain are fetched from the selected data source at runtimeShapefile import accepts at most 500 features / 20,000 coordinatesMeasurement and identification
clicks and drags in the scene, or GeoJSON from the agent→geodesic distance, polygon area, height difference, ground selection area / perimeter / boundary elevation with GeoJSON export, plus a pick card with surface and geometric height estimates
measurements and annotations stay in the panel until clearedSix agent tools over a stable contract
natural-language instructions in the conversation, or `/earth` commands→`earth_scene` (camera, layers, base map, terrain, `load` / `remove` / `visible` / `fly` / `reset` / `pick` / `inspect` / `report`), `earth_capture`, `earth_draw`, `earth_measure`, `earth_analyze`, `earth_shader`
captures write image files into the screenshot directory and keep only the most recent 50each capture writes a same-named JSON sidecar with camera metadataSelection-to-question and AI circle-select
a point / lasso / rectangle / object selection, or a click on a target for AI 圈选→a question card holding the frozen frame and the cyan selection, sent to the current conversation as a native image attachment (longest edge 1024 px), or an approximate outline you can adopt as a selection
the screenshot is sent to the visual model, so model fees apply per the configured serviceAI 圈选 makes one direct call to the global default visual model outside the agent tool loop and does not retry
04Who is it for? When not to use it?
Good for
- People working with 3D city models, real-scene 3D or Earth-observation data who want the model to see the same scene they do
- Users who would rather describe the operation than hunt for buttons, and who need reproducible outputs for a report
- Analysts who need a quick first read on a site before going to professional software
Not for
- Surface sampling is not building segmentation: roof, wall and ground can make the lon/lat boundary fold back, areas are only horizontal-projection estimates, and analysis heights come from either the 3D surface or online terrain using ellipsoidal height — one source per analysis, never mixed.
- 3D Tiles root tiles must carry their own world placement (`root.transform` or `root.boundingVolume.region`); OSGB-derived data missing the root transform needs the repo's `georef-osgb` script, which is not in the npm package. 3DGS cannot supply a samplable surface elevation, so profile / flood / skyline need terrain or mesh 3D Tiles.
- AI 圈选 and selection-to-question depend on host services: the model must accept image input, and the host must provide LLM, attachment and default-model services — missing ones are reported explicitly rather than silently degraded.
05Compatibility, maintenance and safety notes
- Surface sampling is not building segmentation: roof, wall and ground can make the lon/lat boundary fold back, areas are only horizontal-projection estimates, and analysis heights come from either the 3D surface or online terrain using ellipsoidal height — one source per analysis, never mixed.
- 3D Tiles root tiles must carry their own world placement (`root.transform` or `root.boundingVolume.region`); OSGB-derived data missing the root transform needs the repo's `georef-osgb` script, which is not in the npm package. 3DGS cannot supply a samplable surface elevation, so profile / flood / skyline need terrain or mesh 3D Tiles.
- AI 圈选 and selection-to-question depend on host services: the model must accept image input, and the host must provide LLM, attachment and default-model services — missing ones are reported explicitly rather than silently degraded.
- Base maps and terrain are read from online services (Esri imagery, ArcGIS terrain by default, or your own XYZ / ArcGIS / WMS source), and AI 圈选 sends the screenshot out — offline use means turning the base map off.
MIT · README evidence only, README badge shows version 1.5.2, no GitHub release, no security audit
06Frequently asked questions
How do I install Digital Earth into DeepSeek Harness?
Open the desktop DeepSeek Harness, click 「插件」 in the top right, search the plugin marketplace for the full package name `@cveo/dsh-digital-earth` and install 「数字地球」. From a terminal you can also run `dsh plugin --profile <profile> add @cveo/dsh-digital-earth`, or add a local `./cveo-dsh-digital-earth-1.5.2.tgz`.
Why is the globe button missing after installing?
The client bundle registers at DSH startup, so a page refresh is not enough — fully quit and reopen DSH. Then either click the 「数字地球」 card on the start page or the globe button in the conversation title bar to open the right-hand tab.
How does the agent know what I am looking at?
The panel and the conversation share one set of operations. The host registers six tools — `earth_scene`, `earth_capture`, `earth_draw`, `earth_measure`, `earth_analyze`, `earth_shader` — whose names and parameters are a stable contract, and you can also type `/earth` to check status, capture, produce a report or clear annotations. A capture returns the host absolute path plus camera metadata and writes a same-named JSON sidecar next to the image.
Can I trust the areas and heights it reports?
The README is explicit that they are estimates: surface sampling is not building segmentation, so roof, wall and ground can fold the lon/lat boundary back and areas are horizontal-projection approximations. Heights come from either the 3D surface or online terrain using ellipsoidal height, one source per analysis and never mixed. For precision-critical work the README says to defer to professional software.
What data does it need, and what does it send out?
3D Tiles 1.0 / 1.1 with a root tile that carries its own world placement, or 3DGS with `KHR_gaussian_splatting` (SPZ compression included). Local layers are not uploaded and local paths stay inside the directory you authorised once. Base maps and terrain come from online services (Esri imagery, ArcGIS terrain, or your own XYZ / ArcGIS / WMS source) and can be turned off offline; the AI circle-select flow does send the current screenshot to the visual model.
07Related DSH workflows
weknora
by tencent
Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.
honcho
by plastic-labs
Memory library for building stateful agents
webnovel-writer
by lingfengqaq
A long-form Chinese web-novel writing assistant for Claude Code and DeepSeek Harness, designed to reduce memory loss and hallucinations in serialized projects of up to 2 million characters.
reme
by agentscope-ai
ReMe: Memory Management Kit for Agents - Remember Me, Refine Me.
08Data and sources
打开 DSH 并进入数字地球后,对话右侧会显示三维场景面板。加载本地或在线的 3D Tiles / 3DGS 数据后,可在对话过程中浏览、量测与执行空间分析;Agent 也可直接读写场景、添加标注、截图并导出报告。
六个工具由 Host 注册,名称与参数是稳定契约,面板和对话共用同一套操作:
This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-11-14. Found an error? Submit a correction.
Best DeepSeek Harness Plugins
Twelve plugins worth installing first — picked from the whole catalog, across every category.
