Skip to content

feat(tools): add FiveDiveTools toolkit for deploying and managing 5dive agents#8729

Open
lodar wants to merge 1 commit into
agno-agi:mainfrom
lodar:add-fivedive-toolkit
Open

feat(tools): add FiveDiveTools toolkit for deploying and managing 5dive agents#8729
lodar wants to merge 1 commit into
agno-agi:mainfrom
lodar:add-fivedive-toolkit

Conversation

@lodar

@lodar lodar commented Jul 3, 2026

Copy link
Copy Markdown

closes #8730

What

Adds FiveDiveTools, a toolkit that lets an Agno agent deploy and manage a fleet of hosted agents on 5dive. It wraps the public 5dive command line tool via subprocess (standard library only, no new dependency) and exposes three tools:

  • deploy_agent(name, prompt, ...) provisions a new hosted agent and gives it an initial prompt.
  • fleet_status() returns the status of every agent in the user's fleet.
  • request_approval(question, ...) files a human approval request over 5dive's Telegram human-in-the-loop and returns its state.

Why

Agno is a framework for building agents but does not host or run them for you. 5dive is a hosting and orchestration layer, so this is a complement rather than an overlap: an Agno agent can use it to spin up longer-running workers, check on them, and pause for a human's sign-off. The request_approval tool is the notable piece here: it hands control to a real person over Telegram before a risky action (spend, publishing, destructive changes), a common human-in-the-loop pattern.

Design notes

  • Uses the standard Toolkit base class: shells out in the style of the existing ShellTools, with per-tool enable_* / all registration flags.
  • No pip dependency, so pyproject.toml is not touched. The toolkit checks for the CLI with shutil.which and returns a clear, model-readable message if it is missing or unauthenticated, rather than raising.
  • All values (agent name, prompt, approval question) are passed as separate subprocess arguments with shell=False, so there is no shell interpolation.
  • Each tool's docstring is written to double as the LLM-facing description.

How to test

# Unit tests (mock the CLI, no network or 5dive account needed):
pytest libs/agno/tests/unit/tools/test_fivedive.py

# End to end (requires the 5dive CLI installed and authenticated):
#   see https://5dive.ai, then `5dive init`
python cookbook/91_tools/fivedive_tools.py

Files

  • libs/agno/agno/tools/fivedive.py (new)
  • cookbook/91_tools/fivedive_tools.py (new)
  • libs/agno/tests/unit/tools/test_fivedive.py (new)

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

PR Triage

Missing issue link: Please link the issue this PR addresses using fixes #<issue_number>, closes #<issue_number>, or resolves #<issue_number> in the PR description. If there is no existing issue, please create one first.

@lodar lodar force-pushed the add-fivedive-toolkit branch from e59e15d to dbb9b35 Compare July 3, 2026 14:58
@lodar lodar marked this pull request as draft July 3, 2026 15:00
@lodar lodar marked this pull request as ready for review July 3, 2026 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Add FiveDiveTools toolkit for deploying and managing 5dive agents

1 participant