跳到正文
Hacker News· ayanb9440·· 9 小时前AI 评分58

Finic 开源风控与反欺诈决策平台 Kairos

Show HN: Kairos – Open-source risk and fraud decisioning platform

AI 导读

Finic 开源风控与反欺诈决策平台 Kairos,对注册、登录、订单、支付和提现实时返回 approve、step up、review 或 block 决策,并保留决策依据的信号。

正文 · AI 翻译

Kairos 会在每次注册、登录、下单、支付和打款发生时做出决策,并保留每个决策及其背后的信号。它是 Sardine、Sift、Riskified 和 SEON 的开源替代方案,具备它们没有的两点:你的编码代理会调优它,以及决策模型能在你拥有可用于训练的标签之前捕获欺诈。

决策

  • 实时决策:一次调用返回批准、升级验证、人工审核或拦截,并附带风险评分和原因,依据来自主体的历史记录、其与他人共用的设备、卡和地址,以及会话信息。
  • 工作流:询问决策模型、用模型打分、分支、调用 webhook、开立案件,并在之后再次决策。
  • 队列和案件:供人工审核的工作,其处理结果会成为标签。

代理优先

  • MCP 服务器:Claude Code、Cursor 或 Codex 读取你的决策并构建工作流,每个操作都记录在其密钥下。
  • 实验:你的代理提出模型变体,Kairos 在你的数据上训练和测试它们,代理发布胜出者。

决策模型与传统机器学习

  • Grayson:Finic 的决策模型用自然语言回答关于每个请求的问题。它只需少量标签,并能读取非结构化数据。
  • 模型:逻辑回归和梯度提升树(兼容 XGBoost),基于你的数值和 Grayson 的回答,可在 Kairos 中训练或上传。

面向开发者

  • SDK:TypeScript(@finic-ai/kairos)和 Python(finic-kairos)、CLI、HTTP API,以及用 Docker 自托管。

一位始终在你的数据上调优的 AI 欺诈 ML 工程师

你把产品中发生的事件发送给 Kairos:注册、登录、订单、打款、拒付。它为每个请求做出决策(批准、升级验证、人工审核或拦截),并保留每个决策及其背后的信号。

Kairos 的不同之处在于由谁来调优它。通过 MCP 连接 Claude Code、Cursor、Codex 或任何代理,代理就能完成欺诈 ML 工程师的工作:

  1. 构建工作流。它定义要决策什么、向决策模型询问哪些问题,以及要对哪些字段打分。
  2. 设计实验。它提出变体:仅用决策模型、基于你的数值的逻辑回归、梯度提升树、它们的堆叠,或将决策模型的回答与你的数值结合在一个模型中。
  3. 让 Kairos 运行它们。服务器在最旧的已标注数据上训练每个变体,在次新的数据上选择,在最新的数据上测试,然后报告 ROC-AUC、PR-AUC、相对基线的提升及其 95% 区间,以及在你设定阈值下的精确率和召回率。
  4. 选出胜出者并发布。代理解释其选择,将该变体应用为工作流的下一个版本,并在新标签到达时再次回来。
You:     "Our chargebacks went up. Find a better model for shopify_order and publish it if it wins."
Agent:   designs six variants → create_workflow_experiment → reads the results →
         "Logistic regression on the order's numbers plus Grayson's answers wins: ROC-AUC 0.949 on validation,
          0.930 on test. Publishing it as v6."

决策模型与传统机器学习,相辅相成

Kairos 围绕 Finic 的决策模型 Grayson 构建。你用自然语言向它提问(“收货地址看起来像转运商吗?”“这个邮箱是临时邮箱吗?”),它用校准后的概率回答。决策模型在传统 ML 薄弱的方面很强:

  • 标签稀少。Grayson 在第一天就能工作,无需等到你拥有模型学习所需的数千条拒付记录。
  • 非结构化数据。它能读取描述、电子邮件、姓名、地址、备注和商品标题,而梯度提升树无法做到。
  • 解释。每个答案都是你写下的问题,因此每个决策都会说明原因。

传统模型在决策模型薄弱之处表现强劲:它们从你自己的数据中精确学习你自己的结果,而且每次决策零成本。Kairos 让你将两者结合:Grayson 的答案会成为特征,与你的字段一起进入 逻辑回归 或 梯度提升树(兼容 XGBoost,在 Kairos 内部训练),实验会告诉你哪种组合在你的数据上胜出。

