← 返回列表
未验证
让 DeepSeek Harness DSH 里的模型直接调用本机 ArcGIS Pro:读取工程、图层、GDB…
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/23 · 已提供中文文档
ArcGIS Pro 桥接插件(用于 DeepSeek Harness)——以 mcp__arcgis__* 形式暴露的工具
综合分
30.6
GitHub 分
30.6
用户评分
—
★ Stars
1
周下载量
—
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/y0urday/dsh-arcgis-pro-bridge.git信任档位:已验证本站已于 1 天前真实安装成功(L4 · 真实安装)
- 是什么
- 生态应用(桌面端 / Web 外壳,不以 dsh plugin add 安装)
- 装得上吗
- 本站已真实安装成功(L4 · 真实安装,非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 2 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/24(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-arcgis-pro-bridge
让 DeepSeek Harness (DSH) 里的模型直接调用本机 ArcGIS Pro:读取工程、图层、GDB 结构,并执行 Buffer / Clip / 自定义 ArcPy。
本项目把 ArcGIS-Pro-Bridge-MCP-Server 的 Python MCP 服务内置进一个 DSH bundle 插件,并通过 DSH 自带的官方 @deepseek-ai/dsh-mcp-client 以 stdio 方式拉起。模型看到的工具名形如:
- mcp__arcgis__ping
- mcp__arcgis__health_check
- mcp__arcgis__doctor
- mcp__arcgis__detect_arcgis_environment
- mcp__arcgis__debug_runtime_context
- mcp__arcgis__list_gis_layers
- mcp__arcgis__inspect_project_context
- mcp__arcgis__inspect_gdb
- mcp__arcgis__buffer_features
- mcp__arcgis__clip_features
- mcp__arcgis__execute_arcpy_code
- mcp__arcgis__build_gis_resource_uri
- mcp__arcgis__generate_sync_plan
架构
DSH (Node.js)
└─ 本插件 bundle(cordis.patch.yml,插入两行)
├─ dsh-arcgis-pro-bridge:提供 arcgisProBridge 服务(启动配方)
└─ @deepseek-ai/dsh-mcp-client(DSH 官方内置桥接,注入该服务)
└─ stdio: uv run --locked --project arcgis_mcp_server.py
└─ ArcPy 逻辑通过 ArcGIS Pro 自带 Python 子进程执行
要点:
- 只在本机运行,不开放网络端口。
- ArcPy 永远在 ArcGIS Pro 自带 Python 里执行,不污染 DSH 的 Node 环境。
- DSH 官方 MCP 桥目前只桥接 Tools;上游的 arcgis:// Resources 不会被注册,读取操作请用同名 Tool(如 inspect_gdb)。
- execute_arcpy_code 等于在本机执行代码。请只在可信机器上启用,写操作前先备份数据。
环境要求
- Windows(ArcGIS Pro 只支持 Windows)
- ArcGIS Pro 已安装且可正常启动
- DeepSeek Harness(开发预览版,本插件按 0.1.7-alpha.2 验证;Node.js >= 22.19)
- 推荐安装 uv;没有 uv 时可用已装 mcp 包的 Python 3.11+(见下节版本约束)
依赖与版本约束
| 依赖 | 约束 | 为什么 |
| --- | --- | --- |
| @deepseek-ai/schemastery | ~3.18.4 | 本插件是 bundle,schema 由宿主 DSH 的 cordis loader 校验。DSH 内置包统一声明 ~3.18.4;用 ^ 会在 profile 里装出第二份旧副本(实测 ^3.18.1 解析到 3.18.2,与宿主的 3.18.4 不一致)。 |
| mcp[cli](vendored server/) | >=1.9.4,=22.19 | 与 DSH 宿主一致。 |
Python 侧的实际锁定值见 server/uv.lock(uv tree 可查看)。升级依赖的正确姿势:
cd server && uv lock --upgrade && uv lock --check # 有
验证 patch 已进入配置:
dsh --profile web --dump-config
输出中应能看到 arcgis-pro-bridge 这一行,name 解析为本包。然后完全重启 dsh web。
备选:发布到 npm 后安装
包内已带 files 白名单,可直接发布:
npm publish
dsh plugin --profile web add dsh-arcgis-pro-bridge@0.1.1
为什么建议 GitHub 直装 + 无构建脚本
DSH 插件有三种分发方式:本地目录、npm 包、github: 直装。若使用 TypeScript + prepare 构建,GitHub 直装会要求用户在自己的 profile 里配置 allowBuilds,等于允许安装期执行你的代码,门槛更高。本仓库刻意保持为纯 JavaScript,三种方式都能直接用,GitHub 直装体验最好;以后要上 npm 也无需改动结构。
发布新版本
仓库首次发布(已完成,仅作记录):
git remote add origin git@github.com:y0urday/dsh-arcgis-pro-bridge.git
git push -u origin main
之后每发一版走这套流程:
1. 改 package.json 的 version,并在 CHANGELOG.md 记录变更
2. 本地校验
npm run check && npm test
(cd server && uv lock --check)
3. 打标签并推送(标签名 = v + version)
git add -A && git commit -m "release: v0.1.1"
git tag -a v0.1.1 -m "v0.1.1"
git push origin main --follow-tags
4. 打包并挂到 GitHub Release(git 安装不需要 tgz,Release 附件是给 npm 用户和留档用的)
npm pack
gh release create v0.1.1 dsh-arcgis-pro-bridge-0.1.1.tgz --title v0.1.1 --notes-file CHANGELOG.md
建议给仓库加上 dsh-plugin topic,方便生态发现。用户侧固定到某个 commit 安装:
dsh plugin --profile web add github:y0urday/dsh-arcgis-pro-bridge#
若要同时发布 npm,包内 files 白名单已就绪,npm publish 即可;npm 与 GitHub 两套安装方式可以并存。
配置
默认配置已写入 cordis.patch.yml,一般无需修改。所有字段都在 index.js 的 Config schema 中带默认值:
| 字段 | 默认 | 说明 |
| --- | --- | --- |
| serverName | arcgis | 模型侧工具前缀 mcp____ |
| launcher | uv | uv:用包内 pyproject + lock 启动;python:用 pythonExecutable 直接运行脚本(该解释器需已安装 mcp) |
| pythonExecutable | python | 仅 launcher: python 时使用;这是运行 MCP 服务的普通 Python,ArcPy 仍由服务自动发现 |
| extraArgs | [] | 追加给 Python 服务进程的参数 |
| env | {} | 额外环境变量,例如 ARCGIS_PRO_PYTHON / ARCGIS_PRO_INSTALL_DIR |
| toolCallTimeoutMs | 300000 | 单次 ArcGIS 工具调用超时(毫秒) |
| failOnStartupError | false | 首次连接失败是否让插件激活失败 |
| reconnect. | 见下 | 子进程断开后的指数退避重连策略 |
reconnect 默认值:enabled: true、initialDelayMs: 500、maxDelayMs: 30000、maxAttempts: 10。
用户覆盖示例
在 $DSH_HOME/profiles/web/cordis.patch.yml(或启动时用 --patch)里按 id 覆盖整行配置:
- id: arcgis-pro-bridge
config:
serverName: arcgis
launcher: python
pythonExecutable: python
failOnStartupError: true
env:
ARCGIS_PRO_PYTHON: C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe
注意:patch 覆盖是整段替换 config,不是深度合并;未写出的字段会回到 schema 默认值。
首次测试顺序
1. 让模型调用 mcp__arcgis__ping,确认真正进入了工具链路。
2. 调用 mcp__arcgis__health_check,再调 mcp__arcgis__doctor,确认能发现 ArcGIS Pro Python、ArcPy 可导入。
3. 读取当前工程:mcp__arcgis__list_gis_layers(或传 .aprx 路径)。
4. 读取 GDB:mcp__arcgis__inspect_gdb。
5. 最后才试 mcp__arcgis__buffer_features / clip_features / execute_arcpy_code,写操作前备份。
可以复制这段提示词给模型:
不要使用 shell,不要写测试脚本。直接调用可用的 mcp__arcgis__ping,再调用 mcp__arcgis__health_check,把两次返回结果完整告诉我。
排查
- 工具没出现:先跑 dsh --profile web --dump-config,确认 arcgis-pro-bridge 行存在且没有加载错误;确认已重启 dsh web。
- uv 找不到:where uv(CMD)/ Get-Command uv(PowerShell)确认在 PATH;否则改用 launcher: python 并安装 pip install "mcp[cli]>=1.9.4,=1.9.4, 本地补丁内容记录在 NOTICE;除 pyproject.toml 的 mcp[cli] 上界和据此重新生成的 uv.lock 外,server/ 与上游逐字节一致。
许可
本仓库 MIT。vendored Python 服务代码来自 Sangwxx/ArcGIS-Pro-Bridge-MCP-Server(MIT),完整许可见 server/UPSTREAM_LICENSE,说明见 NOTICE。