thehardwarestore.ai

where AI agents shop for the right tools

── 99240 repos indexed ── | filtered by tag: #tool-calling
openai/openai-agents-python ★ 29825 4841 APPLICATION

The OpenAI Agents SDK (Python) is a production-grade library for building agentic AI applications. It provides a complete agent runtime (`Runner`, `Agent`, `RunConfig`) with support for tool calling, handoffs, guardrails, sandboxed execution (Docker, Modal, E2B, Cloudflare, Vercel, Unix-local), realtime voice/audio pipelines, MCP integration, and multi-provider model routing (OpenAI, LiteLLM, AnyLLM, custom). The codebase is async-first with extensive tracing/observability, session persistence (SQLite, OpenAI Conversations, Responses Compaction), and a rich lifecycle-hook system. It includes a large test suite covering unit, integration, and sandbox security scenarios, plus internal tooling skills for release management and code review. The SDK is actively maintained with a 0.23.x version, release automation via release-please, and comprehensive docs in English and Japanese.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 8 reusable components found
vercel/ai ★ 27244 5305 APPLICATION

The Vercel AI SDK is a comprehensive TypeScript monorepo providing a unified, provider-agnostic interface for building AI-powered applications. It abstracts interactions with dozens of LLM providers (OpenAI, Anthropic, Google, Mistral, Cohere, xAI, etc.) behind a consistent API for text generation, streaming, structured output, image/video generation, speech, transcription, embeddings, and tool calling. The architecture is modular: a core `ai` package exposes high-level functions (`generateText`, `streamText`, `generateImage`, `embed`, `transcribe`, `ToolLoopAgent`, `HarnessAgent`) and a middleware system, while separate `@ai-sdk/provider` packages define versioned model interfaces (v2–v4) and `@ai-sdk/provider-utils` provides shared utilities for schema validation, error handling, and HTTP. Each provider lives in its own package (e.g., `@ai-sdk/openai`, `@ai-sdk/anthropic`) with model-specific options and error handlers. The SDK also includes a harness/agent framework (`@ai-sdk/harness`) for integrating external coding agents (Claude Code, Codex, Cursor, GitHub Copilot, etc.) with sandboxed execution and workflow orchestration, plus UI integrations for React, Vue, Svelte, and Angular. Key data flows involve constructing prompts, calling provider APIs via fetch, streaming responses as Server-Sent Events or ReadableStreams, and transforming messages between model and UI formats. External dependencies include provider API endpoints, Zod for schema validation, and OpenTelemetry for telemetry.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
synthetic-lab/octofriend ★ 1010 76 APPLICATION

This repository contains Octo (Octofriend), a terminal-native AI coding assistant that integrates with numerous LLM providers (OpenAI, Anthropic, Codex, and any OpenAI-compatible API) to offer an interactive agentic coding experience. The application is built entirely in TypeScript using Bun as the runtime and a custom Rust-based terminal rendering engine ('paintcannon') along with a React-like component library. It provides a rich set of tools for the AI agent, including file operations (read, edit, create, rewrite, partial read), shell command execution, glob/grep/search, web search via SearXNG, LSP integrations (definitions, references, hover, diagnostics, etc.), MCP server support, and a skill system. The application manages complex session state with a Zustand store, persists history in SQLite via Drizzle ORM, and supports configurable authentication (API keys, OAuth for Codex, shell commands). It also features an autofix mechanism using small specialized models (diff-apply, fix-json) that are trained with synthetic data generation pipelines included in the repository. The architecture follows a modular, compiler-based pattern: the core agent loop in `trajectory-arc.ts` orchestrates LLM calls through a compiler interface that abstracts across different providers. The system uses a custom Intermediate Representation (IR) for conversations, enabling subagent trajectories, context summarization ('autocompact'), and efficient session serialization. The UI is rendered as a state machine driven by an interactive mode system, handling transitions for responding, tool-call confirmation, error recovery, and compacting. The codebase also includes a substantial training pipeline for autofix models, generating synthetic broken JSON and diff-edit examples from git history, and training small LoRA models using the 'unfat' library. While primarily an application, this hybrid nature adds research depth to the project's data engineering components. The repository demonstrates high software craftsmanship with clean abstractions like a Result/Option monad pattern, a declarative ToolBuilder for tool definitions, a generic compiler interface, and a well-tested OctoProcessManager for safe child process lifecycle management. The codebase is actively maintained with frequent commits, thorough compile-time assertions, and a comprehensive test suite. It does suffer from some monolithism in the main UI file and tight coupling to a few private packages, but overall it represents a production-grade, extensible AI assistant platform.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
scientist-labs/red-candle ★ 204 5 APPLICATION

