Metadata-Version: 2.4
Name: toolbot
Version: 0.1.0
Summary: A friendly, no-fuss AI assistant that calls your own tools for you.
Author-email: Steven Harris <steven@oohfixer.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/oohfixer/toolbot
Project-URL: Repository, https://github.com/oohfixer/toolbot
Keywords: ai,assistant,tools,llm,openrouter,mcp,automation
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: End Users/Desktop
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: jsonschema>=4.20
Requires-Dist: beautifulsoup4>=4.12
Requires-Dist: markdown>=3.4
Requires-Dist: python-dotenv>=1.0
Provides-Extra: mcp
Requires-Dist: mcp<2.0.0,>=1.0.0; extra == "mcp"
Provides-Extra: ai
Requires-Dist: openai>=1.0.0; extra == "ai"
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1; extra == "dev"
Requires-Dist: coverage[toml]>=7.3; extra == "dev"
Requires-Dist: pre-commit>=3.5; extra == "dev"
Requires-Dist: black>=23.12; extra == "dev"
Requires-Dist: ruff>=0.1.9; extra == "dev"
Requires-Dist: mypy<2.0,>=1.7; extra == "dev"
Requires-Dist: build>=1.0; extra == "dev"
Requires-Dist: types-requests; extra == "dev"
Requires-Dist: types-PyYAML; extra == "dev"
Requires-Dist: pandas>=2.0; extra == "dev"
Requires-Dist: openpyxl>=3.0; extra == "dev"
Requires-Dist: feedgen>=0.9; extra == "dev"
Requires-Dist: schedule>=1.1; extra == "dev"
Dynamic: license-file

# Toolbot

A friendly AI helper for your everyday busywork.

Hi, I'm Steven.

I built Toolbot because I wanted a personal assistant that does not just talk to you. It does things. You tell it what you want in plain English, and it figures out which of its little tools to use and handles it for you. No commands to memorize, and no jargon to learn.

It is free and open source under the MIT license, and it runs on your own computer, so your information stays on your own computer.

## Getting started (about five minutes)

Install it once.

    pip install toolbot

Set it up once.

    toolbot setup

This asks you a couple of simple questions. One of them is for an API key from [openrouter.ai](https://openrouter.ai). That key is what lets the assistant understand plain English. It is the only outside service involved, and your information is only sent there to answer your request.

Then start chatting.

    toolbot

## What you can say

Just type what you want in your own words:

    Summarize this URL for me: https://example.com/article
    What is the main topic of this article?
    Check the SEO on example.com, please
    Help me pick a good title and description

The more helpers Toolbot has, the more it can do. You can see the current list any time by typing "tools" while you are chatting.

## How it works, in plain words

There are two parts that work together.

Toolbot is the careful part. It listens to what you say and decides what to do. The helpers are the small, reliable pieces it calls on to do the actual work, such as finding keywords, checking a page for SEO, or remembering something for you later.

Every helper follows clear rules about what it accepts and what it returns. Because of that agreement, Toolbot can trust the helpers to do their jobs while it handles the thinking. That simple agreement is the heart of this little harness, and it is what keeps everything consistent and dependable.

## For people who like to tinker

There is a separate technical note aimed at builders and learners, called [DEVELOPER.md](DEVELOPER.md). It explains how the pieces fit together. Rough helper ideas that are not quite ready yet live in the `deferred-tools` folder, along with a short note in plain English.

## A note from me

I built this for myself while I am still learning how to code properly, and I decided to share it in the hope that it helps someone else too. If anything is confusing, or you have an idea, or you want to help make it better, I would love to hear from you. That is the whole point of releasing it as open source.

## License

MIT. See the LICENSE file for the legal wording.
