thehardwarestore.ai

where AI agents shop for the right tools

── 98857 repos indexed ── | filtered by tag: chatbot
yagop/node-telegram-bot-api ★ 9210 1647 APPLICATION

node-telegram-bot-api is a TypeScript client library for the Telegram Bot API, built as a runtime-agnostic core plus Node.js and Bun adapters. It exposes a Bot class with koa-style middleware, Context helpers, generated Api methods that map 1:1 to Telegram endpoints, and both long-polling and webhook update ingestion. The package targets Node 18+, Bun, Deno, Cloudflare Workers, and Vercel Edge by restricting src/core to Web-standard APIs and enforcing these boundaries with CI gates. It is a library, not a standalone app; consumers embed it to build Telegram bots. In production, the library receives updates either from getUpdates long polling (an AsyncGenerator with retry, backoff, and conflict handling) or from webhook callbacks (Web-standard Request to Response handlers plus adapters for Express, Next.js App Router, and Node HTTP). It includes a resilient transport layer with timeouts, retries, token-bucket rate limiting, and streaming multipart uploads, plus optional session middleware with pluggable stores (memory, file, SQLite, Redis) and a reply/callback tracking layer for structured conversations. The full Telegram type surface is auto-generated from live Bot API documentation by scripts/api-parser.ts, producing schemas.ts and api.ts, and the e2e suite exercises real Telegram endpoints. Architecturally, the most reusable patterns are generic middleware composition, an injectable fetch transport with backoff, a token-bucket rate limiter with per-key LRU state, and a streaming multipart encoder that avoids buffering whole uploads in memory. Session stores are deliberately minimal string-keyed KV contracts, with versioned envelopes allowing optional layers to extend state. The codebase is well tested, documented with 18 examples, and under active maintenance. This is not a data_research repository; the code generation pipeline is a build-time tool, not the product itself.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
python-telegram-bot/python-telegram-bot ★ 29515 6159 APPLICATION

python-telegram-bot is a pure Python, asynchronous library that provides both low-level bindings to the Telegram Bot API and a high-level application framework for building Telegram bots. In production, it handles authentication, message sending/receiving, update processing, and bot lifecycle management. The library is used by developers to create bots that can respond to commands, messages, inline queries, callback queries, and other Telegram events, with support for payments, passports, polls, and more. The architecture is organized into three layers: the core `telegram` package containing data models for all Telegram API types (Chat, User, Message, etc.) with consistent serialization and equality semantics; the `telegram.ext` extension framework providing handlers (CommandHandler, MessageHandler, ConversationHandler), an Application class for orchestrating update processing, job queues, persistence, and rate limiting; and the `telegram.request` layer using httpx for async HTTP communication. The library uses async/await throughout and follows a handler-based event-driven pattern. Key entry points include `telegram.ext.Application` (built via `ApplicationBuilder`), `telegram.Bot` for direct API calls, and various handler classes. The primary data flow involves receiving updates from Telegram via polling or webhook, parsing them into `Update` objects, dispatching to registered handlers based on filters, and executing callback functions that can call Bot methods to respond. The library supports custom context types, persistent storage of bot/user/chat data, and scheduled jobs. External dependencies are minimal: `httpx` is the only required runtime dependency. Optional features require additional packages: `cryptography` for Telegram Passport, `APScheduler` for job queues, `cachetools` for callback data caching, `tornado` for webhook server, `aiolimiter` for rate limiting, and `pytz`/`zoneinfo` for timezone support. The library is extensively tested with both offline unit tests and online integration tests against the live Telegram API.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
yamadashy/repomix ★ 28790 1579 APPLICATION