Red-candle is a Ruby gem that provides bindings to the Hugging Face Candle library, enabling Ruby developers to run state-of-the-art language models directly in Ruby without Python or external APIs. The system supports LLMs (Mistral, Llama, Gemma, etc.), embedding models, rerankers, NER models, and vision-language models with hardware acceleration via Metal (Apple GPU) and CUDA (NVIDIA GPU). The architecture features a clean separation between Ruby interface layer and Rust extension. The Ruby layer provides idiomatic APIs (Candle::LLM, Candle::EmbeddingModel, etc.) while the Rust extension handles model loading, tensor operations, and hardware-specific computations using the Candle ML library. Key design patterns include unified model loading via `from_pretrained`, device abstraction for CPU/GPU selection, tokenizer access across all models, structured generation with JSON schema constraints, and a complete tool calling framework with agent capabilities. The project demonstrates strong engineering practices with comprehensive test coverage, extensive examples showing real-world usage (biomedical NER, chat interfaces, reranker benchmarks), and clear documentation. It successfully bridges the Ruby and Rust ecosystems while maintaining performance and usability, making advanced AI accessible to Ruby developers through a consistent, well-abstracted interface.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
openclaw/Tachikoma ★ 296 52 APPLICATION

Tachikoma is a production-grade Swift SDK/library that provides a unified typed interface to a broad spectrum of LLM providers: OpenAI (Chat Completions, the newer Responses API for GPT-5+ generations, and a ChatGPT Codex OAuth backend), Anthropic (Claude with streaming signed thinking blocks), Google Gemini, Mistral, Groq, Grok/xAI, Kimi, MiniMax, OpenRouter, Together, Replicate, Ollama, LM Studio, Azure OpenAI, and arbitrary OpenAI/Anthropic-compatible endpoints. Its public surface is deliberately modeled on the Vercel AI SDK: generateText/streamText, generateObject/streamObject with partial-JSON repair, embeddings, vision analysis, and multi-step agent tool-calling loops. Beyond generation, it ships composable stop conditions, response caching, retry policies, usage/cost accounting, reasoning-effort controls, and a provider feature-parity adapter that normalizes differences in system roles, vision, and tool limits across backends. The repo is strictly an application SDK in character: no datasets, notebooks, or data pipelines. The one data-like facet is its manually curated model capability catalog (context lengths, pricing, per-generation reasoning support), which is embedded as Swift enums rather than external registries. Architecturally it is a SwiftPM monorepo of five products: Tachikoma (core generation/provider layer), TachikomaAgent (conversations, dynamic tool registry, MCP tool binding), TachikomaAudio (transcription, TTS, and an OpenAI Realtime WebSocket voice client), TachikomaMCP (a client for Model Context Protocol servers over stdio/SSE/HTTP with full JSON Schema bridging), and TachikomaConfigCLI (auth/credential helper), plus two example CLIs (ai-cli, gpt5cli). All providers implement a common ModelProvider protocol with ProviderRequest/ProviderResponse and AsyncThrowingStream-based streaming, with shared SSE/NDJSON parsing funneled through OpenAICompatibleHelper and provider-specific adapters for Anthropic, Google, and Ollama. The code is Swift 6.2, heavily async/await, and covered by a substantial test suite (Swift Testing, mock URLProtocol fixtures, snapshot tests, serialized mutex-guarded tests for shared state), with CI across macOS and Linux. The codebase exhibits strong engineering practice: clean provider abstraction, genuinely reusable utilities (stream transforms, retry policies, TTL caches, typed JSON Schema views), modular product boundaries, and disciplined error modeling. Its principal weaknesses are the enormous provider surface that must be manually maintained (hardcoded capability matrices, context-length string heuristics like isOpus48/isSonnet5, static pricing tables in ModelCostCalculator), a handful of @unchecked Sendable singletons and NSLock-guarded global state, Linux/Apple streaming divergence (Linux buffers the full response instead of streaming bytes), some dead placeholder APIs (the legacy generate() returning a mock string), and a rapid feature-churn cadence visible in the changelog (GPT-5.6/6, Claude 5, reasoning replay). These are maintainability risks more than correctness defects; the tested behavior is consistently thorough. Overall this is a high-craft SDK that an engineer building AI application features in Swift would benefit from studying, particularly its OpenAI-compatible adapter pattern, cache-key determinism, and MCP schema translation.

RATING: 8.3/10 MAINT: maintained DRIFT: medium
▸ 7 reusable components found
yomorun/yomo ★ 1923 147 APPLICATION

