Skip to main content

Agent tools in Python (web, files, terminal, browser, memory, cron, and more).

Project description

simpleAgentTools

GitHub Stars GitHub Forks GitHub Issues License

PyPI Version PyPI - Python PyPI Downloads

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simpleagenttools-0.1.1.tar.gz (39.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simpleagenttools-0.1.1-py3-none-any.whl (46.9 kB view details)

Uploaded Python 3

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

Hashes for simpleagenttools-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a4b7c56f59e12d80f4471a7387b6d1d1e8f8235cbdbeb769f80ecf14fbf00397
MD5 74e28f85d5e7dcaa52feb52f408069c9
BLAKE2b-256 47efef87efc870a24125b413e1c3fc64196bd03a4623a6c4c1f0f65f7fbb6d4a

See more details on using hashes here.

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

Hashes for simpleagenttools-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b16476bade85cb47876d9258a20c0c90c73adf91e57340faf29cfb9056644a1a
MD5 78bef1e8e30fda9b9afc3bfac9509d74
BLAKE2b-256 73c275d3d77f8239f87e3b4826ec0f70efcd0fbfbad0f08f80ff2df5a5dabcdd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page