evenfire README

The project's README from github.com/evenfire-ai/evenfire. As one markdown file: README.md.

Evenfire

Build your company's intelligence layer, without losing control.

Where your team and AI agents work together — a complete, fully open-source platform, from a native desktop app to a secure, self-hosted backend. Bring your own model keys; every risky action waits for a human "yes."

License: MPL-2.0 CI GitHub release Status: Beta

Quick start · What is Evenfire · The platform · Why · Security · Providers · Deploy · Docs · Status · License

Control UI: usage dashboard with charts of token consumption per model over time

The Control UI's usage dashboard: token consumption per model, over time. Tour all three UIs →


Quick start

This quick start runs the whole platform on a local minikube cluster — the fastest way to try Evenfire on your workstation.

Stand up every service on minikube with one command, including a seeded agent named chatllm. On a fresh minimal install, setup consumes the first-run admin bootstrap before any login, creates the matching Desktop identity, and records the governed initial_setup GFS operator link atomically:

git clone https://github.com/evenfire-ai/evenfire.git && cd evenfire
cp .env.example .env
# edit .env: set ADMIN_PASSWORD (required, no default ships) and ONE LLM key
MINIKUBE_IMAGE_TAG=latest make minikube-setup   # see the note below on this override
make minikube-status                            # wait for every deployment READY

The seeded [email protected] Desktop account is therefore the initial GFS operator. Re-running setup is idempotent: it may log in to verify the existing active link, but it never recreates a revoked link or silently creates a second ordinary member. If the link is missing, setup stops with an actionable error.

Then run the UIs from your workstation and say hello to the chatllm agent:

make install-all && npm --prefix control-ui install
npm run ui              # Control UI + Profile UI + Desktop App

The full walkthrough (prerequisites, login, and the pure-API path) is in Get started on minikube.

Evenfire is meant to be run on a remote cluster — see Deploying to a remote cluster.


What is Evenfire

Evenfire is a complete platform for running LLM agents that take real actions on your infrastructure.

Agents in Evenfire can:

Every piece of the fleet — agents, connectors, channels, workflows, policies, plugins — is a Kubernetes custom resource, so your platform is version-controlled, reviewable configuration. You bring your own model keys, so prompts and data flow only to the provider you choose


The platform

Evenfire is not just an agent runtime. It is nine first-class capabilities, each backed by code in this repo and declared as configuration. Each row links to its deep dive.

Capability What you get Deep dive
Agents Real actions across Telegram / Email / Slack / desktop (shell_exec, HTTP, a real browser, files), plus memory and approval gates mcp-host
Console & client An admin Control UI console and an Electron Desktop App, plus a small Profile UI for invites surfaces
Connectors (MCP) Governed MCP servers with per-Context allowlists; stdio tools via the bridge; remote SaaS behind a pinned egress proxy mcp-servers
Workflows Declarative multi-workload WorkflowRecipes with a lifecycle: risk-based approval, shadow testing, rollback workflowrecipe
Plugins & registry Author, publish, and install connectors and recipes through a governed, trust-rated registry workflow-sdk
Teams & access Profiles, teams, roles (admin / inviter / member), invitations, and session → scoped-RPC token brokerage external-rest-api
Files Read-only team workspaces agents can draw on, plus a brokered, audited shared drive where every read and write is checked and logged gfs-controller
Cost & governance Token budgets per scope (block/warn), usage and LLM-price accounting, and a connector-image allowlist token budgets
Config as code The whole fleet as eight clerum.io (why that name?) CRDs: version-controlled, reviewable, GitOps-friendly crds

Why Evenfire


Security model

We never fully trust the model. It can be steered, misled, or simply wrong, so four layers constrain what it can do:

Report vulnerabilities privately: SECURITY.md.


Supported LLM providers

A broad, growing set of providers behind one interface, from frontier labs to local models. Keys live in a Kubernetes Secret you create (dev mode: a single environment variable; setup infers the matching provider).

Provider provider value Integration
OpenAI openai Native SDK
Anthropic claude Native SDK
Z.AI zai OpenAI-compatible
Bailian bailian OpenAI-compatible
Google Vertex AI vertex Native SDK
Amazon Bedrock bedrock Native SDK
OpenRouter openrouter OpenAI-compatible
Google Gemini gemini OpenAI-compatible
DeepSeek deepseek OpenAI-compatible
Groq groq OpenAI-compatible
Together AI together OpenAI-compatible
Fireworks AI fireworks OpenAI-compatible
Mistral AI mistral OpenAI-compatible
xAI (Grok) xai OpenAI-compatible
Cerebras cerebras OpenAI-compatible
DeepInfra deepinfra OpenAI-compatible
Perplexity perplexity OpenAI-compatible
Moonshot (Kimi) moonshot OpenAI-compatible
Nebius nebius OpenAI-compatible
Novita AI novita OpenAI-compatible
MiniMax minimax OpenAI-compatible
Azure OpenAI azure Light driver

Most providers are OpenAI-compatible and plug in as config with no custom code; only a few (claude, vertex, bedrock, azure) need a dedicated integration. Overview: docs/llm-providers/README.md · Configure: docs/deploy/llm-providers.md · Add one: docs/llm-providers/adding-a-provider.md · Details: mcp-host/README.md.


Deploying to a remote cluster

The quick start runs on local minikube for evaluation. Evenfire is meant to be run on a remote Kubernetes cluster — deploy the platform there with a NetworkPolicy-capable CNI (Calico or equivalent).

