Built-in tools
Tyler comes with a set of built-in tools that provide common functionality for AI agents. These tools are ready to use out of the box and can be enabled or disabled as needed.
Web tools
Web search
Search the web using DuckDuckGo.
web_search(query: str) -> List[SearchResult]
Web browse
Visit a URL and extract its content.
web_browse(url: str) -> WebPage
File tools
Read file
Read the contents of a file.
read_file(path: str) -> str
Write file
Write content to a file.
write_file(path: str, content: str) -> None
List directory
List contents of a directory.
list_dir(path: str) -> List[str]
System tools
Run command
Execute a system command.
run_command(command: str) -> CommandResult
Get environment
Get environment variables.
get_env(var_name: str) -> str
Image tools
Generate image
Generate an image using DALL-E.
generate_image(prompt: str) -> bytes
Analyze image
Analyze an image using GPT-4 Vision.
analyze_image(image: bytes) -> str
Code tools
Execute code
Execute Python code in a sandbox.
execute_code(code: str) -> CodeResult
Format code
Format code using black.
format_code(code: str) -> str
Next steps
- See the individual tool documentation pages linked above for examples and detailed API references
Web Tools
The web module provides tools for interacting with web content.
web-fetch_page
Fetches content from a web page and returns it in a clean, readable format with preserved structure.
Parameters:
url
(string, required): The URL to fetchformat
(string, optional): Output format - either 'text' or 'html'. Default: 'text'- Use 'text' for getting the content of a page
- Only use 'html' when you need the raw HTML content
headers
(object, optional): Optional headers to send with the request
Slack Tools
The Slack module provides tools for interacting with Slack workspaces.
slack-post_to_slack
Posts a message to Slack. The tool is careful about channel selection and requires explicit channel specification.
Parameters:
channel
(string, required): The Slack channel to post toblocks
(array, required): The blocks to post to Slack- Each block is an object with:
type
(string)text
(object)
- Each block is an object with:
slack-create_channel
Creates a new Slack channel.
Parameters:
name
(string, required): The name of the channel to create (will be automatically converted to lowercase and hyphens)is_private
(boolean, optional): Whether to create a private channel
slack-invite_to_channel
Invites a user to a Slack channel.
Parameters:
channel
(string, required): The channel ID or name to invite the user touser
(string, required): The user ID to invite to the channel
Command Line Tools
The command line module provides safe access to system commands.
command_line-run_command
Executes whitelisted command line operations safely.
Parameters:
command
(string, required): Command to execute (must start with a whitelisted command)working_dir
(string, optional): Working directory for the command (defaults to current directory)
Available Commands:
Navigation & Read Operations (unrestricted):
ls
: List directory contentspwd
: Print working directorycd
: Change directorycat
: Display file contentsfind
: Search for files by namegrep
: Search for patterns in filestree
: Display directory structurewc
: Count lines/words/charactershead/tail
: Show start/end of filesdiff
: Compare files
File Operations (restricted to workspace only):
mkdir
: Create directorytouch
: Create empty filerm
: Remove file/empty dircp
: Copy filemv
: Move/rename fileecho
: Write to filesed
: Edit file content
Notion Tools
The Notion module provides tools for interacting with Notion workspaces.
notion-search
Searches all titles of pages and databases in Notion that have been shared with the integration.
Parameters:
query
(string, optional): The search query to find in page/database titlesfilter
(object, optional): Filter to only return pages or databasesvalue
: "page" or "database"property
: "object"
start_cursor
(string, optional): Cursor for paginationpage_size
(integer, optional): Number of results to return (1-100, default 100)
Image Tools
The image module provides tools for generating and manipulating images.
image-generate
Generates images based on text descriptions using DALL-E 3.
Parameters:
prompt
(string, required): Text description of the desired image (max 4000 characters)size
(string, optional): Size of the generated image. Default: "1024x1024"- Options: "1024x1024", "1792x1024", "1024x1792"
quality
(string, optional): Quality of the image. Default: "standard"- "standard": Normal quality
- "hd": Creates images with finer details and greater consistency
style
(string, optional): Style of the generated image. Default: "vivid"- "vivid": Hyper-real and dramatic
- "natural": Less hyper-real
Using Built-in Tools
To use these tools, include their module names in your agent's configuration:
tools:
- "web" # Web tools
- "slack" # Slack tools
- "notion" # Notion tools
- "command_line" # Command line tools
- "image" # Image generation tools
Or when creating an agent programmatically:
from tyler.models import Agent
agent = Agent(
model_name="gpt-4o",
purpose="To help with various tasks",
tools=["web", "slack", "notion", "command_line", "image"]
)
Required Environment Variables
Some tools require specific environment variables to be set:
Slack Tools
SLACK_BOT_TOKEN
: Your Slack bot tokenSLACK_SIGNING_SECRET
: Your Slack signing secret
Notion Tools
NOTION_API_KEY
: Your Notion API keyNOTION_VERSION
: Notion API version (e.g., "2022-06-28")
Image Tools
OPENAI_API_KEY
: Your OpenAI API key (for DALL-E 3)
Additional Resources
- See the individual tool documentation pages linked above for examples and detailed API references