DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Geolibre — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
G

dsh-geolibre

Geolibre

DeepSeek Harness 插件:将 GeoJSON/矢量数据渲染到交互式 GeoLibre 地图中,并让代理通过代理工具操作实时地图(图层、样式、视图、GeoLibre 算法和 Whitebox WASM 工具)。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:baddying/dsh-geolibre#2e8d0d769c609c119fed61ff300a379314ca63e2
README兼容性版本

兼容性与来源证明

Geolibre 以 dsh-geolibre 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/22

版本

0.1.0stable
2026/9/9
最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
60
最近提交
2026/9/9
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

README

dsh-geolibre

DeepSeek Harness (DSH) plugin — 把 GeoLibre 地图能力接入 Web GUI,并让 Agent 可以实时操作「地图」tab 里的交互地图:渲染 GeoJSON、管理图层/样式/视图、运行 GeoLibre 处理算法与 Whitebox 工具箱(浏览器内 WASM 执行)。

Render GeoJSON into an interactive GeoLibre map inside the DSH Web GUI, and let agents operate the live map in the "地图" (Map) sidebar tab — layers, styles, view, GeoLibre processing algorithms and the Whitebox toolbox (executed by WASM in the browser).

功能总览 / Features

  • 宿主侧 agent 工具(Host agent tools)
    • geolibre_render_map — 渲染 GeoJSON 数据(文本 / 本地文件 / URL)为地图并同步到会话工程
    • geolibre_map_status — 查看实时地图会话:图层清单、可见性、视图、连接状态
    • geolibre_map_run — 向已就绪的实时地图发送命令并等待结果: getView / getCenter / getBounds / flyTo / fitBounds / zoomToLayer / identify / getLayerFeatures / getSelectedFeatures / getDrawnFeatures / listAlgorithms / runAlgorithm / runModelBuilder / listWhiteboxTools / runWhiteboxTool / toImage …
    • geolibre_map_update — 整体替换工程、追加 GeoJSON 图层、删除 / 改名 / 显隐 / 改样式图层、移动视图(view / data+style / layer / removeLayer / project)
  • 浏览器侧(client):注册「地图」侧边栏 tab,内嵌 GeoLibre 应用并充当 host ↔ iframe 的双向中继(geolibre:load-project / geolibre:command / state / result / event)
  • 同源本地托管 GeoLibre Web App(/dsh-geolibre/app/*),无需外部 CDN

依赖要求 / Requirements

  • Node.js >= 20,运行在 DSH(Web 形态,profile 内注册)
  • Python 3(python 可执行文件,可配置 python),且该解释器可 import geolibre(pip install geolibre)—— geolibre Python 包同时提供图层构造辅助与其内置的 GeoLibre Web App 静态资源

安装 / Installation

在目标 DSH profile 的 package.json 中声明依赖并把本包加入 dsh.profile.bundles:

{
  "dependencies": { "dsh-geolibre": "0.1.0" },
  "dsh": { "profile": { "bundles": ["…", "dsh-geolibre"] } }
}

插件配置(在 profile 的 cordis.patch.yml 中按 entry id 覆盖):

# 仅当 python 无法直接 import geolibre 时需要显式指定
- id: geolibre
  config:
    geolibreEnv: "D:/path/to/geolibre_env"   # 留空则自动探测(推荐)
    python: "python"                          # 默认
    # outputDir: ""                           # 地图产物目录,默认 <工作区>/.geolibre-maps
    # appRoot: ""                             # GeoLibre app 静态目录,默认 <geolibreEnv>/geolibre/static/app
    # theme: "light"

说明:geolibreEnv 留空时插件会运行 python -c "import geolibre" 自动定位其安装目录(作为 PYTHONPATH 前缀)。显式设置则跳过探测。

使用示例 / Usage examples

Agent(模型)在工作区直接调用工具即可:

用户:把北京、上海、广州、成都四个点画到地图上。
→ geolibre_render_map(data=<GeoJSON>, name="cities", center="112,32", zoom=4)

用户:对 sample-points 做 100km 缓冲。
→ geolibre_map_run(method="listAlgorithms")        # 发现 buffer 算法
→ geolibre_map_run(method="runAlgorithm", params={"id":"buffer","params":{"layer":"<图层id>","distance":100,"units":"kilometers"}})

用户:把所有省会城市显示出来。
→ geolibre_map_update(data=<34 城市 GeoJSON>, name="cities", style={...})

用户:把地图移到上海。
→ geolibre_map_update(view={center:"121.5,31.2", zoom:8})

「地图」tab 顶部的 刷新 按钮会重新挂载 iframe 并载入 host 当前工程;工程/图层状态以 host 进程内的会话工程为单一事实来源,应用侧改动(用户交互、算法结果图层)会通过 geolibre:state 回写。

架构 / Architecture

Agent 工具 (host, Node)
   │  ops 队列(id 数字键)
   ▼  同源 HTTP:/dsh-geolibre/ops · /result · /state · /project · /status
「地图」tab 控制器页 (lib/map-page.html) —— 轮询 op、回传 result/state
   │  window.postMessage(geolibre:load-project / geolibre:command / result / ready / state)
   ▼
GeoLibre Web App iframe(本地静态托管于 /dsh-geolibre/app/,含 Whitebox WASM)
  • 每次渲染 / 更新会整体推送 .geolibre.json 工程对象(图层、样式、视图),与 geolibre Python 包 Map 使用的协议一致。
  • runAlgorithm / runWhiteboxTool 等命令在浏览器端由应用执行(算法 / Whitebox WASM),结果经 geolibre:result 返回并在应用侧新增图层。

开发 / Development

npm install           # 安装 dev 依赖
npm test              # 冒烟测试(纯 Node 检查 + 可选 python byte-compile)
npm run prepack       # 发布前语法检查

目录:

路径说明
lib/index.jshost 插件:工具、会话、HTTP API、静态托管
lib/map-page.html「地图」tab 控制器页(iframe 中继)
client/client.js浏览器侧 tab 注册(client module)
scripts/render.py渲染 GeoJSON → 独立 HTML + project JSON(复用 geolibre Python 包)
scripts/ops.py服务端工程编辑(create / add-layer / set-layer / remove-layer / set-view)
cordis.patch.ymlDSH bundle 层:注册插件 entry(id geolibre)
test/smoke.mjs冒烟测试

注意:本仓库工作区内的演示工程(.geolibre-maps/)与控制器会话是运行期产物,不随包发布。

许可 / License

MIT — see LICENSE。