全部產品
Search
文件中心

AgentBay:Command

更新時間:Sep 18, 2025

描述

Command 類提供在 AgentBay 雲環境會話中執行命令的方法。

方法

說明

環境

ComputerUseLinux

ComputerUseWindows

BrowserUse

MobileUse

CodeSpace

execute_command

在雲環境中執行命令

支援

支援

支援

支援

支援

shell

執行Shell命令(帶逾時控制)

不支援

不支援

不支援

不支援

支援

方法

ExecuteCommand - 執行命令

Golang

func (cmd *Command) ExecuteCommand(command string, timeoutMs ...int) (*CommandResult, error)

參數:

  • command(string):要執行的命令。

  • timeoutMs(int,可選):命令執行的逾時時間(毫秒)。預設為1000ms

傳回值:

  • *CommandResult:包含命令輸出和請求ID的結果對象。

  • error:若命令執行失敗,返回錯誤資訊。

CommandResult 結構體:

type CommandResult struct {
    RequestID string // 調試用的唯一請求標識符
    Output    string // 命令的輸出
}

Python

def execute_command(command: str, timeout_ms: int = 1000) -> OperationResult

參數:

  • command(str):要執行的命令。

  • timeout_ms(int,可選):命令執行的逾時時間(毫秒)。預設為1000ms。

傳回值:

  • OperationResult:包含命令輸出(data)、操作狀態、請求ID和錯誤資訊的結果對象。

TypeScript

executeCommand(command: string, timeoutMs: number = 1000): Promise<string>

參數:

  • command(string):要執行的命令。

  • timeoutMs(number,可選):命令執行的逾時時間(毫秒)。預設為1000ms

傳回值:

  • Promise<string>:返回命令輸出結果的Promise。

異常:

  • Error:若命令執行失敗,拋出錯誤。

RunCode - 運行代碼

Golang

func (cmd *Command) RunCode(code string, language string, timeoutS ...int) (*CommandResult, error)

參數:

  • code(string):要執行的代碼。

  • language(string):代碼的程式設計語言。必須為pythonjavascript

  • timeoutS(int,可選):代碼執行的逾時時間(秒)。預設為300s

傳回值:

  • *CommandResult:包含代碼執行輸出和請求ID的結果對象。

  • error:若代碼執行失敗或指定了不支援的語言,返回錯誤資訊。

Python

def run_code(code: str, language: str, timeout_s: int = 300) -> OperationResult

參數:

  • code(str):要執行的代碼。

  • language(str):代碼的程式設計語言。必須為pythonjavascript

  • timeout_s(int,可選):代碼執行的逾時時間(秒)。預設為300s

傳回值:

  • OperationResult:包含代碼執行輸出(data)、操作狀態、請求ID和錯誤資訊的結果對象。

TypeScript

runCode(code: string, language: string, timeoutS: number = 300): Promise<string>

參數:

  • code(string):要執行的代碼。

  • language(string):代碼的程式設計語言。必須為pythonjavascript

  • timeoutS(number,可選):代碼執行的逾時時間(秒)。預設為300s

傳回值:

  • Promise<string>:傳回碼執行輸出結果的Promise。

異常:

  • APIError:若代碼執行失敗或指定了不支援的語言,拋出錯誤。

使用樣本

Golang

執行命令

package main

import (
    "fmt"
    "log"
)

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

    // 執行命令(預設逾時 1000ms)
    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)
    }

    // 執行命令(自訂逾時 2000ms)
    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)
    }
}

運行代碼

package main

import (
    "fmt"
    "log"
)

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

    // 執行 Python 代碼
    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)
    }

    // 執行 JavaScript 代碼(自訂逾時 600s)
    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

# 初始化 SDK
agent_bay = AgentBay(api_key="your_api_key")

# 建立會話
session_result = agent_bay.create()
if session_result.success:
    session = session_result.session

    # 執行命令(預設逾時 1000ms)
    result = session.command.execute_command("ls -la")
    if result.success:
        print(f"命令輸出: {result.data}")
    else:
        print(f"命令執行失敗: {result.error_message}")

    # 執行命令(自訂逾時 2000ms)
    result_with_timeout = session.command.execute_command("ls -la", timeout_ms=2000)
    if result_with_timeout.success:
        print(f"自訂逾時命令輸出: {result_with_timeout.data}")
    else:
        print(f"命令執行失敗: {result_with_timeout.error_message}")

    # 執行 Python 代碼
    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 代碼執行結果: {result_code.data}")
    else:
        print(f"代碼執行失敗: {result_code.error_message}")

    # 執行 JavaScript 代碼(自訂逾時 600s)
    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 代碼執行結果: {result_js.data}")
    else:
        print(f"代碼執行失敗: {result_js.error_message}")

TypeScript

import { AgentBay } from 'wuying-agentbay-sdk';

// 初始化 SDK
const agentBay = new AgentBay({ apiKey: 'your_api_key' });

// 建立會話
async function createSession() {
  try {
    const sessionResult = await agentBay.create();
    const session = sessionResult.session;

    // 執行命令(預設逾時 1000ms)
    const commandOutput = await session.command.executeCommand('ls -la');
    console.log(`命令輸出: ${commandOutput}`);

    // 執行命令(自訂逾時 2000ms)
    const commandOutputWithTimeout = await session.command.executeCommand('ls -la', 2000);
    console.log(`自訂逾時命令輸出: ${commandOutputWithTimeout}`);

    // 執行 Python 代碼
    const pythonCode = `
    print("Hello, world!")
    x = 1 + 1
    print(x)
    `;
    const pythonResult = await session.command.runCode(pythonCode, 'python');
    console.log(`Python 代碼執行結果: ${pythonResult}`);

    // 執行 JavaScript 代碼(自訂逾時 600s)
    const jsCode = `
    log("Hello, world!");
    const x = 1 + 1;
    log(x);
    `;
    const jsResult = await session.command.runCode(jsCode, 'javascript', 600);
    console.log(`JavaScript 代碼執行結果: ${jsResult}`);
  } catch (error) {
    console.error('操作失敗:', error);
  }
}

createSession();