一个基于AI的自然语言交互智能文件管理助手,支持增删改查四大原子操作以及高效的复合文件操作。(目前在Windows系统上进行了测验)
- 🧠 AI驱动的任务分解 - 将复杂的自然语言指令转换为具体的文件操作
- 🌳 Trie树索引 - 高效的文件系统索引,支持快速搜索和路径匹配
- 🌐 多语言支持 - 支持中文和英文指令
- 🔧 完整CRUD操作 - 创建、读取、更新、删除文件和目录
- 💾 智能缓存 - 自动缓存文件系统索引,提升性能
- 📊 实时状态监控 - 查看索引状态和系统信息
pip install openai pathlib在 utils.py 中配置您的OpenAI API密钥,这里我们使用阿里云百炼提供的免费api,建议前往注册账号即可领取百万token,您也可以使用自己喜欢的api服务:
client = OpenAI(
api_key="your-api-key-here",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)python agent.py🎯 What to do? 在桌面创建test.txt文件,并写入"Hello World!""
🎯 What to do? 找到所有PDF文件
🎯 What to do? desktop和子目录下所有pdf文件
🎯 What to do? 去/home下面找一下我有多少隐藏文件
🎯 What to do? help # 显示帮助信息
🎯 What to do? status # 显示索引状态
🎯 What to do? exit # 退出程序
Toy File Agent/
├── agent.py # 主程序入口,交互界面
├── file_system_manager.py # 文件系统管理器,Trie树索引
├── utils.py # CRUD操作和AI任务分解
├── test_samples/ # 测试文件目录
│ ├── test.pdf
│ └── test.txt
└── README.md # 项目说明
将自然语言指令转换为结构化的操作序列:
def task_decomposer(input_text: str):
# 使用OpenAI API分析用户输入
# 返回操作类型和参数
return plan高效的文件系统索引结构:
class Node:
def __init__(self):
self.children = {} # 子目录节点
self.files = [] # 当前目录的文件优势:
- 快速路径匹配
- 内存高效
- 支持模糊搜索
- 自动缓存和持久化
def create(path: str, file: str, content: str = "") -> bool:
# 创建文件或目录
# 自动创建父目录
# 更新索引def read(**search_params) -> List[Dict]:
# 支持多种搜索条件
# 文件名、扩展名、路径匹配
# 返回匹配结果列表def update(old_path: str, new_path: str) -> bool:
# 移动或重命名文件
# 自动更新索引def delete(path: str) -> bool:
# 安全删除文件或目录
# 自动更新索引- 自动缓存 - 首次运行时构建索引,后续加载缓存
- 增量更新 - 只更新变化的部分
- 内存优化 - Trie树结构节省内存空间
- 用户目录:桌面、文档、下载、图片等
- 系统目录:/tmp、/var/log(Linux/Mac)
- 自定义路径:支持绝对和相对路径
==================================================
🤖 File Agent
📊 Index: 5 dirs, 125 files
📁 Desktop/
📁 Documents/
📁 Downloads/
📁 Pictures/
📁 Videos/
💡 Examples:
- '在桌面创建test.txt文件'
- '找到所有PDF文件'
- '删除临时文件'
- 'help' - 帮助
🎯 What to do? (exit to quit):
# 缓存文件路径
cache_file = "index_cache.pkl"
# 预索引的常用目录
common_paths = [
Path.home() / "Desktop",
Path.home() / "Documents",
Path.home() / "Downloads",
# ... 更多路径
]# OpenAI客户端配置
client = OpenAI(
api_key="your-api-key",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)- 阿里云DashScope - API服务支持