禅
______________________________________________________________________
让Python环境安心。
*更少的杂乱,更清晰。*
一个目录用于所有Python环境。一个CLI来跟踪它们。不是另一个环境管理器,只是一个轻量级的cli,它能记住你不想做的事情。
你已经有足够的担心了。CUDA 13在哪个环境中?你是每晚用PyTorch还是稳定地进行实验的?你两周没碰过的那个项目中有什么在运行?
禅记得——所以你不必这么做。
它速度快、重量轻,在这里不是为了取代任何东西——只是为了让处理多个Python环境变得无痛,尤其是在涉及GPU和CUDA版本的情况下。
它还内置了 MCP服务器,因此AI编码代理可以通过结构化的工具调用来管理您的环境。
\[!注意\] 一个按原样共享的个人工具。用Rust编写的Vibecoded。没有承诺,没有路线图,没有保证。
______________________________________________________________________
安装
curl -sSf https://vistralis.org/zen/install.sh | sh或者从源代码构建:
git clone https://github.com/vistralis/zen.git && cd zen
cargo build --release
cp target/release/zen ~/.local/bin/______________________________________________________________________
开始使用
设置一次shell:
# Add to .bashrc or .zshrc
eval "$(zen hook bash)" # or zsh营造一个环境:
$ zen create ml_env
✓ Environment 'ml_env' created successfully.
$ zen activate ml_env # alias: za ml_env
$ zen deactivate # alias: zd安装软件包——Zen将其委托给uv,因此速度很快:
$ zen install numpy scipy opencv-python # into active env
$ zen install -n ml_env numpy scipy # into specific env
# Need a specific CUDA build? Just pass the index:
$ zen install torch torchvision \
--index-url https://download.pytorch.org/whl/cu130一目了然:
$ zen list
★ ml_env 3.12.3 ✓ torch:2.10.0+cu130 numpy:2.3.5
vision 3.12.3 ✓ torch:2.9.1+cu128 numpy:2.2.6
experiment 3.12.3 ! torch:2.11.0.dev numpy:2.4.2
diffusion 3.12.3 ✓ torch:2.10.0+cu130 numpy:2.3.5
data_pipeline 3.12.3 ✓ numpy:1.26.4
5 environments ✓ 4 ok ! 1 drift ★ 1 fav在所有环境中查找包:
$ zen find torch
ml_env torch 2.10.0+cu130
vision torch 2.9.1+cu128
experiment torch 2.11.0.dev20260129+cu126
diffusion torch 2.10.0+cu130检查运行状况--符号链接损坏、CUDA冲突、缺少依赖项:
$ zen health ml_env
✓ Python binary ok
✓ Symlink integrity ok
✓ CUDA version cu130 (consistent)
✓ Dependency conflicts none detected______________________________________________________________________
哲学
放下杂乱
你创建一个环境,安装一些软件包,启动一个项目。然后是另一个。还有一个。三周后,你盯着十五个目录 /envs/ 想知道其中一半是干什么用的。
知道所有东西在哪里
每个环境都会被跟踪——Python版本、包、CUDA堆栈、健康状态以及它属于哪个项目。所有这些都是可查询的。所有瞬间。
专为ML开发而设计
CUDA版本很重要。 cu128 和 cu130 不可互换。Zen跟踪每个环境中PyTorch的版本,检测CUDA版本混合,并允许您在具有CUDA感知版本匹配的环境中进行搜索。
你的项目,记住了
将环境链接到项目目录。下次你 cd 进入该项目和类型 zen activate --它选择了正确的一个。没有争论,没有思考。
$ zen link add ml_env
✓ Linked 'ml_env' to /home/user/projects/classifier
# Later, in that same directory:
$ zen activate
✓ Activated 'ml_env'支持每个项目的多个环境——主环境、测试环境、实验环境——带有标签和默认值。
与AI代理协同工作
Zen内置了 MCP服务器 因此,AI编码助手可以通过结构化的工具调用来管理环境,而不需要shell访问。
______________________________________________________________________
命令
| 命令 | 它的作用 |
|---|---|
zen create | 创建新环境 |
| `zen add | |
| ` | 注册现有虚拟环境 |
zen rm | 删除环境(--cached 仅适用于DB) |
zen activate [name] | 激活(未指定名称时的智能选择) |
zen deactivate | 停用 |
zen list / zen ls | 列出所有环境(-1 只有名字, -l 长) |
zen info | 详细环境视图 |
| `zen install [-n env] | |
| ` | 安装软件包 |
| `zen uninstall [-n env] | |
| ` | 删除包 |
zen run | 运行命令而不激活 |
| `zen find | |
| ` | 在所有环境中查找包 |
| `zen inspect | |
| ` | 详细的包裹信息 |
zen diff | 比较两种环境 |
zen health [name] | 环境健康检查 |
zen link add/rm/list | 项目-环境链接 |
zen label add/rm/list | 用标签组织 |
zen note add/list/rm | 附上备注 |
| `zen rename | |
| ` | 重命名环境 |
zen template | 创建、编辑、检查、导出/导入模板 |
zen mcp | 启动MCP服务器 |
全参考→ docs/commands.md
配置
| 变量 | 默认值 | 描述 |
|---|---|---|
ZEN_HOME | ~/.local/share/zen/envs | 环境居住的地方 |
ZEN_DOJO | ~/.config/zen | 数据库和配置 |
export ZEN_HOME=/localdisk/envs # fast SSD for your environments运作原理
- 标准静脉 --没有什么专有的,你的环境只是Python venvs
- SQLite --一个小型数据库文件可以跟踪所有内容
- 紫外线 --所有包装操作都委托给uv以提高速度
- 壳钩 --当前shell中用于激活/停用的轻量级功能
- 主控程序 --基于stdio的JSON-RPC用于AI代理集成
许可证
阿帕奇-2.0