Repomix is a multi-interface tool that packs code repositories into a single AI-optimized file for consumption by large language models (LLMs) like ChatGPT, Claude, and Gemini. It operates as a CLI tool, a library, an MCP (Model Context Protocol) server, a GitHub Action, a browser extension, and a web service. The core pipeline discovers files respecting ignore patterns, reads them with binary and encoding detection, optionally compresses code via tree-sitter (removing implementation details while preserving signatures), scans for secrets with Secretlint, and generates output in XML, Markdown, JSON, or plain text formats. It also provides token counting with configurable encodings and disk-backed caching, git integration (diffs, logs, change-frequency sorting), and skill generation for Claude Agent. Architecturally, the project is modular with a clear separation between the core library (src/core/), CLI interface (src/cli/), MCP server (src/mcp/), website (website/), and browser extension (browser/). The core uses dependency injection for testability, worker threads (tinypool) for parallel file processing and metrics, and a strategy pattern for language-specific tree-sitter parsing. Configuration is loaded from JSON/JS/TS files and merged with CLI options. The codebase demonstrates strong engineering practices including comprehensive test coverage, security hardening (SSRF protection, git command sanitization, sandboxed MCP tools), and performance optimizations (token count cache, bounded concurrency, fast binary detection). The project is actively maintained with frequent releases, a large community (28k+ stars), and extensive documentation in 15 languages. While the core is well-architected, the multiple distribution channels and large dependency surface introduce maintenance overhead. Some duplication exists between the website and CLI validation logic, and the tree-sitter WASM management is fragile. Overall, it is a high-quality, production-ready tool with several reusable components.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
gradio-app/gradio ★ 43641 3614 APPLICATION

Gradio is a full-stack Python library and web framework for rapidly creating interactive web UIs for machine learning models, APIs, or any Python function. It provides a high-level Interface class for simple demos, a flexible Blocks API for custom layouts and event-driven apps, and a ChatInterface for chatbot applications. The backend is built on FastAPI and Uvicorn, serving both a REST API and WebSocket-based streaming. The frontend is a Svelte 5 / TypeScript application with per-component packages, a SvelteKit SSR app, and a standalone SPA that can be embedded via a custom HTML element. The library includes a rich component library (30+ input/output widgets), layout primitives (Row, Column, Tabs, Accordion, Sidebar), theming support, internationalization, and a CLI for development, deployment, and custom component creation. It also provides official Python and JavaScript client libraries for programmatic access to Gradio apps, and supports MCP (Model Context Protocol) for tool/resource integration. The repository contains over 100 runnable demos covering a wide range of ML use cases (image classification, text generation, speech recognition, object detection, chatbots, etc.), many of which integrate with Hugging Face models and datasets. While primarily an application framework, the extensive demo collection and focus on ML model visualization give it a secondary data/research character.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
simstudioai/sim ★ 29746 3847 APPLICATION

Sim is a comprehensive AI agent and workflow platform built as a TypeScript monorepo. The core application (apps/sim) is a Next.js 16 App Router application providing a visual/conversational workflow builder, real-time collaboration via Socket.io, and API endpoints for workflow execution. It integrates 1000+ external services through a block/tool/trigger system, supports knowledge bases with RAG (pgvector), file processing, and structured table workflows. The platform self-hosts via Docker Compose or Helm (Kubernetes), with background jobs handled by Trigger.dev and code execution via isolated-vm or E2B. A separate PII detection service (apps/pii) uses Microsoft Presidio. Internal packages provide reusable infrastructure: structured logging (@sim/logger), utilities (@sim/utils), security primitives (@sim/security), database layer (@sim/db), workflow persistence (@sim/workflow-persistence), rate limiting, idempotency, async job queues, file upload handling, tokenization, and a virtual filesystem for the Copilot agent. The codebase demonstrates strong architectural discipline with clear package boundaries, comprehensive testing infrastructure, automated documentation generation from source, and enterprise features cleanly separated in apps/sim/ee/.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 17 reusable components found
HKUDS/nanobot ★ 48778 8604 APPLICATION

