@desplega.ai/探员-fs-just-bash
just-bash 用于代理用户的兼容文件系统适配器.
import { Bash } from "just-bash";
import { AgentFsFileSystem } from "@desplega.ai/agent-fs-just-bash";
const fs = new AgentFsFileSystem({
baseUrl: "http://127.0.0.1:7433",
apiKey: process.env.AGENT_FS_API_KEY,
orgId: "org_...",
driveId: "drive_...",
});
const bash = new Bash({ fs, cwd: "/" });
await bash.exec("cat README.md");
适配器与代理-fs守护进程HTTP API交谈. 用这个 /raw 用于字节安全
读书写作 /ops 页:1 ls, (中文(简体) ), stat, (中文(简体) ), rm, (中文(简体) ), cp,以及 mv。 。 。 .
支持的语义
- 文件作为原始字节读取并被写入.
- Directories是代理-fs的前缀. 空目录以一个
隐藏
.agent-fs-dir标记此适配器过滤器从readdir。 。 。 . appendFile缺少时创建文件 .chmod财务报告和审定财务报表utimes校验路径存在, 然后取消操作, 因为代理 - fs 这样做 不坚持POSIX模式或调用人提供时间戳.- 同步创建不支持并丢弃
EPERM· ;lstat等同为stat· ;realpath返回已规范的虚拟路径. - 硬链接大致为文件副本.
getAllPaths() 为同步 just-bash 接口,因此此适配器
返回通过读取、写取和列表找到的路径的本地缓存.
打电话 await fs.refreshAllPaths() 在 shell 命令之前,它依赖于光荣
已经流行的远程驱动器.
缓存
Shell 命令调用 stat 财务报告和审定财务报表 readdir 很多次都一样 这个
适配器保留 stat 财务报告和审定财务报表 ls 答案为 cacheTtlMs (违约5000毫秒)和
回答一个孩子的 stat 从其父母的列表中,如果可以的话。 文件内容
永远不会被缓存.
- 适配器自己的写作(
writeFile, (中文(简体) ),appendFile, (中文(简体) ),mkdir, (中文(简体) ),rm, (中文(简体) ),cp, (中文(简体) ),mv) 放下它们改变的条目,所以它们一并可见. - 另一客户端的更改可以隐蔽到
cacheTtlMs。 。 。 .refreshAllPaths(path)将条目在path并再次列出清单. cacheTtlMs: 0关闭缓存.cacheTtlMs: Infinity保存条目 案件的生命.- 随着新条目的到来,过期的条目被删除,每个缓存最多持有 一万道道来. 过了那,最老的先走.