Skip to main content

📌 signals.json 信号结构定义 | Signal Structure Definition

本文档定义了 Situation Monitor 系统的核心协议:信号结构。这是全系统统一的数据格式,所有模块都必须遵循此规范。
这是系统的核心协议,任何修改都需要经过团队审核和版本控制。

🎯 信号设计目标 | Signal Design Goals

信号不是行情播报,而是:
提醒用户「是否值得关注或行动」
信号是决策前过滤系统的输出,帮助用户快速判断是否需要进一步操作。

🧱 信号顶层结构 | Top-level Structure

{
  "signal_id": "550e8400-e29b-41d4-a716-446655440000",
  "timestamp": "2026-01-23T09:32:00Z",
  "signal_type": "opportunity",
  "priority": "high",
  "confidence": 0.82,
  "risk_level": "medium",
  "title": "AI 板块出现集中放量",
  "summary": "多个AI相关代币在5分钟内成交量激增,同时Twitter上相关话题提及量增长230%",
  "suggested_action": "关注板块内龙头币种,注意风险控制",
  "sources": ["market", "twitter", "gmgn"],
  "evidence": {
    "market": {
      "symbols": ["AI1", "AI2", "AI3"],
      "avg_volume_increase": "320%",
      "price_change_range": "5-12%"
    },
    "twitter": {
      "topic": "AI Meme",
      "tweet_growth": 500,
      "key_accounts": ["@influencer1", "@influencer2"]
    }
  },
  "expire_at": "2026-01-23T10:00:00Z"
}

📋 字段说明 | Field Specification

"opportunity"  // 机会信号:发现潜在机会
"risk"        // 风险信号:检测到风险因素
"info"        // 信息信号:一般性信息更新

完整字段表

字段类型必填说明
signal_idUUID信号唯一标识符
timestampISO 8601信号生成时间(UTC)
signal_typeEnumopportunity / risk / info
priorityEnumhigh / medium / low
confidenceFloat (0.0-1.0)系统判断可信度
risk_levelEnumlow / medium / high
titleString推送标题(≤50 字符)
summaryString给用户看的解释(≤200 字符)
suggested_actionString⚠️非强制建议(≤100 字符)
sourcesArray[String]触发的数据来源列表
evidenceObject证据数据(见下方)
expire_atISO 8601过期时间(UTC)

🧠 evidence 结构示例 | Evidence Structure Examples

行情触发 | Market Trigger

{
  "market": {
    "symbols": ["AI1", "AI2", "AI3"],
    "avg_volume_increase": "320%",
    "price_change_range": "5-12%",
    "time_window": "5m"
  }
}

新币触发 | Token Trigger

{
  "gmgn": {
    "token": "ABC",
    "launch_minutes": 45,
    "holder_growth": 400,
    "whale_wallets": 3,
    "risk_flags": []
  }
}

舆情触发 | Sentiment Trigger

{
  "sentiment": {
    "topic": "AI Meme",
    "tweet_growth": 500,
    "mention_growth": "230%",
    "key_accounts": ["@user1", "@user2"],
    "sentiment_score": 0.75
  }
}

复合触发 | Composite Trigger

{
  "market": {
    "symbols": ["BTC", "ETH"],
    "volume_spike": true
  },
  "twitter": {
    "topic": "Bitcoin",
    "tweet_growth": 300
  },
  "gmgn": {
    "whale_activity": true,
    "large_transfers": 2
  }
}

🎯 信号触发原则 | Signal Triggering Rules

必须满足的条件

交叉验证原则: 至少两个不同数据源交叉验证才能生成 highmedium 优先级信号。
示例:
  • ✅ 行情 + 舆情 → 可生成 high 优先级信号
  • ✅ 新币 + 大户行为 → 可生成 medium 优先级信号
  • ❌ 单一数据源 → 仅可生成 info 级别信号

优先级判断逻辑

  • 至少 3 个数据源交叉验证
  • confidence ≥ 0.8
  • 涉及多个关键指标异常
  • 至少 2 个数据源交叉验证
  • confidence ≥ 0.6
  • 单一关键指标显著异常
  • 单一数据源
  • confidence < 0.6
  • 一般性信息更新

🚦 推送策略建议 | Push Strategy

Priority推送方式频率限制
High即时推送无限制
Medium合并推送(5 分钟窗口)最多 3 条/小时
Low仅展示在面板不推送
推送层应根据用户偏好和频率限制进行智能推送,避免信息轰炸。

🔥 非目标范围 | Out of Scope

系统明确不提供以下功能:

自动下单

不执行任何交易操作

盈利保证

不承诺任何收益

明确买卖点位

不提供具体交易建议
系统定位: 情报与决策辅助,而非交易执行。

📊 信号生命周期与流转 | Signal Lifecycle & Data Flow

全局数据流架构 | System-wide Data Flow

信号在系统中从“杂乱噪声”到“精准情报”的转化过程如下:

详细生命周期 | Lifecycle Steps

1

1. 原始捕获 (Capture)

各探测器(Probe)独立工作,实时监测异常点,将发现录入原始信号池。
2

2. AI 审计 (Audit)

AI 根据 signals_schema 进行逻辑审计,过滤虚假信号并填充 confidence (可信度)。
3

3. 信号分发 (Distribute)

API 网关接收已通过审计的信号,并根据 priority (优先级) 寻找推送目标。
4

4. 终端触达 (Notify)

通过 Rocket.Chat (内部)Telegram/WhatsApp/Twitter (外部矩阵) 即时打断用户,或在低优先级时静默更新看板。
5

5. 过期归档 (Archive)

到达 expire_at 后,信号从活跃池移除并存档入 PostgreSQL 以供后验。

✅ 信号验证规则 | Validation Rules

部署前请确认信号符合以下规则:
  • signal_id 是有效的 UUID
  • timestampexpire_at 使用 ISO 8601 格式
  • confidence 在 0.0-1.0 范围内
  • sources 数组至少包含 1 个元素
  • evidence 对象包含至少 1 个数据源证据
  • titlesummary 长度符合限制
  • expire_at 晚于 timestamp
建议使用 JSON Schema 验证信号结构,确保数据一致性。