6.8 KiB
6.8 KiB
TODO
- 把 BGP 观测站和异常点的
hover/click手感再磨细一点 - 开始做 BGP 异常和海缆/区域的关联展示
- 做 Earth 侧的
BGP activity layer,让低 incident 密度时地图仍然有持续可感知的观测存在感 - 给 Earth BGP 补三层状态表达:
平稳观测态 / 局部波动态 / 事件活跃态 - 把“当前无活跃事件”改造成“观测网络仍在运行、当前未发现聚合级事件”的状态表达
- 做 collector / region 近 15 分钟 activity score 聚合接口或动态聚合逻辑
- 把 Earth 的 BGP incident 改成
紧凑事件核 + 向外扩张环形 pulse,替换当前大面积 glow - 为 BGP incident 建立符号系统:按事件类型用不同 marker,而不是都用同一种亮点
- 把 incident 地理定位从
collector-centric改成prefix-centric,优先使用prefix_geography,其次prefix_scope,再次 ASN 区域,最后才回退到观测区域质心 - 新增
prefix_geography数据层,不再把prefix_scope当成 prefix 地理归属本身 - 接入
IPtoASN / IPtoCountry作为 prefix-centric geography 的主数据源 - 接入
OpenGeoFeed作为 prefix geography 的高质量覆盖/override 数据源 - 把 RIR delegated 设计成 prefix geography 的 fallback,而不是主来源
- 为
aiprovider建立provider -> api adapter -> compat policy的配置中心,优先落成json或yaml文件,运行时按provider/model读取兼容设置,而不是把专项兼容继续散落在 Python 分支里 - 为市面上主流 AI 服务补专项兼容配置并固化到配置文件中,至少覆盖
OpenAI / Anthropic / MiniMax / Ollama / Moonshot / DeepSeek / Qwen / GLM / Gemini / OpenRouter / vLLM / LM Studio / One API - 在兼容配置中补齐可声明项:
api adapter、base_url pattern、auth header、thinking default、reasoning block mapping、stream path、tool-call capability、multimodal capability、provider-specific request patch - 接入
inetnum/inet6numwhois 作为比 RIR 更细粒度的后备层 - 在 activity layer 之后继续补
route leak和path instability / flapdetector - 对 frontend/public/earth/js/bgp.js 做按职责拆分的小重构,拆成 data / markers / overlays / animation,降低后续维护复杂度
- 可选优化(非必做):将 BGP incident/collector 标点改为 HTML marker(参考 worldmonitor 的
htmlElementsData思路),实现近乎固定屏幕尺寸与更高密度可点击性 - 保持 Earth 当前这批纯个人偏好设置继续走本地持久化:
旋转模式、HUD 面板显示/隐藏、地形透明度暂不升级到后端系统设置,避免把设备级偏好过早做成全局配置 - 如果后续明确需要“账号级同步 Earth 偏好”,再单独设计
Earth user preferences:优先按用户维度而不是全局系统设置保存,并规划localStorage -> backend的平滑迁移策略 - 为 Planet / Earth 补一个可用的日志查看系统:先明确前后端/AI Provider/采集任务的日志入口、最近日志聚合、筛选与 tail 能力,再决定是先做脚本级统一入口还是控制台内置日志面板
- 重写控制台 UI,逐步抛弃 Ant Design,建立自有组件体系,并统一采用
tabler.io/ Tabler Icons 作为控制台主图标库 - 把 Earth 态势新闻源从 earth_news.py 的硬编码列表抽成可配置目录,优先保持当前“实时聚合”链路不变,只先解决新闻源不可配置的问题
- 为 Earth 态势新闻设计后续采集器化方案:明确新闻数据模型、去重策略、区域映射、过期清理和 Earth/AI 复用方式,再决定何时把新闻从实时抓取升级成正式 collector
- AIS v4:开放船只多源聚合策略配置,支持 source priority、字段级规则、freshness 窗口和高级保护开关;保存时校验未知字段、非法模式和危险动态字段锁定,并在聚合接口返回命中的配置版本
- AIS v5:实现船舶资料 enrichment 与冲突治理,按
mmsi + imo + name + callsign异步补充船型细分、AIS 大类、旗国、尺寸、建造年份、运营方和图片缓存;详情面板展示缓存资料和字段来源,不在实时 AIS 请求链路现场抓第三方页面 - 为 Earth 地球表面增加一层与基础纹理对齐的材质/纹理 overlay,并在同层叠加国界轮廓参考线;要求国界线与底图稳定对齐,且 hover 到国家轮廓时能高亮当前国家,便于校准地表和增强交互
- 把 Earth 新闻接入通用巡航队列:按新闻发生地和时间排序生成巡航目标,巡航聚焦到新闻事件时显示对应新闻卡片,并保持实现边界为“通用巡航层 + 新闻业务适配层”,不要再把新闻逻辑直接耦合回
main.js状态机 - 为未知位置的算力中心建立分层坐标补全链路:优先
精确坐标 > 站点/园区命中 > 城市 > 州/省 > 国家内主要算力城市 > 国家质心,并把每次回退的confidence / reason / precision明确写进统一 GeoJSON - 为算力中心补一份可维护的本地位置注册表,例如
canonical_name / aliases / operator / country / region / city / lat / lon / confidence / source_note,避免把地点知识长期硬编码在visualization.py - 增强
epoch_ai_gpu和相关算力采集器的源页面解析:即使公开 API 不给坐标,也继续尝试从详情页、HTML、内嵌 JSON、schema.org、OpenGraph、脚本变量和 PDF/新闻稿链接里抽地点线索 - 为未知位置算力中心增加外部富化策略评估:可选接入公开知识源或搜索兜底,只抓“站点名/园区名/城市名”级别线索,不直接抓经纬度结论,并把结果作为候选证据而不是真值
- 为算力中心建立
operator / cluster name / facility alias归一化层,先解决xAI / Colossus / Memphis、OpenAI / Stargate、CoreWeave、Lambda、Crusoe这类同一对象多种写法导致的地点匹配失败 - 为估算位置增加更细的视觉和产品表达:除了问号角标,还要支持 tooltip/详情中的“估算依据”“精度级别”“最后核验时间”,并允许在设置中单独开关“仅看精确位置”
- 为国家级估算点设计更合理的落点策略:优先落在“该国主要算力/数据中心城市候选集”而不是几何质心,必要时同国多节点做稳定散列分配,避免大量节点堆在荒漠或海上
- 为未知位置算力中心建立人工校验工作流:支持导出待核验清单、记录人工确认结果,并把人工确认反哺到位置注册表,逐步减少问号点比例