{"id":"f4d2644f-8e35-44c2-8a71-b57239e44185","entityType":"agent","slug":"crewai-tarekamr737-multi-agent-procurement-assistant-using-crew","name":"Multi-Agent-Procurement-Assistant-using-CrewAI","canonicalUrl":"https://www.xpersona.co/agent/crewai-tarekamr737-multi-agent-procurement-assistant-using-crew","canonicalPath":"/agent/crewai-tarekamr737-multi-agent-procurement-assistant-using-crew","generatedAt":"2026-10-09T22:49:41.269Z","source":"GITHUB_REPOS","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T14:54:08.169Z","emptyReason":null},"description":"AI-powered procurement assistant using CrewAI to search suppliers, compare offers, rank products, and generate professional procurement reports. Sovereign Procurement <img width=\"1920\" height=\"1080\" alt=\"Screenshot 2026-08-02 184419\" src=\"https://github.com/user-attachments/assets/49bc6f51-061c-4c3d-a84c-3e7fe156fd0a\" /> <img width=\"1920\" height=\"1080\" alt=\"Screenshot 2026-08-02 184510\" src=\"https://github.com/user-attachments/assets/45deee0d-e671-48cd-bc97-859f75cf511c\" /> Evidence-first procurement research with local AI, deterministic analysis, and human a","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.","installCommand":null,"sourceUrl":"https://github.com/tarekamr737/Multi-Agent-Procurement-Assistant-using-CrewAI","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/tarekamr737/Multi-Agent-Procurement-Assistant-using-CrewAI","kind":"source"}],"safetyScore":66,"overallRank":22,"popularityScore":0,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"AI-powered procurement assistant using CrewAI to search suppliers, compare offers, rank products, and generate professional procurement reports. Sovereign Procu"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T14:54:08.169Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"crewai","status":"self-declared"},{"label":"multi-agent","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"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"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-10-09T14:54:08.169Z","emptyReason":"No source adoption metrics were available."},"stars":0,"forks":0,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-10-09T14:54:08.165Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T14:54:08.169Z","lastCrawledAt":"2026-10-09T14:54:08.165Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T14:54:08.165Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":null,"setupComplexity":"low","setupSteps":["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."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-tarekamr737-multi-agent-procurement-assistant-using-crew/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-tarekamr737-multi-agent-procurement-assistant-using-crew/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-tarekamr737-multi-agent-procurement-assistant-using-crew/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-tarekamr737-multi-agent-procurement-assistant-using-crew/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-tarekamr737-multi-agent-procurement-assistant-using-crew/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-tarekamr737-multi-agent-procurement-assistant-using-crew/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-09T22:49:41.268Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-tarekamr737-multi-agent-procurement-assistant-using-crew/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-tarekamr737-multi-agent-procurement-assistant-using-crew/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-tarekamr737-multi-agent-procurement-assistant-using-crew/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-tarekamr737-multi-agent-procurement-assistant-using-crew/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"high","updatedAt":"2026-10-09T14:54:08.169Z","emptyReason":null},"readme":"# Sovereign Procurement\n\n<img width=\"1920\" height=\"1080\" alt=\"Screenshot 2026-08-02 184419\" src=\"https://github.com/user-attachments/assets/49bc6f51-061c-4c3d-a84c-3e7fe156fd0a\" />\n\n<img width=\"1920\" height=\"1080\" alt=\"Screenshot 2026-08-02 184510\" src=\"https://github.com/user-attachments/assets/45deee0d-e671-48cd-bc97-859f75cf511c\" />\n\n\nEvidence-first procurement research with local AI, deterministic analysis, and human approval.\n\nSovereign Procurement helps buying teams discover suppliers, extract product offers, verify evidence, compare landed costs and compliance, and produce an auditable recommendation. Language-model output is intentionally separated from authoritative calculations: Gemma plans and explains, while Python validates evidence, applies policy, calculates costs, and ranks offers.\n\n> [!IMPORTANT]\n> This project is designed for trusted local use. Authentication and organization isolation are not yet production-ready. Do not expose the application directly to an untrusted network.\n\n## Highlights\n\n- Local inference through LM Studio using `google/gemma-4-12b`\n- Bounded Tavily discovery with caching and source provenance\n- Typed ScrapeGraph extraction with evidence required for every non-null claim\n- Deterministic quality checks, compliance rules, landed-cost calculations, and scoring\n- Human approval gates before discovery and final recommendation\n- Durable run history, audit events, comparison workspace, and HTML reports\n- SQLite development mode with no Docker or Redis requirement\n- Optional Redis and Celery execution for queued background workflows\n\n## How it works\n\n```text\nProcurement request\n        |\n        v\nGemma search plan -> Human approval\n        |\n        v\nTavily discovery -> Source selection and credit confirmation\n        |\n        v\nScrapeGraph extraction -> Deterministic evidence audit\n        |\n        v\nPython compliance, cost, and scoring\n        |\n        v\nHuman recommendation approval -> Auditable report\n```\n\nSearch snippets remain unverified until extraction. Missing values remain unknown, foreign-exchange rates are never guessed, and the local model cannot override Python-owned calculations or compliance decisions.\n\n## Technology\n\n| Layer | Technology |\n| --- | --- |\n| Web | Next.js 16, React 19, TypeScript, TanStack Query, Tailwind CSS |\n| API | FastAPI, Pydantic, SQLAlchemy, Alembic |\n| Workflow | CrewAI, Celery, Redis (optional locally) |\n| Local AI | LM Studio, `google/gemma-4-12b` |\n| Research | Tavily Search, ScrapeGraph Extract |\n| Storage | SQLite locally, PostgreSQL deployment target |\n| Testing | Pytest, Ruff, MyPy, ESLint, TypeScript, Playwright |\n\n## Prerequisites\n\n- Windows PowerShell\n- Node.js 22 or newer\n- Python 3.11, 3.12, or 3.13\n- LM Studio with `google/gemma-4-12b` downloaded\n- Tavily and ScrapeGraph API keys for live research\n\nDocker is not required. The supported launcher keeps application data, caches, logs, and the Python environment inside the repository, which is useful when the system drive has limited space.\n\n## Quick start\n\n1. Clone the repository and enter its directory.\n2. Create the local configuration:\n\n   ```powershell\n   Copy-Item .env.example .env\n   ```\n\n3. Add `TAVILY_API_KEY` and `SCRAPEGRAPH_API_KEY` to `.env`.\n4. In LM Studio, load `google/gemma-4-12b` and start its OpenAI-compatible server at `http://localhost:1234/v1`.\n5. Install dependencies:\n\n   ```powershell\n   powershell -ExecutionPolicy Bypass -File scripts/bootstrap.ps1\n   ```\n\n6. Start the API and production web application:\n\n   ```powershell\n   npm run app:start\n   ```\n\n7. Open [http://localhost:3000](http://localhost:3000).\n\nStop only the processes owned by the launcher with:\n\n```powershell\nnpm run app:stop\n```\n\nThe launcher applies database migrations, checks ports, starts both services, and verifies their health. Runtime state and logs are written to `.data/runtime`.\n\n## Configuration\n\nAll runtime configuration is documented in [`.env.example`](.env.example). The default local model settings are:\n\n```dotenv\nLLM_BASE_URL=http://localhost:1234/v1\nLLM_API_KEY=lm-studio\nLLM_MODEL=google/gemma-4-12b\nLLM_TEMPERATURE=0.2\nLLM_REASONING_EFFORT=none\nLLM_TIMEOUT_SECONDS=300\n```\n\nThe `.env` file is ignored by Git and must never be committed. The settings screen reports whether integrations are configured without exposing their values.\n\nScrapeGraph extraction is capped at ten selected sources per request. The UI shows an estimated maximum credit cost and requires confirmation before extraction. JavaScript and stealth-browser fallback is intentionally disabled.\n\n## Development\n\nStart the API with reload support:\n\n```powershell\n.venv\\Scripts\\python.exe -m uvicorn sovereign_api.main:app --app-dir apps/api/src --reload\n```\n\nIn a second terminal, start Next.js:\n\n```powershell\nnpm run dev\n```\n\nApply database migrations manually when needed:\n\n```powershell\n.venv\\Scripts\\alembic.exe -c apps/api/alembic.ini upgrade head\n```\n\nFor queued workflows, provide a reachable `REDIS_URL` and run:\n\n```powershell\npowershell -ExecutionPolicy Bypass -File scripts/start-app.ps1 -WithWorker\n```\n\n## Quality checks\n\n```powershell\nnpm run lint\nnpm run typecheck\nnpm run build\n.venv\\Scripts\\python.exe -m ruff check apps/api workers/procurement\n.venv\\Scripts\\python.exe -m mypy apps/api/src workers/procurement/src\n.venv\\Scripts\\python.exe -m pytest apps/api/tests workers/procurement/tests\nnpm run test:e2e\n```\n\nEnd-to-end tests use local mocks for credit-bearing external actions. They do not spend Tavily or ScrapeGraph credits.\n\n## Repository layout\n\n```text\napps/web/                 Next.js application\napps/api/                 FastAPI service and migrations\nworkers/procurement/      CrewAI and Celery workflow\npackages/shared/          Shared frontend types and utilities\ntests/e2e/                Browser-level acceptance tests\ndocs/                     Architecture and operational guides\nscripts/                  Bootstrap and local launch scripts\n```\n\n## Documentation\n\n- [Product requirements](PRODUCT.md)\n- [Design system](DESIGN.md)\n- [Architecture](docs/ARCHITECTURE.md)\n- [Deployment](docs/DEPLOYMENT.md)\n- [Evaluation](docs/EVALUATION.md)\n- [Demo guide](docs/DEMO.md)\n- [Current limitations](docs/LIMITATIONS.md)\n- [Delivery roadmap](TASKS.md)\n- [Local model contract](setup.md)\n\n## FlyRank Capstone — Your 10x Solution\n\nThis repository is also my FlyRank Backend Track capstone project.\n\n### Capstone problem\n\nProcurement research is usually spread across search engines, supplier websites, spreadsheets, manual calculations, and notes. Sovereign Procurement combines these steps into one evidence-first workflow so supplier research, comparison, and recommendation become faster and easier to audit.\n\n### 10x claim\n\nSovereign Procurement reduces a multi-step manual procurement research process into one structured workflow that discovers suppliers, checks evidence, compares offers, and produces an auditable recommendation.\n\n### Program concepts implemented\n\n| Concept | Where it lives |\n| --- | --- |\n| **API endpoints** | `apps/api/src/sovereign_api/main.py` and `apps/api/src/sovereign_api/routers/` |\n| **Database** | `apps/api/src/sovereign_api/db.py`, `apps/api/src/sovereign_api/models.py`, and `apps/api/alembic/` |\n| **Background jobs** | `apps/api/src/sovereign_api/dispatch.py` and `workers/procurement/` |\n| **Caching logic** | `apps/api/src/sovereign_api/discovery.py` with persisted `SearchCacheEntry` records and TTL-based reuse |\n| **Test suite** *(swap)* | `apps/api/tests/`, `workers/procurement/tests/`, and `tests/e2e/` |\n\n**Swap used:** Reporting → Test Suite. The application currently generates a source-linked HTML report rather than a PDF or email report, so Reporting is not counted as one of the required concepts.\n\n### Non-goal\n\nThe system does not autonomously purchase products or make final purchasing decisions. Human approval remains part of the workflow.\n\n### 5-minute demo path\n\n1. Start the app and open `http://localhost:3000`.\n2. Create a company and define its procurement rules.\n3. Create a procurement request with quantity, budget, delivery country, required specifications, and scoring preferences.\n4. Start a procurement run.\n5. Review and approve the generated search plan.\n6. Run supplier discovery and extraction.\n7. Inspect the source ledger and evidence.\n8. Open the comparison view and review compliance, costs, and scores.\n9. Review or choose the recommendation.\n10. Generate the final source-linked report and return to the dashboard to show persisted history.\n\n\n\n\n## Security and responsible use\n\nThe application processes public supplier pages and can call paid third-party APIs. Review source-selection and credit estimates before extraction, respect site terms and applicable law, and treat generated recommendations as decision support rather than autonomous purchasing authority. See [SECURITY.md](SECURITY.md) for vulnerability reporting and deployment guidance.\n\n## Contributing\n\nContributions are welcome. Read [CONTRIBUTING.md](CONTRIBUTING.md) for setup, quality gates, and pull-request expectations.\n\n## License\n\nNo open-source license has been selected yet. Until the repository owner adds a license, all rights are reserved and reuse is not granted by default.\n","readmeExcerpt":"Sovereign Procurement <img width=\"1920\" height=\"1080\" alt=\"Screenshot 2026-08-02 184419\" src=\"https://github.com/user-attachments/assets/49bc6f51-061c-4c3d-a84c-3e7fe156fd0a\" /> <img width=\"1920\" height=\"1080\" alt=\"Screenshot 2026-08-02 184510\" src=\"https://github.com/user-attachments/assets/45deee0d-e671-48cd-bc97-859f75cf511c\" /> Evidence-first procurement research with local AI, deterministic analysis, and human a","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"Procurement request\n        |\n        v\nGemma search plan -> Human approval\n        |\n        v\nTavily discovery -> Source selection and credit confirmation\n        |\n        v\nScrapeGraph extraction -> Deterministic evidence audit\n        |\n        v\nPython compliance, cost, and scoring\n        |\n        v\nHuman recommendation approval -> Auditable report"},{"language":"powershell","snippet":"Copy-Item .env.example .env"},{"language":"powershell","snippet":"powershell -ExecutionPolicy Bypass -File scripts/bootstrap.ps1"},{"language":"powershell","snippet":"npm run app:start"},{"language":"powershell","snippet":"npm run app:stop"},{"language":"dotenv","snippet":"LLM_BASE_URL=http://localhost:1234/v1\nLLM_API_KEY=lm-studio\nLLM_MODEL=google/gemma-4-12b\nLLM_TEMPERATURE=0.2\nLLM_REASONING_EFFORT=none\nLLM_TIMEOUT_SECONDS=300"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB REPOS","editorialOverview":"AI-powered procurement assistant using CrewAI to search suppliers, compare offers, rank products, and generate professional procurement reports. Sovereign Procurement <img width=\"1920\" height=\"1080\" alt=\"Screenshot 2026-08-02 184419\" src=\"https://github.com/user-attachments/assets/49bc6f51-061c-4c3d-a84c-3e7fe156fd0a\" /> <img width=\"1920\" height=\"1080\" alt=\"Screenshot 2026-08-02 184510\" src=\"https://github.com/user-attachments/assets/45deee0d-e671-48cd-bc97-859f75cf511c\" /> Evidence-first procurement research with local AI, deterministic analysis, and human a","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":424,"uniquenessScore":62,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T14:54:08.169Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T14:54:08.169Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T22:49:41.269Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"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!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"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","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_repos","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}