A decision in Kairos: the risk score, the outcome, and the signals Grayson found, each with its probability

开始使用

Kairos Cloud

在 kairos.finic.ai 注册。创建一个沙盒环境、一个密钥,就可以发送事件了。

连接你的智能体

在控制台中,打开 Settings › MCP,开启你的智能体所需的工具组,并创建一个密钥。然后,在 Claude Code 中:

claude mcp add --transport http kairos https://kairos.finic.ai/mcp --header "Authorization: Bearer ksk_…"

Cursor、Codex 和 VS Code 的用法相同:参见 MCP for agents。然后让你的智能体查看你的决策、构建工作流或运行实验。

发送事件并做出决策

npm install @finic-ai/kairos      # or: pip install finic-kairos
import { Kairos } from "@finic-ai/kairos";

const kairos = new Kairos({ apiKey: process.env.KAIROS_API_KEY!, baseUrl: "https://kairos.finic.ai" });

await kairos.defineAction("withdrawal", {
  subject: "user",
  hold: "Should this withdrawal be held because the account shows signs of fraud or takeover?",
});

kairos.track("login", { userId: "user_42", deviceId: "dev_9", ipCountry: "GB" });

const decision = await kairos.decide({ type: "withdrawal", userId: "user_42", usd: 900 });
// { decision: "approve" | "step_up" | "review" | "block", riskScore, reasons, … }

自托管

你需要 Node.js 22、pnpm 10 以及来自 portal.finic.ai 的 Grayson API 密钥。无需设置数据库:服务器会自行启动 Postgres。

pnpm install
cp .env.example .env     # set GRAYSON_API_KEY
pnpm kairos dev          # the API on http://localhost:8787 and the console on http://localhost:5273

为你的团队,docker compose up --build。参见 Self-hosting 和 Local setup。

CLI

pnpm kairos signup                                                     # the local server, a new account
pnpm kairos login --profile prod --url https://kairos.finic.ai --email you@example.com
pnpm kairos keys create "My server"                                    # a secret key for your code
pnpm kairos actions define withdrawal --data @withdrawal.json
pnpm kairos import events transactions.csv --type transaction --ts created_at --entity user=customer
pnpm kairos decide withdrawal -e user=user_42 -p usd=900
pnpm kairos workflows run review_payout -i user=user_42 --wait
pnpm kairos --help                                                     # every command

要将 kairos 加入你的路径,请在 apps/cli 中运行 pnpm link --global。

集成

  • Shopify:对每个订单做出决策,将有风险的订单暂留待审,并从拒付中学习。要为你的商店获取 Kairos 应用,请通过 Discord 或 support@finic.ai 联系 Finic 团队。
  • 入站 webhook:接收来自 Stripe 等提供商的事件。参见 Inbound webhooks。

文档

文档位于 kairos.finic.ai/docs,以及 docs/ 中。

概览 Kairos 做什么、决策如何做出,以及它不做什么
快速开始 几分钟内完成第一个决策
MCP for agents 连接 Claude Code、Cursor、Codex 或 VS Code
模型与实验 评分模型,以及比较它们的实验
工作流 触发器、步骤、表达式和运行
概念 实体、事件、标签、链接、动作、策略、决策
导入你的历史 从文件加载现有事件、客户和结果
TypeScript SDK · Python SDK 两个客户端
API 参考 每个 HTTP 端点
队列与案例 供人审核的工作
自托管 Docker、Postgres、迁移、配置、安全
参与 Kairos 开发 仓库、服务器、测试和评估套件

仓库

路径 内容
apps/server HTTP API 和 MCP 服务器。基于 Node.js 的 Hono,通过 Drizzle 使用 Postgres。
apps/console Web 控制台。React 和 Vite。
apps/cli kairos,CLI:启动 Kairos、连接服务器并调用其 API。
packages/core 决策路径、模型评分器和树训练器。
packages/sdk @finic-ai/kairos,TypeScript 客户端。
packages/sdk-python finic-kairos,Python 客户端。
packages/eval 评估套件和实验。
templates/ 可复制的动作定义和事件结构。
examples/ 可运行的端到端场景。
docs/ 文档。
pnpm test         # all tests; no network
pnpm test:python  # the tests of the Python SDK
pnpm typecheck

社区

许可证

Kairos 采用 Apache License 2.0 许可。

来源:Hacker News · github.com