Trae Agent
Trae Agent is an LLM-based agent for general purpose software engineering tasks. It provides a powerful CLI interface that can understand natural language instructions and execute complex software engineering workflows using various tools and LLM providers.
Please note that this project is still in the alpha stage and being actively developed. We welcome various contributions from the community.
- Unit tests
- Richer CLI support
- Migrate to Rust
✨ Features
- 🤖 Multi-LLM Support: Works with OpenAI and Anthropic official APIs
- 🛠️ Rich Tool Ecosystem: File editing, bash execution, sequential thinking, and more
- 🎯 Interactive Mode: Conversational interface for iterative development
- 📊 Trajectory Recording: Detailed logging of all agent actions for debugging and analysis
- ⚙️ Flexible Configuration: JSON-based configuration with environment variable support
- 🚀 Easy Installation: Simple pip-based installation
🚀 Quick Start
Installation
We strongly recommend using UV to setup the project.
git clone <repository-url>
cd trae-agent
uv sync# Install from source
git clone <repository-url>
cd trae-agent
pip install -e .Setup API Keys
Set your API keys as environment variables:
# For OpenAI
export OPENAI_API_KEY="your-openai-api-key"
# For Anthropic
export ANTHROPIC_API_KEY="your-anthropic-api-key"This can also be configured using the trae_config.json file.
Basic Usage
# Run a simple task
trae run "Create a hello world Python script"
# Start interactive mode
trae interactive
# Show available tools
trae tools
# Show current configuration
trae show-config📖 Usage
Command Line Interface
The main entry point is the trae command with several subcommands:
trae run - Execute a Task
# Basic task execution
trae run "Create a Python script that calculates fibonacci numbers"
# With specific provider and model
trae run "Fix the bug in main.py" --provider anthropic --model claude-sonnet-4-20250514
# With custom working directory
trae run "Add unit tests for the utils module" --working-dir /path/to/project
# Save trajectory for debugging
trae run "Refactor the database module" --trajectory-file debug_session.json
# Force to generate patches
trae run "Update the API endpoints" --must-patchtrae interactive - Interactive Mode
# Start interactive session
trae interactive
# With custom configuration
trae interactive --provider openai --model gpt-4o --max-steps 30In interactive mode, you can:
- Type any task description to execute it
- Use
statusto see agent information - Use
helpfor available commands - Use
clearto clear the screen - Use
exitorquitto end the session
trae show-config - Configuration Status
trae show-config
# With custom config file
trae show-config --config-file my_config.jsonConfiguration
Trae Agent uses a JSON configuration file (trae_config.json) for settings:
{
"default_provider": "anthropic",
"max_steps": 20,
"model_providers": {
"openai": {
"api_key": "your_openai_api_key",
"model": "gpt-4o",
"max_tokens": 128000,
"temperature": 0.5,
"top_p": 1
},
"anthropic": {
"api_key": "your_anthropic_api_key",
"model": "claude-sonnet-4-20250514",
"max_tokens": 4096,
"temperature": 0.5,
"top_p": 1,
"top_k": 0
}
}
}Configuration Priority:
- Command-line arguments (highest)
- Configuration file values
- Environment variables
- Default values (lowest)
Environment Variables
OPENAI_API_KEY- OpenAI API keyANTHROPIC_API_KEY- Anthropic API key
🛠️ Available Tools
Trae Agent comes with several built-in tools:
-
str_replace_based_edit_tool: Create, edit, view, and manipulate files
view- Display file contents or directory listingscreate- Create new filesstr_replace- Replace text in filesinsert- Insert text at specific lines
-
bash: Execute shell commands and scripts
- Run commands with persistent state
- Handle long-running processes
- Capture output and errors
-
sequential_thinking: Structured problem-solving and analysis
- Break down complex problems
- Iterative thinking with revision capabilities
- Hypothesis generation and verification
-
task_done: Signal task completion
- Mark tasks as successfully completed
- Provide final results and summaries
📊 Trajectory Recording
Trae Agent automatically records detailed execution trajectories for debugging and analysis:
# Auto-generated trajectory file
trae run "Debug the authentication module"
# Saves to: trajectory_20250612_220546.json
# Custom trajectory file
trae run "Optimize the database queries" --trajectory-file optimization_debug.jsonTrajectory files contain:
- LLM Interactions: All messages, responses, and tool calls
- Agent Steps: State transitions and decision points
- Tool Usage: Which tools were called and their results
- Metadata: Timestamps, token usage, and execution metrics
For more details, see TRAJECTORY_RECORDING.md.
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for new functionality
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Guidelines
- Follow PEP 8 style guidelines
- Add tests for new features
- Update documentation as needed
- Use type hints where appropriate
- Ensure all tests pass before submitting
📋 Requirements
- Python 3.12+
- OpenAI API key (for OpenAI models)
- Anthropic API key (for Anthropic models)
🔧 Troubleshooting
Common Issues
Import Errors:
# Try setting PYTHONPATH
PYTHONPATH=. trae run "your task"API Key Issues:
# Verify your API keys are set
echo $OPENAI_API_KEY
echo $ANTHROPIC_API_KEY
# Check configuration
trae show-configPermission Errors:
# Ensure proper permissions for file operations
chmod +x /path/to/your/project📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
We thank Anthropic for building the anthropic-quickstart project that served as a valuable reference for the tool ecosystem.