mrkeyoor.com_
Tue 15 Sept 20:19 UTC
Self-Hostedevaluationupdated 15 Sept 2026

openfang review

OpenFang is a self-hosted Rust system for running AI agents from a daemon, dashboard, command line, or API. It combines schedules, tools, memory, model connections, messaging channels, MCP support, and seven packaged autonomous jobs called Hands in one codebase.

Verdict

Our OpenFang build took 729 seconds, then all 5,398 cargo tests passed in 600 seconds, which makes the code worth evaluating but does not settle its open security and cost-control reports. Use it in a contained trial if you want one Rust system for scheduled agents, messaging, MCP, and a dashboard. Do not give v0.6.9 valuable credentials or unattended spending authority until you verify the WASM limit, WhatsApp gateway, schedules, heartbeat behavior, and maintenance path yourself.

We ran it

Lab card: what happened when we ran openfangScreenshot of openfang (www.openfang.sh)
Install✓ · 134s843 packages
Build✓ · 729s
Tests✓ · 600s5398 passed · 0 failed of 5398 (cargo test)
Repo533 files~210,880 lines of source · 14.6 MB · 2 CI workflows · Dockerfile

Answers from our run

Does openfang build from source?

Dependencies installed in 134 seconds (843 packages), and the build succeeded in 729 seconds. We cloned commit acf2587 into a clean Debian container with 3 CPUs and no project-specific setup.

Do openfang's tests pass?

Yes: 5398 of 5398 passed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use openfang?

Teams requiring a settled production release and a current roadmap: OpenFang is pre-1.0, v0.6.9 was released on May 12, 2026, and an open status request has no maintainer response.

What are the alternatives to openfang?

LibreFang, OpenClaw, ZeroClaw. Our OpenFang build took 729 seconds, then all 5,398 cargo tests passed in 600 seconds, which makes the code worth evaluating but does not settle its open security and cost-control reports.

Setup3/5134-second install; provider and channel setup adds work
Docs3/5Broad guides, but version, support, and license text conflict
Community3/518,183 stars and fresh PRs, but no core push since July 2
Maturity3/55,398 tests passed; pre-1.0 with material open reports

Who it’s for

Experienced self-hosters who want one process for agents, schedules, memory, tools, channels, and a local dashboard.
Rust teams prepared to inspect a 210,880-line codebase and pin a pre-1.0 deployment to a tested commit.
Developers who need MCP or an OpenAI-compatible interface around several model providers.
Evaluators willing to start with low-risk agents and audit every credential, schedule, and outbound action.

Who it’s NOT for

Teams requiring a settled production release and a current roadmap: OpenFang is pre-1.0, v0.6.9 was released on May 12, 2026, and an open status request has no maintainer response.
Anyone relying on the configured WASM memory ceiling for hostile skills: issue 1242 reports that max_memory_bytes reaches a reserved field but is not enforced by a store limiter.
Users exposing the WhatsApp Web gateway without their own fix: issue 1234 reports unauthenticated loopback endpoints with wildcard CORS, including the message-send route.
Operators who cannot tolerate surprise model charges: issue 1206 reports sample schedules becoming active after auto-spawn, while issue 1252 reports a heartbeat setting being ignored and repeated recovery calls.
Buyers who need security and license documentation to agree at a glance: the security policy lists 0.3.x as supported, the README says MIT, and the workspace declares Apache-2.0 OR MIT.

Setup reality

Our sandbox installed commit acf2587 in 134 seconds, adding 843 packages. The build succeeded in 729 seconds. Tests succeeded in 600 seconds: cargo reported 5,398 passed and 0 failed out of 5,398. The 14.6 MB checkout contained 533 files and about 210,880 source lines.

The user path is shorter than the source build: run the install script, openfang init, then openfang start. Initialization needs a hosted model key or a reachable local provider. The dashboard starts locally, while Docker Compose builds the image from source because its file says the registry image is not public.

Messaging adapters add bot tokens and service credentials. The WhatsApp Web path also needs Node.js, a separate gateway process, and a linked phone session. OpenFang is pre-1.0, and its README tells production users to pin a commit because minor releases may break compatibility.

Seven Hands put scheduled agent work behind one daemon

OpenFang runs agents from a Rust daemon with a browser dashboard, CLI, and OpenAI-compatible API. Its seven bundled Hands cover video clipping, prospect research, monitoring, forecasting, research reports, social posting, and browser tasks. Each Hand combines a manifest, operating instructions, a skill file, settings, and guardrails.

The same repository includes model routing, SQLite-backed memory, tools, schedules, channels, a desktop app, MCP support, and migration from OpenClaw. Our checkout measured about 210,880 source lines across 533 files. An upgrade can touch credentials, message intake, browser actions, spending, long-lived memory, and unattended timers in one system.

The 134-second install led to a 729-second build

In our unprivileged container, dependency installation succeeded in 134 seconds and pulled 843 packages. Building the Rust workspace took another 729 seconds. That is over 14 minutes before tests, on the stated 3-CPU, 12 GB lab machine.

