How hanishdhanwalkar/agentware works
Agentware is a lightweight Python framework for LLM agents that can call registered tools. Its principal workflow accepts user input, stores conversation messages, sends them and available tool schemas to an LLM, executes requested tools, then asks the LLM for a final response. The repository also contains a separate Selenium-based web-surfer capability. The core agent, Ollama client, general tools, and browser code are sampled; other module paths and capabilities are included only where supported by the tree or README.
Main entry points: agent.py Agent · __init__.py Agent factory · ollama_me.py Ollama client · registry.py Tool registry
Components 15
Agent orchestration
- Agent factory
openagents/__init__.py - Agent
openagents/core/agent.py - Conversation state
openagents/core/state.py
LLM integration
- LLM registry
openagents/llm/providers.py - LLM interface
openagents/llm/base.py - Ollama client
openagents/llm/ollama_me.py
Tool system
- Tool registry
openagents/tools/registry.py - Tool definition
openagents/tools/base.py - General tools
openagents/tools/general.py
Web surfing
- WebSurfer
websurfer/web_elements.py - Browser search
websurfer/web_search.py
Other components
- User
- Ollama API
- Firefox browser
- Websites
Connections 19
- User → Agent: submits input
- Agent factory → LLM registry: selects provider
- Agent factory → Tool registry: creates registry
- Agent factory → General tools: registers tools
- Agent factory → Agent: creates agent
- Agent → Conversation state: stores messages
- Agent → Tool registry: lists and retrieves
- Agent → LLM interface: requests responses
- Agent → Tool definition: executes selected tool
- Agent → User: returns response
- LLM registry → Ollama client: selects implementation
- Ollama client → Ollama API: sends chat request
- Ollama API → Ollama client: returns response
- Ollama client → LLM interface: implements interface
- Tool registry → Tool definition: stores and retrieves
- General tools → Tool definition: provides tools
- WebSurfer → Firefox browser: controls browser
- Browser search → Firefox browser: navigates and searches
- Browser search → Websites: searches pages