目标

在 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)

步骤

  1. 查最新版与 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)
  2. 安装目录:%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。
  3. 校验并重命名

    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
  4. 下载快捷方式图标(仓库自带 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
  5. 创建桌面快捷方式(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()
  6. 启动验证

    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