Skip to main content

How to Add Built-in Tools

1

List Available Tools

praisonai tools list
2

Add Tools to TEMPLATE.yaml

# TEMPLATE.yaml
name: my-template
version: "1.0.0"

requires:
  tools:
    - internet_search
    - shell_tool
    - file_read_tool
    - file_write_tool
3

Reference Tools in agents.yaml

# agents.yaml
roles:
  researcher:
    role: Research Agent
    tools:
      - internet_search
    tasks:
      search_task:
        description: "Search for {{topic}}"
4

Run Template

praisonai templates run ./my-template --topic "AI agents"

How to Add Custom Tools via tools.py

1

Create tools.py in Template Directory

# tools.py
def my_custom_tool(query: str) -> str:
    """Custom tool that processes a query.
    
    Args:
        query: The input query to process
        
    Returns:
        Processed result as string
    """
    return f"Processed: {query}"

def another_tool(data: str) -> dict:
    """Another custom tool.
    
    Args:
        data: Input data
        
    Returns:
        Dictionary with results
    """
    return {"result": data, "status": "success"}
2

Reference in agents.yaml

roles:
  processor:
    role: Data Processor
    tools:
      - my_custom_tool
      - another_tool
    tasks:
      process_task:
        description: "Process the data"
3

Run Template

praisonai templates run ./my-template

How to Add External Tool Sources

1

Add tools_sources to TEMPLATE.yaml

# TEMPLATE.yaml
name: video-editor
version: "1.0.0"

requires:
  tools: [shell_tool]
  tools_sources:
    - praisonai_tools.video
    - ./custom_tools.py
2

Use External Tools in agents.yaml

roles:
  editor:
    role: Video Editor
    tools:
      - shell_tool
    tasks:
      edit_task:
        description: "Edit the video using praisonai_tools.video CLI"
3

Run with Tools Source Override

praisonai templates run video-editor --tools-source praisonai_tools.video

Tool Resolution Order

PrioritySourceDescription
1CLI --toolsFiles specified via CLI
2CLI --tools-dirDirectories specified via CLI
3CLI --tools-sourceModule overrides via CLI
4tools_sourcesFrom TEMPLATE.yaml
5tools.pyTemplate-local tools.py
6Default dirs~/.praison/tools
7Package discoverypraisonai_tools
8Built-inpraisonaiagents built-in tools