Open-source project
phronesis-io/eigenflux avatar
phronesis-io/eigenflux

EigenFlux: A Broadcast Network for AI Agents, Reviewed

Official repository for EigenFlux — the open-source communication and broadcast network for AI agents.

1,335 stars29 forksGoNOASSERTION

At a glance

What is it?
EigenFlux is an open-source Go project that gives agents a shared publish and subscribe layer with an AI matching engine in the middle. The concept is coherent and the privacy model is explicit, but the repository ships no releases and the README carries no install commands, so adoption means reading the source and the linked skill files first.
Who is it for?
EigenFlux suits teams that already run several agents and want a shared signal layer they can self-host, and it is a poor fit for anyone who needs a tagged release, a documented CLI surface, or a protocol with published specifications.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Go, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The redundancy problem EigenFlux is built around

The README opens with a claim that is easy to check against your own setup: agents operate in isolation, and each one independently searches the web, processes information, and discovers signals that other agents have already found. If you run more than one agent, you have probably watched them fetch the same page twice. EigenFlux proposes a shared information layer where an agent publishes what it knows, what it needs, and what it can provide, and receives back only the broadcasts that match its stated interests. The intended user is not an end user browsing a chat window. It is someone operating a fleet of agents who wants discovery to happen once and propagate. The README also describes a public hub at eigenflux.ai as the reference deployment, with this repository presented as the same production codebase. That claim is the reason to read the source rather than a marketing page, and it is also the claim you cannot verify from the README alone.

Broadcast, listen, and an AI engine in the middle

The architecture described in the README has three roles. Every agent is both a broadcaster and a listener. The agent states in natural language what it cares about, and the network routes relevant broadcasts to it. Between the agents sits an AI engine responsible for governance and matching. That is the whole mechanism as documented: natural-language interest statements on one side, structured broadcasts on the other, and a matching component in between. The README calls the broadcast format structured, agent-friendly, and high signal-to-noise, but it does not publish the schema, the matching algorithm, or the governance rules in the text supplied here. It asserts that every matching algorithm, governance rule, and system component is visible, which means the details live in the code and in the skill files rather than in the README. For an engineer, that is a meaningful distinction. You can audit the matching logic, but you will be reading Go source to do it, and the README gives no entry point for that reading beyond the repository layout. The natural-language matching step is also the part most likely to behave differently from your expectations, because interest statements and broadcasts are both free text until the engine normalizes them.

Getting an agent onto the network

There is no install command in the README. The documented path is to instruct your agent with a sentence: read the file at skills/install.md in the repository and help me join EigenFlux. The README states that this installation guide is host-specific, that it owns installation and verification, and that it then hands first-time connection to an installed skill called ef-onboarding. A second skill, ef-profile, owns later identity and profile maintenance. So the operational surface is two named skills and one guide file, not a CLI invocation you can copy from the README. The README does mention a CLI binary and a Skill directory that can be shared, and it says installation is user-level by default, with each agent keeping identity, credentials, configuration, and caches in one stable Agent Home. Those are the concrete nouns to look for when you open the repository: skills/install.md, ef-onboarding, ef-profile, Agent Home. Everything else about running it, including flags, environment variables, and the binary name, is outside the supplied material. If you need a one-line install before you will evaluate anything, this project does not give you one yet.

The privacy boundary is a rule for agents, not a sandbox

The README is unusually direct about privacy, and the design has two layers. The first is a stated boundary: only public-safe, factual signals are broadcast, and personal information, private conversation content, user names, credentials, and internal URLs must never leave. The README frames this as enforced in the instructions agents run, and adds the test that every broadcast must be safe to share with a stranger. That phrasing matters. A boundary enforced in agent instructions is a policy the model is asked to follow, not a network-level filter that strips fields on egress. The second layer is cryptographic: agent identity is bound to a local Ed25519 key, credentials stay in the selected Agent Home and never enter prompts, and email and OTP verification happen in the Console rather than in the agent chat. Consent is also staged. Onboarding asks about scheduled checks and profile prefill before setup, the Console lets the user review the Agent Card and the security boundary, recurring publishing follows a standing authorization, and a one-off publish requires draft confirmation. The honest summary is that the key handling is a real mechanism and the content boundary is a documented commitment. If your threat model includes a compromised or confused agent, the first layer will not stop it.

No releases, no versioning, and a licence you have to read

Two facts should shape any adoption plan. First, the repository has no releases. There is no tagged version to pin, so a deployment tracks the main branch, and the last push recorded is 2026-09-10. For a component that sits between your agents and a network, that means your upgrade path is whatever lands on main, and your rollback plan is a commit hash you chose yourself. Second, the licence is reported as NOASSERTION, meaning the licence could not be identified automatically. The README describes the project as open source, but open source is a category, not a grant. Before you deploy this inside a company, open the LICENSE file and read it, and if the terms are unclear to you, that is a question for your legal team rather than for this article. The maintenance cost follows from the same facts. You are not paying for support, you are paying in attention: reading diffs on main, re-reading skills/install.md when the onboarding flow changes, and re-checking the ef-onboarding and ef-profile skills after updates. The README does not describe a migration process for existing Agent Home data, so treat upgrades as something to test on a spare agent before touching a working one.

Where EigenFlux is the wrong tool

EigenFlux is a discovery and broadcast layer, not a task delegation protocol. If your problem is one agent calling a specific tool with typed arguments, or two agents negotiating a multi-step job with a defined completion, this is the wrong shape. Broadcasts are described as natural-language interest statements routed by a matching engine, which means delivery is probabilistic rather than guaranteed. An agent that needs a deterministic answer from a known peer should call that peer directly. The second mismatch is governance. The README says an AI engine handles matching and governance, which implies that what reaches your agent depends on rules you did not write and, on the public hub, on an operator you do not control. Self-hosting removes that dependency, and the README explicitly offers it as the option for people who do not want to trust the public hub. The third mismatch is scale of need. A single agent with no peers gains nothing from a network; the value only appears once there are multiple agents generating overlapping discoveries. If you are evaluating this for one agent, you are evaluating it for a future you have not built yet.

How this differs from MCP and A2A

The nearest comparison points are MCP and A2A, and the difference is in what is being shared. MCP standardizes how a model reaches tools and data sources: a client connects to a server, and the interaction is a call with a result. A2A standardizes how agents delegate tasks to one another: a request goes to a named agent, and a task reaches a terminal state. EigenFlux does neither of those. It assumes no known recipient. An agent publishes into a pool, states its interests in natural language, and a matching engine decides what it sees. That is closer to a topic-based message bus with an AI router than to either protocol. The practical consequence is that EigenFlux can surface a signal from an agent you have never heard of, which is the point, and it can also deliver nothing useful if your interest statement is vague or the matching engine's rules do not align with your intent. If your agents already speak MCP or A2A and you know your peers by name, adding a broadcast network is a separate decision about discovery, not a replacement for either protocol.

Editorial conclusion

EigenFlux suits teams that already run several agents and want a shared signal layer they can self-host, and it is a poor fit for anyone who needs a tagged release, a documented CLI surface, or a protocol with published specifications. Before connecting anything, read skills/install.md and the ef-onboarding and ef-profile skill definitions, confirm the LICENSE file text because GitHub reports NOASSERTION, and verify that the Ed25519 identity and Agent Home layout match your own key custody rules.

Official sources

  1. Issues
  2. phronesis-io/eigenflux on GitHub
  3. Project website
  4. README
Community notes

Community notes