Memoh is an open-source, full-stack AI agent platform that provides each agent with an isolated cloud computer (filesystem, desktop, browser, network, long-term memory). The system is built around a Go backend with Echo HTTP and gRPC, Vue 3 frontend with Pinia, and an Electron desktop shell. It supports multiple agent runtimes (native, ACP, Codex, Claude Code), a wide range of messaging channels (Telegram, Discord, Feishu, WeChat, LINE, DingTalk, etc.), and container-based workspaces via containerd or Docker. The architecture is a monolith with clearly separated packages for channel adapters, context management, session orchestration, and tool execution. The codebase demonstrates high engineering craftsmanship with extensive test coverage, sophisticated concurrency patterns (runtime fences, decision waiters, atomic compaction barriers), and a modular context fragment system for prompt assembly. It is actively maintained with frequent commits, thorough CI/CD, and over 140 database migrations.
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.
Golem is a production-grade, self-evolving GeoAI agent purpose-built for geospatial (GIS) workflows. It bridges natural language with professional GIS tooling (GDAL, PostGIS) and operates as a standalone application with three access modes: a terminal TUI (Bubbletea), an embedded WebUI (Vue.js), and multi-channel IM bots (Telegram, Discord, Slack, Feishu, WhatsApp, QQ, DingTalk, MaixCam). The architecture is a modular monolith in Go, centered around an agent loop that processes messages, executes tools via a guarded registry, enforces policy (strict/relaxed/off), and supports human-in-the-loop approval. It includes a message bus for decoupling, a session manager for persistent conversation history, and a context builder that dynamically composes system prompts from workspace files with cache invalidation. The system also features a learned pipeline reuse mechanism, a spatial SQL codebook with verified PostGIS patterns, and a skill telemetry system for self-improvement. While primarily an application, it incorporates data-intensive components like the geo codebook and pipeline learning, giving it a hybrid character with a strong application dominance.
Notifme SDK is a Node.js library for sending transactional notifications across multiple channels (email, SMS, push, webpush, Slack, WhatsApp, voice). It provides a unified interface with a provider pattern, allowing users to configure one or more providers per channel with built-in multi-provider strategies (fallback, round-robin, no-fallback). The library handles authentication, request formatting, and error handling for each provider, and includes a development mode with a notification catcher for local testing. The architecture is centered around a Sender class that dispatches requests to channel-specific strategies, which in turn call provider instances. External dependencies include nodemailer, node-fetch, web-push, winston, and node-pushnotifications. The codebase uses Flow for type checking and Babel for transpilation, with comprehensive Jest tests achieving 100% coverage thresholds.
ChatClaw is a desktop AI assistant application built with Wails v3 (Go backend + Vue 3 frontend) that provides a local-first, multi-platform AI agent experience. It integrates with multiple messaging platforms (WeChat, QQ, DingTalk, Feishu, WeCom, WhatsApp) through gateway adapters and manages AI agents using the CloudWeGo Eino framework. The application features a knowledge base with full-text search (FTS5) and vector embeddings (sqlite-vec), document processing pipeline (parsing, splitting, RAPTOR hierarchical summarization), scheduled tasks with cron execution, a skill marketplace, MCP tool support, and native desktop capabilities like window snapping, floating ball, and text selection popups. It also bundles an OpenClaw Node.js runtime for advanced agent workflows. The frontend is Vue 3 with TypeScript, Pinia, and shadcn-vue UI components. The architecture is a monolith with service-oriented backend and multiple WebView windows. Note: The repo shows signs of hybridity as it includes substantial data/research components (RAPTOR, embeddings, document processing) but these serve the application's core functionality.
ChatWiki is an open-source, multi-service AI chatbot and workflow automation platform primarily targeting the WeChat ecosystem. In production, it operates as a suite of Go microservices (chatwiki, message_service, code_run, websocket, plugin, llm_runner) behind a Gin web server, with a Vue 3 admin panel, separate mobile/PC/Electron frontends, and an embeddable SDK. The core functionality includes knowledge base management (document ingestion, chunking, vector storage with pgvector), a LogicFlow-based visual workflow builder, multi-channel messaging (WeChat Official Account, Mini Program, Feishu, DingTalk, Telegram, WhatsApp, LINE), and an AI agent framework called Clawbot with skill reuse. External dependencies include PostgreSQL (with pgvector and AGE graph extension), Redis, NSQ message queue, and optional Neo4j and E2B sandbox. While the system is primarily an application, it incorporates data-intensive components such as RAG pipelines, LLM request logging, and daily statistics, giving it a hybrid character.