用自然语言完成 GNSS 精密定位。
Ginan 是澳大利亚 Geoscience Australia 开源的 GNSS 分析软件,功能完备,但使用门槛较高:需要手工编写数百行配置、 设置数十个参数,并严格遵循文件命名格式;其官方文档中的首条示例命令, 在国内网络环境下还可能直接超时。
本项目旨在消除这一门槛。 用户用自然语言描述目标,程序负责完成整个流程:
用户:处理 ALIC 站 2025 年 6 月 15 日的观测数据
程序:① 检查运行环境,定位 pea 可执行文件,确认依赖齐全
② 盘点本地已有数据,确定缺失项
③ 列出需要下载的文件:来源、大小、用途
④ 下载(多源自动回退,连接中断后可续传)
⑤ 生成配置并运行 pea
⑥ 出现问题时进行诊断,并将结果以自然语言输出
它并非通用聊天机器人:程序在框架内自主决定下一步操作 —— 检查环境、 切换数据源、调整配置并重新运行,无需用户逐步指挥。
| 说明 | |
|---|---|
| 操作系统 | Windows / Linux / macOS |
| Python 3.10+ | 可从 python.org 安装;Windows 安装时请勾选「Add Python to PATH」 |
| AI 模型 API 密钥 | 推荐 DeepSeek:国内可直连,并提供免费额度 |
| Ginan 本体 |
这是许可证要求,并非遗漏。
Ginan 本身以 Apache-2.0 发布,但内含 JPL Ephemeris(GPL-3)。 GPL-3 具有强传染性:一旦再分发包含该组件的二进制文件, 整个软件都须以 GPL-3 发布。
因此本工具仅调用 Ginan,不捆绑其二进制文件。请自行准备:
-
从 Ginan 官方仓库 获取可运行的 Ginan(官方 README 说明了获取方式;本工具需要其中名为
pea的可执行文件)。 -
将其放置于以下位置:
userdata/ginan/bin/pea.exe (Windows) userdata/ginan/bin/pea (Linux / macOS)或将所在目录加入系统
PATH。
查找顺序:环境变量
GINAN_AGENT_PEA→userdata/ginan/bin/→ 系统PATH。 未找到时程序不会崩溃,界面会提示「尚未安装」。
双击 run.bat 即可,无需执行任何命令。
首次运行会自动检查 Python 与依赖(缺失时自动安装,约 1–2 分钟), 随后启动本地服务并打开浏览器。
./run.sh浏览器打开后,点击右上角「设置」,填入 API 密钥并保存,即可开始使用。
| 位置 | 功能 |
|---|---|
| 中央对话框 | 用自然语言描述任务,执行过程实时显示 |
| 右侧栏 | 当前环境与数据状态:pea 是否就绪、数据位置、网络连通性 |
| 右上角「设置」 | 配置 API 密钥与代理 |
| 右上角「新任务」 | 结束当前任务并清空状态:对话、收件箱、观测数据与运行记录将被清除;星历 / 钟差 / 天线表等产品文件保留,无需重新下载 |
国内网络环境下部分数据源不可达,属于常见情况。两种处理方式:
① 使用代理 —— 在「设置」中填写代理地址(例如 http://127.0.0.1:7890)。
② 手动提供数据 —— 将文件放入收件箱:
userdata/inbox/
程序会自动识别文件类型并归位,无需重命名或转换格式。
也可将
userdata/inbox/设为网盘同步目录:在其他机器上下载,本机自动获取。
所有运行时数据均位于软件目录下的 userdata/:
ginan-agent/
├── userdata/ ← 所有数据;删除即恢复出厂状态
│ ├── config.json 设置(含 API 密钥)
│ ├── data/ 观测数据与精密产品
│ ├── inbox/ 收件箱(手动放置文件)
│ ├── sessions/ 对话历史
│ ├── runs/ 每次运行的配置、日志与产物
│ └── ginan/ 存放 pea 的位置
├── run.bat / run.sh 启动脚本
└── ginan_agent/ 程序本体
备份请复制 userdata/;迁移请复制整个文件夹;彻底删除请删除整个文件夹 ——
系统其他位置不会留下文件。
注意:删除软件文件夹将同时删除数据。重要结果请另行保存。
建议先运行自检(不联网、不产生费用、不修改任何文件):
python scripts/check_all.py| 现象 | 可能原因 |
|---|---|
| 双击后窗口一闪而过 | Python 未安装,或安装时未勾选「Add Python to PATH」 |
| 提示「软件目录不可写」 | 软件位于 C:\Program Files 等受保护目录;请移至「文档」或桌面 |
| 界面正常,但提示未找到 pea | Ginan 未下载,或存放位置不正确(见上文) |
| 界面提示未配置密钥 | 在「设置」中填写并保存 |
| 下载持续失败 | 网络问题;可配置代理,或通过收件箱手动提供文件 |
| 解算结果异常 |
项目处于开发阶段,尚未正式发布。当前已实现:
- 环境检查、网络检测、数据源探测
- 取数计划与多源下载(回退 / 续传 / 解压 / 校验)
- 文件识别(基于内容而非文件名)
- 本地观测数据处理(RINEX 检查与头部补全,不修改原始文件)
- 配置生成、调用
pea、解析.POS结果、失败诊断 - 收件箱(网络受限时手动提供文件)
- 结果出图、复现包导出
规划中:桌面窗口(当前启动时自动打开浏览器)。
| 档位 | 额外文件 | 说明 |
|---|---|---|
| 基础(默认) | 无 | 不含海潮、大气潮、海洋极潮三项负荷改正;对流层使用简化模型 |
| 完整 | 需要(10 个模型文件,约 17 MB,仅需下载一次) | 包含上述各项改正 |
当模型文件不完整时,程序拒绝生成配置,并提示缺失的文件及补齐方式。
原因是:若配置声明「完整」档而模型文件缺失,pea 不会报错,
而是静默跳过相关模型 —— 结果与「基础」档相同,且用户无法察觉。
需要注意:「完整」档增加了改正项,但并不保证精度更高。
- 若观测数据的天线型号为空或不准确,改正项越精细,天线模型误差造成的偏差 越难被掩盖;
- 判断精度需要权威坐标(如 IGS 的 SINEX 解)作为基准。重复性指标只反映 自洽性,不能替代准确度。
因此:在缺少可靠天线信息或权威坐标时,建议使用「基础」档。
固体潮改正默认开启(两个档位均开启),无需额外文件。
本项目以 Apache-2.0 发布。
它调用但不包含 Ginan。 Ginan 内含的 JPL Ephemeris 为 GPL-3,详见 THIRD_PARTY.md。