One API key for 6 AI models. Pay-per-use. MCP protocol support with web search.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
合规版积分预测社区(类 Manifold × Good Judgment Open × Kalshi 信息呈现)。 FastAPI + SQLite,积分只送不卖 / 不可流通 / 不可回兑 / 彻底去加密,合规优先。
见 deploy/:Dockerfile / docker-compose.yml / nginx.conf / .env.example /
realcast.service(systemd) / backup.sh(热备) / healthcheck.sh / 部署运维手册.md。
Railway 提供持久化卷,SQLite 可直接用,无需改 Postgres。配置文件已就绪:
railway.json + deploy/Dockerfile.railway(构建上下文为仓库根目录,与
deploy/Dockerfile 不同,别混用)。
控制台操作步骤:
New Project → Deploy from GitHub Repo,选本仓库
Settings → Volumes → Add Volume,挂载路径填 /data
(不挂卷 = 容器每次重建数据归零;库目录不存在时应用会拒绝启动并打印排查提示)
Variables 里设置:
| 变量 | 值 | 说明 |
|---|---|---|
ADMIN_TOKEN | 长随机串(≥32 位) | 运营后台/审核/结算必填 |
CORS_ORIGINS | 你的 Railway 域名 | 不要留 * |
DB_PATH | /data/platform.db | 镜像已默认,与卷挂载点对应 |
APP_TZ | 8(国内)/ 0(UTC) | 决定「今天是哪一天」的边界 |
UVICORN_WORKERS | 1 | 不可 >1,原因见下 |
SEED_ON_BOOT | 0 | 演示环境可设 1 自动播种(幂等) |
REDIS_URL | 可选 | 配了才能安全扩容到多 worker |
部署后访问 https://<你的域名>/api/health,确认 status=ok
为什么 UVICORN_WORKERS 必须是 1:未配 REDIS_URL 时实时广播走进程内
MemoryBackplane(app/core/backplane.py),一个 worker 就是一个独立广播域。
worker > 1 时,A 进程的市场状态变更推不到连在 B 进程上的客户端,不同用户看到的
概率会不一致。要扩容必须先配 REDIS_URL 切到 RedisBackplane,并建议同时迁 Postgres。
为什么 overlapSeconds = 0:Railway 默认在新旧容器间做短暂重叠实现零停机,
但重叠窗口内两个进程会同时写同一个 SQLite 文件,轻则锁竞争、重则损坏数据。
设为 0 = 先停旧再起新,代价是每次部署几秒中断。
提示:本机若设了
HTTP_PROXY,测试脚本访问127.0.0.1会被代理拦截(表现为 502), 运行时请加env -u HTTP_PROXY -u HTTPS_PROXY -u http_proxy -u https_proxy清除。
script-src(v0.7.1 起)与 style-src(v0.7.5 起)均已去掉 'unsafe-inline',
改为每请求生成的一次性 nonce。nonce 只能由后端在渲染 HTML 时注入,因此:
_render_index),不能由 nginx 等静态托管;deploy/nginx.conf 文件头说明)。sigma。
排行榜分两类:积分榜(sort=points,默认,反映活跃度)与技能榜(sort=skill)。
技能榜不按单点分排序,而按 Glicko-2 的保守下界 skill_rating - 1.96 × skill_rd:
skill_rd(评分偏差)直接量化「我们对这个人有多不确定」。下注越多 RD 越小;
长期不下注 RD 会回升(见 rating.rd_decay)。correct/resolved 在样本极小时噪声极大——新用户下 2 注
全中就是 100% 直冲榜首,样本一多又暴跌。用区间下沿后,低样本用户自然排后面,
真实水平随样本积累才浮上来。命中率另给 Wilson 置信下界(accuracy_conservative)。s_ij = score_j / (score_i + score_j),满足 s_ij + s_ji = 1:一场比较零和,
不会凭空造分,且比「谁押中谁赢 1 分」保留了幅度与校准信息。provisional: true,
?ranked_only=1 可只看正式榜位。为什么不用 Brier 直接评 prob_at_bet:prob_at_bet 是下注时的市场价格(群体
共识),不是用户自报的信念。拿 Brier 评它,评的是「群体共识准不准」,会出现
「押中 50% 热门(0.25) 输给 未中 40% 冷门(0.16)」的反向结论。改用「跑赢共识」的
标准化技能分 (y - p) / sqrt(p(1-p)) 后方向才正:逆势押中 +2.0 > 从众押中 +0.5 >
0 > 冷门未中 −0.5 > 热门翻车 −2.0。
EXTERNAL_REF_ENDPOINT 配置后,可拉取外部公开市场的概率作为参考水位,用于
冷启动播种、「群体预测 vs 外部共识」偏差分析、以及校验自有 Oracle 的合理性。
合规隔离(硬约束,改动前必读):
markets.external_ref_prob / external_ref_json,绝不参与结算——
结算只读 oracle_log 与自有权威源。smoke 测试有代码级断言守护这条边界
(结算/Oracle 路径出现 external_ref 即失败)。enabled=false,绝不伪造参考值。Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/atex-ai-gateway)<a href="https://allmcps.com/mcp/atex-ai-gateway"><img src="https://allmcps.com/api/badge/atex-ai-gateway?style=directory" alt="ATEX AI Gateway on AllMCPs" /></a>