LlamaFS自组织文件管理器

LlamaFS是一个自组织文件管理器。它可以基于文件内容和修改时间等属性自动重命名和组织您的文件。它能让你不把时间花在对文件的复制、粘贴、重命名、拷贝、排序等简单操作上。有幸在Github上看到LlamaFS这个repo,感慨万千。

技术简介

LlamaFS以批处理模式和监视模式两种模式运行。在批处理模式下,您可以向LlamaFS发送目录,它将返回建议的文件结构并组织您的文件。在监视模式下,LlamaFS启动一个监视目录的守护进程。它拦截所有文件系统操作,使用您最近的修改记录来重命名文件。

从源码上看,LlamaFS像一个Agent,通过prompt使LLM输出指定格式的json,再根据LLM生成的json进行文件处理操作。给的prompt像这样:

markdown 复制代码
You will be provided with list of source files and a summary of their contents. For each file, propose a new path and filename, using a directory structure that optimally organizes the files using known conventions and best practices.

If the file is already named well or matches a known convention, set the destination path to the same as the source path.

Your response must be a JSON object with the following schema:
```json
{
    "files": [
        {
            "src_path": "original file path",
            "dst_path": "new file path under proposed directory structure with proposed file name"
        }
    ]
}

比如移动文件的功能,是这样实现的,下面函数的request参数就是模型返回的json:

python 复制代码
@app.post("/commit")
async def commit(request: CommitRequest):
    src = os.path.join(request.base_path, request.src_path)
    dst = os.path.join(request.base_path, request.dst_path)

    if not os.path.exists(src):
        raise HTTPException(
            status_code=400, detail="Source path does not exist in filesystem"
        )

    # Ensure the destination directory exists
    dst_directory = os.path.dirname(dst)
    os.makedirs(dst_directory, exist_ok=True)

    try:
        # If src is a file and dst is a directory, move the file into dst with the original filename.
        if os.path.isfile(src) and os.path.isdir(dst):
            shutil.move(src, os.path.join(dst, os.path.basename(src)))
        else:
            shutil.move(src, dst)
    except Exception as e:
        raise HTTPException(
            status_code=500,
            detail=f"An error occurred while moving the resource: {e}"
        )

    return {"message": "Commit successful"}

感觉LlamaFS像一个"中间件",只负责发HTTP Request给LLM server获取Respose并采取对应的行动😂。

展望

未来的文件管理

LlamaFS现在看起来只是个基于LLM的大号桌面助手或者文件夹助手,但是它后面关于操作系统文件管理逻辑的更迭是巨大的。它提供了一种全新的用户体验:如果你有对文件操作的需求,那么可以告诉AI,让它理解你的指令并帮你完成这些繁琐的文件和文件夹的新建、删除、修改、查找操作, 尽管它现在的宣传"让LLM帮你完成计算机科学里最困难的事------命名"有玩梗的意味。因为,作为普通操作系统用户,我们根本就没有必要关心这份文件的文件名和存储的具体位置是什么,我们只关心文件里面是什么东西、有什么用,我们只要求在我们需要的时候能把它翻出来。借助LLM,我们能够更加方便地对文件和目录进行增删改查

未来的操作系统会在现有的API(lscdtouch)等命令上添加一层由大模型包装的高阶API。如果你需要查找某个文件,你只需要向大模型描述你的文件就行。这个描述可以是"昨天关机前关闭的那份文档",也可以是文件内容的一部分,让LLM通过向量数据库等技术帮你查找文件。

下一代操作系统的文件管理,理念会像当年胎死腹中的WinFS的理念一样,目录结构不再重要,能让用户找到自己保存的文件就行。文件名、目录等概念完全多余,而这会推动新的数据标准建立、新的结构化的底层数据存储范式形成。这些改动对于增加、删除、修改的方式变化不会很明显,但是对于文件查找来说,变化可就太大了。

基于大模型的操作系统

最后再提一嘴AI系统。虽然我不是很清除现在某些厂商吹捧的AI系统到底是什么样子的,但是如果只是像Windows那样加个copilot,我觉得远远不够。我觉得未来的操作系统会有一个模型提供底层智能支持,在这个模型上面,有各种各样的操作系统相关的agent。LlamaFS可以看作一个文件管理的agent,然后还有负责进程调度、内存管理等的agent,这些agent通过prompt等方式使LLM做出合适的应答,而LLM又可以收集到整个设备的信息做出更符合当前情况的回答。这些agent提供一套更符合常人直觉的高层API给用户使用,又向下通过Python间接调用了操作系统的cp mv等指令。这才是基于大模型的操作系统。

相关推荐
Tadas-Gao7 小时前
Mem0分层记忆系统:大语言模型长期记忆的架构革命与实现范式
人工智能·语言模型·自然语言处理·架构·大模型·llm·transformer
深瞳智检7 小时前
lesson-02 NLP 基础-文本表示与词向量
人工智能·自然语言处理·llm·大语言模型
swipe8 小时前
为什么 RAG 一定离不开向量检索:从文档向量化到语义搜索的工程实现
前端·llm·agent
山顶夕景9 小时前
【VLM】HopChain视觉语言推理多跳数据合成框架
大模型·llm·cot·vlm·视觉模型
倾颜9 小时前
我把本地 AI Chat 项目重构了一遍:用 LangChain.js + Ollama + Streamdown 搭了一个最小可扩展架构
langchain·llm·next.js
千桐科技12 小时前
大模型幻觉难解?2026深度解析:知识图谱如何成为LLM落地的“刚需”与高薪新赛道
人工智能·大模型·llm·知识图谱·大模型幻觉·qknow·行业深度ai应用
测试者家园14 小时前
从需求文档到测试点:利用大模型实现需求理解的自动化
软件测试·自动化·llm·需求分析·持续测试·智能化测试·功能点
BGoodHabit15 小时前
从工程思维到产品思维:我用 AI 搭建内容生产系统的实战复盘
ai·llm·agi·自媒体·nano banana pro
黄粱梦醒17 小时前
OpenClaw-window安装教程以及通用常用命令
人工智能·llm
snow_yan17 小时前
基于 json-render 的流式表单渲染方案
前端·react.js·llm