WorkspaceSandbox
新增於: @mastra/core@1.1.0
WorkspaceSandbox 介面定義 Workspace 執行指令與管理背景處理程序的方式。
屬性「屬性」的直接連結
processes?:
SandboxProcessManager
背景處理程序管理器。如果未實作,將無法使用處理程序管理 Tool。請參閱 SandboxProcessManager 參考。
方法「方法」的直接連結
start()「start」的直接連結
啟動 Sandbox,並由 workspace.init() 或首次 executeCommand() 呼叫自動呼叫。
await sandbox.start()
此方法會準備 Sandbox,以便執行指令。
stop()「stop」的直接連結
停止 Sandbox。
await sandbox.stop?.()
destroy()「destroy」的直接連結
清理 Sandbox 資源。由 workspace.destroy() 呼叫。
await sandbox.destroy()
executeCommand(command, args?, options?)「executecommandcommand-args-options」的直接連結
執行 shell 指令。
const result = await sandbox.executeCommand('ls', ['-la', '/docs'])
const result = await sandbox.executeCommand('npm', ['install', 'lodash'])
參數:
command:
string
要執行的指令。
args?:
string[]
指令引數。
options?:
Options
設定選項。
Options
timeout?:
number
以毫秒為單位的執行逾時。
cwd?:
string
指令的工作目錄。
env?:
Record<string, string>
其他環境變數。
onStdout?:
(data: string) => void
stdout 串流傳輸的回呼函式。
onStderr?:
(data: string) => void
stderr 串流傳輸的回呼函式。
getInfo()「getinfo」的直接連結
取得 Sandbox 狀態與資源資訊。
const info = await sandbox.getInfo()
// { status: 'running', resources: { memoryMB: 512, cpuPercent: 5 } }
getInstructions(opts?)「getinstructionsopts」的直接連結
回傳此 Sandbox 運作方式的說明。將 Workspace 指派給 Agent 時,會將說明注入 Agent 的系統訊息。
const instructions = sandbox.getInstructions?.()
// 'Local command execution. Working directory: "/workspace".'
參數:
opts.requestContext?:
RequestContext
如果建構函式提供了
instructions 函式,則會轉傳給該函式。回傳值: string