最近在做swe-bench评测,尝试增加几种Coding Agent的cli自动化生成Patch方法,以此分享一下。
随着Trae-cli(来自字节跳动 Trae Agent 项目)的正式开源,开发者们现在可以直接通过命令行体验这两款前沿 AI 编程助手的强大功能。本文将详细介绍如何在您的环境中安装、配置和高效使用,助您轻松掌握它们的基本操作和高级用法,提升日常开发效率。
Trae-cli:字节跳动 AI 编程 Agent
先决条件:
本文使用的机器为mac,linux机器也可适用。
#前提条件
python –version
#Python:3.12+大于等于12
git –version
#已安装Git
cmake –version
#已安装cmake
1. 克隆Trae cli仓库
Trae没有直接公开cli,但在github中发布了一个项目Trae Agent通过运行该项目可以使用Trae cli。
git clone https://github.com/bytedance/trae-agent
cd trae-agent
2. 安装依赖并创建虚拟环境
uv sync –all-extras
# 激活虚拟环境
source .venv/bin/activate # Linux/macOS
# 若为 Windows,使用:.venv\\Scripts\\activate
安装后可使用该命令验证
uv run python3 -m trae_agent.cli –help
#过程中可能需要安装docker和pexpect库
#在此给出安装docker和pexpect命令
uv pip install docker pexpect
使用uv因为有两套python环境:本地conda一套,项目本地uv环境一套,所以需要确保安装在uv环境中。
安装成功后如下图

命令行快捷方式设置:
#以下是两种方法一个临时一个永久任选其一即可
# 设置配置文件路径,后续可直接使用trae-cli命令
export TRAE_CONFIG_FILE="your_trae_config.json"
# 建议添加到~/.bashrc或~/.zshrc中,永久生效
echo 'export TRAE_CONFIG_FILE="your_trae_config.json"' >> ~/.zshrc
source ~/.zshrc
3. 配置 Trae Agent
Trae-agent 提供了两种格式的配置文件模板,位于项目根目录:
- trae_config.json.example:JSON 格式(推荐)
- trae_config.yaml.example:YAML 格式

配置步骤
复制模板文件并重命名
cp trae_config.json.example trae_config.json
编辑配置文件,更换 API 密钥
{
"api_keys": {
"anthropic": "your_anthropic_api_key",
"openai": "your_openai_api_key",
"doubao": "your_doubao_api_key"
},
"default_provider": "anthropic",
"default_model": "claude-sonnet-4-20250514"
}
支持的模型目录
| 提供商 | 支持模型示例 | 备注 |
| OpenAI | gpt-4o | 需 OpenAI API 密钥 |
| Anthropic | claude-sonnet-4-20250514 | 默认推荐模型 |
| gemini-2.5-flash | 需 Google AI Studio 密钥 | |
| Azure | azure/gpt-4o | 需额外配置 endpoint 和 deployment |
| Ollama | llama3:8b, qwen3 | 本地模型,无需 API 密钥 |
| OpenRouter | openai/gpt-4o | 聚合 API 服务 |
| Doubao | doubao-seed-code-preview-251028 | 豆包代码模型 |
4. 核心功能与基础使用
Trae-cli 的所有命令通过trae-cli执行,核心功能如下:
执行简单任务
# 直接输入自然语言指令,让Agent完成任务
trae-cli run "创建一个输出'Hello World'的Python脚本"
# 验证当前配置是否正确(API密钥、模型参数等)
trae-cli show-config
# 进入对话式交互,支持多轮对话
trae-cli interactive
指定 LLM 提供商和模型(临时覆盖配置)
# 使用Anthropic的Claude模型
trae-cli run "优化这个排序算法" –provider anthropic –model claude-sonnet-4-20250514
# 使用本地Ollama模型(无需联网)
trae-cli run "注释这段Python代码" –provider ollama –model qwen3:7b
强制生成代码补丁
# 用于patch生成,确保任务结束时输出Git补丁
trae-cli run "更新用户认证API端点" –must-patch
高级用法技巧
# 方式1:直接输入prompt命令
trae-cli run "编写一个hello world脚本,使用Python 3.12特性"
# 方式2:读取文件中的文本命令(适合复杂任务描述)
trae-cli run –file task_description.txt
# 错误用法(会导致冲突)
# trae-cli run "任务描述" –file task.txt
自定义模型配置(覆盖配置文件)
# 自定义model、api-key、model-base-url
trae-cli run "编写一个hello world脚本" \\
–model doubao-seed-code-preview-251028 \\
–model-base-url https://ark.cn-beijing.volces.com/api/v3 \\
–api-key "your_doubao_api_key"
Docker 模式与补丁输出
# 执行需要Docker环境的任务
trae-cli run "将当前项目打包为Docker镜像并导出为tar文件" \\
–docker-keep true # 任务完成后保留Docker容器
# 强制生成Git补丁(用于代码审查和版本控制)
trae-cli run "修复用户登录功能的bug" –must-patch
控制台与 Agent 类型配置
# 使用rich控制台(更美观的输出格式)
trae-cli run "分析这个Python项目的依赖关系" –console-type rich
# 指定Agent类型(当前仅支持trae_agent)
trae-cli run "生成单元测试" –agent-type trae_agent
运行trae-cli后模型输出结果会在当前目录文件下,trace轨迹文件也就是模型思考记录会在trajectories文件中



