🤖 DaveAgent - AI-Powered Coding Assistant
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
daveagentfrom 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 frameworkautogen-ext[openai]>=0.4.0- Model extensionsprompt-toolkit>=3.0.0- Command-line interfacerich>=13.0.0- Formatting and colorspandas>=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:
- Edit
main.py:
self.model_client = OpenAIChatCompletionClient(
model="gpt-4", # Change here
api_key="your-api-key",
# ...
)
- 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:
- Fork the repository
- Create a branch:
git checkout -b feature/new-functionality - Commit your changes:
git commit -m 'Add new functionality' - Push to the branch:
git push origin feature/new-functionality - 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
- Installation Guide - Detailed installation
- CodeSearcher Guide - 🔍 Code search and analysis
- File Mentions Guide - 📎 Mention files with @
- Logging Guide - Logging system
🧪 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:
- Compiles and installs the agent
- Runs inference on 10 test tasks
- 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
- Discord Community: Join our Discord server - Get help, report bugs, suggest improvements, and collaborate with other users
- GitHub: https://github.com/davidmonterocrespo24/DaveAgent
- Issues: https://github.com/davidmonterocrespo24/DaveAgent/issues
- Email: davidmonterocrespo24@gmail.com
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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| daveagent_cli-1.0.16.tar.gz | 448.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|