Metadata-Version: 2.4
Name: microbots
Version: 0.0.20
Summary: container-based autonomous agent framework
Author-email: xxx <xxx@example.com>
Project-URL: Source Repo, https://github.com/microsoft/microbots
Project-URL: Issues, https://github.com/microsoft/microbots/issues
Keywords: agent,bot,micro
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: aiohappyeyeballs==2.6.1
Requires-Dist: aiohttp==3.12.15
Requires-Dist: aiosignal==1.4.0
Requires-Dist: annotated-types==0.7.0
Requires-Dist: anthropic==0.75.0
Requires-Dist: anyio==4.10.0
Requires-Dist: attrs==25.3.0
Requires-Dist: bashlex==0.18
Requires-Dist: certifi==2025.8.3
Requires-Dist: charset-normalizer==3.4.3
Requires-Dist: click==8.3.0
Requires-Dist: coverage==7.11.3
Requires-Dist: datasets==4.5.0
Requires-Dist: dill==0.4.0
Requires-Dist: distro==1.9.0
Requires-Dist: docker==7.1.0
Requires-Dist: docstring_parser==0.17.0
Requires-Dist: fastapi==0.116.1
Requires-Dist: filelock==3.20.3
Requires-Dist: frozenlist==1.7.0
Requires-Dist: fsspec==2025.10.0
Requires-Dist: h11==0.16.0
Requires-Dist: hf-xet==1.2.0
Requires-Dist: httpcore==1.0.9
Requires-Dist: httpx==0.28.1
Requires-Dist: huggingface_hub==1.3.2
Requires-Dist: idna==3.10
Requires-Dist: iniconfig==2.1.0
Requires-Dist: jiter==0.11.0
Requires-Dist: markdown-it-py==4.0.0
Requires-Dist: mdurl==0.1.2
Requires-Dist: multidict==6.6.4
Requires-Dist: multiprocess==0.70.18
Requires-Dist: numpy==1.26.4
Requires-Dist: openai==1.107.3
Requires-Dist: packaging==25.0
Requires-Dist: pandas==3.0.0
Requires-Dist: pexpect==4.9.0
Requires-Dist: pluggy==1.6.0
Requires-Dist: propcache==0.3.2
Requires-Dist: ptyprocess==0.7.0
Requires-Dist: pyarrow==23.0.0
Requires-Dist: pydantic==2.11.9
Requires-Dist: pydantic_core==2.33.2
Requires-Dist: Pygments==2.19.2
Requires-Dist: pytest==8.4.2
Requires-Dist: pytest-cov==7.0.0
Requires-Dist: python-dateutil==2.9.0.post0
Requires-Dist: python-dotenv==1.1.1
Requires-Dist: python-multipart==0.0.20
Requires-Dist: PyYAML==6.0.2
Requires-Dist: requests==2.32.5
Requires-Dist: rich==14.1.0
Requires-Dist: shellingham==1.5.4
Requires-Dist: six==1.17.0
Requires-Dist: sniffio==1.3.1
Requires-Dist: starlette==0.47.3
Requires-Dist: swe-rex==1.4.0
Requires-Dist: tqdm==4.67.1
Requires-Dist: typer-slim==0.21.1
Requires-Dist: typing-inspection==0.4.1
Requires-Dist: typing_extensions==4.15.0
Requires-Dist: urllib3==2.5.0
Requires-Dist: uvicorn==0.35.0
Requires-Dist: xxhash==3.6.0
Requires-Dist: yarl==1.20.1
Provides-Extra: ghcp
Requires-Dist: github-copilot-sdk==0.3.0; extra == "ghcp"
Provides-Extra: azure-ad
Requires-Dist: azure-identity>=1.15.0; extra == "azure-ad"
Provides-Extra: dev
Requires-Dist: pre-commit>=3.7; extra == "dev"
Requires-Dist: numpydoc>=1.8; extra == "dev"
Dynamic: license-file

# 🤖 Microbots

MicroBots is a lightweight, extensible AI agent for code comprehension and controlled file edits. It integrates cleanly into automation pipelines, mounting a target directory with explicit read-only or read/write modes so LLMs can safely inspect, refactor, or generate files with least-privilege access.

## 🚀 Quick Start

### Pre-requisites

- Docker
- AI LLM Provider and API Key

### Install

```bash
pip install microbots
```

### Example

```python
from microbots import WritingBot

myWritingBot = WritingBot(
    model="azure-openai/my-gpt5",
    folder_to_mount=str("myReactApp"),
)

data = myWritingBot.run(
    "Fix the build error and make sure the build is successful.",
    timeout_in_seconds=600,
)
print(data.results)
```

## 🤖 Available Bots

| Bot                | Description                                                            |
| ------------------ | ---------------------------------------------------------------------- |
| **ReadingBot**     | Reads files and extracts information based on instructions (read-only) |
| **WritingBot**     | Reads and writes files based on instructions (read/write)              |
| **BrowsingBot**    | Browses the web to gather information                                  |
| **LogAnalysisBot** | Analyzes logs for debugging                                            |
| **AgentBoss**      | Orchestrates multiple bots for complex tasks                           |

## ⚙️ How it works

![Overall Architecture](https://raw.githubusercontent.com/microsoft/microbots/main/docs/images/overall_architecture.png)

MicroBots creates a containerized environment and mounts the specified directory, restricting permissions to read-only or read/write based on the Bot used. This ensures AI agents operate within defined boundaries, enhancing security and control over code modifications while protecting the local environment.

## ✨ LLM Support

Microbots supports multiple LLM providers — pick whichever fits your stack:

| Provider string | Description                                                |
| --------------- | ---------------------------------------------------------- |
| `openai`        | OpenAI or Azure OpenAI via the OpenAI SDK (API key)        |
| `azure-openai`  | Azure OpenAI via the Azure SDK (API key or Azure AD token) |
| `anthropic`     | Anthropic models, direct or via Azure AI Foundry           |
| `ollama-local`  | Local models via [Ollama](https://ollama.com/)             |

Each provider has its own set of environment variables (endpoint, API key, deployment name, etc.). See the [Authentication guide](https://microsoft.github.io/microbots/advanced/authentication/) for the exact `.env` variables required for each provider and for Azure AD / managed identity setup.

## Azure Pipelines Log Analyzer

Microbots includes a published Azure DevOps Marketplace task, `MicrobotsLogAnalyzer@0`, for analyzing logs with Azure OpenAI models through an Azure Resource Manager Service Connection. See [docs/advanced/azure-pipelines-log-analyzer.md](docs/advanced/azure-pipelines-log-analyzer.md) to install and use the task in Azure Pipelines.

---

## 🎯 Getting Started

Ready to build your first Microbot project? Follow the step-by-step onboarding guide:

➡️ **[Get Started with Microbots](https://microsoft.github.io/microbots/getting-started/prerequisites/)**

## 🛠️ Developer Contribution Guidance

Want to contribute to Microbots? Follow the step-by-step guide to set up your environment and meet the project's code and documentation standards:

➡️ **[Developer Contribution Guidance](https://microsoft.github.io/microbots/advanced/developer-contribution-guidance/)**

## 📚 Links

- [GitHub Repository](https://github.com/microsoft/microbots)
- [Contributing Guide](https://github.com/microsoft/microbots/blob/main/CONTRIBUTING.md)
- [Code of Conduct](https://github.com/microsoft/microbots/blob/main/CODE_OF_CONDUCT.md)

## Legal Notice

Trademarks: this project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
