SOS A股 Agent Gateway

免注册、免密钥的 A股当日盘面网关(真实数据,带出处与抓取时间)。公网 HTTP:GET /v1/market、POST /v1/verify、POST /v1/publish(只入队不执行);本机 stdio MCP 工具 5 个。上游不可用返回 502,不回退旧值。当前外部调用 0 次。

Documentation

SOS A股 Agent Gateway — 完整机器说明(llms-full.txt)

面向 Agent / 自动化脚本。读这一份即可完成接入。最后更新:2026-11-06。

Base URL: https://sos-a-share-gateway.pages.dev 传输: HTTPS + JSON (UTF-8) 鉴权: 无。免注册、免密钥。 CORS: 允许任意来源(Access-Control-Allow-Origin: *) 缓存: 所有接口 Cache-Control: no-store,请勿依赖 CDN 缓存 费用: 查/验免费;发只登记任务,人工确认报价,线下转账,无自动扣款 数据来源: https://lianban.pages.dev/api/stocks/review|tianti|qingxu(公开只读接口,本网关不写入该站点)

0. 错误约定

所有失败都返回统一结构,HTTP 状态码同时表达语义:

{
  "ok": false,
  "error": {
    "code": "invalid_request",
    "message": "platform 必须是 weibo | zhihu | toutiao | taoguba | xueqiu 之一",
    "details": { }
  }
}
codeHTTP含义调用方应怎么做
invalid_request400参数缺失/类型错误/超长修正参数后重试,不要原样重试
method_not_allowed405方法用错(如 GET /v1/publish)换正确方法
queue_full429发布任务队列已满(上限 300)等运营方清理,不要循环重试
internal_error500网关内部异常可重试一次;持续失败请记录 message
upstream_unavailable502盘面数据源不可用稍后重试;不要把上次结果当今日数据
storage_unavailable503服务端 KV 未绑定,无法持久化/计数稍后重试

约定:数据源失败时返回 502,不会返回空数据、旧数据、缓存兜底值或编造值。

1. GET /v1/market — 今日真实盘面

无参数。每次请求实时拉取上游三个接口(review / tianti / qingxu)。

顶层字段

字段类型说明
okboolean成功恒为 true
data_datestring数据交易日,格式 YYYYMMDD(如 20261106)
data_date_isostring/null同一日期的 YYYY-MM-DD
prev_data_datestring/null上一交易日 YYYYMMDD
data_staleboolean必看:true 表示这不是今日数据
stale_reasonstring/nulldata_stale=true 时的原因
sessionstringpre_open / morning_session / lunch_break / afternoon_session / closed(北京时间)
is_intradayboolean是否处于连续竞价时段(盘中数据还会变)
as_of_shanghaistring网关生成响应时的北京时间
fetched_atstringISO 时间戳
breadthobject涨跌广度,见下
ratesobject封板率/炸板率/晋级率
sentimentobject情绪温度与阶段
indicesarray指数涨跌与成交额
themesarray主线题材(最多 12 条)
ladderarray连板梯队(按板高降序分组)
ladder_detailobject/null天梯原始汇总:total_rows / promote_11d / relay
warningsstring[]数据时效与降级提示
sourcesarray每个上游的 url / http_status / latency_ms / fetched_at / ok
license_noticestring固定声明:仅供研究参考,不构成投资建议

breadth

limit_up, limit_up_prev, limit_down, limit_down_prev,
lianban, lianban_prev, max_board, max_board_prev,
advance, decline, red_pct, turnover_yi
  • turnover_yi 单位:亿元。
  • lianban = 连板(≥2 板)家数;max_board = 最高板高度。

rates

seal_rate_pct            封板率 %
broken_count             炸板家数
broken_rate_pct          炸板率 %
promotion_rate_pct       晋级率 % = promotion_hits / promotion_sample
promotion_hits           今日连板家数(relay.promoted)
promotion_sample         上一交易日涨停家数(relay.total)
promotion_rate_formula   公式原文
first_board_promotion_rate_pct  首板晋级率 %
first_board_promotion_formula   公式原文

晋级率由上游 relay 字段计算,公式随响应返回,可自行复核。

sentiment

temperature    情绪温度(整数)
phase          情绪阶段代码(如 ebb)
phase_label    阶段中文名(如 退潮期)
consec         情绪阶段连续天数(上游 qingxu 提供)
recent         最近 8 条情绪轨迹(上游 qingxu 提供)

themes[](主线题材)

name            题材名
limit_up_count  该题材当日涨停家数
leader          龙头股名称(可能为 null)
driver          驱动原因(可能为 null)

ladder[](连板梯队)

board     板高
count     该板高家数
stocks[]  { code, name, board, tag, first_seal_time, open_times, limit_up_days, window_days, window_count }

响应头

X-Data-Date:数据交易日;X-Data-Stale:true/false。

调用示例

curl -s https://sos-a-share-gateway.pages.dev/v1/market \
  -H "X-Agent-Source: my-agent"

2. POST /v1/verify — 一句话事实核验

给一句话,逐条判定其中的数字、个股、题材是否与当日真实盘面一致,并返回原始依据。

请求体:

{ "text": "今日涨停32家,最高5板。闽发铝业5板。" }

也支持 GET /v1/verify?text=...(URL 编码)。text 上限 2000 字,必填。

响应字段

