Weave  by liaotxcn

Golang platform for building intelligent applications

Created 1 year ago
368 stars

Top 76.5% on SourcePulse

GitHubView on GitHub
Project Summary

A Golang-based application development platform, Weave aims to provide a highly efficient, secure, and scalable environment for building intelligent applications. It targets developers needing to aggregate tools, manage services, or create AI-driven applications, offering deep integration with LLM, AIChat, RAG, and Agent capabilities through a flexible plugin system, thereby accelerating development and deployment.

How It Works

Weave employs a hybrid architecture combining a microkernel for plugin management and lifecycle control with a traditional layered design for clear separation of concerns (Interface, Business, Data, Infrastructure). This approach ensures high flexibility, scalability, and performance, enabling dynamic loading/unloading of plugins (hot-plugging) with isolated features and unified interfaces, significantly reducing inter-module dependencies and enhancing maintainability.

Quick Start & Requirements

  • Prerequisites: Go 1.24+, Docker, Docker Compose, MySQL 8.0+. Optional dependencies include PostgreSQL, Redis 7.0+, Prometheus, and Grafana.
  • Installation: The recommended method involves cloning the repository (git clone https://github.com/liaotxcn/weave.git) and running docker-compose up -d. Local development requires go mod download followed by go run main.go.
  • Links: Detailed Docker Compose commands and frontend build instructions are available within the documentation.

Highlighted Details

  • Architecture: The microkernel + layered design facilitates hot-plugging, feature isolation, and on-demand extensibility without modifying core kernel code.
  • Performance: Built on the Gin framework, it offers high concurrency, optimized database connection pooling, and efficient routing management.
  • AI Integration: Provides a comprehensive stack for LLM (supporting OpenAI, Ollama, ModelScope), AIChat, Agent frameworks, and RAG utilizing RedisSearch for vector retrieval, with support for multi-model, multimodal, and custom embedding models.
  • Plugin System: Enables modular development through unified interfaces, namespace isolation, dependency management, and a scaffolding tool for rapid plugin generation.
  • Security: Incorporates JWT-based authentication, CSRF protection, rate limiting, and HTTPS support.
  • Observability: Features integrated structured logging (zap) and Prometheus/Grafana monitoring capabilities.

Maintenance & Community

Contributions are welcomed via standard GitHub pull request workflows. No specific community channels (e.g., Discord, Slack) or roadmap links were explicitly found in the provided documentation.

Licensing & Compatibility

The specific open-source license for the project is not explicitly stated in the provided README. This omission necessitates further investigation for determining compatibility with commercial use or closed-source integration requirements.

Limitations & Caveats

The absence of a clearly defined license is a significant adoption blocker. The project relies on external services like MySQL and Redis for core functionality, and optional components like Prometheus/Grafana add to the initial setup complexity.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
2
Issues (30d)
0
Star History
44 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.