跳转到内容

虚拟文件系统

RTC Agent 在浏览器中构建了一个完整的虚拟文件系统。AI 通过 lsreadwritegrepfind 等工具操作文件,就像操作本地终端一样——但所有数据始终留在用户的浏览器中。

💡 核心洞察:LLM 已经非常擅长操作文件系统。与其让 AI 学习自定义 API,不如给它一个文件系统——它马上就能 lsreadgrepwrite

目录用途内容来源
/functions/函数文档宿主应用注册 Function 后自动生成
/scenarios/场景文档业务方提供的 Markdown 工作流
/scripts/可执行脚本AI 通过 script 工具保存
/AGENT.md系统入口自动生成模板,描述目录结构和工具

虚拟文件系统提供 6 种操作,覆盖 AI 需要的所有文件交互:

操作功能关键参数
ls列出目录内容path(默认 /
read读取文件内容path(必填),offset / limit(分页)
write创建或写入文件pathcontent(必填),mode(overwrite / append)
find按文件名搜索pattern(glob),path
grep按文件内容搜索pattern(正则),pathcaseSensitive
remove删除文件path

⚠️ remove 是虚拟文件系统的内部接口,当前未作为 RTC 工具暴露给 AI。AI 无法直接删除文件。

大文件支持分页,避免一次性加载过多内容:

规则说明
根目录/
分隔符/(正斜杠)
自动转换所有路径自动转为绝对路径
路径遍历.. 直接拒绝,不做解析
目录逻辑概念,不单独存储,通过路径前缀推导

文件类型由路径前缀自动推断,无需显式指定:

特性说明
存储引擎IndexedDB(Dexie.js 封装)
主键文件路径
大文件整存整取,支持分页读取
读取方式每次读取均查询最新数据,无缓存层
容量受浏览器 IndexedDB 配额约束(通常数百 MB)

系统启动时自动检查 /AGENT.md。如果不存在,会自动生成一个模板文件,向 AI 描述目录结构和可用工具——确保 AI 一上线就知道”文件系统里有什么”。

约束说明
🔒 路径遍历防护.. 直接拒绝
🔐 权限控制工作模式决定
💾 容量限制受浏览器 IndexedDB 配额约束
🚫 无跨域访问文件系统完全隔离在浏览器沙箱内