开发者接口

API 接口文档

将 AlphaSentinel 的 AI 扫描能力集成到你自己的交易系统或机器人,几行代码即可接入 300+ 信号扫描服务。

Base URL
https://alphinel.com
API Token — 扫描接口JWT — 用户管理

快速开始

# 1. 注册账号
curl -X POST https://alphinel.com/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your_password"}'

# 2. 登录获取 JWT
curl -X POST https://alphinel.com/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your_password"}'

# 3. 用 JWT 创建 API Token
curl -X POST https://alphinel.com/api/user/tokens \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"My Bot"}'
# 返回: { "data": { "token": "stx_xxxxxxxx" } }  ← 保存此 Token

# 4. 调用扫描接口
curl -X POST https://alphinel.com/api/scan/request \
  -H "Authorization: Bearer stx_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"enableSearch":true}'

# 5. 获取扫描结果
curl https://alphinel.com/api/scan/briefings?limit=1 \
  -H "Authorization: Bearer stx_xxxxxxxx"

扫描接口

核心功能 — 发起扫描、获取简报、SSE 实时推送

POST/api/scan/request请求扫描API Token

请求执行一次 300 信号矩阵扫描。扫描完成后按实际 LLM 消耗扣除 Token,失败自动退回。结果可通过简报接口获取或 SSE 实时推送。

Request Headers
Authorization:Bearer stx_xxxxxxxx
Content-Type:application/json
Request Body (JSON)
字段说明
enableSearchboolean — 是否启用 Perplexity 搜索增强 (默认 true,当前服务固定启用搜索增强,费用按实际 LLM 消耗扣除)
Response
{
  "success": true,
  "data": {
    "briefingId": "brf_1710000000_a1b2c3d4",
    "estimatedSeconds": 30,
    "tokenCost": 1530,
    "cached": false
  }
}
备注
  • tokenCost 为实际 LLM 消耗的 Token 数,每次扫描可能不同
  • 缓存窗口内重复请求不会重复调用 LLM,但仍按同等费用扣除
  • 频率限制:默认每用户每小时最多 3 次
  • briefingId 用于后续查询简报结果
HTTP 状态码
200成功 — 扫描已提交或命中缓存
402Token 余额不足
429超出频率限制
503服务维护中
GET/api/scan/briefings获取简报列表API Token

获取当前用户最近的扫描简报结果,包含市场摘要、触发信号、预警信息和管线详情。

Request Headers
Authorization:Bearer stx_xxxxxxxx
Query Parameters
参数说明
limitnumber — 返回数量,1~20,默认 10
afterstring — 增量拉取,传入某个 briefingId,只返回该简报之后的新数据
Response
{
  "success": true,
  "data": [
    {
      "briefingId": "brf_1710000000_a1b2c3d4",
      "timestamp": 1710000030000,
      "marketSummary": "BTC broke through $95,000...",
      "triggeredSignals": [
        {
          "signalId": 1,
          "impact": 8,
          "confidence": 0.85,
          "title": "BTC breaks key resistance",
          "summary": "Price broke through $95,000 psychological level...",
          "source": "Perplexity Search"
        }
      ],
      "alerts": [
        {
          "title": "Major breakout alert",
          "description": "BTC price broke key technical level...",
          "level": "critical",
          "group": "G1_BTC_CORE",
          "relatedCoins": ["BTC"],
          "source": "DeepSeek Analysis"
        }
      ],
      "pipelineInfo": {
        "hasSearcher": true,
        "hasMarketData": true,
        "searcherProvider": "perplexity",
        "analyzerProvider": "deepseek"
      }
    }
  ]
}
备注
  • triggeredSignals 中的 signalId 对应 300 信号矩阵中的信号编号 (1~300)
  • alerts.level 取值: "critical"(紧急) / "warning"(一般) / "info"(信息)
  • 信号 impact 取值范围 -10 ~ +10,正值看涨,负值看跌
GET/api/scan/streamSSE 实时推送API Token

建立 Server-Sent Events 长连接,实时接收扫描完成后的简报推送。适用于实时监控场景。

Query Parameters
参数说明
tokenstring — API Token (URL参数传递,因 EventSource 不支持自定义 Header)
Response
event: connected
data: {"userId":1,"version":"1.0.0"}

event: heartbeat
data: {"t":1710000015000}

event: briefing
data: {"briefingId":"brf_...","timestamp":...,"marketSummary":"...","triggeredSignals":[...],"alerts":[...],"pipelineInfo":{...}}
代码示例
const es = new EventSource(
  'https://alphinel.com/api/scan/stream?token=stx_xxxxxxxx'
);

