-
AI Automation in Rust: OpenFang 0.6.0 is here
With version 0.6.0, the open-source project OpenFang is expanding its framework for agents and automation with three central functions: cron jobs with multiple targets (fan-out), configurable skill templates, and a central registry for slash commands. The release aims to standardize orchestration across various output channels, reduce divergent configurations, and simplify operations through consistent APIs and seamless integration with the dashboard and TUI.
OpenFang is a framework written in Rust for AI-powered automation and agent-like workflows. It combines a scheduler with the ability to distribute results via channels such as chat services, email, or webhooks, and can be controlled via CLI, web interface, and API. Unlike projects like OpenClaw, which primarily focus on the runtime logic of agents and their tool usage, OpenFang concentrates on the orchestration and operational management of such capabilities. Both approaches overlap in the concept of “skills” but emphasize different aspects.
Cron Jobs with Multiple Targets
At the core of the innovations is the ability to link cron jobs with multiple target systems. A single job can deliver its results in parallel to various recipients – for example, to over 40 chat channels like Slack, Telegram, or Teams, to webhooks, into local files, or via email. Configuration is done declaratively in a single job definition.
If delivery to a target fails, OpenFang logs the error without aborting the entire job. A typical use case in production environments involves automated reports that go simultaneously to a Slack channel, an internal BI system via webhook, and an audit-proof log file. Jobs can be managed via the scheduler interface in the dashboard or via API.
Skills as Templates and Central Command Management
Furthermore, developers can now define skills as templates with configurable variables. The variables are described in the frontmatter of SKILL.md. At runtime, OpenFang resolves them from multiple sources: first from the central configuration file config.toml, then from environment variables, and finally from default values. If mandatory parameters are missing, execution aborts with an error. The framework automatically masks sensitive data such as tokens or keys in the generated prompt.
This allows the same skill to be used multiple times with different parameters – for instance, to apply identical logic to different Slack channels or data sources. Configuration can be done either via the web interface or directly in the configuration file.
The third major innovation is a central registry for slash commands. All available commands are now located in one place and carry metadata such as categories, aliases, and supported interfaces. From this, OpenFang automatically generates help texts and autocompletion; an API also provides the commands for the dashboard. This ensures that once-defined commands behave uniformly across all interfaces – including CLI, Web-UI, and chat integrations like Discord or Slack.
New APIs and Under-the-Hood Improvements
Additionally, the release includes several new API endpoints, including interfaces for querying commands, managing schedules with targets and logs, and for CRUD operations on skill configurations.
Other improvements include an atomic write mechanism for the central configuration file, designed to prevent data loss in case of crashes. Furthermore, configuration changes can now be applied at runtime without restarting the service. Details about the new OpenFang version can be found in the Release Notes on GitHub.
(fo)
Don’t miss any news – follow us on
Facebook,
LinkedIn or
Mastodon.
This article was originally published in
German.
It was translated with technical assistance and editorially reviewed before publication.
Dieser Link ist leider nicht mehr gültig.
Links zu verschenkten Artikeln werden ungültig,
wenn diese älter als 7 Tage sind oder zu oft aufgerufen wurden.
Sie benötigen ein heise+ Paket, um diesen Artikel zu lesen. Jetzt eine Woche unverbindlich testen – ohne Verpflichtung!
