Descrição
A classe Command permite que você execute comandos e rode código em uma sessão de ambiente cloud do AgentBay.
|
Método |
Descrição |
Ambiente |
||||
|
Linux Computer Use |
Windows Computer Use |
Browser Use |
Mobile Use |
Code Space |
||
|
|
Executa um comando na sessão do ambiente cloud. |
Compatível |
Compatível |
Compatível |
Compatível |
Compatível |
|
|
Executa um comando Shell com controle de tempo limite. |
Não compatível |
Não compatível |
Não compatível |
Não compatível |
Compatível |
Métodos
ExecuteCommand - Executar um comando
Golang
func (cmd *Command) ExecuteCommand(command string, timeoutMs ...int) (*CommandResult, error)
Parâmetros
-
command (string): O comando a ser executado.
-
timeoutMs (int, opcional): O tempo limite para execução do comando, em milissegundos. O valor padrão é
1000ms.
Valores de retorno
-
*CommandResult: Contém a saída do comando e o ID da solicitação. -
error: Retornado se a execução do comando falhar.
Estrutura CommandResult
type CommandResult struct {
RequestID string // A unique request identifier for debugging
Output string // The output of the command
}
Python
def execute_command(command: str, timeout_ms: int = 1000) -> OperationResult
Parâmetros
-
command (str): O comando a ser executado.
-
timeout_ms (int, opcional): O tempo limite para execução do comando, em milissegundos. O valor padrão é
1000ms.
Valor de retorno
-
OperationResult: Contém a saída do comando (data), o status da operação, o ID da solicitação e a mensagem de erro.
TypeScript
executeCommand(command: string, timeoutMs: number = 1000): Promise<string>
Parâmetros
-
command (string): O comando a ser executado.
-
timeoutMs (number, opcional): O tempo limite para execução do comando, em milissegundos. O valor padrão é
1000ms.
Valor de retorno
-
Promise<string>: Resolve com a saída do comando.
Exceção
-
Error: Lançado se a execução do comando falhar.
RunCode - Executar código
Golang
func (cmd *Command) RunCode(code string, language string, timeoutS ...int) (*CommandResult, error)
Parâmetros
-
code (string): O código a ser executado.
-
language (string): A linguagem de programação do código. Deve ser
pythonoujavascript. -
timeoutS (int, opcional): O tempo limite para execução do código, em segundos. O valor padrão é
300s.
Valores de retorno
-
*CommandResult: Contém a saída da execução do código e o ID da solicitação. -
error: Retornado se a execução do código falhar ou se uma linguagem não compatível for especificada.
Python
def run_code(code: str, language: str, timeout_s: int = 300) -> OperationResult
Parâmetros
-
code (str): O código a ser executado.
-
language (str): A linguagem de programação do código. Deve ser
pythonoujavascript. -
timeout_s (int, opcional): O tempo limite para execução do código, em segundos. O valor padrão é
300s.
Valor de retorno
-
OperationResult: Contém a saída da execução do código (data), o status da operação, o ID da solicitação e a mensagem de erro.
TypeScript
runCode(code: string, language: string, timeoutS: number = 300): Promise<string>
Parâmetros
-
code (string): O código a ser executado.
-
language (string): A linguagem de programação do código. Deve ser
pythonoujavascript. -
timeoutS (number, opcional): O tempo limite para execução do código, em segundos. O valor padrão é
300s.
Valor de retorno
-
Promise<string>: Resolve com a saída da execução do código.
Exceção
-
APIError: Lançado se a execução do código falhar ou se uma linguagem não compatível for especificada.
Código de exemplo
Golang
Executar um comando
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
// Execute a command (default timeout: 1000 ms)
result, err := session.Command.ExecuteCommand("ls -la")
if err != nil {
log.Printf("Error executing command: %v", err)
} else {
fmt.Printf("Command output: %s\n", result.Output)
}
// Execute a command (custom timeout: 2000 ms)
resultWithTimeout, err := session.Command.ExecuteCommand("ls -la", 2000)
if err != nil {
log.Printf("Error executing command with timeout: %v", err)
} else {
fmt.Printf("Command output with timeout: %s\n", resultWithTimeout.Output)
}
}
Executar código
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
// Run Python code
pythonCode := `
print("Hello, world!")
x = 1 + 1
print(x)
`
result, err := session.Command.RunCode(pythonCode, "python")
if err != nil {
log.Printf("Error running Python code: %v", err)
} else {
fmt.Printf("Python code output: %s\n", result.Output)
}
// Run JavaScript code (custom timeout: 600 s)
jsCode := `
log("Hello, world!");
const x = 1 + 1;
log(x);
`
resultJS, err := session.Command.RunCode(jsCode, "javascript", 600)
if err != nil {
log.Printf("Error running JavaScript code: %v", err)
} else {
fmt.Printf("JavaScript code output: %s\n", resultJS.Output)
}
}
Python
from agentbay import AgentBay
# Initialize the SDK
agent_bay = AgentBay(api_key="your_api_key")
# Create a session
session_result = agent_bay.create()
if session_result.success:
session = session_result.session
# Execute a command (default timeout: 1000 ms)
result = session.command.execute_command("ls -la")
if result.success:
print(f"Command output: {result.data}")
else:
print(f"Command execution failed: {result.error_message}")
# Execute a command (custom timeout: 2000 ms)
result_with_timeout = session.command.execute_command("ls -la", timeout_ms=2000)
if result_with_timeout.success:
print(f"Custom timeout command output: {result_with_timeout.data}")
else:
print(f"Command execution failed: {result_with_timeout.error_message}")
# Run Python code
python_code = """
print("Hello, world!")
x = 1 + 1
print(x)
"""
result_code = session.command.run_code(python_code, "python")
if result_code.success:
print(f"Python code execution result: {result_code.data}")
else:
print(f"Code execution failed: {result_code.error_message}")
# Run JavaScript code (custom timeout: 600 s)
js_code = """
log("Hello, world!");
const x = 1 + 1;
log(x);
"""
result_js = session.command.run_code(js_code, "javascript", timeout_s=600)
if result_js.success:
print(f"JavaScript code execution result: {result_js.data}")
else:
print(f"Code execution failed: {result_js.error_message}")
TypeScript
import { AgentBay } from 'wuying-agentbay-sdk';
// Initialize the SDK
const agentBay = new AgentBay({ apiKey: 'your_api_key' });
// Create a session
async function createSession() {
try {
const sessionResult = await agentBay.create();
const session = sessionResult.session;
// Execute a command (default timeout: 1000 ms)
const commandOutput = await session.command.executeCommand('ls -la');
console.log(`Command output: ${commandOutput}`);
// Execute a command (custom timeout: 2000 ms)
const commandOutputWithTimeout = await session.command.executeCommand('ls -la', 2000);
console.log(`Custom timeout command output: ${commandOutputWithTimeout}`);
// Run Python code
const pythonCode = `
print("Hello, world!")
x = 1 + 1
print(x)
`;
const pythonResult = await session.command.runCode(pythonCode, 'python');
console.log(`Python code execution result: ${pythonResult}`);
// Run JavaScript code (custom timeout: 600 s)
const jsCode = `
log("Hello, world!");
const x = 1 + 1;
log(x);
`;
const jsResult = await session.command.runCode(jsCode, 'javascript', 600);
console.log(`JavaScript code execution result: ${jsResult}`);
} catch (error) {
console.error('Operation failed:', error);
}
}
createSession();