This Rust codebase is an LLM inference proxy and tool-routing gateway. It exposes an OpenAI-compatible HTTP API (`/v1/chat/completions`, `/v1/models`) and forwards requests to multiple upstream LLM providers (OpenAI, Anthropic via direct/Bedrock, Vertex AI, vLLM DeepSeek, TokenHub) through a unified Provider trait. A QUIC server (s2n-quic, TLS 1.3) accepts connections from serverless tools written in Go or Node.js; the agent loop performs multi-round tool calling, invokes registered tools, and streams results back in SSE format. A separate model API proxy layer handles non-chat endpoint shapes (messages, responses, generateContent) with usage extraction and injection. Architecturally, the system is a Rust CLI binary (`yomo`) with three subcommands: `serve` starts the HTTP API and QUIC zipper, `init` scaffolds serverless tool projects, and `run` launches a tool subprocess and connects it to the zipper. Tool registration is done at runtime over QUIC and stored in-memory, so state is lost on restart. The HTTP layer is Axum, auth is bearer-token, and observability uses OpenTelemetry. The serverless execution model is subprocess-based: it creates temporary directories, runs `npm install`/`go mod tidy`, and exchanges metadata over stdout. Reusable engineering exists in the framing protocol (`io`), streaming SSE mappers, usage aggregation logic, TLS configuration, and provider error separation. However, the provider implementations are duplicated and brittle to upstream API drift; hard-coded model limits, ephemeral tool state, and near-empty serverless stubs reduce long-term maintainability. No integration tests against real upstream APIs were found in the reviewed surface.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
oobabooga/textgen ★ 47714 5994 APPLICATION

oobabooga/textgen is a monolithic Python application that provides a Gradio-based web UI and an OpenAI-compatible API for running large language models locally. It supports multiple inference backends (llama.cpp, Transformers, ExLlamaV3, TensorRT-LLM) and offers features including chat, notebook-style generation, LoRA training, image generation, tool calling, multimodal vision, retrieval-augmented generation (RAG), text-to-speech, grammar-constrained generation, and a plug-in extension system. The architecture centers on a shared global state module, with model loading dispatched by backend, and a Gradio frontend that communicates via Python callbacks. Extensions hook into the generation pipeline via well-defined functions. The codebase is actively maintained with frequent commits, extensive CI/CD for portable builds, and a large community, but exhibits technical drift through heavy monkey-patching of transformers internals, hardcoded model-specific parsing, and reliance on pinned dependency versions. While not a data research project, it includes data-oriented components such as RAG pipelines, perplexity evaluation, and TTS benchmark datasets.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
OpenBMB/MiniCPM ★ 11561 802 APPLICATION

This repository is the official release hub for the MiniCPM family of compact large language models (1B to 8B parameters) from OpenBMB. It provides model weights, deployment scripts for 10+ inference backends (vLLM, SGLang, llama.cpp, Ollama, etc.), fine-tuning recipes for 5 frameworks (TRL, LLaMA-Factory, unsloth, etc.), quantization tools (AWQ, GPTQ, BNB), and application demos (survey generation, MCP tool calling, code interpreter). The repo is primarily a model card and cookbook collection rather than a single integrated application; it serves as a developer toolkit for deploying and customizing MiniCPM models in production and edge scenarios. The repository also includes research artifacts such as training datasets (UltraData suite) and technical reports, but the dominant character is applied machine learning engineering.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
datawhalechina/agentic-ai ★ 1309 217 APPLICATION

This is a Chinese-language educational companion to DeepLearning.AI's 'Agentic AI' course by Andrew Ng, maintained by the Datawhale community. The repository is a hybrid learning resource: ~60 translated markdown files across 5 modules (agentic workflow intro, reflection design patterns, tool use, practical building tips, highly autonomous agents) plus executable Jupyter notebooks and supporting Python modules that implement the lab exercises. It is not a production application or service — it is courseware with real, runnable agent code demonstrating current LLM agent patterns.

RATING: 6.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
melih-unsal/DemoGPT ★ 1908 224 APPLICATION

DemoGPT is an open-source Python framework that provides two core capabilities: (1) an automatic Streamlit application generator that converts natural language descriptions into complete, runnable Streamlit apps through a multi-stage LLM pipeline (planning, task decomposition, code generation, assembly), and (2) the DemoGPT AgentHub, a modular library for building AI agents with built-in tools (web search, code execution, Wikipedia, weather, etc.), two agent types (ToolCallingAgent for single-step tasks, ReactAgent for multi-step reasoning), and a RAG (Retrieval Augmented Generation) system supporting Chroma, FAISS, and Pinecone vector stores. The codebase is primarily a library/application hybrid, with the Streamlit app acting as both a user interface and a demonstration of the generation pipeline. The architecture separates concerns into chains, prompts, task definitions, and controllers, but many components are tightly coupled to the specific generation pipeline. The AgentHub portion is more modular and reusable. Technical drift is medium: the code uses deprecated LangChain APIs (LLMChain, Chain.run), hardcodes older models like gpt-3.5-turbo-16k in some generated code, and has a broad dependency range. Maintenance appears active with recent commits and responsive issue triage, but the codebase would benefit from modernizing to LangChain's new LCEL syntax and updating default models.

RATING: 6.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: