
Creative and utility tools for building unique AI agents with Bluetooth, vision, cursor control, audio, and more!
Installation
# Base installation
pip install strands-fun-tools
# With specific features
pip install "strands-fun-tools[cursor,clipboard,vision]"
# Everything
pip install "strands-fun-tools[all]"
Quick Start
from strands import Agent
from strands_fun_tools import human_typer, cursor, clipboard
agent = Agent(
tools=[human_typer, cursor, clipboard],
system_prompt="You can type like a human and control the cursor!"
)
agent("Type 'Hello World!' with excited emotion and copy it to clipboard")
🎮 Interaction
| Tool |
Install |
Description |
human_typer |
base |
Human-like typing with emotions and typos |
cursor |
[cursor] |
Mouse & keyboard automation |
clipboard |
[clipboard] |
Clipboard monitoring & history |
dialog |
[dialog] |
Interactive terminal prompts |
👁️ Vision
| Tool |
Install |
Description |
screen_reader |
[vision] |
OCR-based screen monitoring |
yolo_vision |
[vision] |
Real-time object detection (YOLOv8) |
face_recognition |
[face] |
Face detection via AWS Rekognition |
take_photo |
[vision] |
Camera capture & burst mode |
🎤 Audio
| Tool |
Install |
Description |
listen |
[audio] |
Background audio transcription (Whisper) |
📡 Connectivity
| Tool |
Install |
Description |
bluetooth |
[bluetooth] |
BLE device monitoring & GATT operations |
♟️ Games
| Tool |
Install |
Description |
chess |
[chess] |
Stockfish chess engine integration |
🎨 Display
| Tool |
Install |
Description |
spinner_generator |
[display] |
Custom loading animations (50+ types) |
template |
[template] |
Jinja2 template rendering |
asciimatics_ui |
[ui] |
Terminal UI framework |
🔧 Utilities
| Tool |
Install |
Description |
utility |
[utility] |
Crypto, encoding, hashing, JSON/YAML |
dynamic_package |
base |
Execute any Python package function |
npm |
base |
Run npm packages from Python |
Examples
Human-Like Typing
agent.tool.human_typer(
text="Hello World!",
emotion="excited", # calm, excited, thoughtful, rushed, nervous
typo_rate=2, # 0-10 percentage
thinking_pauses=True # Pause at punctuation
)
Background Monitoring
from strands import Agent
from strands_fun_tools import bluetooth, clipboard, yolo_vision
agent = Agent(tools=[bluetooth, clipboard, yolo_vision])
agent("""
Start monitoring:
1. Bluetooth devices nearby
2. Clipboard content changes
3. Objects visible on camera
""")
Autonomous Screen Control
from strands import Agent
from strands_fun_tools import screen_reader, cursor
agent = Agent(tools=[screen_reader, cursor])
agent("""
1. Find the 'Submit' button on screen
2. Click it
""")
Chess Analysis
agent.tool.chess(action="new_game")
agent.tool.chess(action="make_move", move="e2e4")
agent.tool.chess(action="get_best_move")
agent.tool.chess(action="analyze", depth=20)
cursor
| Action |
Description |
move |
Move cursor to position |
click |
Click at position |
drag |
Drag from A to B |
type_text |
Type text |
hotkey |
Press key combination |
clipboard
| Action |
Description |
start |
Start monitoring |
read |
Get current content |
write |
Write to clipboard |
get_history |
Get clipboard history |
screen_reader
| Action |
Description |
start |
Start OCR monitoring |
capture_once |
Single capture |
find_element |
Find text/button on screen |
yolo_vision
| Action |
Description |
start |
Start detection |
detect_once |
Single detection |
query_objects |
Query specific objects |
bluetooth
| Action |
Description |
start |
Start scanning |
scan_once |
Single scan |
list_devices |
List discovered devices |
read_characteristic |
Read BLE characteristic |
Give your agent superpowers. 🎨