便捷管理 TRAE IDE 的隔离环境,支持插件版本隔离和用户配置自动同步。
- 便捷启动:命令行或双击
.command文件启动隔离环境 - HOME 隔离:通过临时 HOME 目录实现完整环境隔离
- 配置同步:用户设置通过软链接自动保持一致
- 插件隔离:支持部分插件独立(不同版本),部分插件共享
- 自动检测:启动时自动检测并登记版本差异的插件
- 智能同步:同步时保护已独立的插件版本
- SQLite 状态:环境与插件状态用 SQLite 管理,支持并发读写
- 平滑迁移:提供
migrate命令从旧 JSON 格式迁移
cd trae-env
./install.sh # 创建 .venv 并以 editable 模式安装
source ~/.zshrc # 使 PATH 生效安装脚本会在项目内创建
.venv(规避系统 Python 的 PEP 668 限制),并把~/.local/bin/trae-env软链接到.venv/bin/trae-env。
trae-env create test-env # 创建环境
trae-env start test-env # 启动环境
trae-env sync test-env # 同步插件
trae-env status test-env # 查看状态
trae-env list # 列出所有环境
trae-env remove test-env # 删除环境| 命令 | 说明 |
|---|---|
create <name> [-f] |
创建隔离环境;-f 强制覆盖 |
start <name> |
启动环境(自动检测插件差异、创建隔离 HOME、启动 TRAE) |
sync <name> |
同步共享插件,跳过已独立插件 |
status <name> |
显示环境路径/运行状态/时间/独立插件 |
reset <name> [-y] |
重置环境(清空插件,恢复共享模式) |
remove <name> [-y] |
删除环境 |
list |
列出所有环境 |
migrate |
从旧 JSON 格式迁移到 SQLite(旧文件备份为 .bak) |
version / --help |
版本 / 帮助 |
reset与remove默认需交互确认,加-y跳过。
启动时构造临时 HOME(<env>/.temp-home/),软链接 .trae、shell 配置
(.zshrc 等)、.gitconfig、.ssh、Library/Keychains 等,再用
open --env HOME=... 启动 TRAE,使其使用临时 HOME。每个环境的数据、扩展完全
独立,而用户设置通过 User/ 软链接共享。
- 共享插件:软链接到主环境
~/.trae/extensions,跟随主环境更新。 - 独立插件:复制成实际目录副本,版本可与主环境不同(如老项目需要旧版插件)。
- 自动检测:启动时检测环境内已是独立副本(非软链接)的插件并登记到数据库。
环境与插件状态存储在 envs/trae_env.db(SQLite,启用 WAL 支持并发读写)。
Config 按以下优先级定位项目根目录(从而找到 envs/):
- 环境变量
TRAE_ENV_PROJECT_DIR(双击.command启动器会自动导出) config.py文件上两级(editable 安装时有效)
如以非 editable 方式安装或从其他目录调用,请显式设置 TRAE_ENV_PROJECT_DIR。
双击 start-isolated-env.command 启动默认环境。修改文件中的 DEFAULT_ENV
可切换默认环境;为不同环境复制多个启动器即可快速切换。
若存在旧版数据(envs/config.json + 各环境 .env-manifest.json):
trae-env migrate迁移会把环境列表与独立插件写入 SQLite,并把旧文件重命名为 .bak。
独立插件的版本信息会从实际副本的 package.json 自动补全。
trae-env/
├── trae_env/ # Python 包
│ ├── cli.py # argparse 入口与命令分发
│ ├── config.py # 路径与全局配置
│ ├── database.py # SQLite 数据层
│ ├── models.py # 数据模型
│ ├── environment.py # 环境增删改查
│ ├── isolation.py # HOME 隔离与 TRAE 启动
│ ├── plugins.py # 插件版本检测/独立化/同步
│ ├── manifest.py # 旧 JSON 只读(迁移用)
│ ├── migrate.py # 迁移逻辑
│ ├── ui.py # 彩色输出
│ └── utils.py # 通用工具
├── tests/ # pytest 测试
├── setup.py / pyproject.toml # 打包配置
├── start-isolated-env.command # 双击启动器
├── install.sh # 安装脚本
└── envs/ # 环境数据(git 忽略)
└── trae_env.db # SQLite 状态库
- Python 3.9+
- macOS(使用
open与 AppleScript) - TRAE IDE
MIT