Agent Skills
返回列表
🔒

FreeLLMAPI 无弹窗运维

IT 运维与安全 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_97acf6d1/freellmapi-server。

技能介绍

要解决什么问题

FreeLLMAPI 作为本地 LLM 代理网关,在 Windows 上长期跑不稳:npm install 可能因 better-sqlite3 原生编译失败而中断、React 面板未构建导致 client/dist/index.html 缺失、进程崩溃后无人拉起。另一个痛点是登录 Windows 后弹出的黑色 CMD 窗口——旧的 .cmd 启动脚本每次开机都会闪一下。这个技能把进程守护、崩溃恢复、静默启动三件事整理成一套可复用的运维流程。

核心能力与关键步骤

PM2 进程守护:通过 ecosystem.config.cjs 启动服务,进程崩溃时按指数退避自动重启。注意不要在 ecosystem 配置里设 NODE_ENV=production,否则服务端强制要求 64 字符 hex 的 ENCRYPTION_KEY,缺失就直接拒绝启动。

开机复活:pm2 save 把进程列表写入 ~/.pm2/dump.pm2,守护进程重启后执行 pm2 resurrect 即可恢复。Windows 没有 init 系统,pm2 startup 不可用,改用 Startup 文件夹里的 VBS 脚本,用 Run(..., 0, False) 做到完全隐藏窗口。

密钥管理:ENCRYPTION_KEY 以 AES-GCM 加密 api_keys 表里的上游凭据。一旦数据落库再更换 key,所有加密的 API key 都会失效,只能去面板重新录入。

适用边界与注意点

  • 443 端口桥接不归 PM2 管:Codex WSS bridge 需要管理员权限,只能通过 PowerShell RunAs 手动拉起,进程消失后没有自动恢复机制。
  • 系统代理是头号杀手:Windows 系统代理会劫持 DNS 解析,绕过本地 hosts 和 bridge,agent 域名必须全部加进 ProxyOverride,改完要重启 agent 进程才生效。
  • 统一 key 会静默轮换:账号体系启用后 unified_api_key 可能失效,客户端一律使用账号在面板生成的 API key。
  • 本技能仅覆盖 PM2 运维环节,不涉及上游 provider 的路由策略与限流配置。

使用场景

  • 每次登录Windows时,旧的CMD启动脚本弹出黑色窗口遮挡桌面,需要改用VBS脚本实现FreeLLMAPI的静默启动。
  • 准备更新FreeLLMAPI配置时手动结束进程触发PM2瞬间重启,导致新配置失效并报错EADDRINUSE,需要掌握正确的PM2停止流程。
  • Claude Code等AI编程工具频繁出现超时或401报错,需排查Windows系统代理劫持了本地DNS解析并配置ProxyOverride白名单。
  • 电脑睡眠唤醒后发现PM2守护进程重启且FreeLLMAPI停止运行,需要执行resurrect命令从dump文件中恢复进程列表。

适合人员

  • 在Windows上自建LLM网关的后端工程师,需要保证本地服务长期稳定运行并解决开机弹窗问题。
  • 依赖命令行AI编程工具的全栈开发者,需要在遇到代理劫持或超时报错时快速恢复工具链连接。
  • 负责团队内部模型路由与代理服务的运维工程师,需要规范PM2进程管理并排查数据库加密密钥变更导致的故障。