Build on the Kubernetes manifests in deploy/base and the kustomize deploy/overlays — the shipped minikube overlay is the reference to copy and adapt for your own cluster. Then follow the production deployment guide for the rollout order, signing/JWT keys, secrets, and the security non-negotiables.


Development and testing

Each service is an independent npm package. Run npm test in a package, or make test-unit-all after installing deps; make test-counts prints the live unit-test file and case totals: "is it real, is it tested" without a hardcoded number to drift. E2E suites run against minikube with Calico NetworkPolicies and the approval flow: docs/testing/e2e-guide.md. Contributor loop: CONTRIBUTING.md.


Docs and components

Start here

Doc For
docs/README.md Docs index
docs/get-started/learning-path.md Role-based path
docs/concepts/why-evenfire.md Product intent
docs/concepts/when-to-use-evenfire.md Fit by category
docs/faq.md FAQ & troubleshooting
ARCHITECTURE.md Architecture & data flow
docs/crds/README.md Config as code (the 8 CRDs)
docs/llms.txt Map for coding agents

Components: every deployable service has its own README (the deep dive):

Component Role
mcp-host Agent runtime: LLM loop, tools, approval gate
channel-reader Telegram / Email / Slack ingress
control-api Control plane: CRDs, secrets, token mint, usage
control-ui Admin dashboard
profile-ui End-user profile and invitation confirmation
desktop-app Electron + React desktop client
external-rest-api Auth, profiles, teams, RPC-token brokerage
rpc-proxy External JWT-gated gateway for desktop/tenant traffic
host-context-controller Operator: CRDs → Deployments + NetworkPolicies
workflow-recipes Operator: WorkflowRecipe lifecycle
gfs-controller Brokered GlobalFileSystem API + audit chain
workspace-files-controller SharedFileSystem write path
mcp-proxy Optional centralized MCP router
mcp-servers Connector catalog (MongoDB, Airtable, …)
stdio-bridge Sidecar: stdio MCP → StreamableHTTP
nginx-egress-proxy Pinned egress path for remote connectors
webhook-gateway Per-recipe webhook signature verifier
webhook-proxy Stateless public webhook router
workflow-approval-request-reader Inbound Telegram/Slack approval callbacks

Ops & platform directories:


Status

Evenfire is in beta and under active development. The whole platform runs end to end and comes up locally with one command, but some APIs and CRDs may still change before a 1.0 release; pin a release tag if you need stability.

The code uses the internal name clerum for the same project (clerum.io CRDs, CLERUM_* env vars, clerum-* packages); see code names.


Community and license

Evenfire is open source under the Mozilla Public License 2.0 (MPL-2.0), an OSI-approved, file-level copyleft license.

evenfire (evenfire-ai/evenfire)

Searching Database…

这是什么?Evenfire 是一个自托管平台,用于运行能在你自己的基础设施上执行真实操作的 LLM 代理,它带有 Kubernetes 后端、管理用 Control UI 和原生 Electron 桌面客户端,让你的团队和 AI 代理协同工作而不失控。
这是我安装的应用,还是我部署的后端平台?两者都是:基于 Kubernetes 的后端里,代理、连接器、工作流和策略都是 Kubernetes 自定义资源;此外还有原生 Electron+React 桌面应用、Control UI 管理面板和 Profile UI,它们都连接同一个自托管集群。
怎么把它跑起来?快速开始用一条命令就能在本地 minikube 集群上启动所有服务,包括一个可以立即对话的预置 'chatllm' 代理;实际使用时,你要把同样的 Kubernetes 清单部署到远程集群,并搭配支持 NetworkPolicy 的 CNI(如 Calico)。
使用它需要自己的 LLM API 密钥吗?需要。Evenfire 没有内置的模型访问能力;你要自己提供 OpenAI、Anthropic、Gemini 或 DeepSeek 等提供商的密钥(或使用本地模型),密钥保存在 Kubernetes Secret 里。
它现在可以用于生产环境了吗?Evenfire 明确处于 beta 阶段:整个平台可以用一条命令在本地端到端跑起来,但在 1.0 发布之前某些 API 和 CRD 仍可能变化,所以为了稳定你应该固定使用某个 release 标签。
我的数据会经过 Evenfire 自己的服务器吗?不会。因为模型密钥由你自己提供,提示词和文件会直接发给你选择的提供商;如果把代理指向自托管或本地模型,一切就都留在你自己的环境里。
Evenfire 如何阻止代理做出危险操作?Shell 命令、出站 HTTP 和浏览器控制等高风险操作会暂停并等待来自渠道的人工批准;代理运行在默认拒绝所有网络、最小权限范围令牌和签名验证回调的约束之下。
我可以通过哪些聊天渠道和代理对话?代理可以通过原生桌面应用、Telegram、Microsoft Teams 和 Slack 进行对话,并通过 Model Context Protocol 调用工具。
它支持哪些 LLM 提供商?一份广泛且不断增长的清单,包括 OpenAI、Anthropic Claude、Google Gemini/Vertex AI、Amazon Bedrock、DeepSeek、Groq、Mistral 等,其中大多数以 OpenAI 兼容配置接入,无需自定义代码。
快速开始里的 'chatllm' 代理是什么?它是安装过程中自动创建的预置演示代理,让你在 minikube 上有东西可以立即对话,并验证平台端到端工作正常。
Size
77.3 MB
Stars
729
Age
3mo
Commits · 90 Days