buddyme  by virgo777

Lightweight agent framework for intelligent task automation

Created 2 months ago
436 stars

Top 67.6% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

BuddyMe is a lightweight Python agent framework designed for developers seeking flexibility in AI agent development. It addresses the need for adaptable agents by offering layered personalities, tiered skill loading, and a heartbeat memory system, enabling the creation of smarter, more capable AI assistants.

How It Works

This framework employs a multi-model AI agent architecture that automatically decomposes complex tasks into sub-tasks. It then plans, executes, validates, and merges results. Key innovations include runtime hot-swapping for six major LLM providers (GLM, DeepSeek, ERNIE, Qwen, MiMo), a three-stage execution pipeline (plan, sub-task execution, result merge), and a robust system for managing skills and persistent memory. This approach allows for dynamic agent behavior and efficient handling of intricate workflows.

Quick Start & Requirements

Installation involves cloning the repository (git clone https://github.com/virgo777/buddyme.git), navigating into the directory, and running pip install -e .. Prerequisites include Python version 3.9 or higher and pip. Users must configure API keys for their chosen LLM providers by creating a .env file in the project root, referencing .env.example. The project offers a CLI mode for direct interaction. Further details can be found on the BuddyMe Blog: http://49.235.53.176/.

Highlighted Details

  • Multi-Model Hot-Swapping: Supports runtime, zero-interruption switching between six LLM providers including GLM, DeepSeek, ERNIE, Qwen, and MiMo.
  • Three-Stage Task Execution: Automates complex task handling through distinct planning, sub-task execution, and result merging phases.
  • Extensive Skill & Tool Ecosystem: Features over 25 pre-built skills (e.g., API design, Python testing) and 8 core tools (bash, file I/O, search), with support for runtime hot-reloading and custom extensions.
  • Persistent Memory System: Maintains user profiles, conversation summaries, and logs across sessions, incorporating memory decay and merging mechanisms.
  • Local Command Processing: Utilizes a command system (e.g., /help, /model, /memory) that operates locally, conserving LLM tokens.

Maintenance & Community

No specific maintenance contributors, sponsorships, or community channels (e.g., Discord, Slack) are detailed in the project's documentation.

Licensing & Compatibility

BuddyMe is released under the MIT license. This permissive license generally allows for commercial use and integration within closed-source projects without significant restrictions.

Limitations & Caveats

Operation requires users to provide and manage API keys for supported LLM services, which may incur costs. The framework's comprehensive feature set and multi-layered architecture may present a learning curve for new users.

Health Check
Last Commit

2 months ago

Responsiveness

Inactive

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

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Assaf Elovic Assaf Elovic(Cofounder of Tavily), and
2 more.

XAgent by OpenBMB

0.0%
9k
Autonomous LLM agent for complex task solving
Created 2 years ago
Updated 1 year ago
Feedback? Help us improve.