Overview

This page provides detailed documentation for each tool collection in Lye, including parameters, return values, and usage examples.

WEB_TOOLS

Tools for web browsing, searching, and content extraction.

web-fetch_page

Fetches content from a web page in text or HTML format.
url
string
required
The URL to fetch
format
string
default:"text"
Output format - “text” for readable content, “html” for raw HTML
headers
object
Custom headers to send with request
# Example usage
thread.add_message(Message(
    role="user",
    content="Get the content from https://example.com"
))
Search the web using Google.
query
string
required
The search query
num_results
integer
default:"5"
Number of results to return (max 10)
# Example usage
thread.add_message(Message(
    role="user",
    content="Search for recent AI developments"
))

web-download_file

Download files from URLs.
url
string
required
URL of the file to download
headers
object
Custom headers for the request
Returns downloaded file as attachment.

FILES_TOOLS

Tools for file system operations.

files-read_file

Read contents of a file.
path
string
required
Path to the file to read
encoding
string
default:"utf-8"
File encoding

files-write_file

Write content to a file.
path
string
required
Path where to write the file
content
string
required
Content to write
encoding
string
default:"utf-8"
File encoding
create_dirs
boolean
default:"false"
Create parent directories if they don’t exist

files-list_directory

List contents of a directory.
path
string
default:"."
Directory path to list
recursive
boolean
default:"false"
List subdirectories recursively
include_hidden
boolean
default:"false"
Include hidden files (starting with .)

files-move_file

Move or rename a file.
source
string
required
Source file path
destination
string
required
Destination file path

files-copy_file

Copy a file.
source
string
required
Source file path
destination
string
required
Destination file path

files-delete_file

Delete a file.
path
string
required
Path to file to delete

files-create_directory

Create a directory.
path
string
required
Directory path to create
parents
boolean
default:"true"
Create parent directories if needed

files-search_files

Search for files matching a pattern.
pattern
string
required
Search pattern (supports wildcards)
directory
string
default:"."
Directory to search in
recursive
boolean
default:"true"
Search subdirectories

IMAGE_TOOLS

Tools for image generation and analysis.

image-generate_image

Generate images using DALL-E 3.
prompt
string
required
Description of the image to generate
model
string
default:"dall-e-3"
Model to use: “dall-e-3” or “dall-e-2”
size
string
default:"1024x1024"
Image size: “1024x1024”, “1792x1024”, or “1024x1792” (DALL-E 3)
quality
string
default:"standard"
Image quality: “standard” or “hd” (DALL-E 3 only)
style
string
default:"vivid"
Style: “vivid” or “natural” (DALL-E 3 only)
Returns generated image as attachment.

image-analyze_image

Analyze images using GPT-4 Vision.
image_path
string
required
Path to image file or URL
prompt
string
default:"What do you see?"
Question about the image
detail
string
default:"auto"
Analysis detail: “low”, “high”, or “auto”

image-create_qr_code

Generate QR codes.
data
string
required
Data to encode in QR code
size
integer
default:"300"
QR code size in pixels
border
integer
default:"4"
Border size in modules
Returns QR code image as attachment.

image-resize_image

Resize images.
image_path
string
required
Path to image file
width
integer
Target width (maintains aspect if height not specified)
height
integer
Target height (maintains aspect if width not specified)
mode
string
default:"contain"
Resize mode: “contain”, “cover”, “fill”, or “exact”

image-convert_image

Convert between image formats.
image_path
string
required
Path to source image
output_format
string
required
Target format: “JPEG”, “PNG”, “WEBP”, “BMP”, “GIF”
quality
integer
default:"95"
Output quality (1-100, for lossy formats)

AUDIO_TOOLS

Tools for audio processing.

audio-transcribe

Transcribe audio using OpenAI Whisper.
audio_path
string
required
Path to audio file
model
string
default:"whisper-1"
Whisper model to use
language
string
Language code (e.g., “en”, “es”)
temperature
number
default:"0"
Sampling temperature (0-1)

