CompositeFilesystem
public class CompositeFilesystem implements AbstractFilesystem
io/agentscope/harness/agent/filesystem/CompositeFilesystem.java:64–526Composite 文件系统,承载智能体的部署、调度与服务化运行。位于 io.agentscope.harness.agent.filesystem 包,实现 AbstractFilesystem。核心成员包括 filesystemFor、ls、read、write、edit、grep。
Routes file operations to different AbstractFilesystem stores by path prefix.
Paths are matched against route prefixes (longest first). Unmatched paths fall through to the default store.
Composite deliberately implements only AbstractFilesystem — it is the unified,
non-sandbox view that blends a local workspace with remote-store-backed paths. Shell execution
is intentionally not supported in this mode: routing shell commands across stores is
ambiguous, and the primary use case (distributed memory with per-user/session isolation) does
not need it. If you need shell execution, use a sandbox-backed filesystem
(AbstractSandboxFilesystem) or LocalFilesystemWithShell directly instead.
Example:
`CompositeFilesystem fs = new CompositeFilesystem(
localFs,
Map.of("/memories/", storeFs, "/cache/", inMemoryFs)
);
fs.read(RuntimeContext.empty(), "/memories/notes.md", 0, 100); // → storeFs.read(...)
fs.read(RuntimeContext.empty(), "/src/Main.java", 0, 100); // → localFs.read(...)
`
构造器摘要Constructor Summary
| 构造器Constructor | 说明Description |
|---|---|
public CompositeFilesystem(AbstractFilesystem defaultBackend, Map<String, AbstractFilesystem> routes) | 初始化 `CompositeFilesystem` 实例。 Creates a composite filesystem with a default backend and prefix-based routes. |
方法摘要Method Summary
构造器详情Constructor Detail
CompositeFilesystem
public CompositeFilesystem(AbstractFilesystem defaultBackend, Map<String, AbstractFilesystem> routes)
初始化 CompositeFilesystem 实例。
Creates a composite filesystem with a default backend and prefix-based routes.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
defaultBackend | AbstractFilesystem | 默认 Backend(类型 `AbstractFilesystem`)。backend for paths that don't match any route |
routes | Map<String, AbstractFilesystem> | 路由(类型 `Map`)。map of path prefixes to stores; prefixes must start with `"/"` and should end with `"/"` (e.g. `"/memories/"`) |
io/agentscope/harness/agent/filesystem/CompositeFilesystem.java:76–91方法详情Method Detail
filesystemFor
public AbstractFilesystem filesystemFor(String path)
设置文件系统用于。
Returns the backend filesystem that would serve path: the longest matching prefix route, or the default backend when no route matches.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
path | String | 路径(类型 `String`)。The path. |
AbstractFilesystemio/agentscope/harness/agent/filesystem/CompositeFilesystem.java:104–106ls
public LsResult ls(RuntimeContext runtimeContext, String path)
执行 ls 方法。
Performs the ls operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
runtimeContext | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The runtime context. |
path | String | 路径(类型 `String`)。The path. |
LsResultio/agentscope/harness/agent/filesystem/CompositeFilesystem.java:183–221read
public ReadResult read(RuntimeContext runtimeContext, String filePath, int offset, int limit)
执行读取相关操作。
Performs the read operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
runtimeContext | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The runtime context. |
filePath | String | 文件路径(类型 `String`)。The file path. |
offset | int | 偏移量(类型 `int`)。The offset. |
limit | int | 数量上限(类型 `int`)。The limit. |
ReadResultio/agentscope/harness/agent/filesystem/CompositeFilesystem.java:223–227write
public WriteResult write(RuntimeContext runtimeContext, String filePath, String content)
执行写入相关操作。
Performs the write operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
runtimeContext | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The runtime context. |
filePath | String | 文件路径(类型 `String`)。The file path. |
content | String | 内容(类型 `String`)。The content. |
WriteResultio/agentscope/harness/agent/filesystem/CompositeFilesystem.java:229–237edit
public EditResult edit(RuntimeContext runtimeContext, String filePath, String oldString, String newString, boolean replaceAll)
执行 edit 方法。
Performs the edit operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
runtimeContext | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The runtime context. |
filePath | String | 文件路径(类型 `String`)。The file path. |
oldString | String | 旧的 String(类型 `String`)。The old string. |
newString | String | 新建 String(类型 `String`)。The new string. |
replaceAll | boolean | replace 所有(类型 `boolean`)。The replace all. |
EditResultio/agentscope/harness/agent/filesystem/CompositeFilesystem.java:239–259grep
public GrepResult grep(RuntimeContext runtimeContext, String pattern, String path, String glob)
执行 grep 方法。
Performs the grep operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
runtimeContext | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The runtime context. |
pattern | String | pattern(类型 `String`)。The pattern. |
path | String | 路径(类型 `String`)。The path. |
glob | String | glob(类型 `String`)。The glob. |
GrepResultio/agentscope/harness/agent/filesystem/CompositeFilesystem.java:261–323glob
public GlobResult glob(RuntimeContext runtimeContext, String pattern, String path)
执行 glob 方法。
Performs the glob operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
runtimeContext | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The runtime context. |
pattern | String | pattern(类型 `String`)。The pattern. |
path | String | 路径(类型 `String`)。The path. |
GlobResultio/agentscope/harness/agent/filesystem/CompositeFilesystem.java:325–395uploadFiles
public List<FileUploadResponse> uploadFiles(RuntimeContext runtimeContext, List<Map.Entry<String, byte[]>> files)
执行上传文件相关操作。
Performs the upload files operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
runtimeContext | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The runtime context. |
files | List<Map.Entry<String, byte[]>> | 文件(类型 `List >`)。The files. |
List<FileUploadResponse>io/agentscope/harness/agent/filesystem/CompositeFilesystem.java:397–429downloadFiles
public List<FileDownloadResponse> downloadFiles(RuntimeContext runtimeContext, List<String> paths)
执行下载文件相关操作。
Performs the download files operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
runtimeContext | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The runtime context. |
paths | List<String> | paths(类型 `List`)。The paths. |
List<FileDownloadResponse>io/agentscope/harness/agent/filesystem/CompositeFilesystem.java:431–461delete
public WriteResult delete(RuntimeContext runtimeContext, String path)
删除数据。
Performs the delete operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
runtimeContext | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The runtime context. |
path | String | 路径(类型 `String`)。The path. |
WriteResultio/agentscope/harness/agent/filesystem/CompositeFilesystem.java:463–472move
public WriteResult move(RuntimeContext runtimeContext, String fromPath, String toPath)
执行 move 方法。
Performs the move operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
runtimeContext | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The runtime context. |
fromPath | String | 来自路径(类型 `String`)。The from path. |
toPath | String | 到路径(类型 `String`)。The to path. |
WriteResultio/agentscope/harness/agent/filesystem/CompositeFilesystem.java:474–508exists
public boolean exists(RuntimeContext runtimeContext, String path)
判断数据是否存在。
Performs the exists operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
runtimeContext | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The runtime context. |
path | String | 路径(类型 `String`)。The path. |
booleanio/agentscope/harness/agent/filesystem/CompositeFilesystem.java:510–517getDefaultBackend
public AbstractFilesystem getDefaultBackend()
返回默认存储。
Returns the default store.
AbstractFilesystemio/agentscope/harness/agent/filesystem/CompositeFilesystem.java:520–522