Nanobot is a self-hosted, open-source personal AI assistant framework that operates as a full-stack application. The Python backend provides an agent loop with tool execution, session management, multi-provider LLM orchestration (OpenAI, Anthropic, etc.), and a plugin system for 18+ messaging channels (Telegram, Discord, Slack, WeChat, Feishu, etc.). It exposes a WebSocket-based gateway, an OpenAI-compatible API, and a CLI. Two frontends exist: a rich WebUI built with React/TypeScript/Vite/Tailwind and a terminal TUI built with Bun/OpenTUI. The architecture is event-driven via a message bus, with decoupled channel adapters, provider abstraction, and a config system supporting hot-reload. It includes security features like workspace sandboxing, credential redaction, and SSRF protection. The codebase is extensively tested (hundreds of unit/integration tests) and demonstrates strong engineering practices with clean abstractions, though its large dependency surface and multiple frontends introduce some maintenance surface area.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 6 reusable components found
nanocoai/nanoclaw ★ 30902 12768 APPLICATION

NanoClaw is a self-hosted, multi-agent AI orchestration platform that runs containerized agent sessions, integrates with a wide range of chat channels (Slack, Discord, Telegram, WhatsApp, iMessage, etc.), and provides a CLI-based admin interface. It is architected as a host service (Node.js/TypeScript, SQLite) that manages per-session agent containers (Bun runtime) isolated via Docker. The system features a typed guard/approval system for privileged actions, a plugin-based skill system for extensibility, and a structured migration framework for database schema evolution. Key operational flows include inbound message routing from channel adapters, session lifecycle management with two-DB mailbox split (inbound/outbound SQLite), container orchestration with credential injection via OneCLI vault, and host sweep for periodic maintenance. The CLI (`ncl`) provides resource CRUD with hooks, command guard integration, and a socket-based transport protocol. The project emphasizes a small, auditable codebase, skill-based feature installation over configuration, and deterministic setup/upgrade workflows with Claude Code fallback for error recovery.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
PocketRisu/PocketRisu ★ 366 66 APPLICATION

PocketRisu is a self-hosted AI roleplay chat platform, forked from RisuAI. It runs as a Node.js server with a Svelte 5 frontend, accessed via browser. The system supports multiple AI providers (OpenAI, Anthropic, Google Gemini, etc.) through a pluggable adapter pattern, and includes character management, lorebooks, plugins, MCP (Model Context Protocol) tools, translation, TTS, image generation, and a comprehensive data-driven settings system. Data is stored in SQLite with content-defined chunking for large values, and the architecture is a monolith with a client-server split: the server handles persistence, backup, asset manifests, and model job processing; the client handles UI, state management, and direct AI API calls (with optional server-side proxy). Key entry points include src/main.ts (client bootstrap), server/node/server.cjs (server), src/ts/storage/database.svelte.ts (central store), and src/ts/process/request/ (AI request handling). External dependencies include Node.js, SQLite, various AI provider APIs, MCP servers, and browser APIs (File System Access, IndexedDB). The codebase is well-tested with unit and integration tests, and features a sophisticated plugin system with sandboxed execution, a model preset registry with remote sync, and a chat delta sync mechanism for efficient data transfer.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
xtekky/gpt4free ★ 66755 13489 APPLICATION

gpt4free (g4f) is a large-scale, community-driven Python library that aggregates dozens of free AI providers (LLMs, image, audio, video) into a unified, OpenAI-compatible interface. It provides multiple access modes: a Python client library (sync/async), a FastAPI-based API server, a Flask web GUI, a CLI tool, a Model Context Protocol (MCP) server for tool calling, a browser extension, a Discord bot, an Android app, and a Go launcher. The architecture is provider-based: each AI service (e.g., ChatGPT, Gemini, DeepSeek, Copilot, Grok, Perplexity) is wrapped in an adapter class implementing a common `AsyncGeneratorProvider` interface. The system handles authentication via cookies, OAuth flows, HAR files, and browser automation (CDP/nodriver), and supports streaming, tool/function calling, image generation, audio synthesis, and web search. It is primarily an application for consuming free AI models, not a research or data pipeline project, though it includes some data-oriented utilities like token optimization and usage tracking.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
h2oai/h2o-llmstudio ★ 5183 556 APPLICATION

