使用文档: 面向业务用户、研究人员、开发者与运维人员的完整操作说明见 《海洋智能分析平台全量使用手册》。
项目状态:截至 2026 年 8 月 29 日,系统已经具备多源数据接入、异常筛查、事件档案、Argo 剖面调查、每日简报、账户隔离、内置 Codex、Ocean MCP 2.0 和 Ubuntu 生产部署能力。
这个项目做的事情很具体:把散落在 Argo、NOAA、Copernicus Marine 等系统里的观测,整理成可以持续跟踪、逐条核对证据的海洋事件档案。
它不生产浮标,不替代 Argo 数据中心,也不是另一个通用地图或聊天框架。Argo 负责“测到海里发生了什么”,各类数据服务负责“把数据提供出来”,本项目负责“把不同来源放到同一个海域、时间和事件上下文中,说明哪些只是观测,哪些值得继续核查,以及结论依据是什么”。
本项目不仅提供网页、图表和常规 REST API,还内置了一个面向海洋研究任务的 Codex 工作台,并通过 Ocean MCP 2.0 将产品数据、科学计算、事件证据和业务操作统一开放给 Codex。Codex 不需要抓取页面或猜测内部数据结构,而是可以通过标准化工具直接读取当前系统中的完整数据目录,包括区域事件、普通观测、异常候选、事件证据、SST 格点、Argo 浮标与剖面、来源状态、生命周期记录以及全部经纬度集合。
Ocean MCP 当前包含 86 个可发现工具。它支持快照一致分页、带签名的稳定游标、增量更新与删除墓碑、最多 500 个坐标的异步批量分析、长任务提交与取消,以及 CSV、GeoJSON、NDJSON、Parquet 和 NetCDF 服务端导出。大规模坐标集合不需要逐点调用或连续把整批 JSON 塞入模型上下文;Codex 可以选择分页读取、批量任务或文件导出,并在每页获得数据产品、单位、处理级别、有效时间、获取时间、空间范围、质量控制、缺测数量和数据版本等来源元数据。
多用户隔离由产品登录态和 Codex Runtime 联合完成。Runtime 会为每次 MCP 调用签发短期用户身份令牌,MCP 服务端验证令牌后确定数据所有者;模型不能提交或选择 owner_id。会话、记忆、分页快照、后台任务和审计记录均绑定当前用户与 Codex task,并持久化到 PostgreSQL。传输层支持 Streamable HTTP、SSE、JSON-RPC batch、请求取消、资源订阅和应用重启后的会话恢复,同时具备租户限流、并发控制、执行超时、响应体上限、外部来源熔断和敏感参数递归脱敏。
因此,Ocean MCP 不是独立于产品之外的演示接口,而是本项目的统一机器访问层:网页中能够查看和分析的海洋数据,内置 Codex 也可以通过受控、可审计、可分页和可导出的方式获得。详细实现与运维说明见 docs/MCP_IMPLEMENTATION.md 和 docs/codex-mcp.md。
Argo 是全球海洋观测计划。它依靠自主剖面浮标采集温度、盐度、压力以及部分生物地球化学变量,并通过国际数据中心分发经过质量控制的数据。Argo 是本项目最重要的现场观测来源之一,但二者不在同一层级:
| 对比项 | Argo | 本项目 |
|---|---|---|
| 核心职责 | 建设和运行全球剖面浮标观测网络 | 组织多源观测并形成区域态势与事件档案 |
| 主要数据 | 浮标位置、温盐深剖面、部分 BGC 变量 | Argo + NOAA + Copernicus Marine + 海洋背景 + 文献 |
| 基本对象 | 平台、Cycle、Profile、参数与 QC | 区域、观测、异常候选、证据、事件生命周期 |
| 判断边界 | 提供观测及质量标识 | 在保留 QC 的前提下做筛查、交叉核查和解释 |
| 使用方式 | 下载文件、访问数据中心或第三方接口 | 地图点选、事件关联、剖面对比、简报和 API |
本项目不会修改 Argo 的原始观测,也不会把单个 Argo 剖面直接宣布为区域异常。它保留原始值/调整值模式和 QC,在事件周边寻找浮标,用现场垂向结构回答一个更具体的问题:遥感或模式看到的表层信号,在水下是否存在相符或相反的证据?
本项目大量使用现有数据基础设施和开源软件,但它们各自只解决链路中的一段。
| 项目或服务 | 原有能力 | 在本项目中的用途 | 本项目增加的部分 |
|---|---|---|---|
| Argovis | 浏览和访问 Argo 等海洋观测 | 获取活动平台目录、完整剖面和最近浮标 | 将剖面关联到区域、事件、证据和用户关注列表 |
| NOAA CoastWatch ERDDAP | 以统一接口发布卫星和海洋格点产品 | 获取近期 SST、误差、海冰和质量字段 | 邻域稳健筛查、持续性检查、候选事件和来源健康状态 |
| Copernicus Marine | 提供海洋观测、模式和分析产品 | 获取海流、风、浪、历史点位和全球产品数据量 | 视窗海流场、跨产品索引、区域事件上下文和每日简报 |
| OpenAlex / Crossref | 提供学术作品元数据和检索能力 | 按事件动态查询相关论文 | 将检索词、论文和 DOI 固定到具体事件的文献依据页 |
| MapLibre GL JS | 开源 Web 地图渲染 | 绘制底图、事件、浮标、探针和海流图层 | 中国地图图层规则、事件交互、海洋业务状态与数据新鲜度 |
| React / Recharts / Three.js | 界面、图表和图形渲染 | 构建工作台、剖面图、证据图和动态效果 | 海洋事件工作流和统一交互,不修改这些项目的底层能力 |
| FastAPI / Pydantic | API 服务与数据模型校验 | 建立 BFF、接口契约、认证和静态站点 | 海洋领域模型、缓存调度、来源降级和生产部署约束 |
| LangGraph | 有状态工作流编排 | 组织内置科学 Agent 和检查点 | 领域证据工具、事件状态约束和海洋研究上下文 |
| Codex CLI | 通用代码与任务执行环境 | 提供线程、流式执行和工具调用界面 | Ocean MCP、用户隔离、海洋数据工具和生成结果工作区 |
这里的关系是“组合”而不是“包装”:上游系统仍然是数据和通用能力的权威来源,本项目保存来源身份、观测时间、质量字段和错误状态,只在其上增加海洋业务语义。
常见海洋数据门户以数据集、变量或图层为入口。本项目以事件为入口:一个事件同时包含位置、时间、半径及其依据、状态、严重度、变量、来源、证据、推理链、附近 Argo、文献和生命周期。地图只是事件的一个入口,不是数据结构本身。
系统在模型层区分普通观测与异常候选,并继续区分 screening、corroborated、confirmed 和 scenario。高温格点、异常 Z 分数或模型生成的一段文字都不能绕过这些状态。这个约束比“检测到一个极值就画红点”更保守,也更适合需要复核的海洋业务。
点击海面不是只显示经纬度。系统会寻找附近 Argo,读取剖面和 QC,并可继续查询水深、海流、风浪、海洋背景、事件和文献。这个“坐标—现场剖面—环境场—事件证据”的连续入口,是项目区别于单一 Argo 浏览器或单一遥感图层的重要部分。
区域请求采用 single-flight,快照落盘,过期后可先返回最近可信结果再后台更新。每个来源都有独立健康状态、观测时间、缓存模式和错误信息。项目不会用零值掩盖缺失,也不会把缓存页面写成实时观测。
系统内置中国近海与全球主要海域、中文变量和事件术语、物种中文名称、中文报告结构以及中国标准地图图层规则。它处理的是海洋业务语义和地图发布边界,不只是把按钮名称翻译成中文。
异常检测、QC、距离计算、缓存、事件状态和来源健康都由确定性代码完成。没有模型密钥时,核心数据、筛查、地图、Argo 和规则化解释仍能运行。模型只在证据已经组织好之后参与问答、归纳和报告,不负责改写原始数值或擅自提升事件状态。
以“南海出现持续偏暖信号”为例,系统的处理顺序不是先生成一段结论,而是逐步建立档案:
- 从 NOAA SST 读取近期格点,同时读取分析误差、水体和海冰质量字段;
- 排除不合格格点,检查异常方向、邻域稳健统计、连续日时次和持续时间;
- 满足条件后生成
screening候选,并记录触发阈值、样本量、时间范围和证据编号; - 在候选中心附近查找 Argo,读取最近剖面的温盐结构、原始/调整值模式和 QC;
- 查询同位置的 Copernicus 海流、风浪和海洋背景,判断表层信号是否可能受到平流、混合或局地环境影响;
- 将支持证据、反证、缺失项和来源错误一起写入事件,而不是只保留支持结论的数据;
- 达到交叉核查条件后才进入
corroborated;是否成为confirmed仍取决于更严格证据或人工复核; - 后续刷新继续更新同一事件的生命周期,而不是每天重新生成一个没有上下文的新红点。
这条链路是项目的核心产品:上游数据平台提供原料,地图组件提供显示,模型可以帮助归纳,但事件档案、验证状态和证据边界由本项目负责维护。
- 不替代 Argo、NOAA、Copernicus Marine 或其官方数据分发渠道;
- 不声称自动筛查结果等同于业务主管部门或科研团队的正式认定;
- 不用单个浮标代表整个海域,也不把缺失变量填成零;
- 不把海流粒子动画解释为真实漂移轨迹;
- 不要求依赖大模型才能查看数据或运行检测;
- 不适合作为未经复核的航行安全、灾害预警或执法依据。
归纳起来,本项目需要解决四类核心问题:
- 数据问题:海洋数据分散在不同机构和产品中,格式、变量、时空分辨率、质量字段和更新时间不一致,需要统一接入、标准化、缓存和来源健康管理;
- 判定问题:单个高值、模式格点或浮标剖面不能直接等同于海洋事件,需要基线、质量控制、持续性、空间邻域和多源证据共同约束;
- 解释问题:分析结果必须说明数据来自哪里、触发了什么规则、有哪些支持或反对证据、当前属于什么验证状态,以及仍存在哪些不确定性;
- 落地问题:系统不仅要能演示,还要具备账户、权限隔离、密钥保护、数据库、部署、备份、监控、测试和故障降级能力。
后续章节分别回答这些问题:第二至四章说明解决方案与数据链路,第五章说明完成度,第六至十六章说明使用和运行方式,第十七章说明下一步建设重点。
平台采用“数据接入层—科学计算层—业务服务层—智能体层—交互展示层”的分层方案。
NOAA / Argo / Copernicus Marine / WOA / OpenAlex / Crossref
│
▼
数据抓取、标准化与质量控制
│
▼
区域快照缓存、异常筛查、生命周期与证据对象
│
┌─────────────┴─────────────┐
▼ ▼
FastAPI 业务接口 Ocean MCP 工具
│ │
▼ ▼
React + MapLibre 工作台 Codex / 外部模型 Agent
│ │
└─────────────┬─────────────┘
▼
地图、事件、解释、报告与问答
- 确定性计算优先:异常是否成立首先由可测试的科学规则和质量条件判断,大模型不负责篡改数值结果。
- 证据约束输出:解释、报告和问答尽量引用系统内的观测、证据编号、来源状态和参考文献。
- 验证状态显式化:区分
observed、screening、corroborated、confirmed和scenario。 - 普通观测保持中性:只有
event_kind=anomaly的记录才属于异常候选;候选不会自动升级为已确认事件。 - 可降级运行:实时源失败时优先返回最近可信快照,并明确标注缓存状态和来源错误。
- 前后端密钥隔离:模型密钥、Copernicus 账户、会话密钥和 MCP 令牌只保存在服务端。
- 生产同源访问:生产环境由 FastAPI 同源提供前端和
/api,减少跨域与凭据暴露面。
- React 19 + TypeScript + Vite;
- MapLibre GL 展示标准地图、区域、事件和实时海流粒子;
- Recharts 展示证据序列、观测矩阵和统计信息;
- Three.js 支持部分动态视觉效果;
- Playwright 覆盖地图、数据管线、探针、主题和性能架构测试;
- 开发环境通过 Vite 将
/api代理到 FastAPI,将 Codex 运行时请求代理到本地 sidecar。
- FastAPI 提供 REST API、静态前端、认证、缓存和调度服务;
- Pydantic 定义事件、证据、浮标、解释、报告和 Agent 数据契约;
- NumPy 与 NetCDF4 处理异常序列和海洋网格数据;
- LangGraph 管理旧版科学 Agent 流程和 SQLite 检查点;
- PostgreSQL 在生产环境保存账户、会话和加密后的用户 API 配置;
- 本地 SQLite 保存领域长期记忆与部分智能体状态;
copernicusmarine客户端和 ARCO 数据块负责 Copernicus Marine 产品访问。
codex-runtime/server/index.mjs 在本地默认监听 127.0.0.1:8011,负责浏览器端 Codex 工作台与本机 Codex CLI app-server 之间的协议适配。它提供线程、轮次、流式执行、停止、模型列表、MCP 状态等能力,同时保留 Codex 原生线程存储,不另建一套重复的聊天历史。
- Docker 多阶段构建前端和 Python 运行时;
- Docker Compose 编排应用、PostgreSQL、Caddy 或 Cloudflare Tunnel;
direct模式由 Caddy 对外提供80/443;tunnel模式通过 Cloudflare Tunnel 发布服务,无需开放源站 Web 端口;- 数据库仅处于 Compose 私有网络,不暴露
5432; - 应用内部端口
8000不直接暴露到公网。
当前内置七个区域:
| 区域 ID | 显示名称 | 主要覆盖范围 |
|---|---|---|
global_ocean |
全球海洋 | 南北纬 70 度之间的主要海洋 |
northwest_pacific |
中国近海及西北太平洋 | 中国近海、黑潮延伸体、日本海和副热带西北太平洋 |
south_china_sea |
南海及邻近海域 | 南海、吕宋海峡、北部湾和巽他陆架北部 |
indian_ocean |
印度洋 | 阿拉伯海、孟加拉湾、赤道和南印度洋 |
north_atlantic |
北大西洋 | 湾流、副热带环流和亚极地海域 |
south_pacific |
南太平洋 | 南太平洋副热带环流、珊瑚海和东南太平洋 |
mediterranean |
地中海 | 西地中海、亚得里亚海、爱琴海和东地中海 |
| 数据源 | 用途 | 处理方式 |
|---|---|---|
| NOAA OISST / ERDDAP | 海表温度与区域异常筛查 | 读取近期格点,检查质量、误差、水体和海冰条件 |
| Argovis / Argo | 温度、盐度和 BGC 浮标剖面 | 读取活跃平台目录、完整剖面、最近点和区域统计 |
| Copernicus Marine | 海流、风、浪及全球产品 | 点查询、视窗矢量场、每日事件索引和数据量统计 |
| WOA | 盐度、硝酸盐等气候参考 | 为区域和点位提供背景基线 |
| NOAA 碳数据 | 碳循环与相关观测 | 标准化为证据和区域事件记录 |
| OpenAlex / Crossref | 事件相关文献 | 动态构造检索词,OpenAlex 失败时回退 Crossref |
| 标准地图与天地图 | 中国地图和中文注记 | 开发环境可诊断回退,生产构建要求天地图密钥 |
前端首屏不再分别请求事件、指标、来源、覆盖率、观测矩阵和 Argo 数据,而是调用统一 BFF 接口:
GET /api/workspace/snapshot?region=global_ocean
后端为每个区域生成统一快照,包含:
- 事件与普通观测;
- 事件数量和核心指标;
- 数据源健康状态;
- 数据覆盖情况;
- 区域观测摘要;
- Argo 活跃网快照;
- 缓存状态、刷新时间和降级错误。
同一区域并发读取采用 single-flight,避免多个请求重复访问外部接口。快照持久化到 backend/.cache/realtime。进程重启或缓存过期时,系统可先返回上一次可信快照,再在后台更新,即 stale-while-revalidate。
POST /api/detect 接收带时区、时间不重复且数值有限的时间序列。检测逻辑包括:
- 按时间排序观测;
- 计算观测值相对基线的异常;
- 使用中位数和 MAD 生成稳健 Z 分数;
- 检查方向阈值、最小样本数、连续样本数和持续时间;
- 对 SST 检查 12–36 小时的日尺度采样节律;
- 根据基线类型决定能否进入交叉印证状态;
- 限制筛查阶段的严重度和置信度上限。
对于 SST,只有明确使用逐日历气候上分位或下分位阈值,并满足至少 5 个连续日尺度样本、连续跨度不少于 96 小时等条件时,才可返回海洋热浪或冷异常的交叉印证结果。普通气候均值、参考序列或空间基线只能形成海温异常筛查,不能冒充正式海洋热浪判定。
系统支持以下记录类型:
- 海表观测、水文观测、生物地球化学观测;
- 海洋热浪、冷异常、海温异常;
- 中尺度涡和海流异常;
- 浮游植物、叶绿素和营养盐异常;
- 碳异常、盐度异常;
- 风、浪异常和台风预警。
事件对象包含位置、半径及其依据、开始与结束时间、状态、严重度、置信度、变量、来源、证据、推理链、时间线、潜在影响和不确定性。生命周期状态包括发现、监测、交叉印证、确认、减弱和关闭,便于连续刷新后跟踪同一事件,而不是每次生成互不关联的新记录。
平台按区域读取最近 35 天的 Argo 活跃观测目录,并按需获取完整剖面。主要能力包括:
- 区域活跃浮标和 BGC 浮标统计;
- 温度、盐度、叶绿素、硝酸盐等可用率;
- 原始值与调整值模式;
- 典型和最大剖面深度;
- 单个平台最新快照、历史和自动解释;
- 地图任意海面坐标的最近浮标选择。
坐标探针接口:
GET /api/argo/nearest?longitude=114.2&latitude=18.3®ion=south_china_sea
海流粒子使用 Copernicus Marine 全球表层合成海流,不使用程序化噪声。后端根据当前地图视窗读取 utotal 和 vtotal,选择不晚于当前时刻的最新有效场,下采样后返回前端:
GET /api/copernicus/currents/field?west=100&south=0&east=140&north=35&width=96&height=64
前端用真实矢量控制粒子方向和相对速度,播放时间仅用于视觉加速。系统还提供点位风浪查询、全球数据量统计、Copernicus 每日事件索引和分页读取。
后端按照配置时区自动生成和发布每日简报。默认流程为:
- 北京时间 08:00 强制刷新全球海洋快照;
- 汇总 Copernicus Marine 当日全球网格、每日事件索引和 Argo 活跃目录;
- 生成结构化、可追溯的简报成稿;
- 北京时间 09:00 发布到站内;
- 前端每分钟检查状态并切换到当天成稿;
- 如配置 Webhook,则向企业微信、钉钉、飞书或自建桥接服务推送完整 JSON。
成稿保存在 backend/.cache/daily_briefings,服务重启不会丢失;若服务在发布时间之后启动,会自动补生成并发布。
项目已经完成从“多源数据进入系统”到“形成可追溯事件档案并提供界面、API 和智能体分析”的核心闭环,当前可定义为:核心产品能力已完成,工程化与单机生产部署基本完成,面向正式业务运行的科学阈值治理、人工复核、组织权限和集中运维仍需继续建设。
完成度不使用单一百分比描述,因为数据接入、科学可信度、产品交互和生产运维的验收标准不同。按能力域评估如下:
| 能力域 | 完成度 | 判断依据 | 尚需完成 |
|---|---|---|---|
| 核心分析闭环 | 已完成 | 已具备数据接入、质量控制、异常筛查、证据关联、事件详情、解释和报告 | 继续用真实历史案例校准规则和结论等级 |
| 前端研究工作台 | 已完成 | 已具备区域态势、地图、事件队列、观测矩阵、Argo 探针、Agent 和简报入口 | 增加批注、审批、导出和多人协作体验 |
| Argo/NOAA 数据接入 | 已完成 | 已实现区域读取、剖面、QC、SST 候选与缓存降级 | 扩大历史回溯范围并持续跟踪上游接口变化 |
| Copernicus Marine | 基本完成 | 已实现海流、风浪、历史点位、每日索引和数据量统计 | 补充更多产品、版本血缘和大范围任务调度 |
| 科学事件判定 | 基本完成 | 已区分普通观测、筛查候选和交叉印证,并约束 SST 持续性 | 建设正式气候阈值库、专家复核流程和案例基准集 |
| 智能体能力 | 基本完成 | 已实现 LangGraph 流程、Codex Runtime、Ocean MCP、会话和记忆隔离 | 增加自动评测、提示词版本、引用完整性和报告验收 |
| 账户与安全 | 基本完成 | 已实现登录、Session、CSRF、配置加密和生产同源访问 | 增加组织、角色、审计日志和细粒度权限 |
| 部署与可观测性 | 基本完成 | 已提供 Docker Compose、PostgreSQL、HTTPS 发布、备份和进程内性能指标 | 增加集中日志、Prometheus、告警、恢复演练和高可用方案 |
| 自动化测试 | 基本完成 | 已覆盖核心后端逻辑、认证、数据链路、地图和端到端交互 | 增加离线固定数据集、外部服务契约测试和持续集成门禁 |
从里程碑角度看:
- 原型验证阶段:已完成,关键页面、地图、数据源和分析链路均已落地;
- 可用产品阶段:已完成,可在本地完成区域查看、事件调查、Argo 查询、Agent 分析和简报查看;
- 单机生产部署阶段:基本完成,已具备账户、数据库、HTTPS、备份和两种公网发布方式;
- 正式业务运营阶段:进行中,仍需完成专家复核、权限审计、集中监控、数据血缘和长期稳定性验证;
- 规模化平台阶段:尚未完成,消息队列、多节点任务、组织协作和高可用不属于当前已完成范围。
- 七个海域快速切换;
- 地图事件队列、严重度、置信度和验证状态展示;
- 观测、异常候选和事件分开展示;
- 数据覆盖、来源健康和最后更新时间展示;
- 区域指标和事件生命周期统计;
- 全球 Copernicus 事件索引分页加载。
- 中国标准地图离线矢量数据;
- 国界、省界、海岸线、南海断续线、重要岛点和中文注记;
- 天地图底图和注记接入;
- 全球参考边界与街道级底图分层;
- 真实海流粒子动画;
- Argo 浮标、异常点和事件范围展示;
- 海面坐标探针和最近浮标选择。
- 稳健异常检测模型;
- NOAA SST 候选的质量、误差、水体和海冰过滤;
- 连续时次、持续性和空间邻域约束;
- 海洋热浪与普通海温异常的语义隔离;
- 事件证据、推理链、时间线和不确定性模型;
- 事件报告和证据约束解释;
- Argo 剖面解释、海洋环境背景和水深剖面查询。
- Codex 原生线程列表和持久会话;
- 流式执行轨迹、停止操作、模型和推理强度选择;
- Ocean MCP 工具发现与状态展示;
- 区域、事件、观测、证据、来源、Argo 和记忆工具;
- 旧版 LangGraph 科学流程兼容入口;
- 外部 Responses API 主路由与 Chat Completions 热备;
- 重试、故障转移、负载压缩和熔断恢复;
- 用户、线程和长期记忆隔离。
- 根据事件海域、类型和变量实时生成检索词;
- OpenAlex 实时检索;
- Crossref 自动回退;
- DOI、作者、期刊、开放获取和被引次数展示;
- 海洋百科、物种中文名、海域知识和本地知识快照。
- BFF 区域快照;
- 内存与磁盘多级缓存;
- single-flight 与后台刷新任务合并;
- 最多两个区域并行刷新;
- 浏览器请求取消,避免旧响应覆盖新区域;
- 请求 ID、响应耗时和 P95 性能统计;
- 用户注册、登录、退出、会话 Cookie 和 CSRF 防护;
- PostgreSQL 持久化与 Fernet 加密;
- Docker 多阶段构建;
- Cloudflare Tunnel 和 Caddy 两种生产发布模式;
- PostgreSQL 备份脚本与 Ubuntu 22.04 部署文档。
后端测试覆盖异常检测、API、认证、Argo 最近点与区域快照、Copernicus 优先级和每日索引、每日简报、Agent、MCP、用户隔离、海洋知识、NOAA、WOA、地图资源和性能架构。
前端 Playwright 测试覆盖中国标准地图、街道底图、数据管线、地图标记清晰度、海流动画、坐标探针、海洋知识、视觉主题和性能架构。
- 打开首页;
- 在区域选择器中选择全球海洋或目标海域;
- 等待区域快照加载;
- 查看事件队列、观测矩阵、来源健康和地图分布;
- 点击刷新按钮可提交后台全量刷新任务。
选择事件后,可以查看:
- 事件摘要、位置、时间、状态和影响范围;
- 观测值、基线、异常值和单位;
- 样本量、持续时间、质量通过率和不确定性;
- 证据序列和证据编号;
- 分步科学推理;
- 生命周期时间线;
- 自动解释、科学报告和实时文献。
- 在地图工具中开启探针;
- 点击目标海面位置;
- 系统查询附近最近的 Argo 浮标;
- 查看距离、平台编号、最新剖面和变量;
- 继续打开浮标历史或自动解释。
- 打开 Agent 工作台;
- 新建或选择一个 Codex 线程;
- 选择模型和推理强度;
- 提问时明确区域、变量和时间范围;
- Agent 通过 Ocean MCP 按需读取领域数据;
- 查看流式执行轨迹、工具调用和最终回答;
- 只有在明确要求“记住”时,偏好或研究焦点才会写入长期记忆。
推荐问题示例:
总结南海当前高置信度异常候选,并说明每个结论的证据来源。
比较西北太平洋最新海温异常与 Argo 温盐剖面是否一致。
检查当前事件中哪些仍处于 screening,为什么不能标记为 confirmed?
为选中事件生成一份包含不确定性和文献依据的简报。
访问每日简报页面或接口:
GET /api/daily-briefing
GET /api/daily-briefing/dashboard
返回内容包括生成状态、发布时间、当日全球态势、主要事件、Argo 活跃情况、来源状态和可追溯元数据。
环境要求:
- Python 3.10 或更高版本;
- Node.js 20 或更高版本;
- npm;
- 如需 Codex 工作台,需安装并可运行 Codex CLI。
双击:
run_ocean_intelligence.bat
或在 PowerShell 执行:
powershell -ExecutionPolicy Bypass -File .\start_ocean_intelligence.ps1启动脚本会检查依赖,按需安装 Python 和 npm 包,并依次启动:
- FastAPI:
http://127.0.0.1:8000; - Codex sidecar:
http://127.0.0.1:8011; - Vite 前端:
http://127.0.0.1:5173。
常用地址:
| 功能 | 地址 |
|---|---|
| 应用首页 | http://127.0.0.1:5173/ |
| API 文档 | http://127.0.0.1:8000/docs |
| 健康检查 | http://127.0.0.1:8000/api/health |
| Codex 状态 | http://127.0.0.1:8011/api/codex-runtime/status |
停止服务:
powershell -ExecutionPolicy Bypass -File .\stop_ocean_intelligence.ps1安装并启动后端:
cd backend
python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python -m uvicorn app.main:app --host 127.0.0.1 --port 8000Windows 激活虚拟环境时使用:
.\.venv\Scripts\Activate.ps1另开终端启动 Codex sidecar;如果不使用 Codex 工作台,可以跳过:
npm ci --prefix codex-runtime/server --ignore-scripts --no-audit --no-fund
node codex-runtime/server/index.mjs另开终端启动前端:
cd frontend
npm install
npm run dev -- --host 127.0.0.1 --port 5173- 开发环境默认
AUTH_REQUIRED=false,便于本地调试; - 生产 Compose 固定设置
AUTH_REQUIRED=true; - 未配置实时外部服务时,部分功能会使用缓存、内置证据或情景数据,并在数据模式中明确标记;
- Vite 会把普通
/api请求代理到8000,Codex 相关请求代理到8011。
复制示例文件:
cp frontend/.env.example frontend/.env.local主要变量:
VITE_TIANDITU_TOKEN=你的天地图浏览器端密钥
VITE_API_ROOT=生产构建必须配置 VITE_TIANDITU_TOKEN。建议在天地图控制台中把密钥限制到实际生产域名。
COPERNICUSMARINE_USERNAME=
COPERNICUSMARINE_PASSWORD=
COPERNICUSMARINE_WAVE_DATASET_ID=cmems_mod_glo_wav_anfc_0.083deg_PT3H-i
COPERNICUSMARINE_WIND_DATASET_ID=cmems_obs-wind_glo_phy_nrt_l4_0.125deg_PT1H
COPERNICUSMARINE_CURRENT_DATASET_ID=cmems_mod_glo_phy_anfc_merged-uv_PT1H-i
COPERNICUSMARINE_CURRENT_U_VARIABLE=utotal
COPERNICUSMARINE_CURRENT_V_VARIABLE=vtotal实时海流默认读取官方 time-chunked ARCO 数据块,避免冷请求加载完整时间轴。数据集、变量和 ARCO 地址均可通过环境变量覆盖。
DAILY_BRIEF_TIME_ZONE=Asia/Shanghai
DAILY_BRIEF_GENERATE_HOUR=8
DAILY_BRIEF_PUBLISH_HOUR=9
DAILY_BRIEF_POLL_SECONDS=30
DAILY_BRIEF_WEBHOOK_URL=Webhook 推送失败时会重试,但不会阻塞站内发布。
不配置外部模型时,事件解释接口使用内置证据约束引擎。配置兼容 Chat Completions JSON 输出的服务后自动切换:
OCEAN_EXPLANATION_API_URL=
OCEAN_EXPLANATION_API_KEY=
OCEAN_EXPLANATION_API_MODEL=外部调用失败时会回退到内置解释,不中断事件详情接口。
OCEAN_AGENT_API_URL=https://HOST/v1/responses
OCEAN_AGENT_API_KEY=
OCEAN_AGENT_API_MODEL=
OCEAN_AGENT_API_TIMEOUT_SECONDS=45
OCEAN_AGENT_API_ATTEMPTS=4
OCEAN_AGENT_REASONING_EFFORT=high
OCEAN_AGENT_CIRCUIT_FAILURES=2
OCEAN_AGENT_CIRCUIT_COOLDOWN_SECONDS=30Responses API 为主路由,Chat Completions 为热备。模型健康状态可通过以下接口查看,响应不会返回密钥或上游地址:
GET /api/agent/model-health
生产环境至少需要配置:
POSTGRES_DB=ocean_intelligence
POSTGRES_USER=ocean
POSTGRES_PASSWORD=使用高强度随机值
DATABASE_URL=postgresql://ocean:密码@database:5432/ocean_intelligence
ENCRYPTION_KEY=Fernet兼容密钥
AUTH_REQUIRED=true
SESSION_COOKIE_SECURE=true
SESSION_TTL_SECONDS=2592000
ALLOWED_HOSTS=你的域名
ALLOWED_ORIGINS=https://你的域名真实密钥只能写入未提交版本库的环境文件,不应写入前端代码、镜像层、日志或项目说明。
GET /api/health
GET /api/regions
GET /api/performance
GET /api/workspace/snapshot?region=global_ocean
POST /api/refresh?region=global_ocean
POST /api/refresh/jobs?region=global_ocean
GET /api/refresh/jobs/{job_id}
GET /api/events?region=south_china_sea&mode=live
GET /api/signals?region=south_china_sea
GET /api/observations?region=south_china_sea
GET /api/events/{event_id}
GET /api/events/{event_id}/timeline
GET /api/events/{event_id}/report
GET /api/events/{event_id}/explanation
GET /api/events/{event_id}/literature
POST /api/detect
GET /api/metrics?region=south_china_sea
GET /api/event-stats?region=south_china_sea
GET /api/event-lifecycle?region=south_china_sea
GET /api/data-coverage?region=south_china_sea
GET /api/sources?region=south_china_sea
GET /api/observations/summary?region=south_china_sea
GET /api/argo/region?region=south_china_sea
GET /api/argo/nearest?longitude=114.2&latitude=18.3
GET /api/argo/float/{platform}
GET /api/argo/float/{platform}/history
GET /api/argo/float/{platform}/explanation
GET /api/marine/context?longitude=114.2&latitude=18.3
GET /api/marine/bathymetry?longitude=114.2&latitude=18.3
GET /api/copernicus/currents/field
GET /api/copernicus/waves/point
GET /api/copernicus/wind/point
GET /api/copernicus/global/daily-volume
GET /api/copernicus/events/page
GET /api/copernicus/index/status
GET /api/agent/context
POST /api/agent/chat
GET /api/agent/sessions
POST /api/agent/sessions
GET /api/agent/sessions/{session_id}
PATCH /api/agent/sessions/{session_id}
DELETE /api/agent/sessions/{session_id}
GET /api/agent/memories
POST /api/agent/memories
PATCH /api/agent/memories/{memory_id}
DELETE /api/agent/memories/{memory_id}
GET /api/codex/mcp
POST /api/codex/mcp
DELETE /api/codex/mcp
完整请求参数和响应模型以运行后的 Swagger 文档 http://127.0.0.1:8000/docs 为准。
当前生产方案面向 Ubuntu 22.04 单机。
cp deploy/production.env.example deploy/production.env
chmod 600 deploy/production.env至少填写:
SITE_HOST、SITE_ADDRESS、SITE_ORIGIN;VITE_TIANDITU_TOKEN;POSTGRES_PASSWORD;ENCRYPTION_KEY;DEPLOY_TRANSPORT;- tunnel 模式下的
TUNNEL_TOKEN; - 如启用实时 Copernicus Marine,则填写其账户信息。
./deploy/deploy.sh脚本会:
- 校验生产环境文件;
- 校验
direct或tunnel模式; - 停止另一种传输模式的服务;
- 拉取基础镜像并构建应用;
- 启动 PostgreSQL、应用和选定的入口服务;
- 输出 Compose 服务状态。
完整服务器初始化、HTTPS、安全组、临时 IP 验收、备份和恢复流程见 deploy/UBUNTU_22_04.md。
PostgreSQL 备份脚本:
./deploy/backup-postgres.sh默认备份目录为 backups/postgres。恢复前应先确认数据库版本、目标库名、用户和停机窗口。
cd backend
python -m pytest tests运行单个测试文件:
python -m pytest tests/test_anomaly_detection.pycd frontend
npm run build先启动前后端服务,再执行:
cd frontend
npx playwright testocean-intelligence/
├── backend/
│ ├── app/
│ │ ├── agents/ # Agent 图、解释、报告、MCP 和记忆
│ │ ├── data/ # NOAA、Argo、Copernicus、WOA、知识数据
│ │ ├── scientific_models/ # 确定性异常检测
│ │ ├── auth.py # 用户、会话、CSRF 和凭据加密
│ │ ├── daily_briefing.py # 每日简报生成与发布
│ │ ├── copernicus_daily_index.py
│ │ ├── main.py # FastAPI 入口和主要路由
│ │ └── models.py # Pydantic 数据模型
│ ├── scripts/ # 知识索引和数据处理脚本
│ ├── tests/ # 后端测试
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── components/ # 地图、事件、观测和 Agent 组件
│ │ ├── App.tsx # 主工作台
│ │ ├── api.ts # 业务 API 客户端
│ │ ├── codexApi.ts # Codex 运行时客户端
│ │ └── styles.css
│ ├── tests/ # Playwright 测试
│ └── package.json
├── codex-runtime/ # 浏览器与 Codex app-server 适配层
├── deploy/ # 生产配置、部署、Caddy 和备份脚本
├── generated/ # 生成的简报、报告和辅助产物
├── audits/ # 数据采集或能力审计结果
├── scripts/ # 地图和演示素材构建脚本
├── compose.prod.yaml
├── Dockerfile
├── start_ocean_intelligence.ps1
└── stop_ocean_intelligence.ps1
| 路径或服务 | 内容 |
|---|---|
backend/.cache/realtime |
区域实时快照 |
backend/.cache/daily_briefings |
每日简报成稿 |
backend/.cache |
其他上游数据和计算缓存 |
.runtime/agent_memory.sqlite3 |
Agent 长期领域记忆 |
CODEX_HOME |
Codex 原生线程和运行状态 |
| PostgreSQL | 生产账户、会话和加密后的用户 API 配置 |
backups/postgres |
数据库备份文件 |
这些目录中可能包含运行数据或用户信息。生产备份、迁移和故障排查时应按敏感数据处理,不应直接提交到版本库。
所有 API 响应包含:
X-Request-ID:请求追踪标识;X-Response-Time-Ms:服务端响应耗时。
性能接口:
GET /api/performance
它按路由统计请求数、错误数、平均耗时、P95 和最大耗时。前端生产构建将地图、图表、Three.js、图标和 React 运行时拆分为独立缓存块,避免业务入口形成单个超大脚本。
- 不要提交
deploy/production.env、frontend/.env.local或真实凭据; - 模型和 Copernicus Marine 密钥只应进入服务端环境;
- 生产环境应启用安全 Cookie、HTTPS、允许域名和来源限制;
ENCRYPTION_KEY丢失后,已加密的用户 API 配置无法正常解密,应安全备份。
项目内中国离线底图来源于自然资源部标准地图服务系统,界面标注审图号 GS(2023)2767号 并提供原图入口。公开发布、裁切、修改或生成新的地图成果前,应根据实际使用方式复核地图审核、审图号标注和数据服务授权要求。
生产环境固定使用天地图提供中国大陆和台湾省底图及简体中文注记。缺少 VITE_TIANDITU_TOKEN 时,生产构建会失败;开发环境的离线后备仅用于研发和诊断。
- 系统输出用于观测汇总、异常筛查和辅助研判,不替代主管部门预警、业务会商或同行评议;
screening表示候选筛查,不等于正式事件确认;scenario表示情景或演示数据,不能作为实时事实引用;- 来源降级、样本不足、时间跨度不足或基线不合格时,应保留不确定性,不应提高结论等级;
- 影响面积只在证据足以支持空间范围时提供,缺失值不会用零填充。
先检查:
GET /api/health
GET /api/sources?region=global_ocean
GET /api/workspace/snapshot?region=global_ocean
若来源状态为降级,系统可能正在返回最近可信缓存。确认服务器能够访问外部数据服务,并检查后端日志和相应账户配置。
检查 Copernicus Marine 用户名、密码、数据集 ID 和 ARCO 地址。接口 /api/copernicus/currents/field 必须能返回有效矢量场。
确认:
- Codex CLI 已安装且可在当前用户下运行;
node codex-runtime/server/index.mjs正在监听8011;http://127.0.0.1:8011/api/codex-runtime/status返回就绪状态;- 后端 Ocean MCP 接口可访问;
- 模型配置存在,或当前 Codex 账户可正常使用。
检查 AUTH_REQUIRED、SESSION_COOKIE_SECURE、站点是否使用 HTTPS、代理头是否正确传递、SITE_ORIGIN 与实际域名是否一致,以及浏览器是否接受会话 Cookie。
在 deploy/production.env 中设置真实的 VITE_TIANDITU_TOKEN,再重新执行 ./deploy/deploy.sh。该变量属于浏览器端地图服务密钥,应在服务商控制台限制允许域名。
下一步不应优先继续堆叠页面或模型能力,而应先把已经完成的核心闭环提升为可长期验证、可人工接管、可稳定运营的业务系统。
| 任务 | 目标 | 验收标准 |
|---|---|---|
| 正式气候阈值库 | 为海温、盐度、叶绿素等变量提供版本化区域/季节基线 | 每个事件可追溯阈值来源、时间范围、版本和计算方法 |
| 历史案例基准集 | 用已知海洋事件与普通时期评估误报、漏报和状态升级规则 | 形成可重复运行的离线评测集和指标报告 |
| 人工复核流程 | 支持专家批注、驳回、升级、确认和关闭事件 | 所有人工操作记录人员、时间、理由和前后状态 |
| 数据与模型血缘 | 固定数据产品版本、处理参数、模型配置和生成报告之间的关系 | 任意结论可回溯到输入数据、代码/规则版本和执行时间 |
| 任务 | 目标 | 验收标准 |
|---|---|---|
| 独立任务队列 | 将大范围刷新、索引和报告生成移出 Web 进程 | 任务可重试、限流、取消,并能查看进度和失败原因 |
| 集中监控告警 | 接入 Prometheus、集中日志和来源健康告警 | 能发现接口错误率、延迟、数据陈旧和任务积压 |
| CI 质量门禁 | 自动运行后端、前端构建、端到端和固定数据集测试 | 主分支变更必须通过核心检查才能发布 |
| 备份恢复演练 | 验证 PostgreSQL、缓存、配置和生成结果的恢复流程 | 在独立环境完成恢复并记录恢复时间与数据丢失窗口 |
| 任务 | 目标 | 验收标准 |
|---|---|---|
| 组织与角色权限 | 支持管理员、分析员、复核员和只读用户 | API、页面和数据范围按角色执行一致权限控制 |
| 报告导出 | 增加固定模板、PDF/文档导出和版本留档 | 导出内容保留证据、来源、时间、不确定性和审阅状态 |
| 通知适配器 | 对接企业微信、钉钉、飞书、邮件或业务 Webhook | 可按区域、严重度和状态变化配置通知策略 |
| 审计日志 | 记录登录、配置变更、事件复核、导出和敏感操作 | 管理员可查询且普通用户不可篡改 |
- 接入更多卫星海色、潮位、海冰、台风路径和沿岸站点产品;
- 增加多年历史回溯、跨区域对比和批量点位分析;
- 支持多节点任务执行、对象存储和更大规模缓存;
- 增加事件相似性检索、报告模板库和领域评测面板;
- 根据真实用户反馈继续优化移动端、无障碍和大屏展示。
- 先完成阈值库、历史案例和人工复核,明确系统能对哪些事件给出多强的结论;
- 再建设任务队列、监控告警、CI 和恢复演练,保证已有能力可以稳定运行;
- 随后增加组织权限、审计、导出和通知,使系统进入多人协作业务流程;
- 最后扩大数据源和计算规模,避免在质量与运维基础不足时过早扩张。
如需快速了解项目,建议按以下顺序阅读:本 README → backend/app/main.py → backend/app/models.py → backend/app/data/realtime_service.py → backend/app/scientific_models/anomaly.py → frontend/src/App.tsx → deploy/UBUNTU_22_04.md。
本产品内置 MCP 入口为 POST /api/codex/mcp,由 codex-runtime 通过私有网络自动挂载。完整工具、资源、提示词、协议、鉴权、科学证据规则和验收矩阵见 docs/codex-mcp.md,MCP 2.0 的身份、快照、任务、导出、治理与部署实现见 docs/MCP_IMPLEMENTATION.md。
生产环境使用服务间 Bearer 凭证保护 MCP 入口,同时由 Codex Runtime 为每次工具调用注入短期、用户绑定、task 绑定的身份令牌。模型看不到身份字段,也不能自行选择数据所有者。入口覆盖产品健康、区域指标、事件证据、海洋地理、Argo、Copernicus、NOAA、WOA、物理和统计诊断、日报、会话、记忆、后台任务、批量点位、导出及审计能力。
当前内置 MCP 版本为 2.0.0,共提供 86 个工具。Codex 可通过 ocean_data_catalog、ocean_data_schema、ocean_data_page、ocean_data_search、ocean_coordinate_nearest 和 ocean_data_aggregate 获取、筛选和分析全部产品聚合数据;通过 ocean_source_catalog 与 ocean_source_data_page 遍历 NOAA、WOA 和 Argo 底层数组。
分页首次请求会生成带过期时间和数据版本的稳定快照,后续使用 next_cursor_token 继续读取,即使实时数据在两页之间刷新,也不会发生重复或遗漏。ocean_data_changes 可按快照、时间或修订版本读取新增、修改和删除墓碑。单页最多返回 1000 条,因此 817 个坐标可以一次读取;更大集合可以稳定跨页遍历。
重数据操作通过 ocean_job_submit、ocean_job_status、ocean_job_result_page 和 ocean_job_cancel 执行。ocean_batch_points_submit 支持单任务最多 500 个坐标的海域解析、水深、最近 Argo、海洋知识、风浪等批量查询;超过 500 个坐标时可拆分为多个后台任务。ocean_export_submit 和 ocean_export_result 支持 CSV、GeoJSON、NDJSON、Parquet 与 NetCDF 导出及分块读取。
每个工具均提供输入 Schema、输出 Schema,以及 readOnlyHint、destructiveHint、idempotentHint 和 openWorldHint 安全注解。非核心工具使用动态延迟加载,减少 Codex 初始上下文中的 Schema 体积。每次调用都会记录用户、Codex task、工具、脱敏参数摘要、数据版本、外部来源、返回数量、耗时、错误码和写操作标记。
以下清单直接对应后端当前注册的 86 个 MCP 工具。GitHub README 默认折叠详细列表,便于先阅读项目定位,需要时再展开查看全部机器能力。
展开查看全部 86 个 Ocean MCP 工具
| 工具 | 作用 |
|---|---|
ocean_list_regions |
列出系统全部注册海域。 |
ocean_resolve_marine_area |
根据名称、文本或坐标识别海洋、海湾、海峡和水道。 |
ocean_region_nine_zone_grid |
将海域划分为西北、北、东北、西、中、东、西南、南、东南九区。 |
ocean_nine_zone_point_inventory |
统计九区内坐标、平台、变量、QC、密度和无效点。 |
ocean_anomaly_point_linkage |
按距离、时间、深度和来源独立性关联异常候选与现场观测。 |
| 工具 | 作用 |
|---|---|
ocean_context_manifest |
读取区域数据数量、变量、时间覆盖和来源状态。 |
ocean_search_records |
搜索普通观测和异常候选。 |
ocean_get_event |
读取单个事件的完整证据记录。 |
ocean_source_health |
读取数据来源可用性、延迟和更新时间。 |
ocean_mainland_news |
获取中国大陆媒体海洋新闻上下文。 |
ocean_product_health |
读取产品整体健康状态。 |
ocean_product_metrics |
读取区域产品指标和来源数据包。 |
ocean_observation_summary |
读取区域观测摘要。 |
ocean_event_catalog |
列出区域事件和观测记录。 |
ocean_event_lifecycle |
读取事件生命周期变化。 |
ocean_daily_briefing |
获取每日海洋简报。 |
ocean_daily_dashboard |
获取每日数据看板。 |
ocean_workspace_snapshot |
获取区域工作台完整首屏快照。 |
ocean_event_report |
生成证据可追溯的科学报告。 |
ocean_event_explanation |
生成受证据约束的通俗解释。 |
ocean_event_literature |
搜索事件相关论文和 DOI。 |
ocean_refresh |
同步刷新区域实时数据。 |
ocean_refresh_job_submit |
提交区域后台刷新任务。 |
ocean_refresh_job_status |
查询区域刷新任务状态。 |
| 工具 | 作用 |
|---|---|
ocean_get_argo_profile |
读取指定浮标最新完整剖面、QC 和位置历史。 |
ocean_argo_float_history |
读取 Argo 平台近期完整剖面历史。 |
ocean_argo_region |
读取区域内活动浮标和紧凑剖面。 |
ocean_argo_nearest |
查找坐标附近最近的 Argo 浮标。 |
ocean_argo_realtime_status |
读取 Argo 实时采集器状态。 |
ocean_event_argo |
为事件匹配附近 Argo 并读取完整剖面。 |
ocean_argo_explanation |
读取 Argo 浮标快照中的自动解释。 |
| 工具 | 作用 |
|---|---|
ocean_copernicus_catalog_search |
搜索完整 Copernicus Marine 数据目录。 |
ocean_copernicus_dataset_describe |
读取任意数据集的变量、单位、范围、版本和服务。 |
ocean_copernicus_dataset_analyze |
按变量、空间、时间和深度分析任意数据集。 |
ocean_copernicus_wave_point |
查询单点浪高、周期和方向。 |
ocean_copernicus_wave_region |
查询区域波浪快照。 |
ocean_copernicus_wave_audit |
审计波浪覆盖、掩膜、零值和有效时间。 |
ocean_copernicus_wind_point |
查询单点海面风。 |
ocean_copernicus_wind_region |
查询区域风场。 |
ocean_copernicus_history |
查询 Copernicus 点位历史序列。 |
ocean_copernicus_audit |
审计 Copernicus 数据质量和覆盖范围。 |
ocean_current_field |
生成可直接显示的表层海流矢量场。 |
ocean_copernicus_event_page |
分页读取全球 Copernicus 事件索引。 |
ocean_copernicus_index_status |
读取 Copernicus 海域索引状态。 |
ocean_copernicus_global_daily_volume |
统计全球格点日数据量。 |
ocean_copernicus_indexed_events |
按类型、海域和地理分类读取持久事件索引。 |
| 工具 | 作用 |
|---|---|
ocean_marine_context |
根据坐标读取海域、人文和局地背景。 |
ocean_marine_knowledge |
读取坐标相关的海洋知识、历史和人文信息。 |
ocean_bathymetry |
查询单点水深和局地地形起伏。 |
ocean_marine_atlas |
搜索离线海洋图谱。 |
ocean_atlas_entry |
读取完整图谱条目、剖面和补充资料。 |
| 工具 | 作用 |
|---|---|
ocean_detect_anomaly |
运行产品异常筛查模型。 |
ocean_physics_diagnostics |
计算地转、Ekman、Sverdrup、层结、稳定性、波流作用和热收支等物理诊断。 |
ocean_statistical_diagnostics |
计算加权统计、稳健趋势、方向统计、滞后相关和异常候选。 |
| 工具 | 作用 |
|---|---|
ocean_memory_search |
搜索当前用户的 Agent 记忆。 |
ocean_memory_store |
保存当前用户的 Agent 记忆。 |
ocean_agent_context |
读取区域 Agent 上下文清单。 |
ocean_agent_model_health |
读取模型中继健康状态。 |
ocean_agent_chat |
基于区域数据、事件证据、会话和记忆回答问题。 |
ocean_agent_sessions |
列出当前用户的会话。 |
ocean_agent_session_get |
读取会话及消息。 |
ocean_agent_session_create |
创建会话。 |
ocean_agent_session_update |
重命名或归档会话。 |
ocean_agent_session_delete |
删除会话。 |
ocean_memories |
列出当前用户的记忆。 |
ocean_memory_update |
修改记忆内容、启用状态或置信度。 |
ocean_memory_delete |
删除记忆。 |
| 工具 | 作用 |
|---|---|
ocean_data_catalog |
列出区域全部可分页数据集和精确数量。 |
ocean_data_page |
通过快照和签名游标读取产品数据。 |
ocean_source_catalog |
列出 NOAA、WOA、Argo 等底层来源集合。 |
ocean_source_data_page |
快照分页读取底层来源数组。 |
ocean_data_schema |
读取字段、类型、坐标和时间能力。 |
ocean_data_search |
按文本、变量、时间和坐标搜索数据。 |
ocean_data_changes |
读取新增、修改和删除墓碑。 |
ocean_coordinate_nearest |
在任意坐标数据集中查询最近记录。 |
ocean_data_aggregate |
计算数量、缺测、最小值、均值、中位数和最大值。 |
| 工具 | 作用 |
|---|---|
ocean_job_submit |
将重型工具提交到持久后台任务队列。 |
ocean_job_status |
查询任务状态和取消状态。 |
ocean_job_result_page |
分页读取任务结果。 |
ocean_job_cancel |
取消排队中或运行中的任务。 |
ocean_batch_points_submit |
批量分析最多 500 个坐标。 |
ocean_export_submit |
提交 CSV、GeoJSON、NDJSON、Parquet 或 NetCDF 导出任务。 |
ocean_export_result |
分块读取导出文件。 |
ocean_audit_page |
读取当前用户的脱敏 MCP 审计记录。 |
| 工具 | 作用 |
|---|---|
ocean_performance |
读取接口耗时和错误指标。 |
ocean_mcp_coverage |
读取产品 API 到 MCP 的覆盖矩阵及安全排除项。 |
账户密码、Cookie、API Key 明文、数据库凭证和部署 Secret 明确不通过 MCP 暴露。