View Markdown

Build with the Vifu Agent Runtime

Vifu is a small, fast, stateful, and portable runtime for agents.

Connect applications to agents from local or remote providers through one runtime for stable APIs, durable state, access control, routing, and traces.

Choose where to start

Your goalStart here
Run Vifu for the first timeRun Vifu locally
Work on the runtime sourceRun Vifu locally
Embed the Rust runtimeEmbed the runtime
Add product behaviorVifu plugins
Connect an Agent or modelAgent Providers
Understand the public runtime APICore runtime design
Understand hosted and self-hosted authorityDashboard architecture

The runtime stack

An application can host one project directly:

Architecture diagram
Rendering diagram

The service deployment operates many projects:

Architecture diagram
Rendering diagram
  • VifuRuntime owns the providers, Agents, endpoints, sessions, state, and effects for one embedded application.
  • Vifu Server owns project APIs, authorization, runtime sessions, and persistence across multiple projects.
  • Vifu Agent Gateway is an optional Server transport that connects provider resources from another machine and reports the Agents they expose.
  • PostgreSQL stores durable project and runtime data.
  • Operations Console manages projects, Agents, providers, keys, connections, and traces.

Agent Gateway connects to a running Vifu Server. An embedded application registers provider implementations directly with VifuRuntime.

Start the local release

Download and extract the archive for your platform from the latest release, then run:

./vifu

Vifu creates its local Runtime profile and opens the live TUI. Press B to open the embedded Dashboard at the same Server address, normally http://127.0.0.1:6790. Confirm the Runtime independently:

curl --fail --silent http://127.0.0.1:6790/health

The Console guides project, provider, Agent, and key setup. Read Self-hosting before exposing the deployment on a network.

Call a project endpoint

Create a project key in the Console, then call an Agent through the OpenAI-compatible endpoint:

curl http://127.0.0.1:6790/my-project/v1/chat/completions \
  --header "Authorization: Bearer $VIFU_PROJECT_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "guide",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

The project endpoint remains stable while provider configuration changes. Provider credentials remain inside the Vifu deployment.

Read Core runtime design for the execution boundary and Dashboard architecture for hosted and self-hosted authority.

These open-source projects solve adjacent parts of the agent runtime stack. The comparison describes each project's primary model, not an exhaustive feature checklist.

ProjectPrimary modelHow Vifu differs
ADK-RustRust framework and execution runtime for defining agents, tools, workflows, sessions, memory, and serversVifu centers the project-level contract through which applications access agents exposed by local or remote providers
Google Agent Development KitCode-first framework for building, evaluating, orchestrating, and deploying agent systemsVifu centers stable project endpoints, provider connections, access, durable state, and traces at the application boundary
LangGraphGraph orchestration framework and runtime for long-running, stateful agents and workflowsVifu organizes agents and access around a project rather than a workflow graph
Cloudflare Agents SDKCloudflare-hosted runtime for durable agent instances, state, sessions, connections, and schedulingVifu keeps the application contract portable across agents running on local or remote providers

Vifu does not replace agent providers. It gives applications a stable, stateful runtime contract for accessing agents across local and remote providers.