es.addEventListener('briefing', (event) => {
  const briefing = JSON.parse(event.data);
  console.log('新简报:', briefing.marketSummary);
  console.log('触发信号:', briefing.triggeredSignals.length);
  console.log('预警:', briefing.alerts.length);
});

es.addEventListener('heartbeat', () => {
  // 服务器每 15 秒发送一次心跳
});
备注
  • EventSource 会自动重连,无需手动处理断线
  • 心跳间隔 15 秒,用于保持连接活跃
  • 简报推送事件名为 "briefing",数据格式与 /briefings 接口一致
GET/api/scan/status服务状态API Token

检查公共服务运行状态和当前用户的 Token 余额。可用于健康检查和余额监控。

Request Headers
Authorization:Bearer stx_xxxxxxxx
Response
{
  "success": true,
  "data": {
    "ok": true,
    "version": "1.0.0",
    "tokenBalance": 18500,
    "message": null
  }
}
备注
  • ok=false 时表示服务维护中,此时 message 包含维护说明
  • tokenBalance 为当前用户 Token 余额

认证接口

注册、登录 — 无需认证即可调用

POST/api/auth/register用户注册

注册新账号,注册成功即赠送 Token(数量以管理后台配置为准)。

Request Headers
Content-Type:application/json
Request Body (JSON)
字段说明
emailstring — 邮箱地址 (唯一)
passwordstring — 密码 (至少 6 位)
nicknamestring? — 昵称 (可选)
Response
{
  "success": true,
  "data": {
    "token": "eyJhbGci...",
    "user": {
      "id": 1,
      "email": "user@example.com",
      "nickname": "Trader",
      "tokenBalance": 20000,
      "status": "active",
      "createdAt": "2026-03-12T00:00:00.000Z"
    }
  }
}
POST/api/auth/login用户登录

使用邮箱和密码登录,返回 JWT Token。

Request Headers
Content-Type:application/json
Request Body (JSON)
字段说明
emailstring — 邮箱地址
passwordstring — 密码
Response
{
  "success": true,
  "data": {
    "token": "eyJhbGci...",
    "user": { "id": 1, "email": "...", "tokenBalance": 20000, ... }
  }
}

用户接口

API Token 的创建、列表和吁销管理

POST/api/user/tokens创建 API TokenJWT

创建一个用于调用扫描接口的 API Token。Token 仅在创建时完整显示一次,请妥善保存。

Request Headers
Authorization:Bearer eyJhbGci...
Content-Type:application/json
Request Body (JSON)
字段说明
namestring? — Token 名称备注 (可选)
Response
{
  "success": true,
  "data": {
    "id": 1,
    "token": "stx_a1b2c3d4e5f6...",
    "tokenPrefix": "stx_a1b2",
    "name": "My Trading Bot"
  }
}
备注
  • API Token 以 stx_ 前缀开头
  • 完整 Token 仅此一次返回,后续只能查看前缀
  • 调用扫描相关接口时使用此 Token 认证
GET/api/user/tokensAPI Token 列表JWT

列出当前用户所有 API Token(仅显示前缀)。

Request Headers
Authorization:Bearer eyJhbGci...
Response
{
  "success": true,
  "data": [
    {
      "id": 1,
      "tokenPrefix": "stx_a1b2",
      "name": "My Trading Bot",
      "lastUsedAt": "2026-03-12T00:00:00.000Z",
      "isRevoked": false,
      "createdAt": "2026-03-10T00:00:00.000Z"
    }
  ]
}
DELETE/api/user/tokens/:id吊销 API TokenJWT

永久吊销指定的 API Token,吊销后该 Token 无法再用于认证。

Request Headers
Authorization:Bearer eyJhbGci...
Response
{ "success": true, "message": "Token revoked" }

通用错误格式

所有接口失败时返回统一的 JSON 错误格式:

{
  "success": false,
  "error": "错误描述信息"
}
400请求参数错误
401认证失败/Token 无效
402Token 余额不足
404资源不存在
409邮箱已注册
429频率限制
500服务器内部错误
503服务维护中

300 信号矩阵参考

每次扫描结果中的 triggeredSignals 包含被触发的信号,对应以下 10 大信号组:

G1BTC 核心
#1~30
G2ETH 生态
#31~60
G3山寨/Meme
#61~90
G4DeFi/CEX
#91~120
G5宏观经济
#121~150
G6监管政策
#151~180
G7技术指标
#181~210
G8链上数据
#211~240
G9市场情绪
#241~270
G10黑天鹅
#271~300

每条信号包含影响力(impact)、置信度(confidence)、类别(D=方向/V=波动/R=风险) 三大维度,综合计算后输出 SD(方向) / SV(波动) / SR(风险) 三大核心可执行指数。