Todos os produtos
Search
Central de documentação

AgentBay:FileSystem

Última atualização: Jun 29, 2026

Descrição

A classe FileSystem fornece métodos para operações com arquivos em uma sessão de ambiente de nuvem do AgentBay, incluindo leitura, gravação, edição e busca de arquivos, além de gerenciamento de diretórios.

Método

Descrição

Ambiente

Linux Computer Use

Windows Computer Use

Browser Use

Mobile Use

Code Space

read_file

Lê o conteúdo do arquivo. Aceita limites de deslocamento e tamanho.

Nota

Compatível apenas com arquivos codificados em UTF-8.

Compatível

Compatível

Compatível

Incompatível

Compatível

write_large_file

Grava um arquivo grande em blocos.

Compatível

Compatível

Compatível

Incompatível

Compatível

read_large_file

Lê um arquivo grande em blocos.

Compatível

Compatível

Compatível

Incompatível

Compatível

read_multiple_files

Lê vários arquivos simultaneamente.

Compatível

Compatível

Compatível

Incompatível

Compatível

write_file

Cria ou grava em um arquivo. Aceita os modos de sobrescrita e anexação.

Nota

Compatível apenas com arquivos codificados em UTF-8.

Compatível

Compatível

Compatível

Incompatível

Compatível

edit_file

Edite o arquivo linha a linha.

Compatível

Compatível

Compatível

Incompatível

Compatível

create_directory

Crie um diretório, inclusive diretórios aninhados.

Compatível

Compatível

Compatível

Incompatível

Compatível

list_directory

Lista o conteúdo de uma pasta.

Compatível

Compatível

Compatível

Incompatível

Compatível

search_files

Busca recursivamente por arquivos e pastas.

Compatível

Compatível

Compatível

Incompatível

Compatível

move_file

Move ou renomeia um arquivo ou pasta.

Compatível

Compatível

Compatível

Incompatível

Compatível

get_file_info

Recupera metadados de um arquivo ou diretório.

Compatível

Compatível

Compatível

Incompatível

Compatível

Métodos

create_directory / createDirectory / CreateDirectory - Criar uma pasta

Golang

func (fs *FileSystem) CreateDirectory(path string) (bool, error)

Parâmetro:

  • path (string): Caminho da pasta a criar.

Valores de retorno:

  • bool: Retorna true se a pasta for criada com sucesso.

  • error: Retorna uma mensagem de erro se a criação da pasta falhar.

Exemplo:

// Create a folder
success, err := session.FileSystem.CreateDirectory("/tmp/test")
if err != nil {
    log.Printf("Error creating folder: %v", err)
} else {
    fmt.Printf("Folder created: %t\n", success)
}

Python

create_directory(path: str) -> BoolResult

Parâmetro:

  • path (str): Caminho da pasta a criar.

Valor de retorno:

  • BoolResult: Objeto de resultado com status de sucesso booleano (True em caso de sucesso), ID da solicitação e eventual mensagem de erro.

Nota

O tipo de retorno mudou de um booleano simples para um objeto estruturado BoolResult para fornecer mais detalhes na resposta.

TypeScript

createDirectory(path: string): Promise<string>

Parâmetro:

  • path (string): Caminho da pasta a criar.

Valor de retorno:

  • Promise<string>: Retorna o texto da resposta se a pasta for criada com sucesso.

Exceção:

  • APIError: Lança um erro se a criação da pasta falhar.

EditFile - Editar um arquivo

Golang

func (fs *FileSystem) EditFile(path string, edits []map[string]string, dryRun bool) (bool, error)

Parâmetros:

  • path (string): Caminho do arquivo a editar.

  • edits ([]map[string]string): Array de operações de edição, cada uma contendo oldText e newText.

  • dryRun (bool): Se true, visualiza as alterações sem aplicá-las.

Valores de retorno:

  • bool: Retorna true se o arquivo for editado com sucesso.

  • error: Retorna uma mensagem de erro se a edição do arquivo falhar.

Exemplo:

// Edit the file
edits := []map[string]string{
    {"oldText": "Hello", "newText": "Hi"},
}
success, err := session.FileSystem.EditFile("/tmp/test/example.txt", edits, false)
if err != nil {
    log.Printf("Error editing file: %v", err)
} else {
    fmt.Printf("File edited successfully: %t\n", success)
}

Python

