验证身份
接入现有身份提供方或受限 API Key。
AI App 的模型控制平面
保留熟悉的 OpenAI 兼容接口和现有身份体系;NeoRouter 在模型调用路径上统一处理 App 隔离、路由回退、成本结算、风险控制与实验发布。
无需迁移用户系统,也无需把供应商逻辑写进 App。
// 保留你的 SDK,切换到 NeoRouter 控制平面。
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.neorouter.app/v1",
apiKey: process.env.NEOROUTER_API_KEY
});
const response = await client.chat.completions.create({
model: "openai/gpt-5",
messages: [{ role: "user", content: "Hello" }]
}); CONTROL PLANE · GLOBAL 从当前的大语言模型,到未来的全模态能力,共用一套控制平面
请求治理链路
NeoRouter 不只是转发请求。它在同一条链路里验证调用者、执行策略、预留成本、选择线路、完成结算,并把异常变成可处理的运营事件。
api.neorouter.app稳定、可解释的结果接入现有身份提供方或受限 API Key。
绑定应用、主体、权限与可用能力。
调用前检查额度、并发与最坏成本。
按质量、延迟、价格与健康状态路由。
按实际 Token、缓存和输出完成账本。
关联请求、风险、处置、通知与恢复。
一个控制面
开发、平台、安全和运营团队看到的是同一条调用链,却可以在各自需要的层面进行控制。
供应商 SDK、协议、流式响应和错误格式各不相同。
使用统一接口、逻辑模型和 Preset,让应用代码保持稳定,并逐步覆盖更多模态。
OpenAI-compatible · SSE · Presets 共享密钥无法表达 App、用户、权限、环境与预算边界。
接入现有身份提供方,归一化应用与主体;自动化场景使用短期、限额、可吊销的 Key。
JWT/JWKS · Scopes · Bounded keys 上游限流、线路故障或模型下线会直接暴露给最终用户。
按安全错误类别重试,在路由和模型间回退,并用熔断阻止故障继续扩散。
Retry · Fallback · Circuit breaking 分散日志很难说明延迟、错误、成本和回退究竟发生在哪里。
把请求、每次尝试、精确用量、队列、结算和通知放进统一操作视图。
Requests · Attempts · Exact ledger 泄漏、滥用和异常用量会在团队发现之前快速放大成本。
从检测、Shadow 验证、责任人处理到临时限制、恢复和审计,形成完整闭环。
Detect · Control · Audit · Recover Prompt、模型和参数的微小变化也可能同时改变质量、成本和延迟。
对版本稳定分流,组合离线评估与在线业务指标,通过护栏后再晋级或回滚。
A/B/n · Evals · Guardrails · Rollback 风控与运维
把平台故障、主体异常和计费风险放在同一队列中,保留责任人、处置状态、相关请求和完整审计记录。
app · subject_8F2AOn-call待确认provider · routePlatform观察中api_key · budgetSecurity已处理app.supermuse · production在保护平台的同时保留低速可用路径。
执行中原子预留并按实际调用成本完成结算。
执行中只暂停高风险能力,不影响其他 App 功能。
待命所有控制都绑定 App 与匿名主体,设置有效期并写入审计记录。
持续观察延迟、状态和回退行为。
p95 · 684 ms批量事件在目标窗口内完成处理。
lag · 1.8 s预留额度与实际用量已经对账。
pending · 0Webhook 具有重试、过期与摘要机制。
retrying · 0身份与数据边界
NeoRouter 把身份提供方、App、主体、权限和预算归一化。底层存储可以演进,产品边界保持稳定。
验证现有 JWT/JWKS 或身份适配器,将外部身份转成统一的 App、主体和权限上下文。
Identity provider · App · Subject 为开发、自动化和受控测试签发有期限、Scope 与额度上限的 API Key,可随时吊销。
Expiry · Scopes · Credit cap 供应商凭证采用只写轮换槽位;控制台、日志和业务数据库都不回显明文。
Write-only · Rotation · Audit 默认最小化数据
Prompt 与回复正文经过代理,但默认不写入长期存储。需要内容评估时,必须由 App 明确开启独立的采样、保留和删除策略。
路由与可靠性
每个请求离开网关之前,NeoRouter 都会结合价格、质量、延迟、健康状态和 App 策略做出决定;失败只在安全边界内重试。
modality: text
region: auto当前区域实时延迟最低
当前任务评估得分最高
预计调用成本最低
最健康的独立回退线路
实验与评估
在线实验衡量真实业务结果,离线 Eval 检查输出质量;两者共享版本、成本、延迟、风险护栏与发布决策。
EXP-0142按匿名主体稳定分桶,在相同用户群中比较 Prompt 版本,并保持模型与其他参数可追溯。
prompt/support-v380%prompt/support-v420%错误、成本或延迟越界时自动暂停候选版本。
尚未达到自动晋级阈值;继续收集样本,避免过早得出结论。
在精选样本和历史案例上比较 Prompt、模型与参数,阻止明显回归进入生产。
Datasets · Regression · Pairwise把版本曝光与 App 回传的完成率、采纳率、评分或业务转化准确关联。
Stable buckets · Outcome API同时检查质量、成本、错误和延迟,通过门禁后渐进放量,并可立即回滚。
Guardrails · Promote · Rollback默认实验只记录版本、分桶和运营指标;内容采样与 LLM 评分需要 App 明确开启数据策略。
开发者体验
继续使用熟悉的 OpenAI SDK、URLSession 或标准 HTTP。生产 App 可以携带现有用户会话,后端和自动化也可以使用受限 API Key。
import OpenAI from "openai";
const neo = new OpenAI({
baseURL: "https://api.neorouter.app/v1",
apiKey: process.env.NEOROUTER_API_KEY
});
const result = await neo.chat.completions.create({
model: "@preset/default",
messages: [{ role: "user", content: "Design a quiet onboarding flow." }]
});import OpenAI
let config = OpenAI.Configuration(
token: ProcessInfo.processInfo.environment["NEOROUTER_API_KEY"]!,
host: "api.neorouter.app"
)
let neo = OpenAI(configuration: config)
let result = try await neo.chats(query: .init(
messages: [.user(.init(content: .string("Hello")))],
model: "openai/gpt-5"
))from openai import OpenAI
neo = OpenAI(
base_url="https://api.neorouter.app/v1",
api_key=os.environ["NEOROUTER_API_KEY"]
)
result = neo.chat.completions.create(
model="@preset/default",
messages=[{"role": "user", "content": "Summarize this document."}]
)curl https://api.neorouter.app/v1/chat/completions \
-H "Authorization: Bearer $NEOROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "@preset/default",
"messages": [{"role":"user","content":"Write a launch note."}]
}'透明成本
模型价格、缓存 Token、输出 Token、平台规则与实际结算保持可追溯,并按 App、主体或测试 Key 设置额度边界。
控制面展示的价格、版本和实际调用保持可追溯。