Weave  by liaotxcn

Golang platform for building intelligent applications

Created 1 year ago
268 stars

Top 95.6% 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

2 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
3
Issues (30d)
2
Star History
74 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Elvis Saravia Elvis Saravia(Founder of DAIR.AI), and
2 more.

awesome-llm-apps by Shubhamsaboo

0.6%
105k
LLM app collection with AI agents and RAG examples
Created 1 year ago
Updated 1 week ago
Feedback? Help us improve.