Gemma Firecrawl Agent
Small Python ADK-style scaffold for an AG2 agent that talks to a local Ollama model and can call Firecrawl to scrape web pages into LLM-ready text.
Setup
After this project is published to PyPI:
pip install gemma-firecrawl-agent
For local development from source:
python -m venv .venv
source .venv/bin/activate
pip install -e .
cp .env.example .env
Edit .env:
FIRECRAWL_API_KEY=fc-your-key
OLLAMA_MODEL=gemma3:4b
OLLAMA_VLM_MODEL=qwen3-vl:8b
OLLAMA_HOST=http://127.0.0.1:11434
LLAMA_CPP_MODEL=llama-cpp
LLAMA_CPP_BASE_URL=http://127.0.0.1:8080/v1
LLAMA_CPP_API_KEY=sk-no-key-required
Make sure Ollama is running and the model is pulled:
ollama pull gemma3:4b
ollama pull qwen3-vl:8b
ollama serve
Run
gemma-firecrawl-agent "Scrape https://example.com and summarize the page."
Use the VLM provider profile:
gemma-firecrawl-agent --provider vlm "Scrape https://example.com and summarize the page."
Use a local llama.cpp server:
llama-server -m /path/to/model.gguf --host 127.0.0.1 --port 8080
gemma-firecrawl-agent --provider llama-cpp "Scrape https://example.com and summarize the page."
Use structured output when you want a JSON object:
gemma-firecrawl-agent --structured "Scrape https://example.com and summarize the page."
Structured output also works with the VLM provider:
gemma-firecrawl-agent --provider vlm --structured "Scrape https://example.com and summarize the page."
And with llama.cpp:
gemma-firecrawl-agent --provider llama-cpp --structured "Scrape https://example.com and summarize the page."
Sample structured output shape:
{
"title": "Short page or task title",
"url": "https://example.com",
"summary": "One concise paragraph.",
"key_points": [
"First important point",
"Second important point"
],
"source_status": "scraped"
}
Print the sample shape from the CLI:
gemma-firecrawl-agent --show-structured-shape
You can also run the module directly:
python -m gemma_firecrawl_agent.cli "Scrape https://example.com and list the key facts."
Publishing
Release steps live in PUBLISHING.md. The short version is:
pip install -e ".[dev]"
python -m build
python -m twine check dist/*
Metadata
Release files for gemma-firecrawl-agent 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gemma_firecrawl_agent-0.1.0.tar.gz | 7.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gemma_firecrawl_agent-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.2 kB
Release files / gemma_firecrawl_agent-0.1.0.tar.gz
| Download URL | gemma_firecrawl_agent-0.1.0.tar.gz |
|---|---|
| Size | 7.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c1cdcc5b97a31820fb7441e6b098e304095473efe623eebf6d515d485676233
|
|
BLAKE2b-256 checksum How to use checksums |
92e5f8f00f69d925b2b3d390270e1eb7046c72e7d8c1da2b955ec91f72a6ab03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / gemma_firecrawl_agent-0.1.0-py3-none-any.whl
| Download URL | gemma_firecrawl_agent-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b2859becae40a32045f6f333d8a41db92343e85910d72a0623117cd7a367c0ac
|
|
BLAKE2b-256 checksum How to use checksums |
8c6ffd76ce058b601a9336459dd8bf095c0cc3bdeb6ec61542cf7709ca59debd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|