@anov/gis-skills-cli
v0.3.11
Published
12 个 @anov/gis (Cesium 1.143) 领域 skill + 15 个 Cesium 原生 skill,外加 anov-gis-mcp 的接入配置。一条命令装到 Claude Code / Codex / Cursor 等智能体。
Readme
anov-gis-skills
给 @anov/gis SDK(Cesium 1.143 二三维 WebGIS 二次开发框架)开发用的 27 个领域 skill + 1 个 MCP 接入,装到 Claude Code / Codex / Cursor 等智能体;GIS 任务先加载 using-anovgis,再按意图路由。
| 组成 | 内容 |
|---|---|
| anov-gis skill ×12 | 按用户意图组织:Viewer / 影像地形 / 图层 / 图元 / Primitive / 3D Tiles / Popup / 材质 / 分析 / 特效 / 陷阱 / 引导初始化 |
| Cesium skill ×15 | 官方 cesiumjs-skills(Apache-2.0)的 Cesium 原生 API 知识,随包一起装,不用另找 |
| anov-gis-mcp | 数据目录 / 接口契约 / 代码片段的 MCP 服务,可选接入 |
- 每个 skill 含 类速查表 + 关键 API + 可跑 snippet + 反模式;snippet 强溯源到 SDK 源码与 demo,核心代码已内嵌
using-anovgis/demos/内置 145 个 demo HTML 原文;内网可优先用 S3 完整 demo 源(含数据/资源),不可达时自动回退包内- 适用 SDK:
@anov/gisv1.8.7(Cesium 1.143.0)
安装
一行装上(推荐)
npx @anov/gis-skills-cli setup # 27 个 skill + MCP 接入setup 做三件事:
- 探测本机装了哪些智能体(配置目录存在且非空),把 27 个 skill 装到它们各自读 skill 的目录 —— 探测到多个时会列出来让你挑(编号多选),每个落点标了路径和体积;加
--agent或-y跳过 - 写 MCP 配置(stdio 直连
anov-gis-mcp)—— 你点名了装给谁就只写给那些,没点名就写给探测到的;不想要就加--no-mcp - 写 跨智能体 GIS 协议到
CLAUDE.md/AGENTS.md/.cursor/rules(要求 GIS 任务先加载using-anovgis)—— 不想要就加--no-agent-protocol
不需要预先 npm i -g,也不需要 clone 本仓库。
常用参数:
npx @anov/gis-skills-cli setup --project # 装到当前项目(默认用户级)
npx @anov/gis-skills-cli setup --agent cursor # 只装给某个智能体(跳过询问)
npx @anov/gis-skills-cli setup --agent codex --agent cursor # 装给多个智能体
npx @anov/gis-skills-cli setup -y # 不询问,装给探测到的全部
npx @anov/gis-skills-cli setup --no-mcp # 只装 skill,不碰 MCP
npx @anov/gis-skills-cli setup --no-agent-protocol # 不写 CLAUDE.md / AGENTS.md 协议
npx @anov/gis-skills-cli mcp add --mcp-agent cursor # MCP 接到 Cursor(默认写给检测到的智能体)
npx @anov/gis-skills-cli uninstall # 清理(只删自己的)完整参数见 INSTALL.md。
验证
npx @anov/gis-skills-cli doctor逐个落点报:27 个 skill 是否齐全、frontmatter 能否被严格 YAML 解析、MCP 条目写没写对、跨智能体协议块是否存在,以及有没有「MCP 配了但 skill 缺失」的半装状态。
新开一个会话提问"flowPolyline 颜色怎么改",应先加载 using-anovgis,再路由到 anovgis-materials 并给出溯源 snippet。
安装排错见 INSTALL.md 的「排错」一节;地图黑屏 / Workers 404 / 材质不生效等问题看下面的「报错排查」。
使用
触发机制
显式加载(推荐):setup 写入的协议要求任何 @anov/gis / Cesium GIS 任务先加载 using-anovgis,再按路由加载领域 skill。skill description 的匹配只是辅助,不保证自动激活。
| 你说 | 应加载 |
|---|---|
| "flowPolyline 颜色怎么改" | using-anovgis → anovgis-materials |
| "地图黑屏了" | using-anovgis → anovgis-pitfalls |
| "我要从零建项目" | using-anovgis → templates/INIT-GUIDE.md |
主动调用:/anovgis-materials、/anovgis-primitives、/anovgis-pitfalls ……
从零建项目
直接说"用 anov-gis 初始化三维地球",using-anovgis 会用 AskUserQuestion 问你 3 件事(默认底图 / 控件 profile / 部署方式),然后输出复制粘贴即可运行的 Vue 3 + Vite 工程骨架。
技术栈固定 Vue 3 + Vite(v0.2.12 起不再询问)。详见 skills/using-anovgis/SKILL.md。
改 SDK 自带 demo
团队最常见的场景是「复制 SDK 自带 demo → 改成自己的业务」。145 个 demo 的路由表在 skills/using-anovgis/DEMO-SKILL-MAP.md。包内 skills/using-anovgis/demos/ 带完整 HTML 原文;内网可直接访问 S3 demo 源时需要的数据/资源。
直接跟 AI 说文件名 + 想改什么,它会路由:
"帮我改 material/flowPolyline.html 把颜色改成红色"
→ 先加载 using-anovgis,再路由到 anovgis-materials,给出改 flowPolyline 颜色的 snippetMCP 能补什么
skill 讲**「怎么写 Cesium 代码」,anov-gis-mcp 讲「这份代码该填什么」**。接上之后 AI 能直接答:
「北京这边到底有哪些数据?URL 是什么?写完的代码帮我验一下。」
15 个工具,覆盖静态数据目录检索、行政区划解析、anovcity 接口契约、代码片段生成与校验。 瓦片与矢量数据的字节不经过 MCP —— 只给 URL,浏览器直连。
npx @anov/gis-skills-cli mcp show # 看当前接没接上
npx @anov/gis-skills-cli mcp add # 补上
npx @anov/gis-skills-cli mcp remove # 拿掉需要 MinIO 只读账号才有实时目录;没有的话目录会退化成内置种子清单。 服务本身的部署与参数见
anov-gis-mcp仓库的 README。
报错排查
第一反应调出 anovgis-pitfalls:
/anovgis-pitfalls它会列出 P0–P12 的高频陷阱。把报错截图 + console 输出 + 关键代码片段贴给 AI,skill 会基于陷阱库匹配根因。
| 症状 | 陷阱 | 排查 |
|---|---|---|
| 地图黑屏,无报错 | P1 / P3 | setBaseUrl 时机;地形用 setTerrain 而非 terrainProvider = |
| 模型不显示 | P2 / P5 | tileset.ready(cb) 是否异步;MaterialProperty 是否改子字段 |
| Workers 404 | P3 / P4 | 检查 baseUrl;webpack 加 IgnorePlugin |
| punycode / IPv6 报错 | P4 | webpack AMD IgnorePlugin |
| 材质改值视觉无变化 | P5 | 整体赋新对象,不要改 .red / .x 等子字段 |
| 双击 HTML 白屏 | P6 | 必须 HTTP 服务打开,不能 file:// |
| Cesium.X undefined | P7 | 用 window.Cesium 或 ANOVGIS.Cesium |
12 个 Skill 速览
| # | Skill | 一句话 | 触发关键词(精选) |
|---|---|---|---|
| 1 | using-anovgis | 入口:CDN/npm 引入、最小 Viewer、12 skill 路由表、Demo 路由表 | ANOVGIS、@anov/gis、新建项目、quickstart、demo、xxx.html |
| 2 | anovgis-viewer | Viewer 扩展参数、Util/Transform、事件枚举、flyTo、skybox | Viewer、坐标系、flyTo、skybox、defaultView |
| 3 | anovgis-imagery-terrain | ImageryLayerFactory、TerrainFactory、卷帘、暗色、离线底图 | 天地图、WMS、WMTS、地形、卷帘、4490、deployConfig |
| 4 | anovgis-layers | 14 个要素图层(GeoJSON / 3D Tiles 容器 / CZML / KML / ClusterLayer / 4490 矢量瓦片)| 图层、GeoJSON、CZML、KML、4490、cluster、HTML 图层 |
| 5 | anovgis-vector-graphics | Vector 16 + Model 2 类 + bindPopup 基础用法 + customshader + ThreeLayer + divInfo | Point、Polyline、Polygon、Tileset、customshader、divInfo |
| 6 | anovgis-models-3dtiles | Model + 3D Tiles + 抽壳 + 倾斜摄影 + TilesetEditor + 位姿编辑 | Model、Tileset、3dtiles、qingxieTileset、quShouBengZhan、TilesetEditor |
| 7 | anovgis-primitives | Primitive 19 类(雷达 / 尾迹 / 流动 / 扩散墙 / 水面 / 云 / 光柱 / 弹跳)| Primitive、ScanCircle、TrailLine、FlowLine、WaterPrimitive、Cloud |
| 8 | anovgis-popup-widget | Popup / Tooltip / bindPopup / bindTooltip / highlight / tilesetpopup / imagerylayerpopup | Popup、Tooltip、bindPopup、highlight、tilesetpopup、divInfo |
| 9 | anovgis-materials | 18 个 MaterialProperty + shader 注册 + P5 陷阱 + 抛物线 / 图片雷达 / shadertoy | material、PolylineFlowMaterial、WaterMaterial、parabola、imgrader |
| 10 | anovgis-analysis | 标绘 / 测量 / 剖切 / 热力图 / 风场 / 水淹 / 三轴编辑 / Geocoder / WFS | 标绘、measure、TerrainClipping、HeatMap、WindLayer、PositonEditor、geocoder |
| 11 | anovgis-effects | 天气 / 漫游 / 动画 / 后期处理(Bloom / 夜视 / 景深 / 黑白)+ 天空盒 | weather、roaming、AroundPoint、FlyManager、bloom、skybox |
| 12 | anovgis-pitfalls | Cesium 1.143 + v1.8.7 典型陷阱(P0–P12)+ 自定义图元报错 | 黑屏、白屏、不生效、报错、Workers 404、AMD、CustomPrimitive |
完整路由(用户意图 → skill)见 skills/using-anovgis/SKILL.md;完整 demo 路由(demo 文件名 → skill)见 skills/using-anovgis/DEMO-SKILL-MAP.md。
另外 15 个 Cesium skill 由官方 cesiumjs-skills 提供(cesiumjs-3d-tiles / cesiumjs-camera / cesiumjs-primitives …),
using-cesiumjs-skills 是它们的入口 —— 由 using-anovgis 自动转过去,你一般不用直接调用。
