Explore and publish AgentApps on Flower Hub¶
Flower Hub lets you discover AgentApps that you can run on SuperGrid and share
your own AgentApps with other Flower users. Published apps use an app spec such
as @publisher/agent-name.
Explore AgentApps¶
Open the Flower Hub app catalog and select type Agent to browse agents. Open an AgentApp to review its description, source code, available versions, and app spec before running it.
Add an AgentApp to a federation¶
Sign in and open the AgentApp to review its description and source. If you want to make it available in a federation, select the Add app to federation plus button, choose one of your active federations, and select Confirm.
Open that federation from the Flower Agent sidebar and select New chat. The AgentApp is now available in the agent selector above the prompt.
Run an AgentApp from the terminal¶
Use the publisher and project name from the app spec:
$ uvx --from flwr==1.35.0 flwr run @publisher/agent-name supergrid \
--run-config 'agent.input="What can you help me with?"' \
--stream
See Run an AgentApp on SuperGrid to choose a federation, inspect logs, and stop a run.
Publish your AgentApp¶
Start with a working project from Write your first AgentApp. This guide targets Flower 1.35.0.
Prepare the project¶
Check the public metadata in pyproject.toml:
[project]
name = "hello-agent"
version = "0.1.0"
description = "Answer questions with a Flower AgentApp"
license = { file = "LICENSE" }
dependencies = ["flwr>=1.35.0,<2.0"]
[tool.flwr.app]
publisher = "your-username"
display-name = "Hello Agent"
flwr-version-target = "1.35.0"
[tool.flwr.app.components]
agentapp = "hello_agent.agent_app:app"
Add a top-level LICENSE file containing the license text. FAB format v1
requires this declared license file and a flwr dependency with an inclusive
lower bound. The target version must satisfy that dependency constraint.
The publisher must match your Flower account username. Flower identifies the
project as an AgentApp from the agentapp component, so you do not need to add
a tag or another app-type setting.
Before publishing:
choose a final project name because it becomes part of the app spec
write a short description that explains what the AgentApp does
include a
README.mdwith setup, configuration, and usage instructionsremove credentials, local data, and private connector content
update
.gitignoreso local-only files are excluded
Validate the AgentApp¶
Create the environment and build the app locally:
$ uv sync
$ uv run flwr build
Fix configuration, dependency, and component-reference errors before
publishing. A successful build reports the path of the generated .fab file.
The publish command uploads the project sources rather than this local bundle,
and Flower Hub builds the FAB again on the server.
Log in to SuperGrid¶
$ uv run flwr login supergrid
Complete authentication in the browser window. The signed-in account must
match the publisher value in pyproject.toml.
Review the files, then publish¶
Before running the publish command, inspect the project for source,
configuration, documentation, and data files that must not become public. The
publish filter considers supported files throughout the project, even when
they are not tracked by Git. Remove any sensitive file or add it to the
project’s .gitignore, then review the project again.
Do not use the Attach: output from the publish command as a review step. The
command uploads the attached files immediately after printing their names and
does not ask for confirmation.
After you have reviewed the eligible files, publish from the project directory:
$ uv run flwr app publish .
Flower applies its publish filters and the project’s .gitignore, validates
the files, and sends them to Flower Hub. The uploaded sources are public.
After a successful upload, open:
https://flower.ai/apps/<publisher>/<project-name>/
For the complete file-type, size, license, and FAB-format rules, see Publish an App on Flower Hub.
Publish a new version¶
Keep the same project name and publisher, update [project].version, and
publish again:
[project]
version = "0.1.1"
$ uv run flwr build
$ uv run flwr app publish .
An app ID cannot change between an Agent and a Federated app. Use a new project name if you need to publish a different app type.
Troubleshoot publishing¶
Please log in before publishing app: run
uv run flwr login supergridPublisher mismatch: set
publisherto the username of the signed-in Flower accountMissing or invalid app description: add a non-empty
descriptionunder[project]Required file was skipped: review
.gitignoreand the publish include and exclude rulesComponent cannot be loaded: check the module and object named by
[tool.flwr.app.components].agentapp