字段说明
verdictsupported / partially_supported / contradicted / unverifiable
summaryclaims_total / matched / mismatched / info_only / unknown / unverified_numbers
claims[]逐条判定结果,见下
unverified_numbers[]文中出现但当日没有可对照指标的数字(原样列出,不猜)
coverage核验覆盖范围:数据日期、是否 stale、已对照指标、涨停池只数、题材数
data_date / data_stale / session / as_of_shanghai / sources / warnings与 /v1/market 同源同时效

claims[] 每条:

{
  "type": "number | stock | stock_code | theme",
  "metric": "limit_up",
  "label": "涨停家数",
  "claim": "涨停32家",
  "stated": 32,
  "actual": 32,
  "status": "match | mismatch | unknown | info",
  "evidence": { "field": "limit_up", "value": 32, "data_date": "20261106", "source": "https://..." }
}

判定规则:

  • match:与当日真实数据一致(百分比指标带容差:封板率/炸板率 ±0.6,晋级率 ±0.8,成交额相对误差 1%)。
  • mismatch:与当日真实数据矛盾。
  • unknown:该指标当日无法对照(例如出现 6 位代码但不在当日涨停池——不在涨停池 ≠ 今天没涨,会原样说明)。
  • info:个股/题材命中当日涨停池但句中未声称板高或家数,仅返回客观依据(板高、首封时间、开板次数、题材涨停家数)。

verdict 规则:任一条 mismatch → contradicted;全部 match 且无未核验数字 → supported;有 match 或 info → partially_supported;否则 unverifiable。

调用示例

curl -s -X POST https://sos-a-share-gateway.pages.dev/v1/verify \
  -H "Content-Type: application/json" \
  -H "X-Agent-Source: my-agent" \
  -d '{"text":"今日涨停32家,情绪温度57,最高5板"}'

3. POST /v1/publish — 登记发布任务(不执行)

请求体:

{
  "platform": "weibo | zhihu | toutiao | taoguba | xueqiu",
  "title": "可选,≤120 字",
  "content": "必填,10–4000 字",
  "requester": "可选,≤80 字"
}

成功返回 201:

{
  "ok": true,
  "task": {
    "id": "req-...",
    "type": "publish_request",
    "platform": "weibo",
    "content": "...",
    "content_length": 42,
    "requester": "my-agent",
    "reward": { "currency": "CNY", "amount": null, "mode": "quote_required" },
    "settlement": { "mode": "manual", "auto_payout": false },
    "status": "pending_human_review",
    "execution": { "mode": "local_browser_required", "executes": false }
  },
  "next_step": "运营方人工确认报价与内容后,在本机登录态浏览器执行;不自动发布、不自动扣款。"
}

限制与如实说明:

  • 公网只登记,不执行;发布依赖运营方本机已登录的浏览器,本机关机就无法执行。
  • 队列上限 300 条,满则 429 queue_full。
  • 无自动结算、无虚拟余额、无自动扣款;reward.amount 在运营方确认前恒为 null。
  • GET /v1/publish 返回 405。

4. GET /v1/stats — 真实调用计数

{
  "ok": true,
  "updated_at": "2026-11-06T...Z",
  "totals": { "calls": 0, "external_calls": 0, "internal_calls": 0 },
  "first_external_call_at": null,
  "last_external_call_at": null,
  "has_external_calls": false,
  "by_endpoint": [ { "endpoint": "v1_market", "calls": 0 } ],
  "by_source": [ { "source": "unknown", "calls": 0, "first_call_at": null, "last_call_at": null } ],
  "counting_note": "...",
  "endpoints_note": "..."
}
  • 内部自测:请求头 X-Gateway-Self-Test: 1 或 ?self_test=1,计入 internal_calls。
  • 外部来源:其余全部,计入 external_calls;来源名取 X-Agent-Source 或 ?source=,缺省为 unknown。
  • 唯一有效的验证指标是 external_calls > 0 与 first_external_call_at 非空。
  • 诚实说明:来源标记为自声明,理论上可被伪造;计数写入 D1(单条 upsert),比 KV 读改写可靠,但不宣称是计费级精确统计。
  • 只统计网关真实 HTTP 调用,不含本机 MCP(stdio)调用。

5. 其它入口

路径说明
GET /manifest.json能力清单:能力、验证状态、定价、结算、限制
GET /tasks任务列表(内置能力任务 + 已登记发布请求)
GET /tasks/:id单个任务详情
POST /tasks与 /v1/publish 等价的提交入口
GET /llms.txt精简版机器说明(本文件的摘要)
GET /openapi.jsonOpenAPI 3.1 定义
GET /agent-card.json能力卡片(a2a_compatible: false,非标准 A2A 服务器)

6. 数据时效与诚实边界

  1. 上游只提供最近一个交易日。非交易日、盘前、上游未更新时 data_stale=true,warnings 会写明原因。
  2. 交易时段内取到的是盘中快照,收盘前会变;is_intraday=true。
  3. 数据源不可用 → 502 upstream_unavailable;不返回空壳、不返回旧值。
  4. 本网关不写 lianban.pages.dev,只读调用;数据版权与免责归上游,仅供研究参考,不构成投资建议。
  5. 没有任何用户量、下载量、调用量被夸大:所有计数只在 /v1/stats 真实读出,为 0 就显示 0。