edit_file(path: str, edits: List[Dict[str, str]], dry_run: bool = False) -> BoolResult

Parâmetros:

  • path (str): Caminho do arquivo a editar.

  • edits (List[Dict[str, str]]): Lista de operações de edição. Cada operação contém oldText e newText.

  • dry_run (bool, optional): Defina se as alterações devem ser visualizadas sem aplicação. O padrão é False.

Valor de retorno:

  • BoolResult: Objeto de resultado com valor booleano definido como True em caso de sucesso, ID da solicitação e mensagem de erro se ocorrer uma falha.

TypeScript

editFile(
  path: string,
  edits: Array<{ oldText: string, newText: string }>,
  dryRun?: boolean
): Promise<string>

Parâmetros:

  • path (string): Caminho do arquivo a editar.

  • edits (Array<{ oldText: string, newText: string }>): Array de operações de edição, cada uma contendo oldText e newText.

  • dryRun (boolean, optional): Se true, visualiza as alterações sem aplicá-las. O padrão é false.

Valor de retorno:

  • Promise<string>: Retorna o texto da resposta se o arquivo for editado com sucesso.

Exceção:

  • APIError: Lança um erro se a edição do arquivo falhar.

GetFileInfo - Obter informações do arquivo

Golang

func (fs *FileSystem) GetFileInfo(path string) (string, error)

Parâmetro:

  • path (string): Caminho do arquivo ou pasta a consultar.

Valores de retorno:

  • string: Informações textuais do arquivo ou pasta, como tamanho e permissões.

  • error: Retorna uma mensagem de erro se a recuperação das informações falhar.

Exemplo:

// Get file information
fileInfo, err := session.FileSystem.GetFileInfo("/tmp/test/example.txt")
if err != nil {
    log.Printf("Error getting file info: %v", err)
} else {
    fmt.Printf("File info: %s\n", fileInfo)
}

Python

get_file_info(path: str) -> OperationResult

Parâmetro:

  • path (str): Caminho do arquivo ou pasta a consultar.

Valor de retorno:

  • OperationResult: Objeto de resultado com informações do arquivo (como tamanho e hora de modificação), status de sucesso, ID da solicitação e mensagem de erro se a operação falhar.

TypeScript

getFileInfo(path: string): Promise<string>

Parâmetro:

  • path (string): Caminho do arquivo ou pasta a consultar.

Valor de retorno:

  • Promise<string>: Retorna as informações textuais do arquivo ou pasta, como tamanho e permissões.

Exceção:

  • APIError: Lança um erro se a recuperação das informações falhar.

ListDirectory - Listar uma pasta

Golang

func (fs *FileSystem) ListDirectory(path string) (*DirectoryListResult, error)

Parâmetro:

  • path (string): Caminho da pasta a listar.

Valores de retorno:

  • *DirectoryListResult: Objeto de resultado que contém as entradas da pasta e o ID da solicitação.

  • error: Retorna uma mensagem de erro se a listagem da pasta falhar.

Estrutura DirectoryListResult:

type DirectoryListResult struct {
    RequestID string           // A unique request identifier for debugging.
    Entries   []*DirectoryEntry // An array of folder entries.
}

type DirectoryEntry struct {
    Name        string // The name of the file or folder.
    IsDirectory bool   // Specifies whether an entry is a folder.
}

Exemplo:

// List the folder
listResult, err := session.FileSystem.ListDirectory("/tmp/test")
if err != nil {
    log.Printf("Error listing folder: %v", err)
} else {
    for _, entry := range listResult.Entries {
        entryType := "Folder"
        if !entry.IsDirectory {
            entryType = "File"
        }
        fmt.Printf("%s: %s\n", entryType, entry.Name)
    }
}

Python

list_directory(path: str) -> OperationResult

Parâmetro:

  • path (str): Caminho da pasta a listar.

Valor de retorno:

  • OperationResult: Objeto de resultado com uma lista de entradas de diretório (nomes de arquivos e subdiretórios), status de sucesso, ID da solicitação e mensagem de erro se a operação falhar.

TypeScript

listDirectory(path: string): Promise<any>

Parâmetro:

  • path (string): Caminho da pasta a listar.

Valor de retorno:

  • Promise<any>: Retorna um array de entradas da pasta se a análise for bem-sucedida. Caso contrário, retorna o conteúdo de texto original.

Exceção:

  • APIError: Lança um erro se a listagem da pasta falhar.

