你的电脑上到底装了什么?我写了个工具来回答这个问题
上个月装的 pip 包叫什么来着?OpenClaw 那个 Skill 是全局的还是项目的?这个工具 0.5 秒告诉你答案。
不知道你装了什么,是最大的技术债
去年我在一个新项目里装了一个冷门的 Python 库,解决了当时一个很难搞的问题。今年我又遇到了同样的问题,但那个库的名字我已经忘得干干净净。
我翻了一遍 pip list,89 个包,眼睛看花了也没认出来。
这还不算什么。后来我开始同时用 Claude Code、OpenClaw、Codex 三个 AI 编程工具。每个工具都有自己的一套配置体系------Claude Code 有 Skills、OpenClaw 也有 Skills、Codex 有 Skills 还有 Rules。散落在 ~/.claude、~/.openclaw、~/.codex 和各种项目目录里,像一个没人记账的杂货铺。
有一次 Codex 报了个莫名其妙的错误,排查了半天,发现是上周不小心升级了一个依赖包。OpenClaw 有个 Skill 我明明装过,但不记得是装在全局还是某个项目里了,搜了三个目录才找到。
从那之后,我开始认真想一个问题:我能不能用一个工具,定期给我的电脑环境拍一张快照?
市面上没有这种东西。npm 和 pip 各自有各自的 list 命令,但它们互相不认识。AI 工具的 Skills 目录更没人管。于是我花了两天,写了一个。
环境不是你装了多少东西,是你记得你装了什么。
它能干什么
这个工具叫 env-recorder,一个 Python 脚本,400 行代码。做的事情很简单:
1. 四大 AI Agent 全覆盖
扫描 Claude Code、OpenClaw、Codex、Cursor 的 Skills 和 Rules。不管装在全局目录还是藏在项目 .claude 文件夹里,全部找出来。
2. 列出所有 pip 包
89 个全局包,带版本号。如果你在用虚拟环境,也能识别出来。
3. 列出所有 npm 全局包
claude-code、codex、vercel、openclaw......一个不落。
4. 保存快照
每次跑都会把当前环境状态存下来,保留最近 50 条。随时可以回去翻"上周三我的环境是什么状态"。
5. 对比变化
两次快照之间------多了什么、少了什么、什么升级了,一目了然。
6. 自带网页查看器
python record_env.py --web 打开本地网页,搜索、筛选、对比。89 个 pip 包不用在终端里滚。
跑一下看看
bash
git clone https://github.com/mixuecoding/env-recorder.git
cd env-recorder
python record_env.py
三秒钟,输出:
less
🤖 AI Agents: 24 个
🌐 Claude Code 全局 (2): agent-reach, anysearch
🌐 OpenClaw 全局 (2): agent-reach, khazix-skills-main
🌐 Codex 全局 (1): .system
🌐 Codex Rules 全局 (1): default.rules
📁 Claude Code [AiTools] (17): animejs, gsap, hyperframes...
📁 Claude Code [Test] (1): wechat-writing
🐍 Pip: 89 个 (89 全局 + 0 项目)
📦 npm: 10 个 (10 全局 + 0 项目)
24 个 AI Agent 配置、89 个 Python 包、10 个 npm 全局包。一屏看完。哪个在哪儿、是不是全局的、属于哪个项目,清清楚楚。
为什么值得用
这不是一个多宏大的工具。它不做 AI,不做自动化,甚至没有一个像样的 UI。
它只解决一件事:让你知道你的电脑上到底有什么。
但这件事,大部分开发者从来不做。等到出了问题------环境跑不动了、新电脑不知道装什么、同事问你配置你答不上来------才开始后悔。
这个工具就像一个记账本。你不需要每天看它。但当你需要的时候,它告诉你过去每一笔都在哪儿。
我的用法是:每次 pip install 完新东西、或者在 Claude Code 里加了个新 Skill,就跑一下。用 --diff 看一眼多了什么。习惯了之后,环境再也没失控过。
开发过程中的几个坑
写这个工具花了两天。真正写代码的时间大概 4 小时,剩下 4 小时全花在踩坑上:
- npm 在 Windows 上是
.cmd文件,Python 的subprocess调 npm 直接报FileNotFoundError。查了半天才发现得用npm.cmd,还得探测 Node.js 安装路径 - Claude Code、OpenClaw、Codex、Cursor 四种工具的 Skills 目录结构各不一样------
.claude/skills、.openclaw/skills、.codex/skills、.cursor/rules。有的存skill.md,有的存.rules文件 - 网页查看器用
fetch读本地 JSON,浏览器file://协议下 CORS 直接给拦了。最后起了个 HTTP 服务器解决
最好的工具不是解决了多大的问题。是让你再也不用担心那个小问题。
开源地址:github.com/mixuecoding...
MIT 协议。clone 下来就能用,不需要注册,不需要网络,不需要配置文件。
如果你也觉得"我的电脑上到底装了什么"是一个值得被回答的问题------给项目一个 Star,或者跑一下看看你自己的环境长什么样。
关-注-公-众-号「蜜学编程」,获取更多 AI 编程实战内容。