专为Agent使用的磁盘清理脚本
专为Agent使用的磁盘清理脚本
想着用小米 MiMo 的免费 token 清理一下 D盘,发现清理一次实在是太慢了(跑了一个小时都没跑完,还一直让我点确认😅),所以写了一个可以复用的脚本来辅助清理,可以节省大部分时间,token方面倒没什么增加。
对于SSD硬盘:15w个文件,调用该脚本扫描一次平均大概在30s左右。
对于HDD 硬盘:没有实际测评过估计会慢不少。使用前请务必把线程数改成1再使用。
脚本Github地址:
https://github.com/DuiDeDuiDe103/ai-toolkit
感谢点个star🌟 后续有需求了,还会更新其他专为agent使用的节省token和时间的脚本。
由于编者目前还是小白,有不足之处还请指出。
流程:
用脚本扫描一次要清理的磁盘后,会在本地建立一个方便agent调用的文件索引。理论上会更加的节省token,因为是脚本建立的索引,所以实际上并不会消耗agent很多token,而且因为有文件索引的缘故,所以很方便agent的调用。 在我的电脑上测试的用该脚本扫描一次15万文件夹(大概是600多GB),加建立索引平均时间在30s左右。
比较满意的设计:
- 每扫描一次会跟之前的扫描结果进行对比,看你的文件新增了多少,删除了多少。
- 采用的是按需加载的机制。脚本输出庞大的json文件并不会被一次性全塞进agent的上下文中。agent第一次读取的是总结的结果。只有有需求了才会把脚本对应的庞大的结果输出出来
- 脚本建立的文件索引是用json格式,结构化的数据方便agent调用。
- 跨平台,因为是用python写的,所以电脑上需要配置python环境,在写的时候也尽量避免了依赖第三方库,支持windows,linux,mac系统(不过我没在mac系统上测试过)。
- 采用线程池开了8个线程来并行扫描,节省扫描时间,在我的电脑上测试的用该脚本扫描一次15万文件夹(大概是600多GB),加建立索引平均时间在30s左右。之前单线程的时候大概在1分钟以上
安全方面:
- 脚本对于磁盘只有只读权限,对于系统文件若没有读取权限则直接跳过
- 脚本是开源的,可以自己审计,以下是提示词
prompt:你是一名专业网络安全工程师,这个脚本会对我的电脑做什么事情,会不会擅自篡改我的文件,或者删除我的文件。 - 脚本主要是辅助agent清理磁盘用的,所以该脚本没有删除文件的权限,在用agent删除文件的时候,请询问清楚该文件是否还有用,以及确保你知道该文件已经对你没用了。
- 在文件分类的时候,对于一些一个文件有多种可能的文件类型的文件做了一些增强处理。比如.exe后缀的文件可能有两种常见格式一是安装包另一个是应用程序,对于这种常见的多义性后缀文件,已经在脚本中增强处理过了,所以很大程度上可以放心使用。
- 对一些不常见的文件类型会有误判的概率,想要完全避免很困难,只能规避大部分的,所以在用agent删除的时候请一定要自己确认!!!
本来想着做个可视化界面的,但是想了想后续可能还会有各种各样的轻量级定制化轮子要造,想想还是用脚本算了🤔,直接复制粘贴就能用。
个人想法
emm🤔我觉得工作流这种形式跟ai的结合,在有现成可用的工作流(不用自己造轮子)的情况下,效率还挺高的,也更省token。同时采用工作流的方式,也对ai有一定的约束作用,在一定程度上提高了ai的可控性。把文件扫描,索引,对比这种确定性流程交给脚本来做,然后模糊的决策也就是判断该文件删除后会有什么影响,以及要不要删除,来交给ai,事实上对于删除文件这个操作也可以专门建立一个删除的脚本来做,不过目前也能用有点懒得写了😑。相比于纯agent或者纯脚本,这种两者结合的方式明显更有效,泛用性更强一点。果然中庸之道在计算机中还是太无敌了。
索引文件示例:
Windows:
C:\Users\用户名.ai-toolkit\indexes\D_.json
Linux:
~/.ai-toolkit/indexes/_.json
macOS:
~/.ai-toolkit/indexes/Volumes_xxx.json
