Skip to content

Latest commit

 

History

History
140 lines (100 loc) · 4.36 KB

File metadata and controls

140 lines (100 loc) · 4.36 KB

Nyro Server

Nyro Server 是 Nyro AI Gateway 的独立服务端二进制,提供完整的 Admin API、WebUI 和数据持久化。

快速开始

nyro-server

默认使用 SQLite,数据目录 ~/.nyro,代理端口 19530,管理端口 19531。WebUI 已内嵌在二进制中,无需额外部署,启动后访问 http://localhost:19531 即可。

如需无数据库的纯 YAML 配置模式,参见 Standalone 模式


命令行参数

Server

参数 环境变量 默认值 说明
--proxy-host NYRO_PROXY_HOST 127.0.0.1 代理监听地址
--proxy-port NYRO_PROXY_PORT 19530 代理监听端口
--admin-host NYRO_ADMIN_HOST 127.0.0.1 Admin API 监听地址
--admin-port NYRO_ADMIN_PORT 19531 Admin API 监听端口
--admin-token NYRO_ADMIN_TOKEN Admin API Bearer Token 鉴权
--log-level NYRO_LOG_LEVEL info 日志级别:error / warn / info / debug / trace

Storage

参数 环境变量 默认值 说明
--data-dir NYRO_DATA_DIR ~/.nyro 数据存储目录(SQLite 数据库存放位置)
--storage-backend NYRO_STORAGE_BACKEND sqlite 存储后端:sqlite / postgres / mysql
--migrate-on-start NYRO_MIGRATE_ON_START true 启动时对所有后端自动运行 schema 迁移;设为 false 可跳过 DDL,搭配 --migrate-only 独立执行迁移(适合 K8S 分权部署)
--migrate-only false 执行数据库迁移后退出,不启动服务(适合 K8S Job / initContainer)
--postgres-dsn NYRO_POSTGRES_DSN PostgreSQL 连接字符串(--storage-backend=postgres 时必填)
--postgres-max-connections 10 PostgreSQL 连接池最大连接数
--postgres-min-connections 1 PostgreSQL 连接池最小连接数
--postgres-idle-timeout PostgreSQL 空闲连接超时(秒)
--mysql-dsn NYRO_MYSQL_DSN MySQL 连接字符串(--storage-backend=mysql 时必填)
--mysql-max-connections 10 MySQL 连接池最大连接数
--mysql-min-connections 1 MySQL 连接池最小连接数
--mysql-idle-timeout MySQL 空闲连接超时(秒)

Advanced (CORS)

参数 说明
--admin-cors-origin Admin API 允许的 CORS 源(可重复,* 表示任意)
--proxy-cors-origin 代理 API 允许的 CORS 源(可重复,* 表示任意)

存储后端

SQLite(默认)

无需额外配置,数据库文件存储在 --data-dir 下的 gateway.db

nyro-server --data-dir ~/.nyro

PostgreSQL

nyro-server \
  --storage-backend postgres \
  --postgres-dsn "postgres://user:pass@localhost:5432/nyro"

或通过环境变量:

export NYRO_STORAGE_BACKEND=postgres
export NYRO_POSTGRES_DSN="postgres://user:pass@localhost:5432/nyro"
nyro-server

MySQL

nyro-server \
  --storage-backend mysql \
  --mysql-dsn "mysql://user:pass@localhost:3306/nyro"

或通过环境变量:

export NYRO_STORAGE_BACKEND=mysql
export NYRO_MYSQL_DSN="mysql://user:pass@localhost:3306/nyro"
nyro-server

Admin API 鉴权

--admin-host 不是回环地址(127.0.0.1 / localhost / ::1)时,必须设置 --admin-token

nyro-server \
  --admin-host 0.0.0.0 \
  --admin-token "your-secret-token"

客户端请求 Admin API 时需携带 Authorization: Bearer your-secret-token


WebUI

WebUI 已内嵌在 nyro-server 二进制中,Admin 端口自动提供服务,无需额外部署。启动后访问:

http://localhost:19531

客户端调用

启动后,所有协议客户端均可通过代理端口访问已配置的路由:

# OpenAI 协议
curl http://localhost:19530/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "hello"}]}'

# Anthropic 协议
curl http://localhost:19530/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: any" \
  -H "anthropic-version: 2023-06-01" \
  -d '{"model": "gpt-4o", "max_tokens": 1024, "messages": [{"role": "user", "content": "hello"}]}'