# GeoAI Workbench 本工作区以 [opengeos/geoai](https://github.com/opengeos/geoai) 的 `geoai-py` 为 GeoAI 工作流基础,围绕无人机和遥感数据做实验与产品验证。这里的“GeoAI 能力”分为三层:`geoai-py` 直接提供的功能、基于它的底层地理/AI生态组合出的 能力、以及需要由现有产品后端和业务规则实现的产品能力。后两类不能表述为 `geoai-py` 内置功能。 ## 目录 ```text geoai-workbench/ |-- apps/ # 本地实验控制台等独立界面 |-- capabilities/ # 一个能力一个目录 |-- solutions/ # 多能力组合的项目算法方案 |-- requirements/ # 跨能力共享的 Python 依赖 |-- scripts/ # 环境初始化和检查脚本 |-- shared/ # 数据、模型、配置和输出 |-- src/geoai_common/ # 可复用 Python 代码 |-- tests/ # 公共模块测试 |-- .env.example |-- .gitignore `-- pyproject.toml ``` ## 环境策略 - `geoai-py` 的包名是 `geoai-py`,导入名通常是 `geoai`,不是一个叫 `geoai` 的操作系统或独立运行时。它要求 Python 3.12 或更高版本;本工作区固定使用 Python 3.12 以兼容 PyTorch 和地理库。 - 推荐 Python 3.11 或 3.12。当前电脑的 Python 3.13 可运行部分能力,但地理和 深度学习包的兼容性可能不完整。 - 根目录 `.venv` 用于轻量能力和公共开发工具。 - 每个能力的 `requirements.txt` 引用 `requirements/base.txt`,并只声明该能力 的额外依赖。 - 出现版本冲突或 CUDA/原生库要求时,为该能力创建 `.venvs/<能力名>` 独立环境。 - 数据、模型权重和输出不提交 Git,也不复制进各能力目录。 ## 快速开始 ```powershell # 公共开发环境 powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\setup.ps1 # 某个能力的隔离环境(自动创建到 .venvs/) powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\setup.ps1 -Capability 06-spatial-reasoning # 仅检查当前电脑是否满足基础环境 powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\check-environment.ps1 ``` ## 本地实验控制台 控制台是本工作区内部的独立本地实验工作台,不与现有无人机产品连接。它提供 “新建运行、案例库、结果工作区”三段式体验:在允许的能力页面中,可以上传 受限文件类型、调用固定的本地能力脚本,并查看地图、影像对比、事件、结构化 结果和运行元数据。每次运行都会创建新的目录,不覆盖原始数据或既有输出。 控制台只监听本机回环地址;服务端不接受任意命令或路径,只调用固定虚拟环境和 固定能力脚本。接入或修改控制台时使用 `$geoai-workbench-console`。 ```powershell py -3.12 .\scripts\serve_workbench_console.py ``` 浏览器访问 。默认端口为 `6173`,仅监听本机;其他可用的 `6xxx` 端口可以通过 `--port` 指定。界面说明见 `apps/workbench-console/README.md`。 优先从 `01-object-detection`、`02-semantic-mapping`、 `07-risk-rule-engine` 和 `12-quality-control-refly` 开始。 ## 能力边界 - 直接能力:目标检测、语义/实例分割、影像分类、变化检测、遥感数据下载与 预处理、地理结果导出与可视化等,具体以 `geoai-py` 当前版本文档和源码为准。 - 组合能力:空间测量、质量检测、灾害统计等,需要 `geoai-py` 加 Rasterio、 GeoPandas、Shapely、PyTorch 或其他专用库。 - 产品能力:空间规则、风险评分、航线规划、集群调度、工单闭环、GeoLLM、 知识图谱和模型治理,不是 `geoai-py` 单独提供的功能,需要产品服务实现。 完整映射见 `capabilities/README.md` 和规划工作簿中的“能力映射”工作表。 ## 项目算法方案层 `capabilities/` 维护可独立验证的原子能力;`solutions/` 维护面向业务场景的组合 算法方案。一个方案可以引用检测、分割、变化、测量和风险规则等多个能力,但不重复 复制模型代码。当前已建立 `solutions/mining-inspection/`,优先准备人员安全识别和 排洪沟堵塞识别两个试点骨架。 ## 新对话继续工作 新建 Codex 对话时,把工作目录选择为本项目根目录,然后使用个人 Skill `$geoai-capability-builder`。能力需要上传、地图、图像对比或直观结果工作区时, 同时使用 `$geoai-workbench-console`。两者都会以 `AGENTS.md` 和 `PROJECT_CONTEXT.md` 为准,无需复制此前的长对话;可直接参考根目录的 `新对话启动说明.txt`。