Files
planet/TODO.md
2026-04-30 16:56:37 +08:00

6.8 KiB
Raw Blame History

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 的配置中心,优先落成 jsonyaml 文件,运行时按 provider/model 读取兼容设置,而不是把专项兼容继续散落在 Python 分支里
  • 为市面上主流 AI 服务补专项兼容配置并固化到配置文件中,至少覆盖 OpenAI / Anthropic / MiniMax / Ollama / Moonshot / DeepSeek / Qwen / GLM / Gemini / OpenRouter / vLLM / LM Studio / One API
  • 在兼容配置中补齐可声明项:api adapterbase_url patternauth headerthinking defaultreasoning block mappingstream pathtool-call capabilitymultimodal capabilityprovider-specific request patch
  • 接入 inetnum / inet6num whois 作为比 RIR 更细粒度的后备层
  • 在 activity layer 之后继续补 route leakpath instability / flap detector
  • 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 / MemphisOpenAI / StargateCoreWeaveLambdaCrusoe 这类同一对象多种写法导致的地点匹配失败
  • 为估算位置增加更细的视觉和产品表达:除了问号角标,还要支持 tooltip/详情中的“估算依据”“精度级别”“最后核验时间”,并允许在设置中单独开关“仅看精确位置”
  • 为国家级估算点设计更合理的落点策略:优先落在“该国主要算力/数据中心城市候选集”而不是几何质心,必要时同国多节点做稳定散列分配,避免大量节点堆在荒漠或海上
  • 为未知位置算力中心建立人工校验工作流:支持导出待核验清单、记录人工确认结果,并把人工确认反哺到位置注册表,逐步减少问号点比例