Skip to main content

🤖 DaveAgent - AI-Powered Coding Assistant

Python Version License AutoGen

DaveAgent is an intelligent AI-powered coding assistant that works in your current directory. It uses AutoGen 0.4 to orchestrate specialized agents that help you with development tasks.

✨ Features

  • 🚀 Global CLI Command: Use daveagent from any directory
  • 📂 Contextual Work: Operates in your current directory automatically
  • 🧠 Vector Memory with ChromaDB: Remembers conversations, code, and decisions between sessions
  • 🔍 CodeSearcher: Specialized agent for searching and analyzing code
  • 📎 File Mentions with @: Mention specific files with @ to give them maximum priority in context
  • 🔧 45+ Integrated Tools: Filesystem, Git, JSON, CSV, Web, Memory (RAG), and more
  • 🤖 Intelligent Agents: Automatic selection of the appropriate agent
  • 📊 Complete Logging: Detailed logging system for debugging
  • 🎨 Rich Interface: CLI with colors and formatting using Rich
  • ⚡ Real-time Visualization: See the agent's thoughts and actions while it works

🎯 Use Cases

Software Development

cd my-project
daveagent

# Search code before modifying
You: /search current authentication system

# Mention specific files with @
You: @main.py fix the authentication bug in this file
You: @config.py @.env update the API configuration

# Modify with context
You: create an authentication module with JWT
You: refactor the code in services/ to use async/await
You: find all TODOs in the project

📦 Installation

Installation from PyPI

pip install daveagent-ai
daveagent

Installation from Source Code

# 1. Clone or download the project
git clone https://github.com/davidmonterocrespo24/DaveAgent.git
cd DaveAgent

# 2. Install in development mode
pip install -e .

# 3. Use from any directory!
daveagent

Requirements

  • Python 3.10 or higher
  • pip (Python package manager)

Main Dependencies

  • autogen-agentchat>=0.4.0 - Agent framework
  • autogen-ext[openai]>=0.4.0 - Model extensions
  • prompt-toolkit>=3.0.0 - Command-line interface
  • rich>=13.0.0 - Formatting and colors
  • pandas>=2.0.0 - Data processing

See INSTALACION.md for detailed instructions.

🚀 Usage

Basic Command

# From any directory
cd your-project
daveagent

Options

# Debug mode (detailed logs)
daveagent --debug

# View version
daveagent --version

# View help
daveagent --help

Internal Commands

Within DaveAgent, you can use these commands:

Command Description
/help Show command help
/search <query> 🔍 Search and analyze code
/index 🧠 Index project in vector memory
/memory 📊 Show memory statistics
@<file> 📎 Mention specific file with high priority
/debug Enable/disable debug mode
/logs Show logs location
/stats Show statistics
/clear Clear history
/new New conversation
/exit Exit DaveAgent

🔍 /search Command

The /search command invokes the CodeSearcher agent to search and analyze code:

You: /search authentication function
You: /search where is the TaskPlanner class used
You: /search how does the logging system work

CodeSearcher provides you with:

  • 📍 Relevant files with exact locations
  • 🔧 Functions found with complete code
  • 📦 Important variables and constants
  • 🔗 Dependencies between components
  • 💡 Recommendations on what to modify

See docs/CODESEARCHER_GUIDE.md for more details.

📎 File Mentions with @

Mention specific files in your query using @:

You: @main.py explain how this file works
You: @config.py @.env update the database connection settings
You: @src/agents/code_searcher.py add docstrings to all methods

📖 Examples

Example 1: Use CodeSearcher before modifying

cd my-project
daveagent

# First, search for context
You: /search existing utilities system

# The agent shows functions, files and current structure
# Now modify with context

You: create a utils.py module with functions for:
    - validate email
    - format dates
    - calculate MD5 hash

DaveAgent first analyzes the existing code and then creates the my-project/utils.py file with the requested functions, avoiding duplicates and maintaining consistency.

Example 2: Analyze a Project

cd existing-project
daveagent

You: analyze the project structure and give me a summary
You: how many functions are there in total?
You: find all files that use the requests library

Example 3: Data Operations

cd data
daveagent

You: read the sales.csv file and show the top 10 sales
You: create a new CSV with only 2024 sales
You: convert the config.json file to CSV

🐛 Debugging and Logs

View Logs

# Start with detailed logs
daveagent --debug

# Within DaveAgent
You: /logs
📄 Log file: logs/daveagent_20250131_154022.log

Log Location

Logs are saved in:

