Show HN:我们打造了一个开源版 OpenRouter,用使用数据优化模型
Experiential 是一个面向智能体工作流的开源网关和路由器:
- 通过一个兼容 OpenAI 的 API,统一使用托管模型、BYOK 模型和本地模型。
- 控制不同用户和智能体可以使用哪些模型、适用于哪些场景,以及可支出的额度。
- 将生产流量转化为自定义路由器或模型,在质量、速度和成本之间实现优化。
快速开始
先启动一个本地的 OpenAI 兼容网关。首次运行时,安装向导会使用统一的提供商、模型和推理强度选择器,保存所有选定的提供商连接,然后显示公共别名、身份和 $50.00 命令预算的默认值,最后输出一个仅显示一次的密钥:
pip install experiential exp
选择一个公共别名,例如 opus-5,保存生成的密钥,然后发送请求:
export EXP_GATEWAY_KEY=...
curl http://127.0.0.1:8000/v1/chat/completions \
-H "Authorization: Bearer $EXP_GATEWAY_KEY" \
-H 'Content-Type: application/json' \
-d '{"model":"opus-5","messages":[{"role":"user","content":"Help me"}]}'
设置并开始使用托管网关
如果你更倾向于使用托管网关,而不是在本地运行一个,托管平台
platform.experientiallabs.ai 提供相同的
OpenAI 兼容 API(以及 Anthropic Messages API),地址为 https://api.experientiallabs.ai/v1。
请参阅 SETUP.md,其中提供了可直接复制粘贴给编码智能体的提示词
(Claude Code、Cursor、Codex 等均可);智能体会替你完成设置。它会收集四条提示词:
- 将 LLM traces 作为 telemetry 上传:使用邮箱即可立即创建账户,然后将已有的 LLM traces 导入或上传到平台,作为 telemetry 使用。
- 连接推理服务商密钥(BYOK):创建账户后,免费连接你自己的 OpenAI、Anthropic、Gemini、Azure、Bedrock、Fireworks 或 OpenRouter 密钥,平台仅负责透传请求。
- 通过网关调用模型:使用带有
xpl_密钥的 OpenAI 和 Anthropic SDK,完成首次/v1调用;也可以选择将现有的 coding agent 指向该网关。 - 完整接入流程:使用邮箱立即创建账户,连接密钥并导入支出记录,然后将所有 coding agent(Claude Code、Cursor、Codex、Aider 等)或 Conductor 指向该网关。
使用 API
使用 exp(或 exp run)启动本地网关;编译后的原生数据平面会通过 loopback 提供所有路由。在 Python 中,可以将训练完成的项目路由器加载为官方 OpenAI 客户端,并由它自己的私有网关提供支持:
import exp
with exp.load_router("my-project") as client:
response = client.chat.completions.create(
model="my-project",
messages=[{"role": "user", "content": "hello"}],
)
根据流量优化
首先,从当前 agent 收集 OpenTelemetry traces。想快速试用的话,可以下载公开的 terminal-tasks OTLP 数据集:
curl -L -o traces.otel.jsonl \ https://huggingface.co/datasets/experiential-labs/wmo-terminal-tasks-traces/resolve/540883e451dc13d34fb50fdd36b143cb0f1fb0db/traces.otel.jsonl
然后创建项目。构建命令会引导你配置服务商、模型和预算,并要求提供 trace 文件:
# 根据 agent traces 构建模拟环境,并针对它优化路由器 exp build support-agent
从路由器收集 traces 后,可以使用你拥有的开源模型,通过 Tinker 进行微调。
exp optimize model support-agent
Telemetry
匿名的 PostHog 聚合产品 telemetry 默认启用。它绝不会包含 prompts、traces、actions、observations、路径、模型名称、凭据或客户原始内容。
exp config telemetry status exp config telemetry disable exp config telemetry enable
该偏好设置保存在本地的 .exp/settings.toml 中。
开发
uv sync --extra dev uv run ruff format --check . uv run ruff check . uv run ty check uv run pytest -q
仓库和文档规范请参阅 AGENTS.md。

Discord