本工作区以 opengeos/geoai 的 geoai-py
为 GeoAI 工作流基础,围绕无人机和遥感数据做实验与产品验证。这里的“GeoAI
能力”分为三层:geoai-py 直接提供的功能、基于它的底层地理/AI生态组合出的
能力、以及需要由现有产品后端和业务规则实现的产品能力。后两类不能表述为geoai-py 内置功能。
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.venv 用于轻量能力和公共开发工具。requirements.txt 引用 requirements/base.txt,并只声明该能力.venvs/<能力名> 独立环境。# 公共开发环境
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。
py -3.12 .\scripts\serve_workbench_console.py
浏览器访问 http://127.0.0.1:6173。默认端口为 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、geoai-py 单独提供的功能,需要产品服务实现。完整映射见 capabilities/README.md 和规划工作簿中的“能力映射”工作表。
capabilities/ 维护可独立验证的原子能力;solutions/ 维护面向业务场景的组合
算法方案。一个方案可以引用检测、分割、变化、测量和风险规则等多个能力,但不重复
复制模型代码。当前已建立 solutions/mining-inspection/,优先准备人员安全识别和
排洪沟堵塞识别两个试点骨架。
新建 Codex 对话时,把工作目录选择为本项目根目录,然后使用个人 Skill$geoai-capability-builder。能力需要上传、地图、图像对比或直观结果工作区时,
同时使用 $geoai-workbench-console。两者都会以 AGENTS.md 和PROJECT_CONTEXT.md 为准,无需复制此前的长对话;可直接参考根目录的新对话启动说明.txt。