feat(tools): add FiveDiveTools toolkit for deploying and managing 5dive agents#8729
Open
lodar wants to merge 1 commit into
Open
feat(tools): add FiveDiveTools toolkit for deploying and managing 5dive agents#8729lodar wants to merge 1 commit into
lodar wants to merge 1 commit into
Conversation
Contributor
PR TriageMissing issue link: Please link the issue this PR addresses using |
e59e15d to
dbb9b35
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 public5divecommand line tool viasubprocess(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_approvaltool 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
Toolkitbase class: shells out in the style of the existingShellTools, with per-toolenable_*/allregistration flags.pyproject.tomlis not touched. The toolkit checks for the CLI withshutil.whichand returns a clear, model-readable message if it is missing or unauthenticated, rather than raising.subprocessarguments withshell=False, so there is no shell interpolation.How to test
Files
libs/agno/agno/tools/fivedive.py(new)cookbook/91_tools/fivedive_tools.py(new)libs/agno/tests/unit/tools/test_fivedive.py(new)