Agent tools in Python (web, files, terminal, browser, memory, cron, and more).
Project description
simpleAgentTools
Stats: 36 built-in tools (see Agent toolkit) · Python 3.10+ · Apache-2.0 · PyPI simpleagenttools · pip install simpleAgentTools
Python agent tools: web, browser (optional Playwright), terminal, files, vision (OpenAI-compatible), todo, clarify, code execution, delegation (callback), memory, session search, cron, messaging hooks, Honcho-like local profile, and skills on disk.
This repository is the simpleAgentTools distribution on PyPI (project page — PyPI normalizes the name to lowercase in URLs). The importable Python package is simpletools. Builds and installs are driven by uv.
Agent toolkit
Tools are registered in simpletools/registry.py (TOOLS). Host code wires a ToolContext and calls ToolRunner.call or registry.call_tool. The CLI can list the same names: simpleAgentTools list (the simpletools command is an alias).
| Tool | What it does |
|---|---|
browser_back |
History back. |
browser_click |
Click element by @ref. |
browser_close |
Close browser. |
browser_console |
Console messages since navigate. |
browser_get_images |
List images on page. |
browser_navigate |
Open URL (Playwright). |
browser_press |
Press key. |
browser_scroll |
Scroll page. |
browser_snapshot |
Accessibility-ish snapshot with @refs. |
browser_type |
Fill input by @ref. |
browser_vision |
Screenshot + vision model. |
clarify |
Ask user (TTY) or return non-interactive payload. |
cronjob |
Cron create/list/update/run/remove. |
delegate_task |
Subtasks via on_delegate callback. |
execute_code |
Run Python in subprocess. |
honcho_conclude |
Append conclusion to facts/profile. |
honcho_context |
Concatenate matching facts. |
honcho_profile |
Peer card JSON. |
honcho_search |
Search stored facts. |
memory |
File-backed MEMORY.md/USER.md (add/replace/remove/read). |
patch |
Replace mode: fuzzy multi-strategy match or V4A mode=patch. |
process |
Manage background processes. |
read_file |
Read file with line numbers. |
search_files |
Search by content or filename. |
send_message |
Pluggable outbound messaging. |
session_index |
Store session title/summary/body for session_search. |
session_search |
Search indexed sessions. |
skill_manage |
Create/update/delete skill. |
skill_view |
Read SKILL.md or file. |
skills_list |
List skills. |
terminal |
Run shell command (optional background). |
todo |
Session todo list. |
vision_analyze |
Vision on image file or base64. |
web_extract |
Fetch URL and return stripped text. |
web_search |
Search the web (Tavily if TAVILY_API_KEY else DuckDuckGo instant). |
write_file |
Write file (overwrite). |
Development with uv
git clone <repo-url> && cd <repo-directory>
uv sync --all-extras # install runtime + browser extra + dev (pytest, ruff)
uv run python -m unittest discover -s tests -v
uv run ruff check simpletools tests
uv run ruff format simpletools tests
Lockfile: uv.lock is committed so CI and installs stay reproducible. Refresh after dependency edits:
uv lock
Install (users)
pip install simpleAgentTools
pip treats the PyPI name case-insensitively; the same package is available as pip install simpleagenttools.
uv tool install simpleAgentTools
# or
uv pip install simpleAgentTools
# optional browser automation
uv pip install "simpleAgentTools[browser]"
playwright install chromium
Usage
from pathlib import Path
from simpletools import ToolRunner
r = ToolRunner(cwd=Path("."))
print(r.call("web_search", query="Python 3.12"))
print(r.call("memory", action="add", target="memory", content="Uses uv for packaging"))
CLI:
simpleAgentTools list
simpleAgentTools call memory --args '{"action":"read"}'
Configuration
Environment highlights: FIRECRAWL_API_KEY / FIRECRAWL_API_URL, TAVILY_API_KEY, EXA_API_KEY, optional SIMPLETOOLS_WEB_BACKEND (firecrawl, tavily, or exa), OPENAI_* for vision, SIMPLETOOLS_DATA_DIR, SIMPLETOOLS_FILE_READ_MAX_CHARS, SIMPLETOOLS_SKILLS_DIR.
Behavior notes: multi-strategy fuzzy patch replace, optional mode="patch" V4A hunks, file read guards (device blocklist, char cap, repeat-read loop), configurable web search backends, file-backed memory (memories/MEMORY.md + USER.md, § entries), session todos with content/status.
Acknowledgments
All of the tools in this repository are inspired by Hermes from NousResearch. The intent of this project is to simplify tool usage for external agents as well.
Nothing but love to the NousResearch team.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simpleagenttools-0.1.1.tar.gz.
File metadata
- Download URL: simpleagenttools-0.1.1.tar.gz
- Upload date:
- Size: 39.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4b7c56f59e12d80f4471a7387b6d1d1e8f8235cbdbeb769f80ecf14fbf00397
|
|
| MD5 |
74e28f85d5e7dcaa52feb52f408069c9
|
|
| BLAKE2b-256 |
47efef87efc870a24125b413e1c3fc64196bd03a4623a6c4c1f0f65f7fbb6d4a
|
File details
Details for the file simpleagenttools-0.1.1-py3-none-any.whl.
File metadata
- Download URL: simpleagenttools-0.1.1-py3-none-any.whl
- Upload date:
- Size: 46.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b16476bade85cb47876d9258a20c0c90c73adf91e57340faf29cfb9056644a1a
|
|
| MD5 |
78bef1e8e30fda9b9afc3bfac9509d74
|
|
| BLAKE2b-256 |
73c275d3d77f8239f87e3b4826ec0f70efcd0fbfbad0f08f80ff2df5a5dabcdd
|