MoveFile - Mover um arquivo

Golang

func (fs *FileSystem) MoveFile(source, destination string) (*FileDirectoryResult, error)

Parâmetros:

  • source (string): Caminho do arquivo ou pasta de origem.

  • destination (string): Caminho do arquivo ou pasta de destino.

Valores de retorno:

  • *FileDirectoryResult: Objeto de resultado que contém o status da operação e o ID da solicitação.

  • error: Retorna uma mensagem de erro se a movimentação do arquivo falhar.

Estrutura FileDirectoryResult:

type FileDirectoryResult struct {
    RequestID string // A unique request identifier for debugging.
    Success   bool   // Specifies whether the operation is successful.
}

Python

move_file(source: str, destination: str) -> BoolResult

Parâmetros:

  • source (str): Caminho do arquivo ou pasta de origem.

  • destination (str): Caminho do arquivo ou pasta de destino.

Valor de retorno:

  • BoolResult: Objeto de resultado com o status da operação, um valor booleano (True em caso de sucesso), ID da solicitação e mensagem de erro (se houver).

TypeScript

moveFile(source: string, destination: string): Promise<string>

Parâmetros:

  • source (string): Caminho do arquivo ou pasta de origem.

  • destination (string): Caminho do arquivo ou pasta de destino.

Valor de retorno:

  • Promise<string>: Retorna o texto da resposta se o arquivo for movido com sucesso.

Exceção:

  • APIError: Lança um erro se a movimentação do arquivo falhar.

ReadFile - Ler um arquivo

Golang

func (fs *FileSystem) ReadFile(path string, optionalParams ...int) (*FileReadResult, error)

Parâmetros:

  • path (string): Caminho do arquivo a ler.

  • optionalParams (int, optional): Parâmetros opcionais para deslocamento e tamanho.

Valores de retorno:

  • *FileReadResult: Objeto de resultado que contém o conteúdo do arquivo e o ID da solicitação.

  • error: Retorna uma mensagem de erro se a leitura do arquivo falhar.

Estrutura FileReadResult:

type FileReadResult struct {
    RequestID string // A unique request identifier for debugging.
    Content   string // The file content.
}

Exemplo:

// Read the file
readResult, err := session.FileSystem.ReadFile("/etc/hosts")
if err != nil {
    log.Printf("Error reading file: %v", err)
} else {
    fmt.Printf("File content: %s\n", readResult.Content)
}

Python

read_file(path: str, offset: int = 0, length: int = 0) -> OperationResult

Parâmetros:

  • path (str): Caminho do arquivo a ler.

  • offset (int, optional): Deslocamento em bytes a partir do qual iniciar a leitura. O padrão é 0.

  • length (int, optional): Número de bytes a ler. Se 0, lê até o final do arquivo. O padrão é 0.

Valor de retorno:

  • OperationResult: Objeto de resultado com o conteúdo do arquivo como string, status de sucesso, ID da solicitação e mensagem de erro se a operação falhar.

TypeScript

readFile(path: string, offset?: number, length?: number): Promise<string>

Parâmetros:

  • path (string): Caminho do arquivo a ler.

  • offset (number, optional): Deslocamento em bytes a partir do qual iniciar a leitura. O padrão é 0.

  • length (number, optional): Número de bytes a ler. Se 0, lê até o final do arquivo. O padrão é 0.

Valor de retorno:

  • Promise<string>: Retorna o conteúdo do arquivo.

Exceção:

  • APIError: Lança um erro se a leitura do arquivo falhar.

ReadMultipleFiles - Ler vários arquivos

Golang

func (fs *FileSystem) ReadMultipleFiles(paths []string) (string, error)

Parâmetro:

  • paths ([]string): Array de caminhos de arquivos a ler.

Valores de retorno:

  • string: Mapeamento textual dos caminhos dos arquivos para seus respectivos conteúdos.

  • error: Retorna uma mensagem de erro se a leitura dos arquivos falhar.

Python

read_multiple_files(paths: List[str]) -> OperationResult

Parâmetro:

  • paths (List[str]): Lista de caminhos de arquivos a ler.

Valor de retorno:

  • OperationResult: Objeto de resultado com um dicionário mapeando caminhos de arquivos para seus conteúdos, status de sucesso, ID da solicitação e mensagem de erro se a operação falhar.

TypeScript

readMultipleFiles(paths: string[]): Promise<string>

