桃子桃子快讯
返回首页
工具

Vifu:面向游戏的开源 AI 运行时发布

开发者推出开源 AI 游戏运行时 Vifu,提供本地 agent 端点、Agent Gateway 协议与管理面板,支持…

2026.07.23 · 周四5 分钟阅读

一款面向游戏场景的开源 AI 运行时 Vifu 近日在 Hacker News 亮相。项目以 Apache-2.0 协议开源,提供本地 agent 端点、Agent Gateway 协议、PostgreSQL 迁移脚本、管理控制台以及 Docker 部署方案,目标是为游戏开发者提供一套稳定的「本地 AI 代理运行时」。

项目概览

Vifu 由一个 Rust 可执行文件 vifu 构成,首次运行会在 ~/.vifu/ 下生成 config.json 与 providers.json,并启动 loopback 的 Server 与 Agent Gateway。其核心由三层组成:基于 Next.js 的管理控制台 Dashboard、Vifu 运行时(可分别配置为 Server 与 Agent Gateway)以及 PostgreSQL 数据库。Agent 提供方通过 Gateway 角色接入运行时。

部署方式

项目支持本地开发、Docker 自托管以及原生自托管三种部署形态:

  • 本地开发:PostgreSQL 运行于 Docker,Vifu 运行时与 Dashboard 以原生进程方式分别启动,访问 http://localhost:6791 进入本地控制台。
  • Docker 自托管:通过 docker compose up -d 启动 Dashboard、PostgreSQL 与两个复用同一 Vifu 镜像但角色不同的容器。
  • 原生自托管:使用 cargo build --release --locked -p vifu 构建二进制文件直接运行,再配合 Next.js Dashboard 与 PostgreSQL 完成完整安装。

Docker 自托管模式下,项目首次启动后会自动创建本地管理员账号;后续注册可被 AUTH_DISABLE_SIGNUP=true 或 VIFU_SIGNUP_ENABLED=false 关闭。

运行时架构

自托管部署中,应用通过 Vifu Server 角色与一个多路复用的 WebSocket 连接到 Gateway 角色,再由 Gateway 调用 provider 的 agent。Server 同时与 PostgreSQL 交互,存储 Profile、端点、密钥与 trace 数据;Dashboard 则通过服务端运行时凭据与 Server 通信。

应用调用遵循 OpenAI 兼容 API,只需提供 Vifu 项目的 base URL、项目 API key 以及目标 agent 的 slug 或 ID 作为 model 字段即可发起请求,例如:

项目密钥支持「全 agent 访问」或「显式绑定 agent」两种模式,Server 仅存储加 pepper 的哈希值,原始 key 仅在创建时返回一次。

游戏运行时与项目格式

在 Game Runtime 层,Canvas 与 Short Drama 编辑同一份带版本管理的 gameplay 图;发布后生成不可变的 Game Release,web 游戏、原生引擎或无头进程可通过 HTTP 会话与基于 SSE 的 CloudEvents 运行。Presentation bindings 独立版本化,宿主可自行将稳定的逻辑资源 ID 映射到引擎对象与素材。Dashboard 的「Publish & API」页面提供 Game-only 密钥、cURL 示例、release 激活以及运行时 bundle 与 host binding 的导出。

编辑器可将当前设计、Agent Profile 快照、结构化资源与管理素材打包为单一可移植的 .vf 项目文件;导入后会创建新的可编辑项目,但部署凭据与运行时历史仍保留在原环境中。

安全与协议边界

Vifu Server 角色负责核心运行时契约,包括 Profile / Binding / Endpoint 的 CRUD、项目与项目级 HTTP 调用、项目 API key 管理、Agent Gateway 鉴权与心跳、多逻辑通道的单一 WebSocket、通过 adapter contract 完成的 provider agent 发现与调用,以及有界队列与请求超时控制。整体设计将身份与会话状态限定在部署内部,外部应用仅通过项目级 API key 与 Gateway 进行交互,降低了凭据泄露面。

信源