AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Crawler Summary
Pipeline multiagente con CrewAI para extraer y estructurar albaranes desde imagenes usando multiples motores OCR (EasyOCR, Tesseract, Ollama Vision) CrewAI Vision Tool Pipeline multiagente que **extrae y estructura albaranes (notas de entrega) a partir de imágenes**. Combina varios motores OCR, convierte el texto en JSON validado con Pydantic y consolida los resultados con un agente validador que además emite un reporte de validación legible. Construido sobre $1. Pensado para ser **profesional y mantenible**: configuración por YAML, salida tipada, guardrails dete Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Freshness
Last checked 10/9/2026
Best For
crewai-vision-tool is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB REPOS, runtime-metrics, public facts pack
Pipeline multiagente con CrewAI para extraer y estructurar albaranes desde imagenes usando multiples motores OCR (EasyOCR, Tesseract, Ollama Vision) CrewAI Vision Tool Pipeline multiagente que **extrae y estructura albaranes (notas de entrega) a partir de imágenes**. Combina varios motores OCR, convierte el texto en JSON validado con Pydantic y consolida los resultados con un agente validador que además emite un reporte de validación legible. Construido sobre $1. Pensado para ser **profesional y mantenible**: configuración por YAML, salida tipada, guardrails dete
Public facts
4
Change events
1
Artifacts
0
Freshness
Oct 9, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Oct 9, 2026
Vendor
Jaisenbe58r
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Setup snapshot
Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Jaisenbe58r
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
python
mermaid
flowchart TD
img["image_url (ruta de imagen)"] --> ex
subgraph ex [1 - Extraccion OCR en paralelo]
ocr1[Ollama Vision]
ocr2[Tesseract]
ocr3[EasyOCR]
end
ocr1 --> an1["Analisis -> AlbaranRaw (JSON)"]
ocr2 --> an2["Analisis -> AlbaranRaw (JSON)"]
ocr3 --> an3["Analisis -> AlbaranRaw (JSON)"]
an1 --> cons["2 - Consolidacion -> Albaran + guardrail coherencia"]
an2 --> cons
an3 --> cons
cons --> jsonout["output/document_final.json"]
cons --> rep["3 - Reporte de validacion"]
rep --> mdout["output/validation_report.md"]text
crewai-vision-tool/ ├── src/crewai_vision_tool/ │ ├── config/ │ │ ├── agents.yaml # Roles, goals y modelo LLM de cada agente │ │ └── tasks.yaml # Descripción y salida esperada de cada tarea │ ├── tools/ │ │ ├── tools_local_ocr.py # EasyOCR, PaddleOCR, Tesseract │ │ ├── tool_ollama_vision.py# Ollama Vision (local) │ │ ├── tool_openai_vision.py# OpenAI Vision (opcional) │ │ └── vision_tool.py # Wrapper multi-OCR de conveniencia │ ├── models.py # Esquema Pydantic null-honesto (Albaran/AlbaranRaw) │ ├── validators.py # Guardrail determinista de coherencia de totales │ ├── crew.py # Ensamblado del crew (agentes + tareas + LLM) │ └── main.py # Punto de entrada (CLI) ├── tests/ # Tests sin red (esquema y guardrail) ├── examples/check_ocr_tools.py # Diagnóstico de los motores OCR ├── input/ # Coloca aquí tus imágenes de albaranes ├── output/ # Salidas generadas (ignoradas por git) ├── docs/ # Guías (get-started, SDD, Claude Code) ├── specs/ # Especificaciones (Spec-Driven Development) ├── .claude/ · .specify/ · CLAUDE.md # Soporte para Claude Code + SDD ├── .env.example ├── pyproject.toml └── README.md
bash
# 1. Clona el repositorio y entra en la carpeta git clone <url-del-repo> crewai-vision-tool cd crewai-vision-tool # 2. Crea el entorno e instala dependencias (incluye el grupo de desarrollo) uv sync
bash
python -m venv .venv # Windows: .venv\Scripts\activate # Linux/macOS: source .venv/bin/activate pip install -e .
bash
# Copia la plantilla copy .env.example .env # Windows cp .env.example .env # Linux/macOS
ini
OPENAI_API_KEY=sk-... # obligatorio # IMAGE_URL=input/mi_albaran.jpg # opcional: imagen por defecto # OLLAMA_HOST=http://localhost:11434 # opcional
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
Pipeline multiagente con CrewAI para extraer y estructurar albaranes desde imagenes usando multiples motores OCR (EasyOCR, Tesseract, Ollama Vision) CrewAI Vision Tool Pipeline multiagente que **extrae y estructura albaranes (notas de entrega) a partir de imágenes**. Combina varios motores OCR, convierte el texto en JSON validado con Pydantic y consolida los resultados con un agente validador que además emite un reporte de validación legible. Construido sobre $1. Pensado para ser **profesional y mantenible**: configuración por YAML, salida tipada, guardrails dete
Pipeline multiagente que extrae y estructura albaranes (notas de entrega) a partir de imágenes. Combina varios motores OCR, convierte el texto en JSON validado con Pydantic y consolida los resultados con un agente validador que además emite un reporte de validación legible.
Construido sobre CrewAI. Pensado para ser profesional y mantenible: configuración por YAML, salida tipada, guardrails deterministas, tests y un flujo de trabajo Spec-Driven Development (SDD) con Claude Code.
.env)Albaran)Le pasas la ruta de una imagen de un albarán y obtienes:
output/document_final.json) con los datos del documento,
cliente, líneas de producto, totales y entrega.output/validation_report.md) que explica discrepancias
entre motores, decisiones de consolidación y nivel de confianza.Principios de diseño clave:
null.
Nunca se inventan datos.Σ líneas ≈ totales (con tolerancia) sin fabricar cifras.flowchart TD
img["image_url (ruta de imagen)"] --> ex
subgraph ex [1 - Extraccion OCR en paralelo]
ocr1[Ollama Vision]
ocr2[Tesseract]
ocr3[EasyOCR]
end
ocr1 --> an1["Analisis -> AlbaranRaw (JSON)"]
ocr2 --> an2["Analisis -> AlbaranRaw (JSON)"]
ocr3 --> an3["Analisis -> AlbaranRaw (JSON)"]
an1 --> cons["2 - Consolidacion -> Albaran + guardrail coherencia"]
an2 --> cons
an3 --> cons
cons --> jsonout["output/document_final.json"]
cons --> rep["3 - Reporte de validacion"]
rep --> mdout["output/validation_report.md"]
| Etapa | Agente(s) | Entrada | Salida |
| --- | --- | --- | --- |
| 1. Extracción | 3 extractores OCR | imagen | texto crudo por motor |
| 2a. Análisis | analista estructurado | texto crudo | AlbaranRaw (JSON sin confidence) |
| 2b. Consolidación | validador | 3 análisis | Albaran final + guardrail de coherencia |
| 3. Reporte | validador | consolidado + análisis | validation_report.md |
crewai-vision-tool/
├── src/crewai_vision_tool/
│ ├── config/
│ │ ├── agents.yaml # Roles, goals y modelo LLM de cada agente
│ │ └── tasks.yaml # Descripción y salida esperada de cada tarea
│ ├── tools/
│ │ ├── tools_local_ocr.py # EasyOCR, PaddleOCR, Tesseract
│ │ ├── tool_ollama_vision.py# Ollama Vision (local)
│ │ ├── tool_openai_vision.py# OpenAI Vision (opcional)
│ │ └── vision_tool.py # Wrapper multi-OCR de conveniencia
│ ├── models.py # Esquema Pydantic null-honesto (Albaran/AlbaranRaw)
│ ├── validators.py # Guardrail determinista de coherencia de totales
│ ├── crew.py # Ensamblado del crew (agentes + tareas + LLM)
│ └── main.py # Punto de entrada (CLI)
├── tests/ # Tests sin red (esquema y guardrail)
├── examples/check_ocr_tools.py # Diagnóstico de los motores OCR
├── input/ # Coloca aquí tus imágenes de albaranes
├── output/ # Salidas generadas (ignoradas por git)
├── docs/ # Guías (get-started, SDD, Claude Code)
├── specs/ # Especificaciones (Spec-Driven Development)
├── .claude/ · .specify/ · CLAUDE.md # Soporte para Claude Code + SDD
├── .env.example
├── pyproject.toml
└── README.md
| Requisito | Detalle |
| --- | --- |
| Python | >=3.10,<3.14 |
| Gestor de paquetes | uv (recomendado) o pip |
| Clave de OpenAI | OPENAI_API_KEY (los agentes usan modelos OpenAI por defecto) |
| Tesseract (opcional) | Binario del SO para el motor Tesseract |
| Ollama (opcional) | Servicio local + modelo de visión para el motor Ollama |
Dependencias de sistema por motor OCR (todas opcionales: si falta una, ese motor se omite con un mensaje controlado y el resto del pipeline continúa):
sudo apt-get install tesseract-ocr tesseract-ocr-spa (Linux) ·
brew install tesseract tesseract-lang (macOS).ollama pull llama3.2-vision.Opción A — con uv (recomendado):
# 1. Clona el repositorio y entra en la carpeta
git clone <url-del-repo> crewai-vision-tool
cd crewai-vision-tool
# 2. Crea el entorno e instala dependencias (incluye el grupo de desarrollo)
uv sync
Opción B — con pip y venv:
python -m venv .venv
# Windows: .venv\Scripts\activate
# Linux/macOS: source .venv/bin/activate
pip install -e .
La primera ejecución puede tardar: EasyOCR/PaddleOCR descargan sus pesos y CrewAI resuelve dependencias pesadas.
.env)# Copia la plantilla
copy .env.example .env # Windows
cp .env.example .env # Linux/macOS
Edita .env y rellena al menos tu clave:
OPENAI_API_KEY=sk-... # obligatorio
# IMAGE_URL=input/mi_albaran.jpg # opcional: imagen por defecto
# OLLAMA_HOST=http://localhost:11434 # opcional
El fichero
.envcontiene secretos y está en.gitignore. No lo subas al repositorio.
# 1. Coloca una imagen de albarán en input/, p. ej. input/mi_albaran.jpg
# 2. Ejecuta el crew sobre esa imagen
uv run python -m crewai_vision_tool.main input/mi_albaran.jpg
# 3. Revisa las dos salidas
# output/document_final.json -> albarán estructurado
# output/validation_report.md -> reporte de validación
Atajos equivalentes:
crewai run # usa IMAGE_URL del .env o la imagen por defecto
python -m crewai_vision_tool.main # idem, sin uv
Procesar una imagen concreta (primer argumento de línea de comandos):
uv run python -m crewai_vision_tool.main input/otro_albaran.png
Uso programático desde Python:
from crewai_vision_tool.crew import CrewaiVisionToolCrew
result = CrewaiVisionToolCrew().crew().kickoff(
inputs={"image_url": "input/mi_albaran.jpg"}
)
# El JSON consolidado se persiste en output/document_final.json.
# result.raw contiene el reporte Markdown (última tarea del pipeline).
print(result.raw)
Diagnóstico de los motores OCR (comprueba qué motores están operativos):
uv run python examples/check_ocr_tools.py input/mi_albaran.jpg
Todas las salidas se escriben en output/ (ignorado por git):
| Archivo | Contenido |
| --- | --- |
| extracted_text_{ollama,tesseract,easyocr}.txt | Texto crudo extraído por cada motor |
| albaran_analysis_{ollama,tesseract,easyocr}.json | JSON AlbaranRaw por motor (sin confidence) |
| document_final.json | Albarán consolidado y validado (Albaran) |
| validation_report.md | Reporte de discrepancias, decisiones y confianza |
Albaran)El esquema vive en models.py y sigue una política
null-honesta (principio P3 del proyecto):
items (puede estar vacía) y document_info.type (constante
"albarán").null cuando el dato está ausente o es ilegible. Nunca se
inventan valores.Dos modelos por etapa:
AlbaranRaw (fase de análisis): sin confidence por ítem.Albaran (documento final): añade confidence por ítem (alto / medio / bajo),
asignado durante la consolidación.Estructura resumida:
Albaran
├── document_info { type, number, date, company, nif }
├── client { name, nif, address, contact }
├── items[] { sku, description, quantity, unit_price, base, total_price, confidence }
├── totals { subtotal, base_total, tax, total }
├── delivery { date, location, conditions }
└── notes
Guardrail de coherencia (validators.py): durante la
consolidación se comprueba que Σ items.total_price ≈ totals.subtotal (tolerancia del 1%). Si no
cuadra, se refleja la discrepancia en el reporte sin fabricar el total.
Los modelos se asignan por rol para equilibrar rendimiento y coste. Se configuran en
config/agents.yaml; la temperatura y el
reasoning_effort se fijan en crew.py (el YAML solo admite el
nombre del modelo como cadena).
| Rol | Modelo por defecto | Por qué |
| --- | --- | --- |
| Extractores OCR | openai/gpt-5.4-mini | Orquestan la herramienta OCR: rápido y barato |
| Analista / Validador | openai/gpt-5.5 (temperature=0.2, reasoning_effort="medium") | Razonamiento y salida estructurada fiable |
Para abaratar, usa openai/gpt-5.4-mini en todos los agentes. Para máxima capacidad, sube el
analista/validador a openai/gpt-5.5-pro.
Los tests no requieren red ni claves (solo Pydantic), porque el esquema y el guardrail están desacoplados de CrewAI:
# Tests del esquema null-honesto y del guardrail de coherencia
uv run pytest
# Verificación de sintaxis (barata, sin dependencias)
python -m compileall src
El smoke test real (crewai run sobre una imagen) requiere OPENAI_API_KEY y, opcionalmente,
Tesseract/Ollama; no se ejecuta en la suite automática.
| Síntoma | Solución |
| --- | --- |
| OPENAI_API_KEY no configurada | Copia .env.example a .env y añade tu clave |
| Tesseract not found | Instala el binario del SO y verifica que está en el PATH |
| Ollama no responde | Inicia el servicio (ollama serve) y descarga el modelo (ollama pull llama3.2-vision) |
| PaddleOCR falla al instalar | Es opcional; el crew no lo usa por defecto |
| La primera ejecución es muy lenta | Normal: descarga de pesos OCR y resolución de dependencias |
El repositorio está preparado para Spec-Driven Development con Claude Code:
CLAUDE.md — reglas persistentes y comandos clave..claude/ — reglas por ruta (rules/), workflows (skills/), subagents (agents/) y hooks de
validación (settings.json + hooks/)..specify/ — constitución del proyecto y plantillas SDD.specs/ — especificaciones; consulta el catálogo en specs/README.md.El flujo es spec → plan → tasks → implementación → validación. Empieza por
docs/get-started.md y, para el detalle, docs/sdd-workflow.md.
Además incluye el pack oficial de CrewAI Skills en
.claude/skills/ (diseño de agentes/tareas, scaffolding y consulta de docs). Para reinstalarlo:
npx skills add crewaiinc/skills --agent claude-code
Distribuido bajo licencia MIT.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_REPOS",
"generatedAt": "2026-10-09T23:53:07.767Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Jaisenbe58r",
"href": "https://github.com/jaisenbe58r/crewai-vision-tool",
"sourceUrl": "https://github.com/jaisenbe58r/crewai-vision-tool",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T20:19:40.449Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T20:19:40.449Z",
"isPublic": true
},
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-jaisenbe58r-crewai-vision-tool/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to crewai-vision-tool and adjacent AI workflows.