buddyme  by virgo777

Lightweight agent framework for intelligent task automation

Created 2 weeks ago

New!

410 stars

Top 70.7% 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 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
0
Star History
428 stars in the last 17 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.