Observed since 21 Oct, 08:57 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
AgentWerkstatt, a minimalistic agentic framework
A minimalistic agentic framework for building AI agents with tool calling capabilities. Why do we need another agentic framework? I felt that all other frameworks were too complex and had too many dependencies, I wanted to build a framework that was easy to understand and use, and that was also easy to extend. The main goal here isn't on production scenarios (yet), but on understanding and prototyping agentic systems. Therefore, the name "AgentWerkstatt" is a play on the term Agent and the German word "Werkstatt" (workshop).
AgentWerkstatt is a lightweight, extensible framework for creating AI agents. It is powered by Claude (Anthropic), but it is highly extensible and can be used with other LLMs. It features a modular architecture with pluggable LLM providers and tools, making it easy to build conversational agents with access to external capabilities like web search. More LLMs will be supported in the future.
Clone the repository:
git clone https://github.com/hanneshapke/agentwerkstatt.git
cd agentwerkstatt
Install dependencies:
# Basic installation
uv sync
# With optional features
uv sync --extra tracing # Langfuse tracing support
uv sync --extra memory # mem0 memory support
uv sync --all-extras # All optional features
Set up environment variables:
# Create a .env file
echo "ANTHROPIC_API_KEY=your_anthropic_api_key_here" >> .env
echo "TAVILY_API_KEY=your_tavily_api_key_here" >> .env # Optional for web search
echo "OPENAI_API_KEY=your_openai_api_key_here" >> .env # Optional for mem0 memory
AgentWerkstatt includes a Docker Compose stack with integrated services:
To start the services:
# Start all services
docker compose -f third_party/docker-compose.yaml up -d
# Or start specific services
docker compose -f third_party/docker-compose.yaml up -d mem0 neo4j postgres
For detailed setup instructions, see:
.env file as ANTHROPIC_API_KEY.env file as TAVILY_API_KEY.env file as OPENAI_API_KEYRun the interactive CLI:
# Using default configuration (agent_config.yaml)
python agent.py
# Using a custom configuration file
python agent.py --config /path/to/your/config.yaml
Example conversation:
🤖 AgentWerkstatt
==================================================
Loading config from: agent_config.yaml
I'm an example AgentWerkstatt assistant with web search capabilities!
Ask me to search the web for information.
Commands: 'quit'/'exit' to quit, 'clear' to reset, 'status' to check conversation state.
You: What's the latest news about AI developments?
🤔 Agent is thinking...
🤖 Agent: I'll search for the latest AI developments for you.
[Search results and AI summary will be displayed here]
You: clear # Clears conversation history
🧹 Conversation history cleared!
You: quit
👋 Goodbye!
from agentwerkstatt import Agent, AgentConfig
# Initialize with default config
config = AgentConfig.from_yaml("agent_config.yaml")
agent = Agent(config)
# Or customize the configuration
config = AgentConfig(
model="claude-sonnet-4-20250514",
tools_dir="./tools",
verbose=True,
agent_objective="You are a helpful assistant with web search capabilities."
)
agent = Agent(config)
# Process a request
response = agent.process_request("Search for recent Python releases")
print(response)
# Clear conversation history
agent.llm.clear_history()
The CLI supports the following command line arguments:
--config - Path to the agent configuration file (default: agent_config.yaml)--help - Show help message and available optionsExamples:
# Use default configuration
python agent.py
# Use custom configuration file
python agent.py --config my_custom_config.yaml
# Show help
python agent.py --help
For comprehensive documentation, please visit our documentation directory:
Basic configuration in agent_config.yaml:
# LLM Model Configuration
model: "claude-sonnet-4-20250514"
# Tools Configuration
tools_dir: "./tools"
# Logging Configuration
verbose: true
# Agent Objective/System Prompt
agent_objective: |
You are a helpful assistant with web search capabilities.
You can search the web for current information and provide accurate, helpful responses.
Always be conversational and helpful in your responses.
Environment Variables:
ANTHROPIC_API_KEY - Required for Claude API accessTAVILY_API_KEY - Optional, for web search functionalityFor complete configuration options, see the Configuration Guide.
Check out our ROADMAP.md to see what's planned for future releases, including:
We welcome feedback and contributions to help shape the project's direction!
git checkout -b feature/amazing-feature)uv run ruff check --fix
uv run ruff format
uv run mypy .
uv run pytest
git commit -m 'Add amazing feature')git push origin feature/amazing-feature)See CONTRIBUTING.md for detailed guidelines.
The license is still under development.
AgentWerkstatt - Building intelligent agents, one tool at a time. 🚀
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.15 | 30 Jul 2025 | 12 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 21 Oct, 08:57 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:b8d0d7b2ea70827563499a6b90bc66f03295da3ef525ffeaa18a9b0161715018