30 open-source projects similar to botman/botman, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Botman alternative.
Botkit is a multi-platform chatbot framework designed to build conversational bots that operate across different messaging services using a unified interface. It provides a core system for multi-platform development, utilizing a platform adaptation layer to translate service-specific API payloads into a standardized internal format. The framework features a conversational dialog manager that coordinates multi-turn interactions through state-tracking, branching logic, and scripted flows. It employs a message processing middleware pipeline to intercept, normalize, and enrich incoming and outgoi
Bottender is a conversational UI framework and cross-platform bot orchestrator designed to build interactive chat interfaces. It functions as a routing system that maps user messages and events to specific handler functions to manage interaction paths and connects a single backend to various third-party messaging channels through a unified interface. The framework includes an integration gateway for connecting external natural language understanding services to extract intent and labels from user input. It also features a slot filling interface to gather specific pieces of information from us
This repository is a sample library and development kit for building conversational bots using the Bot Framework SDK. It provides a collection of task-focused code examples, templates, and implementation guides to help developers create interactive chat interfaces and dialogue flows. The project focuses on integration patterns for the Bot Framework, offering specific examples for implementing custom middleware, identity authentication, and the connection of external bot skills. It includes reference implementations for multi-channel chatbot templates that allow a single agent to operate acros
Hubot is a Node.js bot engine and programmable framework for creating conversational agents that respond to user triggers and automate tasks across various messaging platforms. It functions as a command-based agent capable of processing deterministic slash commands with argument validation and role-based access control. The system uses a modular adapter pattern to connect a single bot instance to multiple chat backends through a unified interface. It is an extensible automation tool that allows the integration of external services, such as translation engines and mapping utilities, via custom
This project is a cross-platform bot manager and development framework built on Nonebot2. It enables the creation and deployment of automated assistants that function across multiple chat services using a unified codebase and a shared communication protocol. The system distinguishes itself with an integrated virtual economy plugin for tracking currencies and user rankings, alongside a dedicated administration web interface for monitoring system health and configuring plugin permissions. It utilizes an asynchronous event-driven architecture and an adapter-based abstraction layer to maintain co
OpenClawChineseTranslation is a framework for building conversational assistants that functions as a cross-platform chat gateway. It synchronizes conversational data between multiple external messaging applications and a centralized core, allowing users to interact with an assistant across different platforms. The system utilizes a plugin-based extension architecture to integrate external services such as note-taking and password managers. It features a model-agnostic provider interface, which enables the underlying intelligence to be swapped by selecting different large language model provid
Telegraf is a Node.js framework and typed API wrapper for building interactive chat agents on the Telegram platform. It provides a structured environment for developing automated agents that interface with the Telegram Bot API to process and respond to user messages. The framework uses a middleware-based request router to process incoming events through a customizable chain of handlers. This architecture allows for dynamic command routing and the use of a context-object pattern to pass updates and API methods through the processing pipeline. The system supports multiple event delivery method
Mirai is a software development kit and framework designed for building automated bots that interface with the QQ mobile protocol. It functions as a mobile protocol bridge and social API wrapper, enabling the automation of account interactions and the programmatic management of social networks. The project provides specialized tools for QQ bot development, including frameworks for managing group memberships, permissions, and moderation settings. It also includes utilities for social relationship automation, such as processing friendship requests and maintaining organized contact lists. The s
Nonebot2 is an asynchronous Python framework for building event-driven chatbots across multiple messaging platforms. It centers on a non-blocking event bus and a driver-based adapter system that unifies different messaging protocols into a single consistent interface. The framework utilizes a modular plugin architecture, allowing for the discovery and loading of third-party extensions to add new event handlers and system capabilities. It distinguishes itself with a type-annotation based dependency injection system that automatically resolves and provides required service objects to handlers a
This project is a cross-platform messaging client that implements a secure, real-time communication protocol. It provides a comprehensive development toolkit, including a database library and messaging SDK, which allows for the creation of custom messaging applications that maintain synchronized state across multiple devices. The core architecture relies on an asynchronous event-driven model to ensure responsive performance while managing persistent local database synchronization with server-side state. The client distinguishes itself through a robust end-to-end encryption layer that supports
Go-micro is a distributed systems development toolkit designed for building, connecting, and managing modular microservices. It provides a comprehensive framework for service discovery, remote procedure call abstraction, and event-driven messaging, allowing developers to create decoupled architectures that communicate asynchronously through shared message brokers. The project distinguishes itself by integrating autonomous agent orchestration and language model tool binding directly into the service lifecycle. By exposing internal service endpoints as standardized tools, it enables AI agents t
MaiBot is an intelligent conversational agent and plugin-based framework designed to simulate authentic human personality and digital companionship. It functions as a multi-platform messaging bot that connects a central agent to various instant messaging services through a standardized adapter system. The project is distinguished by its use of a knowledge graph memory system to maintain consistent personas and long-term user profiles. It also acts as a tool orchestrator, coordinating multi-turn reasoning and external tool calls to manage the natural pacing and flow of conversations. The fram
BotsApp is a WhatsApp automation tool and userbot framework designed to add custom capabilities and automation to a standard WhatsApp user account. It functions as a personal assistant bot that executes automated actions and manages conversations within the platform. The project provides a scriptable interface for automating account tasks and extending the features of a personal profile. This allows for the implementation of a userbot to handle personal messaging automation and repetitive account workflows.
This project is a Java microservices reference implementation that demonstrates the application of structural design patterns for distributed systems. It consists of a suite of containerized services and infrastructure dependencies designed to showcase how to coordinate multiple independent services into a functional system. The implementation focuses on several advanced architectural patterns, including a centralized API gateway for routing and aggregating responses, Command Query Responsibility Segregation to separate read and write operations, and event sourcing to persist the state of bus
This project is a Telegram bot bridge that connects the Telegram chat interface to large language models. It functions as a relay that routes user prompts to an artificial intelligence service and returns the generated text responses to the user. The application uses session token authentication to access language model services via browser-extracted cookies. Access to the bot is managed through a whitelist controller that restricts interactions to a predefined list of authorized user identifiers. The system is designed for containerized deployment to ensure consistent execution across diffe
Faraday is an HTTP client library for Ruby that sends requests and processes responses through a middleware pipeline with pluggable adapters. Its core identity is built around a middleware-pipeline architecture where HTTP requests and responses flow through a chain of components that can modify, log, or transform data before reaching the backend, combined with an adapter-based backend abstraction that delegates HTTP execution to interchangeable backends like Net::HTTP or Typhoeus. The library distinguishes itself through a parallel-execution engine that dispatches multiple HTTP requests concu
This project is a reference implementation of a distributed system built using Spring Cloud Alibaba, Spring Boot, and JDK 17. It serves as a comprehensive model for implementing a microservices architecture. The system integrates a wide range of distributed patterns, including global transaction coordination for data consistency, OAuth2 and JWT for identity management, and Kubernetes-based container orchestration. It features a dedicated observability stack for distributed request tracing, log aggregation, and service health monitoring. The implementation covers several functional domains, i
This is a Go client library for interacting with the Slack API, providing a programmatic interface to manage channels, users, and workspace settings. It functions as a bot framework and event handler, allowing for the development of automated assistants that respond to workspace activities. The library includes a dedicated Block Kit builder for constructing complex UI layouts, such as interactive elements, data tables, and visualizations, for rich messaging. It also provides a full implementation for managing user authentication and identity verification through OAuth2 and OpenID Connect. Br
aiogram is an asynchronous framework for building Telegram bots in Python. It provides a complete toolkit for interacting with the Telegram Bot API, handling incoming updates, and managing bot state through a built-in finite state machine. The framework is designed around an event-driven architecture that routes messages and other updates to handler functions using a flexible dispatching system. The framework distinguishes itself through its middleware system, which allows developers to intercept and modify both incoming updates and outgoing API calls. It supports a wide range of Telegram-spe
Blade is a lightweight Java MVC web framework built on an embedded Netty server. It packages the entire web application into a single executable JAR that starts the server on launch, following the MVC pattern with fast request routing and minimal configuration. The framework supports plugin-based extensibility, allowing third-party modules to add features like template rendering and static asset serving. The framework distinguishes itself through lambda-style route registration, where routes are defined using lambda expressions that map HTTP methods and URL patterns directly to handler functi
Camera.ui is a self-hosted network video recorder that provides a centralized dashboard for managing live surveillance feeds, continuous video recording, and automated security monitoring. It functions as an integrated platform that combines video stream management with an artificial intelligence engine to identify objects and events directly on local hardware. The system distinguishes itself through its event-driven architecture, which utilizes a messaging broker to decouple hardware state updates from automation logic. This allows for deep integration with smart home ecosystems, enabling us
🔥 基于大模型和 RAG 的智能问数系统,对话式数据分析神器。Text-to-SQL Generation via LLMs using RAG.
Kitura is a server-side web framework for building web applications and APIs using the Swift programming language. It provides a native HTTP server for hosting network traffic and implementing REST APIs. The framework features a pluggable middleware architecture that allows for the insertion of custom logic into the request-response pipeline. It utilizes a Codable data processor to automate the serialization and deserialization of HTTP requests and responses using Swift data models. The system includes a trie-based route matching mechanism for mapping URL paths to handlers and supports the F
deepstream.io is an open-source realtime server that synchronizes JSON records, events, and remote procedure calls across clients and backend services. It functions as a realtime data sync server, event pub/sub server, record database server, and RPC server, all within a single platform. The server authenticates and authorizes every message using multiple strategies including JWT, HTTP, and file-based credentials, with a declarative permission language controlling access to records, events, and RPCs at a granular level. The platform distinguishes itself through its combination of realtime dat
CAP is a .NET distributed transaction framework and event bus designed to manage asynchronous communication in microservices. It implements the outbox pattern to ensure eventual consistency and reliable message delivery by persisting messages in local database tables until transactions commit. The framework includes a distributed message monitor and web dashboard for tracking the status of sent and received messages. It provides tools for event traffic visualization, distributed request tracing, and the ability to manually trigger retries for failed delivery attempts. The system supports var
eShop is a .NET microservices reference application that provides a comprehensive blueprint for a distributed retail system. It implements an e-commerce architecture using decoupled services to manage core operations such as product catalogs, shopping baskets, and order processing. The project demonstrates a cloud-native retail infrastructure that incorporates an asynchronous event bus system to synchronize state across distributed services. It includes a reference implementation for integrating generative AI features by connecting the store to large language models via cloud providers. The
Moleculer is a Node.js microservices framework designed for building distributed systems. It functions as a distributed service broker, task orchestrator, and service mesh framework, enabling a decentralized architecture with built-in service discovery and load balancing. The project differentiates itself through a pluggable transport layer supporting protocols such as NATS, Redis, TCP, and Kafka, as well as a dedicated microservices API gateway that maps external HTTP and WebSocket requests to internal service actions. It includes built-in fault tolerance mechanisms, including circuit breake
light-4j is a Java microservices framework designed for building scalable distributed systems. It provides a toolkit for developing cloud-native services with integrated support for service discovery, telemetry, and secure inter-service communication. The project includes a runtime OpenAPI request validator to ensure communication consistency by checking data against formal specifications. It also features an OAuth2 API security gateway for verifying identity tokens and managing credentials, alongside an event-sourcing messaging system for building command query responsibility segregation arc
This project is a collection of educational resources and step-by-step tutorials for Java backend development. It provides implementation guides for building web services and applications using the Spring Boot framework, focusing on the development of data streams and concurrent tasks. The repository includes technical walkthroughs for Kubernetes cluster automation, specifically regarding the creation of custom operators and admission controllers. It also serves as a manual for cloud native integration, covering the packaging of applications into containers and the use of distributed event me
This is a Python SDK for interacting with large language models via API. It serves as a client library to generate text, process messages, and manage conversational states, while providing a specialized interface for connecting to models hosted across different cloud infrastructure providers. The SDK includes a tool-calling framework that maps Python functions to JSON schemas, allowing models to execute external tools. It also features a built-in token counting utility to estimate input size before transmission and a server-sent events client for receiving model tokens in real time. The libr