Parâmetro:

  • paths (string[]): Array de caminhos de arquivos a ler.

Valor de retorno:

  • Promise<string>: Retorna um mapeamento textual dos caminhos dos arquivos para seus respectivos conteúdos.

Exceção:

  • APIError: Lança um erro se a leitura dos arquivos falhar.

SearchFiles - Buscar arquivos

Golang

func (fs *FileSystem) SearchFiles(path, pattern string, excludePatterns []string) (*SearchFilesResult, error)

Parâmetros:

  • path (string): Caminho da pasta inicial para a busca.

  • pattern (string): Padrão de correspondência.

  • excludePatterns ([]string): Array de padrões de exclusão.

Valores de retorno:

  • *SearchFilesResult: Objeto de resultado que contém os resultados da busca e o ID da solicitação.

  • error: Retorna uma mensagem de erro se a busca falhar.

Estrutura SearchFilesResult:

type SearchFilesResult struct {
    RequestID string   // A unique request identifier for debugging.
    Results   []string // An array of search results.
}

Python

search_files(path: str, pattern: str, exclude_patterns: Optional[List[str]] = None) -> OperationResult

Parâmetros:

  • path (str): Caminho da pasta para iniciar a busca.

  • pattern (str): Padrão a corresponder, como correspondência com curinga.

  • exclude_patterns (List[str], optional): Lista de padrões a excluir. O padrão é None.

Valor de retorno:

  • OperationResult: Objeto de resultado com os resultados da busca (uma lista de caminhos de arquivos correspondentes), status de sucesso, ID da solicitação e mensagem de erro se a operação falhar.

TypeScript

searchFiles(
  path: string,
  pattern: string,
  excludePatterns?: string[]
): Promise<any[]>

Parâmetros:

  • path (string): Caminho da pasta inicial para a busca.

  • pattern (string): Padrão de correspondência.

  • excludePatterns (string[], optional): Array de padrões de exclusão. O padrão é um array vazio.

Valor de retorno:

  • Promise<any[]>: Retorna um array de resultados da busca.

Exceção:

  • APIError: Lança um erro se a busca falhar.

WriteFile - Gravar em um arquivo

Golang

func (fs *FileSystem) WriteFile(path, content string, mode string) (*FileWriteResult, error)

Parâmetros:

  • path (string): Caminho do arquivo onde gravar.

  • content (string): Conteúdo a gravar.

  • mode (string): Modo, que pode ser "overwrite" (padrão), "append" ou "create_new".

Valores de retorno:

  • *FileWriteResult: Objeto de resultado que contém o status da operação e o ID da solicitação.

  • error: Retorna uma mensagem de erro se a operação de gravação falhar.

Estrutura FileWriteResult:

type FileWriteResult struct {
    RequestID string // A unique request identifier for debugging.
    Success   bool   // Specifies whether the file was written successfully.
}

Exemplo:

// Write to the file
writeResult, err := session.FileSystem.WriteFile("/tmp/test/example.txt", "Hello, world!", "overwrite")
if err != nil {
    log.Printf("Error writing file: %v", err)
} else {
    fmt.Printf("File written successfully: %t\n", writeResult.Success)
}

Python

write_file(path: str, content: str, mode: str = "overwrite") -> bool

Parâmetros:

  • path (str): Caminho do arquivo onde gravar.

  • content (str): Conteúdo a gravar.

  • mode (str, optional): Modo de gravação, que pode ser "overwrite" (padrão) ou "append".

Valor de retorno:

  • bool: Indica se o arquivo foi gravado com sucesso.

Exceção:

  • FileError: Lança uma exceção se a operação de gravação falhar.

TypeScript

writeFile(path: string, content: string, mode?: string): Promise<string>

Parâmetros:

  • path (string): Caminho do arquivo onde gravar.

  • content (string): Conteúdo a gravar.

  • mode (string, optional): Modo, que pode ser "overwrite" (padrão), "append" ou "create_new".

Valor de retorno:

  • Promise<string>: Retorna o texto da resposta se o arquivo for gravado com sucesso.

Exceção:

  • APIError: Lança um erro se a operação de gravação falhar.

ReadLargeFile - Ler um arquivo grande

Golang

func (fs *FileSystem) ReadLargeFile(path string, chunkSize int) (string, error)

Parâmetros:

  • path (string): Caminho do arquivo a ler.

  • chunkSize (int): Tamanho de cada bloco de dados em bytes.