The runtime still needs somewhere to send model requests. openfang init guides provider setup, and the sample environment file supports hosted keys plus local Ollama, vLLM, or LM Studio addresses. Optional Telegram, Discord, Slack, email, Signal, Matrix, and WhatsApp connections introduce their own tokens or service details. Docker Compose exposes the service and stores data in a named volume, but its comment says the registry image is not public and builds locally instead.

What happened when we ran it

Our build of commit acf2587 completed in 729 seconds. Cargo tests then ran for 600 seconds and reported 5,398 passed with 0 failures out of 5,398. Installation had already succeeded in 134 seconds with 843 packages. This is strong evidence that the checked-out Rust code compiled and its available cargo suite passed in our fresh container.

The lab did not measure agent answer quality, schedule accuracy, browser completion, channel delivery, model latency, idle memory, or the comparative figures printed in the README. It also found two CI workflow files, a Dockerfile, a Compose file, and no separate tests directory. Rust tests can live beside source, as the 5,398 passing cases demonstrate. The result supports a serious trial; it is not a benchmark for an autonomous production workload.

Forty channels create a large credential boundary

The README lists 40 messaging adapters, ranging from Telegram and Slack to email, WhatsApp, Matrix, and workplace chat products. Per-channel policies and model choices are useful when one agent must meet users where they already work. Every connected account also expands the effect of a mistaken tool call or hostile inbound message. Start with one channel, one low-privilege identity, and no schedule while you inspect logs and approval behavior.

WhatsApp deserves special caution. Its documented Web gateway is a separate Node.js process on port 3009 with login, status, send-message, and health routes. Open issue 1234 reports that these routes have no authentication and return wildcard CORS headers, allowing a malicious webpage to target the loopback service. The report remains open. Production users can choose the WhatsApp Cloud API, but that is a different integration with its own Meta account and token requirements.

Sixteen named security controls leave open enforcement questions

OpenFang documents 16 security systems, including capability checks, secret clearing, request filtering, a hash-chained audit log, and a metered WASM sandbox. The list is specific enough to audit. Issue 1242 does exactly that: it reports that the configured WASM max_memory_bytes value is carried into a reserved field but never attached to Wasmtime through a store limiter. If correct, CPU metering would not enforce the advertised memory ceiling.

A September 12 pull request addresses another boundary in the audit chain. It says deleting entries from the end can leave surviving links valid, so verification misses the truncation. The proposed fix stores the expected tip separately. That contribution had not merged when fetched. Passing 5,398 tests still matters, but an autonomous agent host should test the exact threat controls it depends on instead of translating suite size into blanket security assurance.

v0.6.9 has open reports about unattended model costs

Issue 1206 says v0.6.9 auto-spawned bundled sample agents whose existing schedules then began making model calls without user interaction. Issue 1252 separately reports that a configured heartbeat timeout was ignored in favor of 60 seconds, leading one deployment into repeated recovery calls. These are reports from particular setups, not our lab results, but both concern unattended activity and remain relevant until reproduced or closed.

Review every agent file before the first daemon restart, disable schedules you did not choose, and set provider-side spending alerts. OpenFang includes cost tracking and budgets, yet external account limits are the safer backstop when behavior itself is under review. Browser purchases have an approval gate according to the README. Social posting and arbitrary tool access deserve the same explicit operator check, regardless of the bundled Hand's default wording.

July's last push and September PRs split the health signal

GitHub recorded 18,183 stars and 120 combined issues and pull requests when fetched, of which 45 were open pull requests. The main repository's last push was July 2, 2026, and v0.6.9 was released May 12. Community work continued later, including a September 12 audit-chain pull request and a September 5 skill-installer report. Open issue 1275 asks for project status and a v1.0 outlook, with no maintainer response in its thread.

That record does not prove abandonment, but it weakens the case for adopting OpenFang without an ownership plan. LibreFang is a current community fork from the same codebase. OpenClaw emphasizes an assistant across chats and devices, while ZeroClaw offers another Rust runtime with supervised defaults. OpenFang itself merits a contained evaluation because our long build finished and all 5,398 tests passed. Production adoption needs a named maintainer on your side, a pinned commit, and verified fixes for the controls your agents rely on.

Alternatives

ProjectWhat it isPick it when
LibreFangA community fork of OpenFang with open governance and active packaging work.pick this instead when you want the same Rust agent-OS lineage with current community-led maintenance.
OpenClaw gh↗A self-hosted assistant centered on existing chat services, device apps, tools, and plugins.pick this instead when a personal or team assistant across chats matters more than OpenFang's packaged Hands.
ZeroClaw gh↗A Rust agent runtime with channels, tools, configurable approval levels, and hardware support.pick this instead when you want an actively changing Rust runtime with explicit supervised defaults and hardware integrations.

What people are saying

  1. [github-trending] RightNow-AI/openfang

Sources

  1. OpenFang repository and README
  2. OpenFang v0.6.9 release
  3. Issue 1234: WhatsApp gateway authentication and CORS report
  4. Issue 1242: WASM memory-limit enforcement report
  5. Issue 1206: sample schedule cost report
  6. Issue 1252: heartbeat timeout report
  7. Issue 1275: project status and roadmap request
  8. Pull request 1287: audit-chain tail-truncation fix

More self-hosted reviews

SparkyFitness · sonic · Aether · lx-music-desktop · checkcle · panel · the whole board →