COMMAND_LINE_TOOLS

System command execution.

run_terminal_command

Execute shell commands.
command
string
required
Command to execute
working_directory
string
default:"."
Directory to run command in
timeout
integer
default:"30"
Command timeout in seconds
shell
boolean
default:"true"
Run command in shell

SLACK_TOOLS

Slack integration tools.

slack-send_message

Send messages to Slack.
channel
string
required
Channel ID or name (e.g., “C1234567890” or “#general”)
text
string
required
Message text
thread_ts
string
Thread timestamp to reply to
blocks
array
Rich message blocks

slack-get_messages

Retrieve messages from a channel.
channel
string
required
Channel ID
limit
integer
default:"100"
Number of messages to retrieve
oldest
string
Oldest message timestamp
latest
string
Latest message timestamp

slack-list_channels

List available Slack channels.
types
string
default:"public_channel"
Channel types: “public_channel”, “private_channel”, “mpim”, “im”
exclude_archived
boolean
default:"true"
Exclude archived channels

slack-react_to_message

Add emoji reaction to a message.
channel
string
required
Channel ID
timestamp
string
required
Message timestamp
emoji
string
required
Emoji name (without colons)

NOTION_TOOLS

Notion workspace integration.

notion-create_page

Create a new Notion page.
parent_id
string
required
Parent page or database ID
title
string
required
Page title
content
string | array
required
Page content (text or blocks)
properties
object
Page properties for database items

notion-update_page

Update existing Notion page.
page_id
string
required
Page ID to update
content
string | array
New content
properties
object
Properties to update
Search Notion workspace.
query
string
required
Search query
filter
object
Filter by object type: “page” or “database”
sort
object
Sort results by “last_edited_time”

BROWSER_TOOLS

Browser automation with Playwright.

browser-navigate

Navigate to a URL.
url
string
required
URL to navigate to
wait_until
string
default:"networkidle"
Wait condition: “load”, “domcontentloaded”, “networkidle”

browser-click

Click an element.
selector
string
required
CSS selector or text
timeout
integer
default:"30000"
Timeout in milliseconds

browser-type

Type text into an input.
selector
string
required
Input selector
text
string
required
Text to type
delay
integer
default:"0"
Delay between keystrokes (ms)

browser-screenshot

Take a screenshot.
path
string
Save screenshot to path
full_page
boolean
default:"false"
Capture full page
selector
string
Capture specific element

WANDB_TOOLS

Weights & Biases integration.

wandb-create_workspace

Create a W&B workspace.
name
string
required
Workspace name
project
string
required
W&B project name
config
object
Workspace configuration

wandb-log_metrics

Log metrics to W&B.
metrics
object
required
Metrics to log
step
integer
Step number
commit
boolean
default:"true"
Commit immediately

Usage Examples

Web research agent

from tyler import Agent, Thread, Message
from lye import WEB_TOOLS, FILES_TOOLS

agent = Agent(
    name="researcher",
    tools=[*WEB_TOOLS, *FILES_TOOLS]
)

thread = Thread()
thread.add_message(Message(
    role="user",
    content="Research the latest developments in quantum computing and save a summary to research.md"
))

result = await agent.go(thread)

Creative assistant

from lye import IMAGE_TOOLS, AUDIO_TOOLS

agent = Agent(
    name="creative",
    tools=[*IMAGE_TOOLS, *AUDIO_TOOLS]
)

thread.add_message(Message(
    role="user",
    content="Generate an image of a futuristic city and transcribe this audio note",
    attachments=[audio_file]
))

DevOps Agent

from lye import COMMAND_LINE_TOOLS, FILES_TOOLS, SLACK_TOOLS

agent = Agent(
    name="devops",
    tools=[*COMMAND_LINE_TOOLS, *FILES_TOOLS, *SLACK_TOOLS]
)

thread.add_message(Message(
    role="user",
    content="Check system status, create a report, and notify the team on Slack"
))