New API 本地安装 (Windows)
目标
在 Windows 本机安装 new-api(One-API 的知名 fork,AI 模型统一网关,支持把各类 LLM 转成 OpenAI / Claude / Gemini 兼容接口),通过桌面快捷方式一键启动。
前提
- Windows 10/11,已登录 GitHub CLI(
gh auth status可用,走 keyring 认证) - 大陆网络访问 GitHub 受限时,走本地代理:
127.0.0.1:7890(不行换 7897)
步骤
查最新版与 Windows 资产
gh search repos newapi --limit 10 # 确认主仓库 QuantumNous/new-api gh release view --repo QuantumNous/new-api --json tagName,assets # 找 .exe 资产(如 new-api-v1.0.0-rc.25.exe,约 120MB)安装目录:
%LOCALAPPDATA%\new-api(即C:\Users\<user>\AppData\Local\new-api),直接放单文件 exe,不需要 clone git 仓库。mkdir -p "$LOCALAPPDATA/new-api" cd "$LOCALAPPDATA/new-api" gh release download --repo QuantumNous/new-api -p 'new-api-v1.0.0-rc.25.exe' -p 'checksums-windows.txt' --clobber坑:
gh release download一次只接受一个 pattern,多文件要用多个-p。校验并重命名
cat checksums-windows.txt && sha256sum new-api-v1.0.0-rc.25.exe # 两者一致 mv new-api-v1.0.0-rc.25.exe new-api.exe && rm checksums-windows.txt下载快捷方式图标(仓库自带 favicon.ico;raw.githubusercontent 直连被墙需走代理)
curl -sL -x http://127.0.0.1:7890 -o "$LOCALAPPDATA/new-api/new-api.ico" \ https://raw.githubusercontent.com/QuantumNous/new-api/main/web/public/favicon.ico创建桌面快捷方式(PowerShell,WScript.Shell 写 .lnk)
$WshShell = New-Object -ComObject WScript.Shell $Shortcut = $WshShell.CreateShortcut("$env:USERPROFILE\Desktop\NewAPI.lnk") $Shortcut.TargetPath = "$env:LOCALAPPDATA\new-api\new-api.exe" $Shortcut.WorkingDirectory = "$env:LOCALAPPDATA\new-api" $Shortcut.IconLocation = "$env:LOCALAPPDATA\new-api\new-api.ico,0" $Shortcut.Description = "New API - AI 模型统一网关" $Shortcut.Save()启动验证
cd "$LOCALAPPDATA/new-api" && ./new-api.exe # 日志出现 http://localhost:3000/ 即就绪 curl -s -o /dev/null -w "HTTP %{http_code}\n" http://localhost:3000/ # 期望 200
自定义端口 + 常驻(开机自启)
new-api 读
PORT环境变量改端口。用启动脚本固定端口:%LOCALAPPDATA%\new-api\start-new-api.cmd:@echo off set PORT=8318 cd /d "%~dp0" start "NewAPI" /min "%~dp0new-api.exe"- 桌面快捷方式与开机自启快捷方式都指向该 cmd(而非 exe 本体),图标仍用 new-api.ico。
- 开机自启位置:
shell:startup(C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\NewAPI.lnk),登录即常驻。 - 验证:
netstat -ano | grep 8318应见 LISTENING,curl http://localhost:8318/api/status返回 JSON。 - 改端口只需编辑 cmd 里的
set PORT=后重跑;换端口后旧端口即释放。
验证方法
- 服务日志出现
New API v... ready且监听对应端口 curl http://localhost:8318/api/status返回 JSON(含 announcements、chats 等)- 桌面双击 NewAPI.lnk 可启动服务;登录系统后自动常驻
常见失败点
| 现象 | 原因 | 处理 |
|---|---|---|
gh release download 报 "accepts at most 1 arg(s)" | 一次传了多个文件参数 | 用多个 -p 'pattern' |
| curl 拉 raw.githubusercontent 超时/空文件 | 大陆直连被墙 | -x http://127.0.0.1:7890(7897 兜底) |
| 端口占用 | 3000 被别的服务占用 | 设 PORT 环境变量或换端口 |
相关概念
- One API 与 New API 的关系:new-api 是 one-api 的增强 fork,官方文档在
QuantumNous/new-api-docs-v1。 - 默认 SQLite(
one-api.db自动生成在运行目录),无需数据库;设SQL_DSN可换 MySQL/PostgreSQL。 - 首次访问需初始化 root 账号(日志提示
system is not initialized and no root user exists),然后进入管理面板配置渠道。
本文归档于个人知识库 · 领域:CS & AI · 模块:04 Project_CS_AI/AI apps