logs/
└── daveagent_YYYYMMDD_HHMMSS.log

Each file contains detailed logs with format:

2025-01-31 15:40:22 | DaveAgent | INFO | process_user_request:257 | 📝 New request...

🏗️ Architecture

DaveAgent/
├── src/
│   ├── agents/          # Specialized agents
│   │   ├── task_planner.py      # Task planning
│   │   ├── task_executor.py     # Task execution
│   │   └── code_searcher.py     # 🔍 Code search
│   ├── config/          # Configuration and prompts
│   ├── interfaces/      # CLI interface
│   ├── managers/        # Conversation management
│   ├── tools/           # 45+ tools
│   │   ├── filesystem/
│   │   ├── git/
│   │   ├── data/       # JSON, CSV
│   │   ├── web/        # Wikipedia, web search
│   │   └── analysis/   # Code analysis, grep, terminal
│   ├── utils/          # Utilities (logger)
│   └── cli.py          # CLI entry point
├── docs/               # Documentation
│   └── CODESEARCHER_GUIDE.md  # CodeSearcher Guide
└── main.py             # Main application

🔧 Configuration

API Key

DaveAgent uses DeepSeek by default. To change the model:

  1. Edit main.py:
self.model_client = OpenAIChatCompletionClient(
    model="gpt-4",  # Change here
    api_key="your-api-key",
    # ...
)
  1. Or use environment variables in .daveagent/.env:
DAVEAGENT_API_KEY=your-api-key
DAVEAGENT_MODEL=gpt-4
DAVEAGENT_BASE_URL=https://api.openai.com/v1

🤝 Contributing

Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create a branch: git checkout -b feature/new-functionality
  3. Commit your changes: git commit -m 'Add new functionality'
  4. Push to the branch: git push origin feature/new-functionality
  5. Open a Pull Request

Development

# Install with development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black src/

# Check types
mypy src/

📚 Documentation

User Guides

🧪 Evaluation with SWE-bench (Linux)

To evaluate the agent's performance using the SWE-bench Verified standard, we have included an automated script that works in Linux environments (or WSL2).

Prerequisites

  • Linux or WSL2 environment
  • Docker installed and running (required for evaluation harness)
  • Python 3.10+

Execution

The setup_and_run_linux.sh script automates the entire process:

  1. Compiles and installs the agent
  2. Runs inference on 10 test tasks
  3. Runs the official evaluation using Docker
# 1. Grant execution permissions
chmod +x setup_and_run_linux.sh

# 2. Run the script
./setup_and_run_linux.sh

Note: The complete evaluation may take time depending on your connection speed and CPU.

📝 License

This project is under the MIT License. See LICENSE for more details.

Contact & Community

Join Our Discord Community

We encourage you to join our Discord server to:

  • 💬 Get Help: Ask questions and get support from the community
  • 🐛 Report Bugs: Help us improve by reporting issues you encounter
  • 💡 Suggest Features: Share your ideas for new features and improvements
  • 🤝 Collaborate: Connect with other users and contributors
  • 📢 Stay Updated: Get the latest news and updates about DaveAgent

Click here to join: https://discord.gg/pufRfBeQ

Metadata

Release files for daveagent-cli 1.0.16

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for daveagent-cli 1.0.16
File Size Uploaded
daveagent_cli-1.0.16.tar.gz 448.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for daveagent-cli 1.0.16
File Interpreter ABI Platform
daveagent_cli-1.0.16-py3-none-any.whl Python 3 none any Details

Total release size: 670.2 kB

Release files / daveagent_cli-1.0.16.tar.gz

Download URL daveagent_cli-1.0.16.tar.gz
Size 448.1 kB
Tags Source
SHA-256 checksum
How to use checksums
02a677728f071ddee6806e5f9b87b834eca22e6795a1801a525ea05201ed05ef
BLAKE2b-256 checksum
How to use checksums
3b2de3477c9ab0b02a7a94ba5bd777629650a9abf541c3c6e1664f7a9ee2be12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / daveagent_cli-1.0.16-py3-none-any.whl

Download URL daveagent_cli-1.0.16-py3-none-any.whl
Size 222.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd43b890f7bd8d2fd67305b8ecfd56a31ac5bea43b4cebe557612951b63aa5ea
BLAKE2b-256 checksum
How to use checksums
a1c7b8cac93ec2945a5aa5aa2f105e79cd12bd4c791d50942bb878b54522a908
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release history Release notifications | RSS feed

This release

1.0.16 This release

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page