H2O LLM Studio is a web-based application for fine-tuning large language models (LLMs) without requiring coding experience. It provides a GUI built on H2O Wave and CLI tools for dataset import, experiment configuration, model training, evaluation, and export to Hugging Face Hub. The system supports multiple problem types including causal language modeling, classification, regression, sequence-to-sequence, and Direct Preference Optimization (DPO). The architecture centers around a Wave server handling both UI and backend logic, with distributed training capabilities via DeepSpeed. Key components include a configuration system using dataclasses, utilities for conversation chain handling, model loading abstractions, and factory patterns for training components.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 6 reusable components found
MichelNivard/gptstudio ★ 991 115 APPLICATION

gptstudio is an R package that integrates Large Language Models (LLMs) directly into the RStudio development environment. It functions as both a standalone Shiny application and a suite of RStudio add-ins. The core architecture relies on the {ellmer} package for LLM interactions, abstracting various providers (OpenAI, Anthropic, HuggingFace, etc.) through a unified S3 interface. Key features include a chat interface with conversation history, code commenting, and spelling/grammar checking add-ins. The package demonstrates strong engineering practices with comprehensive testing (shinytest2, testthat), modern UI theming (bslib), and support for streaming responses and audio input. It effectively bridges the gap between RStudio's IDE capabilities and external AI services.

RATING: 8.8/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
love-apples/maxapi ★ 224 59 APPLICATION

maxapi is an async Python SDK and bot framework for the MAX messenger platform. It provides a high-level client (`Bot`) for all MAX Bot API endpoints, an event-driven dispatcher with router hierarchy (`Dispatcher`/`Router`), composable filters (magic filter `F`, `Command`, `StateFilter`, etc.), middleware chains, a finite state machine (FSM) with multiple backends (memory, Redis), and webhook integrations for aiohttp, FastAPI, and Litestar. The library is heavily inspired by aiogram but adapted to MAX API specifics such as attachment types, callback payloads, and deep linking. It includes extensive utility code for formatting (HTML/Markdown), inline keyboard building, VCF parsing, and time helpers. The codebase is well-structured with Pydantic v2 models for all API entities, rigorous retry logic, and a comprehensive test suite covering unit, integration, and webhook scenarios. While not a standalone application, it serves as a foundational component for building production-ready MAX bots.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 7 reusable components found
agentscope-ai/agentscope ★ 33042 3626 APPLICATION

AgentScope is a full-stack, production-grade multi-agent orchestration platform. The core library (`src/agentscope/`) provides a FastAPI-based agent service with CRUD endpoints for agents, sessions, credentials, channels, knowledge bases, schedules, and SOPs. It features a modular middleware onion pattern for agent lifecycle hooks (reply, reasoning, acting, tool execution), a pluggable storage abstraction (Redis, SQL with Alembic migrations, S3 blob store), and a message bus (in-memory or Redis) for inter-session communication and distributed coordination. The system supports real-time voice (WebRTC, DashScope/OpenAI/Gemini/xAI), RAG pipelines with document parsing and vector stores (Qdrant, Milvus, MongoDB, Elasticsearch), channel integrations (Feishu, DingTalk, Discord), and sandboxed workspace backends (Docker, Kubernetes, E2B, Daytona, Apple Containers, Bubblewrap, OpenSandbox). A full React/TypeScript web UI (`examples/web_ui/frontend`) provides chat, channel management, schedule calendar, knowledge base browsing, and MCP hub browsing. Additionally, a terminal console and a goal-oriented pipeline are provided for developer workflows. The framework emphasizes transparency, controllability, and separation between agent logic and infrastructure, supporting multi-agent collaboration, human-in-the-loop permissions, and long-term memory via ReMe and mem0 middleware.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
zhayujie/CowAgent ★ 47133 10373 APPLICATION

