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": { }
}
}
| code | HTTP | 含义 | 调用方应怎么做 |
|---|---|---|---|
invalid_request | 400 | 参数缺失/类型错误/超长 | 修正参数后重试,不要原样重试 |
method_not_allowed | 405 | 方法用错(如 GET /v1/publish) | 换正确方法 |
queue_full | 429 | 发布任务队列已满(上限 300) | 等运营方清理,不要循环重试 |
internal_error | 500 | 网关内部异常 | 可重试一次;持续失败请记录 message |
upstream_unavailable | 502 | 盘面数据源不可用 | 稍后重试;不要把上次结果当今日数据 |
storage_unavailable | 503 | 服务端 KV 未绑定,无法持久化/计数 | 稍后重试 |
约定:数据源失败时返回 502,不会返回空数据、旧数据、缓存兜底值或编造值。
1. GET /v1/market — 今日真实盘面
无参数。每次请求实时拉取上游三个接口(review / tianti / qingxu)。
顶层字段
| 字段 | 类型 | 说明 |
|---|---|---|
ok | boolean | 成功恒为 true |
data_date | string | 数据交易日,格式 YYYYMMDD(如 20261106) |
data_date_iso | string/null | 同一日期的 YYYY-MM-DD |
prev_data_date | string/null | 上一交易日 YYYYMMDD |
data_stale | boolean | 必看:true 表示这不是今日数据 |
stale_reason | string/null | data_stale=true 时的原因 |
session | string | pre_open / morning_session / lunch_break / afternoon_session / closed(北京时间) |
is_intraday | boolean | 是否处于连续竞价时段(盘中数据还会变) |
as_of_shanghai | string | 网关生成响应时的北京时间 |
fetched_at | string | ISO 时间戳 |
breadth | object | 涨跌广度,见下 |
rates | object | 封板率/炸板率/晋级率 |
sentiment | object | 情绪温度与阶段 |
indices | array | 指数涨跌与成交额 |
themes | array | 主线题材(最多 12 条) |
ladder | array | 连板梯队(按板高降序分组) |
ladder_detail | object/null | 天梯原始汇总:total_rows / promote_11d / relay |
warnings | string[] | 数据时效与降级提示 |
sources | array | 每个上游的 url / http_status / latency_ms / fetched_at / ok |
license_notice | string | 固定声明:仅供研究参考,不构成投资建议 |
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 字,必填。
响应字段
| 字段 | 说明 |
|---|---|
verdict | supported / partially_supported / contradicted / unverifiable |
summary | claims_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.json | OpenAPI 3.1 定义 |
GET /agent-card.json | 能力卡片(a2a_compatible: false,非标准 A2A 服务器) |
6. 数据时效与诚实边界
- 上游只提供最近一个交易日。非交易日、盘前、上游未更新时
data_stale=true,warnings会写明原因。 - 交易时段内取到的是盘中快照,收盘前会变;
is_intraday=true。 - 数据源不可用 → 502
upstream_unavailable;不返回空壳、不返回旧值。 - 本网关不写
lianban.pages.dev,只读调用;数据版权与免责归上游,仅供研究参考,不构成投资建议。 - 没有任何用户量、下载量、调用量被夸大:所有计数只在
/v1/stats真实读出,为 0 就显示 0。