Valores de retorno:

  • string: Conteúdo completo do arquivo.

  • error: Retorna uma mensagem de erro se a leitura do arquivo falhar.

Python

read_large_file_in_chunks(path: str, chunk_size: int) -> Generator[OperationResult, None, None]

Parâmetros:

  • path (str): Caminho do arquivo grande a ler.

  • chunk_size (int): Tamanho do bloco por iteração, em bytes.

Valor de retorno:

  • Generator[OperationResult, None, None]: Gerador que produz um objeto de resultado com o conteúdo do bloco do arquivo a cada iteração.

Finalidade:

  • Contorna as limitações de tamanho de arquivo da API subjacente ao processar o arquivo em blocos.

TypeScript

readLargeFile(path: string, chunkSize?: number): Promise<string>

Parâmetros:

  • path (string): Caminho do arquivo a ler.

  • chunkSize (number, optional): Tamanho de cada bloco de dados em bytes. O padrão é 60 KB.

Valor de retorno:

  • Promise<string>: Retorna o conteúdo completo do arquivo.

Exceção:

  • APIError: Lança um erro se a leitura do arquivo falhar.

WriteLargeFile - Gravar em um arquivo grande

Golang

func (fs *FileSystem) WriteLargeFile(path, content string, chunkSize int) (bool, error)

Parâmetros:

  • path (string): Caminho do arquivo onde gravar.

  • content (string): Conteúdo a gravar.

  • chunkSize (int): Tamanho de cada bloco de dados em bytes.

Valores de retorno:

  • bool: Retorna true se o arquivo for gravado com sucesso.

  • error: Retorna uma mensagem de erro se a operação de gravação falhar.

Exemplo básico de operação de arquivo:

package main

import (
    "fmt"
    "log"
)

func main() {
    // Create a session
    agentBay := agentbay.NewAgentBay("your-api-key")
    sessionResult, err := agentBay.Create(nil)
    if err != nil {
        log.Fatal(err)
    }
    session := sessionResult.Session

    // Read the file
    readResult, err := session.FileSystem.ReadFile("/etc/hosts")
    if err != nil {
        log.Printf("Error reading file: %v", err)
    } else {
        fmt.Printf("File content: %s\n", readResult.Content)
    }

    // Create a folder
    success, err := session.FileSystem.CreateDirectory("/tmp/test")
    if err != nil {
        log.Printf("Error creating folder: %v", err)
    } else {
        fmt.Printf("Folder created: %t\n", success)
    }

    // Write to the file
    writeResult, err := session.FileSystem.WriteFile("/tmp/test/example.txt", "Hello, world!", "overwrite")
    if err != nil {
        log.Printf("Error writing file: %v", err)
    } else {
        fmt.Printf("File written successfully: %t\n", writeResult.Success)
    }

    // Edit the file
    edits := []map[string]string{
        {"oldText": "Hello", "newText": "Hi"},
    }
    success, err = session.FileSystem.EditFile("/tmp/test/example.txt", edits, false)
    if err != nil {
        log.Printf("Error editing file: %v", err)
    } else {
        fmt.Printf("File edited successfully: %t\n", success)
    }

    // Get file information
    fileInfo, err := session.FileSystem.GetFileInfo("/tmp/test/example.txt")
    if err != nil {
        log.Printf("Error getting file info: %v", err)
    } else {
        fmt.Printf("File info: %s\n", fileInfo)
    }

    // List the folder
    listResult, err := session.FileSystem.ListDirectory("/tmp/test")
    if err != nil {
        log.Printf("Error listing folder: %v", err)
    } else {
        for _, entry := range listResult.Entries {
            entryType := "Folder"
            if !entry.IsDirectory {
                entryType = "File"
            }
            fmt.Printf("%s: %s\n", entryType, entry.Name)
        }
    }
}

TypeScript

writeLargeFile(path: string, content: string, chunkSize?: number): Promise<boolean>

Parâmetros:

  • path (string): Caminho do arquivo onde gravar.

  • content (string): Conteúdo a gravar.

  • chunkSize (number, optional): Tamanho de cada bloco de dados em bytes. O padrão é 60 KB.

Valor de retorno:

  • Promise<boolean>: Retorna true se o arquivo for gravado com sucesso.

Exceção:

  • APIError: Lança um erro se a operação de gravação falhar.