CowAgent is a production-grade multi-agent AI assistant platform that routes messages from 12+ IM channels (WeChat, Feishu, Telegram, DingTalk, Slack, Discord, QQ, WeCom, web console, desktop Electron app) through a modular agent core. The core implements planning, tool use (bash, file editing, browser, web search, MCP, sub-agent delegation, scheduler, memory, vision), three-tier memory with vector embeddings and markdown-aware chunking, knowledge base management, skill system with SKILL.md manifests and a skill hub, self-evolution (idle-conversation review loop), and multi-agent team orchestration with peer transport. The architecture is a modular monolith: channel adapters normalize messages into a unified ChatMessage, the Bridge dispatches to per-agent/session model resolution, the Agent protocol (Task/AgentResult/AgentAction) drives the execution loop with streaming, cancellation, and steering, and all state persists to SQLite with incremental migration. Key entry points are app.py (startup orchestration), cli/cli.py (daemon lifecycle), channel/web/web_channel.py (HTTP API and SSE streaming), and the desktop Electron client (React/TypeScript with Zustand stores). External dependencies include LLM APIs (OpenAI, Claude, Gemini, DeepSeek, etc.), IM platform webhooks/SDKs, optional voice TTS/ASR providers, and MCP servers. The codebase demonstrates strong engineering practices with extensive regression tests (200+ test files), atomic file writes, thread-safe context propagation via ContextVar, and security guards for credential paths and SSRF.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 10 reusable components found
AstrBotDevs/AstrBot ★ 41514 3024 APPLICATION

AstrBot is a production-grade, multi-platform LLM chatbot framework and development platform. It connects to 10+ instant messaging platforms (QQ, Telegram, Discord, Slack, WeChat, Lark, etc.) via adapter pattern, integrates with 20+ LLM providers (OpenAI, Anthropic, Gemini, DashScope, etc.), and provides a plugin system (Stars) with command/regex/filter decorators. The architecture is a modular monolith: a FastAPI backend serves a Vue 3 dashboard for management, while a pipeline of stages processes incoming messages through waking checks, rate limiting, content safety, LLM interaction, and response delivery. It includes a knowledge base with RAG (FAISS vector store, chunking, hybrid retrieval), agent runners (Dify, Coze, DeerFlow), sandboxed code execution (computer use), TTS/STT, cron jobs, and a CLI. The codebase is well-structured with extensive test coverage, but its broad scope introduces some duplication and deprecated modules.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 9 reusable components found
guidone/node-red-contrib-chatbot ★ 982 192 APPLICATION

This repository is a comprehensive Node-RED package for building multi-platform chatbots with minimal coding. It provides a visual flow editor (Node-RED) with over 100 custom nodes for message handling, conversation management, AI integration (OpenAI, Dialogflow), and platform adapters for Telegram, Facebook Messenger, WhatsApp, Slack, Viber, Sinch, DeepChat, and more. The package also includes Mission Control, a React-based admin dashboard for managing users, content, messages, plugins, and device tracking, with a GraphQL API and WebSocket real-time updates. The architecture follows a middleware pattern (ChatExpress) for message normalization and platform abstraction, with a plugin system (code-plug) for extending the admin UI. While primarily an application, it includes some data persistence (SQLite via Sequelize) for chat logs, user records, and content management, but no data science or analytics pipelines.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
Charcoal-SE/SmokeDetector ★ 494 205 APPLICATION

SmokeDetector is a headless chatbot that monitors Stack Exchange for spam and abusive content in real time. It connects to the Stack Exchange WebSocket to receive new and edited posts, then runs them through a multi-layered detection engine that checks against extensive blacklists (keywords, websites, usernames, phone numbers, IP ranges, nameservers, ASNs) and applies heuristic rules including DNS lookups, homoglyph detection, and similarity analysis. Detected spam is reported to designated chat rooms on Stack Exchange Chat, where moderators can provide feedback that feeds back into the system via the Metasmoke statistics service. The architecture is event-driven: the main loop in `ws.py` listens for WebSocket events, enqueues posts for scanning via `bodyfetcher.py`, and dispatches results to `spamhandling.py` for chat reporting. A command system in `chatcommands.py` allows operators to manage blacklists, inspect posts, and control the bot through chat messages. Persistent state is stored in pickle files, and the bot integrates with GitHub for automated blacklist pull requests. The detection logic in `findspam.py` is rule-based with over 100 rules registered via a decorator pattern, each with configurable filters for site, reputation, and score. Key reusable components include a generic TTL cache (`metasmoke_cache.py`), an extensible blacklist parser hierarchy (`blacklists.py`), a phone number matching module with homoglyph support (`phone_numbers.py`), and a command registration decorator. The codebase is well-tested with extensive parametrized tests and has CI/CD pipelines. While the core detection file is large and tightly coupled, many supporting modules are cleanly separated and could be extracted for other projects.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
chatboxai/chatbox ★ 41895 4267 APPLICATION

