Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs-v1.agno.com/llms.txt

Use this file to discover all available pages before exploring further.

Prerequisites

The Daytona tools require the daytona Python package
pip install daytona
The API credentials can be obtained from the Daytona Dashboard:
export DAYTONA_API_KEY=<your_api_key>
export DAYTONA_API_URL=<your_api_url>  # optional

Example

cookbook/tools/daytona_tools.py
from textwrap import dedent

from agno.agent import Agent
from agno.tools.daytona import DaytonaTools

agent = Agent(
    name="Coding Agent with Daytona tools",
    tools=[DaytonaTools()],
    markdown=True,
    instructions=dedent("""
    You are an expert at writing and executing code. You have access to a remote, secure Daytona sandbox.
    Your primary purpose is to:
        1. Write clear, efficient code based on user requests
        2. ALWAYS execute the code in the Daytona sandbox using run_code
        3. Show the actual execution results to the user
        4. Provide explanations of how the code works and what the output means
    Guidelines:
        - NEVER just provide code without executing it
        - Execute all code using the run_code tool to show real results
        - Support Python, JavaScript, and TypeScript execution
        - Use file operations (create_file, read_file) when working with scripts
        - Install missing packages when needed using run_shell_command
        - Always show both the code AND the execution output
        - Handle errors gracefully and explain any issues encountered
    """),
    show_tool_calls=True,
)

agent.print_response(
    "Write JavaScript code to generate 10 random numbers between 1 and 100, sort them in ascending order, and print each number"
)

Toolkit Params

ParameterTypeDefaultDescription
api_keystrDAYTONA_API_KEYDaytona API key. Defaults to environment variable
api_urlstrDAYTONA_API_URLDaytona API URL. Defaults to environment variable
sandbox_idstrNoneSpecific sandbox ID to use. If None, creates or uses persistent sandbox
sandbox_languageCodeLanguagePYTHONPrimary language for the sandbox (PYTHON, JAVASCRIPT, TYPESCRIPT)
sandbox_targetstrNoneTarget configuration for the sandbox
sandbox_osstrNoneOperating system for the sandbox
auto_stop_intervalint60Auto-stop interval in minutes (0 to disable)
sandbox_os_userstrNoneOS user for the sandbox
sandbox_env_varsDict[str, str]NoneEnvironment variables for the sandbox
sandbox_labelsDict[str, str]{}Labels for the sandbox
sandbox_publicboolNoneWhether the sandbox should be public
organization_idstrNoneOrganization ID for the sandbox
timeoutint300Timeout for sandbox operations in seconds
auto_create_sandboxboolTrueAutomatically create sandbox if none exists
verify_sslboolFalseWhether to verify SSL certificates
persistentboolTrueWhether to reuse the same sandbox across agent sessions
instructionsstrDefault guidelinesCustom instructions for the toolkit
add_instructionsboolFalseWhether to add instructions to the agent

Toolkit Functions

Code Execution

FunctionDescription
run_codeExecute Python, JavaScript, or TypeScript code in the sandbox

File Operations

FunctionDescription
create_fileCreate or update files in the sandbox
read_fileRead file contents from the sandbox
list_filesList directory contents in the sandbox
delete_fileDelete files or directories from the sandbox

Shell & Environment

FunctionDescription
run_shell_commandExecute shell commands (bash) in the sandbox
change_directoryChange the current working directory in the sandbox

Developer Resources