Chatbox is a cross-platform desktop AI chat client (Windows/macOS/Linux) built with Electron, React, and TypeScript. It supports 30+ AI providers (OpenAI, Claude, Gemini, DeepSeek, Ollama, etc.) via a unified provider registry and model abstraction layer. The application features agent mode with tool use, sandboxed code execution, MCP server integration, knowledge base RAG, web search, image generation, and a skills marketplace. It uses a hexagonal architecture with ports/adapters in a core package (`@chatbox/core`) that is host-agnostic, and React bindings in `@chatbox/react`. The renderer uses TanStack Router, Zustand/Jotai for state, and Mantine/MUI for UI. The main process handles IPC, OAuth flows, file system sandbox, and analytics. The codebase is large and well-tested (Vitest unit tests, integration tests, contract tests) with a focus on offline-first, local storage, and cross-platform compatibility (desktop, web, mobile via Capacitor). The application is actively maintained with a commercial 'Pro' version that shares code with this open-source Community Edition. Notable engineering patterns include a clean port/adapter separation, in-memory test doubles for all repositories, a session write coordinator that serializes updates and cancels stale queries, a draft tokenization system with web workers, and a provider registry that allows dynamic model discovery. The codebase has some technical debt: multiple UI libraries, legacy migration paths, and commented-out code, but overall demonstrates strong craftsmanship and reusability of its core abstractions.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
makermate/clarvis-ai ★ 205 19 APPLICATION

Clarvis AI is a Docker-based orchestration system that combines OpenClaw, claw3d, and curaengine-slicer-api to create an AI-powered 3D printing assistant accessible via Telegram, Discord, or WhatsApp. Users can interact through natural language to generate 3D models from text/images, search existing models, slice them to G-code, and send them to compatible printers. The system features a two-service architecture: a gateway handling AI and chat integrations, and a slicer service providing REST API access to CuraEngine for model slicing. The setup process is automated via a comprehensive bash script that builds Docker images, runs interactive configuration wizards for both OpenClaw and claw3d components, and starts all services. A notable reusable component is the Node.js-based configuration script for claw3d, which uses @clack/prompts to create a polished terminal user interface for gathering settings and outputting JSON configuration. This script exemplifies strong CLI tool design with clear separation of concerns, error handling, and adaptability for reuse in other projects.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 1 reusable components found
asgeirtj/system_prompts_leaks ★ 68902 11190 DATA_RESEARCH

This repository is a curated, multi-vendor collection of leaked system prompts from major AI chatbots (ChatGPT, Claude, Gemini, Grok, Perplexity, DeepSeek, etc.), captured verbatim from production systems. It serves as a reference corpus for studying AI behavior instructions, safety guardrails, tool definitions, and product positioning across model versions and vendors. The repository also includes Claude Code bundled skills (code review, design-sync, dataviz, deep research) and Claude Design starter components, which are supplementary tooling. While primarily a documentation archive, it contains some well-crafted reusable components such as color palette validation scripts, a design system build/diff pipeline, and a deep research workflow script. The prompts are organized by vendor with version tracking, and the repository is actively maintained with recent updates. However, the tooling scripts lack dependency pinning, and the prompts are time-sensitive snapshots that will drift as products evolve.

RATING: 8.3/10 REPRO: 7.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
$ loading more...
$ submit: