Each backend has its own persistence model and directory layout. Pick the tab matching your target environment:
Local
Bubblewrap
Docker
E2B
Daytona
Kubernetes
OpenSandbox
LocalWorkspace persists state directly under workdir on the host filesystem; restarts simply re-open the same directory. The directory has the following layout:
{workdir}/├── .mcp # MCP declarations stored per agent / session├── data/ # offloaded multimodal payloads (deduped by SHA-256)├── skills/ # the .seed template and per-agent skill directories└── sessions/ # per-session context.jsonl and tool-result files
from agentscope.workspace import LocalWorkspaceworkspace = LocalWorkspace( workdir="/data/my-workspace", default_mcps=[], skill_paths=["./skills/web-search"],)await workspace.initialize()
The Glob and Grep tools returned by await workspace.list_tools() use workdir as their default search directory. An omitted path or path="." searches the workspace; path="src" searches its src subdirectory. An absolute path selects that location directly. These defaults apply even when the Python process was launched from a different directory.
BubblewrapWorkspace runs every command through bubblewrap (bwrap), so it needs no daemon or cloud account, only the bwrap binary on a Linux host. host_workdir is mounted read-write at /workspace and holds the persisted state; omit it for an ephemeral temp directory removed on close.
{host_workdir}/ # host directory, mounted at /workspace in the sandbox├── .agentscope # gateway venv and runtime files├── .mcp # MCP declarations stored per agent / session├── data/ # offloaded multimodal payloads├── skills/ # the .seed template and per-agent skill directories└── sessions/ # per-session context.jsonl and tool-result files
from agentscope.workspace import BubblewrapWorkspaceworkspace = BubblewrapWorkspace( host_workdir="/data/bwrap-workspaces/agent-1", # mounted at /workspace host_cache_dir=None, # None keeps a workspace-private package cache gateway_port=None, # None picks an available loopback port extra_pip=["numpy", "pandas"], default_mcps=[], skill_paths=["./skills/web-search"],)await workspace.initialize()
This is not a network sandbox. The MCP gateway is reached over host loopback across separate bwrap executions, so share_net must stay True and sandboxed code shares the host network namespace: it can reach any service the host can, including other loopback services and cloud metadata endpoints. Bubblewrap still isolates the other namespaces and the mounted filesystem. Use Docker, K8s, or a cloud sandbox when the workload also needs network isolation.
An explicit host_cache_dir must not overlap host_workdir; sharing one cache directory across workspaces trades isolation for faster bootstrap and should be limited to mutually trusted workspaces.
DockerWorkspace bind-mounts the host workdir to /workspace inside the container, so the layout below lives on the host and survives container restarts. Omit workdir for a purely ephemeral container whose writable layer disappears with it.
{workdir}/ # host directory, bind-mounted to /workspace in container├── .mcp # MCP declarations stored per agent / session├── data/ # offloaded multimodal payloads├── skills/ # the .seed template and per-agent skill directories└── sessions/ # per-session context.jsonl and tool-result files
from agentscope.workspace import DockerWorkspaceworkspace = DockerWorkspace( base_image="python:3.11-slim", workdir="/data/docker-workspaces/agent-1", # bind-mounted to /workspace node_version="20", extra_pip=["numpy", "pandas"], default_mcps=[], skill_paths=["./skills/web-search"],)await workspace.initialize()
E2BWorkspace uses the sandbox filesystem itself as the persistence layer; there is no host workdir. Each sandbox is tagged with workspace_id in its E2B metadata; on restart the workspace looks it up via AsyncSandbox.list(...) and reconnects with connect(sandbox_id=...). Pausing keeps disk state, resuming restores it intact.
$workdir/ # inside the sandbox├── .mcp # MCP declarations stored per agent / session├── data/ # offloaded multimodal payloads├── skills/ # the .seed template and per-agent skill directories└── sessions/ # per-session context.jsonl and tool-result files
from agentscope.workspace import E2BWorkspaceworkspace = E2BWorkspace( template="base", api_key="your-e2b-api-key", # or set E2B_API_KEY timeout_seconds=300, default_mcps=[], skill_paths=["./skills/web-search"],)await workspace.initialize()
DaytonaWorkspace targets a Daytona deployment; the sandbox filesystem is the persistence layer, so there is no host workdir. Each sandbox carries workspace_id in its Daytona labels; on restart the workspace reattaches by that label and reuses the sandbox’s disk state.
$workdir/ # inside the sandbox├── .mcp # MCP declarations stored per agent / session├── data/ # offloaded multimodal payloads├── skills/ # the .seed template and per-agent skill directories└── sessions/ # per-session context.jsonl and tool-result files
from agentscope.workspace import DaytonaWorkspaceworkspace = DaytonaWorkspace( api_key="your-daytona-api-key", # "" reads the SDK's env config api_url="", # optional, for self-hosted deployments timeout_seconds=300, extra_pip=["numpy", "pandas"], default_mcps=[], skill_paths=["./skills/web-search"],)await workspace.initialize()
K8sWorkspace runs one Pod per workspace on a Kubernetes cluster, with a PVC mounted as the persistence layer, so the filesystem below survives Pod restarts. On restart the workspace reattaches to the Pod and PVC by their workspace-id-derived names. Set delete_pvc_on_close=True to remove the PVC when the workspace closes.
/workspace/ # inside the Pod, backed by the PVC├── .mcp # MCP declarations stored per agent / session├── data/ # offloaded multimodal payloads├── skills/ # the .seed template and per-agent skill directories└── sessions/ # per-session context.jsonl and tool-result files
from agentscope.workspace import K8sWorkspaceworkspace = K8sWorkspace( namespace="agentscope", # namespace for the Pod and PVC kubeconfig=None, # None uses the in-cluster config image="python:3.11-slim", # container image storage_size="1Gi", # PVC size backing the filesystem default_mcps=[], skill_paths=["./skills/web-search"],)await workspace.initialize()
OpenSandboxWorkspace targets an OpenSandbox deployment; the sandbox filesystem is the persistence layer, so there is no host workdir. Each sandbox is tagged with workspace_id under the agentscope.workspace.id metadata key; on restart the workspace filters list_sandbox_infos(...) by that key and resumes the matching sandbox, restoring its disk state intact.
/workspace/ # inside the sandbox (SANDBOX_WORKDIR)├── .mcp # MCP declarations stored per agent / session├── data/ # offloaded multimodal payloads├── skills/ # the .seed template and per-agent skill directories└── sessions/ # per-session context.jsonl and tool-result files
from agentscope.workspace import OpenSandboxWorkspaceworkspace = OpenSandboxWorkspace( image="python:3.11-slim", api_key="your-opensandbox-api-key", # or use the SDK's env fallback domain="your-opensandbox-domain", # optional, for self-hosted deployments protocol="http", timeout_seconds=300, extra_pip=["numpy", "pandas"], default_mcps=[], skill_paths=["./skills/web-search"],)await workspace.initialize()
The gateway venv is bootstrapped inside the sandbox on first initialize(); extra_pip packages are installed into it alongside the base gateway requirements. Because the slim base image streams apt-get + uv + pip for several minutes on a cold start, bootstrap commands run under a longer per-command timeout; leave request_timeout_seconds at its default (which matches the bootstrap budget) unless you know your image is pre-provisioned.
default_mcps and skill_paths are seed-time inputs, but they never make resources shared inside a shared workspace. Each agent / session gets its own client instances the first time it accesses MCPs, and each agent gets its own skill partition copied from skills/.seed the first time it accesses skills. Later additions and removals only affect that agent / session.
Built-in tools, MCP-provided tools, and skills available in the workspace
Offloading
Agent(offloader=workspace)
When context compression triggers or a tool result exceeds the size limit, the agent calls workspace.offload_context() / offload_tool_result() and stores the returned reference path in place of the original payload
The tools returned by list_tools() are already bound to the workspace’s execution backend, so on a sandboxed workspace they run inside the container or sandbox. To bind your own tool instances to the same environment, obtain the backend with workspace.get_backend() and pass it to the tool constructor; see Switch Tool Backend.
Because the workspace exposes its resources as flat lists, you can partition them into ToolGroups when the agent has too many tools to keep all active at once. Pass the groups to Toolkit(tool_groups=[...]) and the agent activates them on demand through the built-in meta tool; only the reserved basic group stays always-on.
from agentscope.tool import Toolkit, ToolGroupmcps = await workspace.list_mcps( agent_id=agent_id, session_id=session_id,)skills = await workspace.list_skills(agent_id=agent_id)toolkit = Toolkit( tools=await workspace.list_tools(), # always active (basic group) tool_groups=[ ToolGroup(name="search", description="Web search and retrieval.", mcps=[m for m in mcps if m.name.startswith("search")]), ToolGroup(name="coding", description="Code editing skills.", skills_or_loaders=skills), ],)
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"AgentScope","colors":{"primary":"#0064FD","light":"#3B87FF","dark":"#0050CC"},"logo":{"light":"https://mintcdn.com/agentscope-ai-786677c7/ypv6xWD33tVApmTg/logo/agentscope.svg?fit=max\u0026auto=format\u0026n=ypv6xWD33tVApmTg\u0026q=85\u0026s=1c9a848ffa88ffa648f07542fe23e3e7","dark":"https://mintcdn.com/agentscope-ai-786677c7/ypv6xWD33tVApmTg/logo/agentscope.svg?fit=max\u0026auto=format\u0026n=ypv6xWD33tVApmTg\u0026q=85\u0026s=1c9a848ffa88ffa648f07542fe23e3e7"},"favicon":"https://mintcdn.com/agentscope-ai-786677c7/ypv6xWD33tVApmTg/logo/agentscope.svg?fit=max\u0026auto=format\u0026n=ypv6xWD33tVApmTg\u0026q=85\u0026s=1c9a848ffa88ffa648f07542fe23e3e7","navbar":{},"footer":{"socials":{"x":"https://x.com/agentscope","github":"https://github.com/agentscope-ai","discord":"https://discord.gg/eYMpfnkG8h"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"markdown":{"instructions":["For AgentScope Python, use https://docs.agentscope.io/stable/en/index for new projects. For existing projects, check the installed agentscope version and use matching versioned documentation.","The /latest/ alias points to the newest documentation and may move ahead of /stable/ when a development version exists. Do not mix AgentScope 1.x and 2.x APIs.","State the AgentScope version when providing installation commands or code examples. ReMe uses its own continuously updated /reme/latest/ documentation."]},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Home Page","icon":"book-open-cover","href":"https://agentscope.io/"},{"anchor":"Blog","icon":"newspaper","href":"https://agentscope.io/blog/"}]},"languages":[{"language":"en","default":true,"href":"en/versions/2.0.12dev"},{"language":"zh","href":"zh/versions/2.0.12dev"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"agentscope-ai-786677c7","hasAudioNarration":false,"actualSubdomain":"agentscope-ai-786677c7","customDomains":["docs.agentscope.io"],"gitSource":{"type":"github","owner":"agentscope-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6acf927233db61125561fb77","collectionId":"7ac31d24-f1ab-45c3-85f4-86092cf1e1b6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6acf927233db61125561fb77"},"entitlements":{},"buildId":"6ae020fa971f41769d3546e9","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"en","tag":"AgentScope","count":519},{"language":"zh","tag":"AgentScope","count":487},{"language":"en","tag":"Building Blocks","count":326},{"language":"zh","tag":"核心模块","count":319},{"language":"en","tag":"Agent as Service","count":112},{"language":"zh","tag":"智能体即服务","count":112},{"language":"default","tag":"AgentScope","count":101},{"language":"default","tag":"API","count":101},{"language":"default","tag":"Agent as Service","count":72},{"language":"en","tag":"Channel","count":41},{"language":"zh","tag":"消息渠道","count":41},{"language":"en","tag":"Agent","count":40},{"language":"en","tag":"Tool","count":40},{"language":"zh","tag":"智能体","count":40},{"language":"zh","tag":"工具","count":40},{"language":"en","tag":"Get Started","count":38},{"language":"zh","tag":"快速开始","count":36},{"language":"en","tag":"Model","count":34},{"language":"zh","tag":"模型","count":34},{"language":"en","tag":"Context","count":32},{"language":"en","tag":"Permission System","count":32},{"language":"zh","tag":"上下文管理","count":32},{"language":"zh","tag":"权限系统","count":32},{"language":"default","tag":"Deploy \u0026 Serve","count":29},{"language":"default","tag":"knowledge_bases","count":16},{"language":"default","tag":"channels","count":14},{"language":"default","tag":"workspace","count":13},{"language":"default","tag":"sop","count":11},{"language":"default","tag":"hub","count":8},{"language":"default","tag":"sessions","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"en/versions/2.0.11/building-blocks/workspace/run-workspace","slug":"/en/versions/2.0.11/building-blocks/workspace/run-workspace","pageMetadata":{"title":"Run Workspace","description":"Create a workspace on any backend and wire it into an agent","href":"/en/versions/2.0.11/building-blocks/workspace/run-workspace"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a workspace on any backend and wire it into an agent\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Tab,Table,Tabs,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Running a workspace takes two steps: create one on the backend that matches your target environment, then hand its resources to the agent.`}),`\n`,_jsx(Heading,{level:`2`,id:`create-workspace`,children:`Create Workspace`}),`\n`,_jsx(_components.p,{children:`Each backend has its own persistence model and directory layout. Pick the tab matching your target environment:`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Local`,id:`local`,children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`LocalWorkspace`}),` persists state directly under `,_jsx(_components.code,{children:`workdir`}),` on the host filesystem; restarts simply re-open the same directory. The directory has the following layout:`]}),_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`{workdir}/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── .mcp # MCP declarations stored per agent / session`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── data/ # offloaded multimodal payloads (deduped by SHA-256)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── skills/ # the .seed template and per-agent skill directories`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`└── sessions/ # per-session context.jsonl and tool-result files`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agentscope.workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` LocalWorkspace`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` LocalWorkspace(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` workdir`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/data/my-workspace\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` default_mcps`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` skill_paths`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./skills/web-search\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.initialize()`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`Glob`}),` and `,_jsx(_components.code,{children:`Grep`}),` tools returned by `,_jsx(_components.code,{children:`await workspace.list_tools()`}),` use `,_jsx(_components.code,{children:`workdir`}),` as their default search directory. An omitted `,_jsx(_components.code,{children:`path`}),` or `,_jsx(_components.code,{children:`path=\".\"`}),` searches the workspace; `,_jsx(_components.code,{children:`path=\"src\"`}),` searches its `,_jsx(_components.code,{children:`src`}),` subdirectory. An absolute `,_jsx(_components.code,{children:`path`}),` selects that location directly. These defaults apply even when the Python process was launched from a different directory.`]})]}),_jsxs(Tab,{title:`Bubblewrap`,id:`bubblewrap`,children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`BubblewrapWorkspace`}),` runs every command through `,_jsx(_components.a,{href:`https://github.com/containers/bubblewrap`,children:`bubblewrap`}),` (`,_jsx(_components.code,{children:`bwrap`}),`), so it needs no daemon or cloud account, only the `,_jsx(_components.code,{children:`bwrap`}),` binary on a Linux host. `,_jsx(_components.code,{children:`host_workdir`}),` is mounted read-write at `,_jsx(_components.code,{children:`/workspace`}),` and holds the persisted state; omit it for an ephemeral temp directory removed on close.`]}),_jsx(CodeBlock,{numberOfLines:`7`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`{host_workdir}/ # host directory, mounted at /workspace in the sandbox`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── .agentscope # gateway venv and runtime files`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── .mcp # MCP declarations stored per agent / session`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── data/ # offloaded multimodal payloads`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── skills/ # the .seed template and per-agent skill directories`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`└── sessions/ # per-session context.jsonl and tool-result files`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agentscope.workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` BubblewrapWorkspace`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` BubblewrapWorkspace(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` host_workdir`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/data/bwrap-workspaces/agent-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# mounted at /workspace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` host_cache_dir`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`None`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# None keeps a workspace-private package cache`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` gateway_port`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`None`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# None picks an available loopback port`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` extra_pip`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"numpy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pandas\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` default_mcps`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` skill_paths`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./skills/web-search\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.initialize()`})]}),`\n`]})})}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`This is `,_jsx(_components.strong,{children:`not`}),` a network sandbox. The MCP gateway is reached over host loopback across separate `,_jsx(_components.code,{children:`bwrap`}),` executions, so `,_jsx(_components.code,{children:`share_net`}),` must stay `,_jsx(_components.code,{children:`True`}),` and sandboxed code shares the host network namespace: it can reach any service the host can, including other loopback services and cloud metadata endpoints. Bubblewrap still isolates the other namespaces and the mounted filesystem. Use Docker, K8s, or a cloud sandbox when the workload also needs network isolation.`]})}),_jsxs(_components.p,{children:[`An explicit `,_jsx(_components.code,{children:`host_cache_dir`}),` must not overlap `,_jsx(_components.code,{children:`host_workdir`}),`; sharing one cache directory across workspaces trades isolation for faster bootstrap and should be limited to mutually trusted workspaces.`]})]}),_jsxs(Tab,{title:`Docker`,id:`docker`,children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`DockerWorkspace`}),` bind-mounts the host `,_jsx(_components.code,{children:`workdir`}),` to `,_jsx(_components.code,{children:`/workspace`}),` inside the container, so the layout below lives on the host and survives container restarts. Omit `,_jsx(_components.code,{children:`workdir`}),` for a purely ephemeral container whose writable layer disappears with it.`]}),_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`{workdir}/ # host directory, bind-mounted to /workspace in container`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── .mcp # MCP declarations stored per agent / session`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── data/ # offloaded multimodal payloads`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── skills/ # the .seed template and per-agent skill directories`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`└── sessions/ # per-session context.jsonl and tool-result files`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agentscope.workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DockerWorkspace`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DockerWorkspace(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` base_image`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"python:3.11-slim\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` workdir`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/data/docker-workspaces/agent-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# bind-mounted to /workspace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` node_version`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"20\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` extra_pip`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"numpy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pandas\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` default_mcps`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` skill_paths`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./skills/web-search\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.initialize()`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`E2B`,id:`e2b`,children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`E2BWorkspace`}),` uses the sandbox filesystem itself as the persistence layer; there is no host `,_jsx(_components.code,{children:`workdir`}),`. Each sandbox is tagged with `,_jsx(_components.code,{children:`workspace_id`}),` in its E2B metadata; on restart the workspace looks it up via `,_jsx(_components.code,{children:`AsyncSandbox.list(...)`}),` and reconnects with `,_jsx(_components.code,{children:`connect(sandbox_id=...)`}),`. Pausing keeps disk state, resuming restores it intact.`]}),_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`$workdir/ # inside the sandbox`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── .mcp # MCP declarations stored per agent / session`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── data/ # offloaded multimodal payloads`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── skills/ # the .seed template and per-agent skill directories`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`└── sessions/ # per-session context.jsonl and tool-result files`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agentscope.workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` E2BWorkspace`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` E2BWorkspace(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` template`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"base\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-e2b-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# or set E2B_API_KEY`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` timeout_seconds`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`300`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` default_mcps`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` skill_paths`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./skills/web-search\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.initialize()`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`Daytona`,id:`daytona`,children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`DaytonaWorkspace`}),` targets a `,_jsx(_components.a,{href:`https://www.daytona.io`,children:`Daytona`}),` deployment; the sandbox filesystem is the persistence layer, so there is no host `,_jsx(_components.code,{children:`workdir`}),`. Each sandbox carries `,_jsx(_components.code,{children:`workspace_id`}),` in its Daytona labels; on restart the workspace reattaches by that label and reuses the sandbox’s disk state.`]}),_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`$workdir/ # inside the sandbox`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── .mcp # MCP declarations stored per agent / session`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── data/ # offloaded multimodal payloads`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── skills/ # the .seed template and per-agent skill directories`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`└── sessions/ # per-session context.jsonl and tool-result files`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agentscope.workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DaytonaWorkspace`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DaytonaWorkspace(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-daytona-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# \"\" reads the SDK's env config`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# optional, for self-hosted deployments`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` timeout_seconds`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`300`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` extra_pip`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"numpy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pandas\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` default_mcps`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` skill_paths`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./skills/web-search\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.initialize()`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`Kubernetes`,id:`kubernetes`,children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`K8sWorkspace`}),` runs one Pod per workspace on a Kubernetes cluster, with a PVC mounted as the persistence layer, so the filesystem below survives Pod restarts. On restart the workspace reattaches to the Pod and PVC by their workspace-id-derived names. Set `,_jsx(_components.code,{children:`delete_pvc_on_close=True`}),` to remove the PVC when the workspace closes.`]}),_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/workspace/ # inside the Pod, backed by the PVC`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── .mcp # MCP declarations stored per agent / session`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── data/ # offloaded multimodal payloads`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── skills/ # the .seed template and per-agent skill directories`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`└── sessions/ # per-session context.jsonl and tool-result files`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agentscope.workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` K8sWorkspace`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` K8sWorkspace(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` namespace`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"agentscope\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# namespace for the Pod and PVC`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` kubeconfig`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`None`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# None uses the in-cluster config`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` image`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"python:3.11-slim\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# container image`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` storage_size`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1Gi\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# PVC size backing the filesystem`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` default_mcps`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` skill_paths`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./skills/web-search\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.initialize()`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`OpenSandbox`,id:`opensandbox`,children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`OpenSandboxWorkspace`}),` targets an `,_jsx(_components.a,{href:`https://github.com/agentscope-ai/opensandbox`,children:`OpenSandbox`}),` deployment; the sandbox filesystem is the persistence layer, so there is no host `,_jsx(_components.code,{children:`workdir`}),`. Each sandbox is tagged with `,_jsx(_components.code,{children:`workspace_id`}),` under the `,_jsx(_components.code,{children:`agentscope.workspace.id`}),` metadata key; on restart the workspace filters `,_jsx(_components.code,{children:`list_sandbox_infos(...)`}),` by that key and resumes the matching sandbox, restoring its disk state intact.`]}),_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/workspace/ # inside the sandbox (SANDBOX_WORKDIR)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── .mcp # MCP declarations stored per agent / session`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── data/ # offloaded multimodal payloads`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── skills/ # the .seed template and per-agent skill directories`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`└── sessions/ # per-session context.jsonl and tool-result files`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`13`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`13`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agentscope.workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenSandboxWorkspace`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenSandboxWorkspace(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` image`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"python:3.11-slim\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-opensandbox-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# or use the SDK's env fallback`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` domain`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-opensandbox-domain\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# optional, for self-hosted deployments`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` protocol`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` timeout_seconds`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`300`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` extra_pip`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"numpy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pandas\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` default_mcps`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` skill_paths`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./skills/web-search\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.initialize()`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`The gateway venv is bootstrapped inside the sandbox on first `,_jsx(_components.code,{children:`initialize()`}),`; `,_jsx(_components.code,{children:`extra_pip`}),` packages are installed into it alongside the base gateway requirements. Because the slim base image streams `,_jsx(_components.code,{children:`apt-get`}),` + `,_jsx(_components.code,{children:`uv`}),` + `,_jsx(_components.code,{children:`pip`}),` for several minutes on a cold start, bootstrap commands run under a longer per-command timeout; leave `,_jsx(_components.code,{children:`request_timeout_seconds`}),` at its default (which matches the bootstrap budget) unless you know your image is pre-provisioned.`]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`default_mcps`}),` and `,_jsx(_components.code,{children:`skill_paths`}),` are seed-time inputs, but they never make resources shared inside a shared workspace. Each agent / session gets its own client instances the first time it accesses MCPs, and each agent gets its own skill partition copied from `,_jsx(_components.code,{children:`skills/.seed`}),` the first time it accesses skills. Later additions and removals only affect that agent / session.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`integrate-with-agent`,children:`Integrate with Agent`}),`\n`,_jsxs(_components.p,{children:[`A workspace plugs into `,_jsx(_components.code,{children:`Agent`}),` along two axes: as a source of tools, MCPs, and skills, and as the offloader for context compression:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`24`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`24`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agentscope.agent `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agentscope.tool `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Toolkit`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agentscope.workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` LocalWorkspace`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`workspace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` LocalWorkspace(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`workdir`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./my-workspace\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.initialize()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`agent_id `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"coder\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`session_id `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"session-1\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`agent `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"coder\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` system_prompt`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"You are a coding assistant.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`model,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` toolkit`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Toolkit(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tools`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.list_tools(),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` mcps`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.list_mcps(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` agent_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`agent_id,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` session_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`session_id,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` skills_or_loaders`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.list_skills(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`agent_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`agent_id),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` offloader`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`workspace,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Axis`}),_jsx(_components.th,{children:`Wiring`}),_jsx(_components.th,{children:`What the Agent Gets`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Resources`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Toolkit(tools=..., mcps=..., skills_or_loaders=...)`})}),_jsx(_components.td,{children:`Built-in tools, MCP-provided tools, and skills available in the workspace`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Offloading`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Agent(offloader=workspace)`})}),_jsxs(_components.td,{children:[`When context compression triggers or a tool result exceeds the size limit, the agent calls `,_jsx(_components.code,{children:`workspace.offload_context()`}),` / `,_jsx(_components.code,{children:`offload_tool_result()`}),` and stores the returned reference path in place of the original payload`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`The tools returned by `,_jsx(_components.code,{children:`list_tools()`}),` are already bound to the workspace’s execution backend, so on a sandboxed workspace they run inside the container or sandbox. To bind your own tool instances to the same environment, obtain the backend with `,_jsx(_components.code,{children:`workspace.get_backend()`}),` and pass it to the tool constructor; see `,_jsx(_components.a,{href:`/en/versions/2.0.11/building-blocks/tool/python-tool#switch-tool-backend`,children:`Switch Tool Backend`}),`.`]}),`\n`,_jsxs(Tip,{children:[_jsxs(_components.p,{children:[`Because the workspace exposes its resources as flat lists, you can partition them into `,_jsx(_components.code,{children:`ToolGroup`}),`s when the agent has too many tools to keep all active at once. Pass the groups to `,_jsx(_components.code,{children:`Toolkit(tool_groups=[...])`}),` and the agent activates them on demand through the built-in `,_jsx(_components.a,{href:`/en/versions/2.0.11/building-blocks/tool/manage-tools`,children:`meta tool`}),`; only the reserved `,_jsx(_components.code,{children:`basic`}),` group stays always-on.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`17`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`17`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agentscope.tool `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Toolkit, ToolGroup`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`mcps `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.list_mcps(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` agent_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`agent_id,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` session_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`session_id,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`skills `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.list_skills(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`agent_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`agent_id)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`toolkit `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Toolkit(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tools`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` workspace.list_tools(), `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# always active (basic group)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tool_groups`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ToolGroup(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"search\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Web search and retrieval.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` mcps`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[m `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` m `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` mcps `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` m.name.startswith(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"search\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)]),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ToolGroup(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"coding\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Code editing skills.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` skills_or_loaders`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`skills),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Run Workspace","description":"Create a workspace on any backend and wire it into an agent","href":"/en/versions/2.0.11/building-blocks/workspace/run-workspace"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Create Workspace","slug":"create-workspace","depth":2,"children":[]},{"title":"Integrate with Agent","slug":"integrate-with-agent","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"agentscope-ai-786677c7","siteName":"AgentScope","title":"Run Workspace - AgentScope","navMaps":{"firstHrefInVersion":{"2.0.12dev":{"href":"/en/versions/2.0.12dev/building-blocks/workspace/run-workspace","matchLevel":1},"2.0.11":{"href":"/en/versions/2.0.11/building-blocks/workspace/run-workspace","matchLevel":0},"2.0.10":{"href":"/en/versions/2.0.10/building-blocks/workspace/run-workspace","matchLevel":1},"2.0.9":{"href":"/en/versions/2.0.9/building-blocks/workspace/run-workspace","matchLevel":1},"2.0.8":{"href":"/en/versions/2.0.8/building-blocks/workspace/run-workspace","matchLevel":1},"2.0.7":{"href":"/en/versions/2.0.7/building-blocks/workspace/run-workspace","matchLevel":1},"2.0.6":{"href":"/en/versions/2.0.6/building-blocks/workspace/run-workspace","matchLevel":1},"2.0.5":{"href":"/en/versions/2.0.5/building-blocks/workspace/run-workspace","matchLevel":1},"2.0.4":{"href":"/en/versions/2.0.4/building-blocks/message-and-event","matchLevel":2},"2.0.3":{"href":"/en/versions/2.0.3/building-blocks/message-and-event","matchLevel":2},"2.0.2":{"href":"/en/versions/2.0.2/building-blocks/message-and-event","matchLevel":2},"1.0.21":{"href":"/en/versions/1.0.21/building-blocks/agent","matchLevel":2},"latest":{"href":"/en/reme/latest/overview","matchLevel":4}},"firstHrefInLanguage":{"en":{"href":"/en/versions/2.0.11/building-blocks/workspace/run-workspace","matchLevel":0},"zh":{"href":"/zh/versions/2.0.11/building-blocks/workspace/run-workspace","matchLevel":1}}},"lastModified":"2026-10-27T03:57:37.464Z","originalFileLocation":"en/versions/2.0.11/building-blocks/workspace/run-workspace.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a workspace on any backend and wire it into an agent\">\u003cmeta data-mint-head name=\"application-name\" content=\"AgentScope\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/agentscope-ai-786677c7/1CzZcOuOvJAMkPRv/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/agentscope-ai-786677c7/1CzZcOuOvJAMkPRv/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/agentscope-ai-786677c7/1CzZcOuOvJAMkPRv/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/agentscope-ai-786677c7/1CzZcOuOvJAMkPRv/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/agentscope-ai-786677c7/1CzZcOuOvJAMkPRv/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/agentscope-ai-786677c7/1CzZcOuOvJAMkPRv/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/agentscope-ai-786677c7/1CzZcOuOvJAMkPRv/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/agentscope-ai-786677c7/1CzZcOuOvJAMkPRv/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/agentscope-ai-786677c7/1CzZcOuOvJAMkPRv/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Run Workspace - AgentScope\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a workspace on any backend and wire it into an agent\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"AgentScope\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/run-workspace\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://agentscope-ai-786677c7.mintlify.app/_mintlify/api/og/v2?division=Workspace\u0026amp;title=Run+Workspace\u0026amp;description=Create+a+workspace+on+any+backend+and+wire+it+into+an+agent\u0026amp;theme=010675907e6e5009270e69a1\u0026amp;signature=afce7bf7502712a5cc96db084e96f9dbc4e4989925df8308dab3deadfeaa7143\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Run Workspace - AgentScope\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a workspace on any backend and wire it into an agent\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://agentscope-ai-786677c7.mintlify.app/_mintlify/api/og/v2?division=Workspace\u0026amp;title=Run+Workspace\u0026amp;description=Create+a+workspace+on+any+backend+and+wire+it+into+an+agent\u0026amp;theme=010675907e6e5009270e69a1\u0026amp;signature=afce7bf7502712a5cc96db084e96f9dbc4e4989925df8308dab3deadfeaa7143\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/agentscope-ai-786677c7/1CzZcOuOvJAMkPRv/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"AgentScope\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0064FD\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/run-workspace\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/versions/2.0.11/building-blocks/workspace/run-workspace.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/run-workspace\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.agentscope.io/zh/versions/2.0.11/building-blocks/workspace/run-workspace\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/run-workspace\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.agentscope.io/#organization\",\"name\":\"AgentScope\",\"url\":\"https://docs.agentscope.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/agentscope-ai-786677c7/ypv6xWD33tVApmTg/logo/agentscope.svg?fit=max\u0026auto=format\u0026n=ypv6xWD33tVApmTg\u0026q=85\u0026s=1c9a848ffa88ffa648f07542fe23e3e7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.agentscope.io#website\",\"name\":\"AgentScope\",\"url\":\"https://docs.agentscope.io\",\"publisher\":{\"@id\":\"https://docs.agentscope.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/run-workspace#webpage\",\"url\":\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/run-workspace\",\"name\":\"Run Workspace\",\"description\":\"Create a workspace on any backend and wire it into an agent\",\"dateModified\":\"2026-10-27T03:57:37.464Z\",\"isPartOf\":{\"@id\":\"https://docs.agentscope.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/run-workspace#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/run-workspace#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Building Blocks\",\"item\":\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/message-and-event\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Workspace\",\"item\":\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Run Workspace\",\"item\":\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/run-workspace\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/run-workspace#article\",\"headline\":\"Run Workspace\",\"name\":\"Run Workspace\",\"description\":\"Create a workspace on any backend and wire it into an agent\",\"url\":\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/run-workspace\",\"mainEntityOfPage\":{\"@id\":\"https://docs.agentscope.io/en/versions/2.0.11/building-blocks/workspace/run-workspace#webpage\"},\"dateModified\":\"2026-10-27T03:57:37.464Z\",\"publisher\":{\"@id\":\"https://docs.agentscope.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.agentscope.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"AgentScope\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"AgentScope","nav":{"global":{"anchors":[{"anchor":"Home Page","icon":"book-open-cover","href":"https://agentscope.io/"},{"anchor":"Blog","icon":"newspaper","href":"https://agentscope.io/blog/"}]},"languages":[{"language":"en","default":true,"tabs":[{"tab":"AgentScope","versions":[{"version":"2.0.12dev","tag":"Development","pages":[{"title":"2.0.12dev","href":"/en/versions/2.0.12dev/building-blocks/workspace/run-workspace"}]},{"version":"2.0.11","default":true,"groups":[{"group":"Get Started","pages":[{"title":"What's AgentScope 2.0?","href":"/en/versions/2.0.11"},{"title":"Quickstart","href":"/en/versions/2.0.11/quickstart"},{"title":"Release Notes","href":"/en/versions/2.0.11/release-notes"}]},{"group":"Building Blocks","pages":[{"title":"Message \u0026 Event","href":"/en/versions/2.0.11/building-blocks/message-and-event"},{"group":"Agent","pages":[{"title":"Overview","href":"/en/versions/2.0.11/building-blocks/agent/overview"},{"title":"Configure Agent","href":"/en/versions/2.0.11/building-blocks/agent/configure-agent"},{"title":"Run Agent","href":"/en/versions/2.0.11/building-blocks/agent/run-agent"},{"title":"Interrupt Agent","href":"/en/versions/2.0.11/building-blocks/agent/interrupt-agent"},{"title":"Human-in-the-Loop","href":"/en/versions/2.0.11/building-blocks/agent/human-in-the-loop"}]},{"group":"Model","pages":[{"title":"Overview","href":"/en/versions/2.0.11/building-blocks/model/overview"},{"title":"LLM","href":"/en/versions/2.0.11/building-blocks/model/llm"},{"title":"TTS","href":"/en/versions/2.0.11/building-blocks/model/tts"},{"title":"ASR","href":"/en/versions/2.0.11/building-blocks/model/asr"},{"title":"Embedding","href":"/en/versions/2.0.11/building-blocks/model/embedding"}]},{"group":"Context","pages":[{"title":"Overview","href":"/en/versions/2.0.11/building-blocks/context/overview"},{"title":"Environment Awareness","href":"/en/versions/2.0.11/building-blocks/context/environment-awareness"},{"title":"Compress Context","href":"/en/versions/2.0.11/building-blocks/context/compress-context"},{"title":"Offload Context","href":"/en/versions/2.0.11/building-blocks/context/offload-context"}]},{"group":"Tool","pages":[{"title":"Overview","href":"/en/versions/2.0.11/building-blocks/tool/overview"},{"title":"Python Tool","href":"/en/versions/2.0.11/building-blocks/tool/python-tool"},{"title":"MCP","href":"/en/versions/2.0.11/building-blocks/tool/mcp"},{"title":"Skill","href":"/en/versions/2.0.11/building-blocks/tool/skill"},{"title":"Meta Tool","href":"/en/versions/2.0.11/building-blocks/tool/manage-tools"}]},{"title":"Plan","href":"/en/versions/2.0.11/building-blocks/plan"},{"group":"Pipeline","tag":"EXP","pages":[{"title":"Overview","href":"/en/versions/2.0.11/building-blocks/pipeline/overview"},{"title":"Goal Pipeline","href":"/en/versions/2.0.11/building-blocks/pipeline/goal"},{"title":"Team Pipeline","href":"/en/versions/2.0.11/building-blocks/pipeline/team"}]},{"title":"Standard Operating Procedure","tag":"EXP","href":"/en/versions/2.0.11/building-blocks/sop"},{"group":"Permission System","pages":[{"title":"Overview","href":"/en/versions/2.0.11/building-blocks/permission-system/overview"},{"title":"Permission Mode","href":"/en/versions/2.0.11/building-blocks/permission-system/permission-mode"},{"title":"Permission Rule","href":"/en/versions/2.0.11/building-blocks/permission-system/permission-rule"},{"title":"Tool-Level Checks","href":"/en/versions/2.0.11/building-blocks/permission-system/tool-check"}]},{"title":"Middleware","href":"/en/versions/2.0.11/building-blocks/middleware"},{"title":"RAG","href":"/en/versions/2.0.11/building-blocks/rag"},{"title":"Long-Term Memory","href":"/en/versions/2.0.11/building-blocks/long-term-memory"},{"group":"Workspace","pages":[{"title":"Overview","description":"Give the agent an execution environment it can act in and persist to","href":"/en/versions/2.0.11/building-blocks/workspace/overview"},{"title":"Run Workspace","href":"/en/versions/2.0.11/building-blocks/workspace/run-workspace"},{"title":"Manage Resources","description":"Add and remove MCP servers and skills at runtime","href":"/en/versions/2.0.11/building-blocks/workspace/manage-resources"},{"title":"MCP Gateway","href":"/en/versions/2.0.11/building-blocks/workspace/mcp-gateway"}]},{"group":"Realtime Agent","tag":"EXP","pages":[{"title":"Overview","href":"/en/versions/2.0.11/building-blocks/realtime/overview"},{"title":"Speech-to-Speech","href":"/en/versions/2.0.11/building-blocks/realtime/speech-to-speech"}]},{"title":"Console","href":"/en/versions/2.0.11/building-blocks/console"},{"title":"A2A Protocol","href":"/en/versions/2.0.11/building-blocks/a2a"}]},{"group":"Agent as Service","pages":[{"title":"Architecture","href":"/en/versions/2.0.11/deploy/agent-service"},{"title":"Agent Team","href":"/en/versions/2.0.11/deploy/agent-team"},{"title":"SOP Service","tag":"EXP","href":"/en/versions/2.0.11/deploy/sop"},{"title":"Resource Sharing","tag":"NEW","href":"/en/versions/2.0.11/deploy/sharing"},{"title":"RAG Service","href":"/en/versions/2.0.11/deploy/rag"},{"title":"Workspace Manager","href":"/en/versions/2.0.11/deploy/workspace-manager"},{"group":"MCP \u0026 Skill Hub","pages":[{"title":"Overview","href":"/en/versions/2.0.11/deploy/hub/overview"},{"title":"MCP Hub","href":"/en/versions/2.0.11/deploy/hub/mcp-hub"},{"title":"Skill Hub","href":"/en/versions/2.0.11/deploy/hub/skill-hub"}]},{"group":"Channel","pages":[{"title":"Overview","href":"/en/versions/2.0.11/deploy/channel/overview"},{"title":"Message Routing","href":"/en/versions/2.0.11/deploy/channel/routing"},{"title":"Feishu","href":"/en/versions/2.0.11/deploy/channel/feishu"},{"title":"DingTalk","href":"/en/versions/2.0.11/deploy/channel/dingtalk"},{"title":"Discord","href":"/en/versions/2.0.11/deploy/channel/discord"},{"title":"Custom Channel","href":"/en/versions/2.0.11/deploy/channel/custom"}]},{"group":"API","pages":[{"group":"agent","pages":[{"title":"[Deprecated] Legacy sectioned schema — use /schema/v2","deprecated":true,"version":null,"openapi":"/en/versions/2.0.4/deploy/openapi.json get /agent/schema","href":"/api-reference/agent/[deprecated]-legacy-sectioned-schema-—-use-schemav2"},{"title":"Full AgentData JSON Schema for the agent form","deprecated":null,"version":null,"openapi":"/en/versions/2.0.4/deploy/openapi.json get /agent/schema/v2","href":"/api-reference/agent/full-agentdata-json-schema-for-the-agent-form"},{"title":"List all agents","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json get /agent/","href":"/api-reference/agent/list-all-agents"},{"title":"Create a new agent","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json post /agent/","href":"/api-reference/agent/create-a-new-agent"},{"title":"Delete an agent","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json delete /agent/{agent_id}","href":"/api-reference/agent/delete-an-agent"},{"title":"Update an agent","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json patch /agent/{agent_id}","href":"/api-reference/agent/update-an-agent"}]},{"group":"chat","pages":[{"title":"Trigger a chat run (fire-and-forget)","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json post /chat/","href":"/api-reference/chat/trigger-a-chat-run-fire-and-forget"}]},{"group":"credential","pages":[{"title":"List JSON schemas for all credential types","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json get /credential/schemas","href":"/api-reference/credential/list-json-schemas-for-all-credential-types"},{"title":"List all credentials","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json get /credential/","href":"/api-reference/credential/list-all-credentials"},{"title":"Create a new credential","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json post /credential/","href":"/api-reference/credential/create-a-new-credential"},{"title":"Delete a credential","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json delete /credential/{credential_id}","href":"/api-reference/credential/delete-a-credential"},{"title":"Update a credential","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json patch /credential/{credential_id}","href":"/api-reference/credential/update-a-credential"}]},{"group":"health","pages":[{"title":"Report service liveness and per-component readiness","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /health","href":"/api-reference/health/report-service-liveness-and-per-component-readiness"}]},{"group":"hub","pages":[{"title":"List Mcp Hubs","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /hub/mcp","href":"/api-reference/hub/list-mcp-hubs"},{"title":"List Mcp Cards","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /hub/mcp/{hub_id}/cards","href":"/api-reference/hub/list-mcp-cards"},{"title":"Get Mcp Card","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /hub/mcp/{hub_id}/cards/{card_id}","href":"/api-reference/hub/get-mcp-card"},{"title":"Install Mcp","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json post /hub/mcp/{hub_id}/cards/{card_id}/install","href":"/api-reference/hub/install-mcp"},{"title":"List Skill Hubs","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /hub/skill","href":"/api-reference/hub/list-skill-hubs"},{"title":"List Skill Cards","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /hub/skill/{hub_id}/cards","href":"/api-reference/hub/list-skill-cards"},{"title":"Install Skill","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json post /hub/skill/{hub_id}/cards/{card_id}/install","href":"/api-reference/hub/install-skill"},{"title":"Get Skill Card","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /hub/skill/{hub_id}/cards/{card_id}","href":"/api-reference/hub/get-skill-card"}]},{"group":"knowledge_bases","pages":[{"title":"List embedding models compatible with the KB dimension policy","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json get /knowledge_bases/embedding_models","href":"/api-reference/knowledge_bases/list-embedding-models-compatible-with-the-kb-dimension-policy"},{"title":"List available chunker types and their parameter schemas","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json get /knowledge_bases/chunkers","href":"/api-reference/knowledge_bases/list-available-chunker-types-and-their-parameter-schemas"},{"title":"JSON Schema for the KB middleware's tunable parameters","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json get /knowledge_bases/middleware/parameters_schema","href":"/api-reference/knowledge_bases/json-schema-for-the-kb-middlewares-tunable-parameters"},{"title":"List file types the configured parsers can ingest","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json get /knowledge_bases/supported_content_types","href":"/api-reference/knowledge_bases/list-file-types-the-configured-parsers-can-ingest"},{"title":"List the caller's knowledge bases","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json get /knowledge_bases/","href":"/api-reference/knowledge_bases/list-the-callers-knowledge-bases"},{"title":"Create a new knowledge base","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json post /knowledge_bases/","href":"/api-reference/knowledge_bases/create-a-new-knowledge-base"},{"title":"Delete a knowledge base","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json delete /knowledge_bases/{knowledge_base_id}","href":"/api-reference/knowledge_bases/delete-a-knowledge-base"},{"title":"Update mutable fields on a knowledge base","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json patch /knowledge_bases/{knowledge_base_id}","href":"/api-reference/knowledge_bases/update-mutable-fields-on-a-knowledge-base"},{"title":"List documents registered in a knowledge base","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json get /knowledge_bases/{knowledge_base_id}/documents","href":"/api-reference/knowledge_bases/list-documents-registered-in-a-knowledge-base"},{"title":"Upload a document into a knowledge base","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json post /knowledge_bases/{knowledge_base_id}/documents","href":"/api-reference/knowledge_bases/upload-a-document-into-a-knowledge-base"},{"title":"Batch-query indexing status of one or more documents","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json get /knowledge_bases/{knowledge_base_id}/documents/status","href":"/api-reference/knowledge_bases/batch-query-indexing-status-of-one-or-more-documents"},{"title":"Fetch the original uploaded file of a document","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json get /knowledge_bases/{knowledge_base_id}/documents/{document_id}","href":"/api-reference/knowledge_bases/fetch-the-original-uploaded-file-of-a-document"},{"title":"Delete a document from a knowledge base","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json delete /knowledge_bases/{knowledge_base_id}/documents/{document_id}","href":"/api-reference/knowledge_bases/delete-a-document-from-a-knowledge-base"},{"title":"Search a knowledge base by natural-language query","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json post /knowledge_bases/{knowledge_base_id}/search","href":"/api-reference/knowledge_bases/search-a-knowledge-base-by-natural-language-query"},{"title":"Browse one document's chunks in order","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json get /knowledge_bases/{knowledge_base_id}/documents/{document_id}/chunks","href":"/api-reference/knowledge_bases/browse-one-documents-chunks-in-order"},{"title":"Mint a short-lived token for a browser-native fetch","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json post /knowledge_bases/{knowledge_base_id}/documents/{document_id}/download_token","href":"/api-reference/knowledge_bases/mint-a-short-lived-token-for-a-browser-native-fetch"}]},{"group":"mcp","pages":[{"title":"List Mcps","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /mcp","href":"/api-reference/mcp/list-mcps"},{"title":"Delete Mcp","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json delete /mcp/{mcp_id}","href":"/api-reference/mcp/delete-mcp"},{"title":"Update Mcp","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json patch /mcp/{mcp_id}","href":"/api-reference/mcp/update-mcp"}]},{"group":"schedule","pages":[{"title":"List all schedules","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json get /schedule/","href":"/api-reference/schedule/list-all-schedules"},{"title":"Create a new schedule","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json post /schedule/","href":"/api-reference/schedule/create-a-new-schedule"},{"title":"Delete a schedule","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json delete /schedule/{schedule_id}","href":"/api-reference/schedule/delete-a-schedule"},{"title":"Update a schedule","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json patch /schedule/{schedule_id}","href":"/api-reference/schedule/update-a-schedule"},{"title":"List execution sessions for a schedule","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json get /schedule/{schedule_id}/sessions","href":"/api-reference/schedule/list-execution-sessions-for-a-schedule"}]},{"group":"sessions","pages":[{"title":"List sessions for an agent","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json get /sessions/","href":"/api-reference/sessions/list-sessions-for-an-agent"},{"title":"Create a new session","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json post /sessions/","href":"/api-reference/sessions/create-a-new-session"},{"title":"Delete a session","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json delete /sessions/{session_id}","href":"/api-reference/sessions/delete-a-session"},{"title":"Update a session","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json patch /sessions/{session_id}","href":"/api-reference/sessions/update-a-session"},{"title":"Interrupt a running or HITL-parked chat run for a session","deprecated":null,"version":null,"openapi":"/en/versions/2.0.4/deploy/openapi.json post /sessions/{session_id}/interrupt","href":"/api-reference/sessions/interrupt-a-running-or-hitl-parked-chat-run-for-a-session"},{"title":"List messages for a session","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json get /sessions/{session_id}/messages","href":"/api-reference/sessions/list-messages-for-a-session"},{"title":"Probe the session's high-level status","deprecated":null,"version":null,"openapi":"/en/versions/2.0.4/deploy/openapi.json get /sessions/{session_id}/status","href":"/api-reference/sessions/probe-the-sessions-high-level-status"},{"title":"Subscribe to a session's event stream (SSE)","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json get /sessions/{session_id}/stream","href":"/api-reference/sessions/subscribe-to-a-sessions-event-stream-sse"}]},{"group":"skill","pages":[{"title":"List Skills","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /skill","href":"/api-reference/skill/list-skills"},{"title":"Get Skill","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /skill/{skill_id}","href":"/api-reference/skill/get-skill"},{"title":"Delete Skill","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json delete /skill/{skill_id}","href":"/api-reference/skill/delete-skill"}]},{"group":"sop","pages":[{"title":"The schema a procedure's editor is built from","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json get /sop/schema","href":"/api-reference/sop/the-schema-a-procedures-editor-is-built-from"},{"title":"List procedures","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json get /sop/","href":"/api-reference/sop/list-procedures"},{"title":"Create a procedure","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json post /sop/","href":"/api-reference/sop/create-a-procedure"},{"title":"List runs","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json get /sop/runs","href":"/api-reference/sop/list-runs"},{"title":"Read one run","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json get /sop/runs/{sop_run_id}","href":"/api-reference/sop/read-one-run"},{"title":"Delete a run","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json delete /sop/runs/{sop_run_id}","href":"/api-reference/sop/delete-a-run"},{"title":"File a person's verdict on a step","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json post /sop/runs/{sop_run_id}/verdict","href":"/api-reference/sop/file-a-persons-verdict-on-a-step"},{"title":"Read one procedure","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json get /sop/{sop_id}","href":"/api-reference/sop/read-one-procedure"},{"title":"Delete a procedure and its runs","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json delete /sop/{sop_id}","href":"/api-reference/sop/delete-a-procedure-and-its-runs"},{"title":"Replace a procedure's contents","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json patch /sop/{sop_id}","href":"/api-reference/sop/replace-a-procedures-contents"},{"title":"Start a run","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json post /sop/{sop_id}/runs","href":"/api-reference/sop/start-a-run"}]},{"group":"workspace","pages":[{"title":"List Mcps","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json get /workspace/mcp","href":"/api-reference/workspace/list-mcps"},{"title":"Add Mcp","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json post /workspace/mcp","href":"/api-reference/workspace/add-mcp"},{"title":"Add Mcps From Library","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json post /workspace/mcp/from-library","href":"/api-reference/workspace/add-mcps-from-library"},{"title":"Remove Mcp","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json delete /workspace/mcp/{mcp_name}","href":"/api-reference/workspace/remove-mcp"},{"title":"List Skills","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json get /workspace/skill","href":"/api-reference/workspace/list-skills"},{"title":"Add Skill","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json post /workspace/skill","href":"/api-reference/workspace/add-skill"},{"title":"Upload Skill","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json post /workspace/skill/upload","href":"/api-reference/workspace/upload-skill"},{"title":"Add Skills From Library","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json post /workspace/skill/from-library","href":"/api-reference/workspace/add-skills-from-library"},{"title":"Remove Skill","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json delete /workspace/skill/{skill_name}","href":"/api-reference/workspace/remove-skill"},{"title":"List Workspace Directory","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /workspace/directories","href":"/api-reference/workspace/list-workspace-directory"},{"title":"Get Workspace Status","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json get /workspace/status","href":"/api-reference/workspace/get-workspace-status"},{"title":"Create Download Token","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json post /workspace/files/download-token","href":"/api-reference/workspace/create-download-token"},{"title":"Read Workspace File","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /workspace/files","href":"/api-reference/workspace/read-workspace-file"}]},{"group":"model","pages":[{"title":"List all candidate models under the given credential type","deprecated":null,"version":null,"openapi":"/en/versions/2.0.2/deploy/openapi.json get /model/","href":"/api-reference/model/list-all-candidate-models-under-the-given-credential-type"}]},{"group":"realtime","pages":[{"title":"List realtime models for a credential provider","deprecated":null,"version":null,"openapi":"/en/versions/2.0.10/deploy/openapi.json get /realtime/models","href":"/api-reference/realtime/list-realtime-models-for-a-credential-provider"},{"title":"Get browser WebRTC configuration","deprecated":null,"version":null,"openapi":"/en/versions/2.0.10/deploy/openapi.json get /realtime/config","href":"/api-reference/realtime/get-browser-webrtc-configuration"},{"title":"Start a realtime session from a WebRTC offer","deprecated":null,"version":null,"openapi":"/en/versions/2.0.10/deploy/openapi.json post /realtime/sessions/{session_id}/offer","href":"/api-reference/realtime/start-a-realtime-session-from-a-webrtc-offer"}]},{"group":"tts-model","pages":[{"title":"List all candidate TTS models under the given credential type","deprecated":null,"version":null,"openapi":"/en/versions/2.0.3/deploy/openapi.json get /tts-model/","href":"/api-reference/tts-model/list-all-candidate-tts-models-under-the-given-credential-type"}]},{"group":"embedding-model","pages":[{"title":"List all candidate embedding models under the given credential type","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /embedding-model/","href":"/api-reference/embedding-model/list-all-candidate-embedding-models-under-the-given-credential-type"}]},{"group":"channels","pages":[{"title":"List Channel Types","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /channels/types","href":"/api-reference/channels/list-channel-types"},{"title":"List Channels","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /channels/","href":"/api-reference/channels/list-channels"},{"title":"Create Channel","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json post /channels/","href":"/api-reference/channels/create-channel"},{"title":"Start Credential Binding","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json post /channels/bindings","href":"/api-reference/channels/start-credential-binding"},{"title":"Poll Credential Binding","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json get /channels/bindings/{binding_id}","href":"/api-reference/channels/poll-credential-binding"},{"title":"Cancel Credential Binding","deprecated":null,"version":null,"openapi":"/en/versions/2.0.9/deploy/openapi.json post /channels/bindings/{binding_id}/cancel","href":"/api-reference/channels/cancel-credential-binding"},{"title":"Get Channel","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /channels/{channel_id}","href":"/api-reference/channels/get-channel"},{"title":"Delete Channel","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json delete /channels/{channel_id}","href":"/api-reference/channels/delete-channel"},{"title":"Update Channel","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json patch /channels/{channel_id}","href":"/api-reference/channels/update-channel"},{"title":"Enable Channel","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json post /channels/{channel_id}/enable","href":"/api-reference/channels/enable-channel"},{"title":"Disable Channel","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json post /channels/{channel_id}/disable","href":"/api-reference/channels/disable-channel"},{"title":"Channel Status","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /channels/{channel_id}/status","href":"/api-reference/channels/channel-status"},{"title":"List Channel Sessions","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /channels/{channel_id}/sessions","href":"/api-reference/channels/list-channel-sessions"},{"title":"List Chat Ids","deprecated":null,"version":null,"openapi":"/en/versions/2.0.6/deploy/openapi.json get /channels/{channel_id}/chat_ids","href":"/api-reference/channels/list-chat-ids"}]}]}]},{"group":"Others","pages":[{"title":"FAQ","href":"/en/versions/2.0.11/others/faq"},{"title":"Changelog","href":"/en/versions/2.0.11/others/change-log"}]}]},{"version":"2.0.10","pages":[{"title":"2.0.10","href":"/en/versions/2.0.10/building-blocks/workspace/run-workspace"}]},{"version":"2.0.9","pages":[{"title":"2.0.9","href":"/en/versions/2.0.9/building-blocks/workspace/run-workspace"}]},{"version":"2.0.8","pages":[{"title":"2.0.8","href":"/en/versions/2.0.8/building-blocks/workspace/run-workspace"}]},{"version":"2.0.7","pages":[{"title":"2.0.7","href":"/en/versions/2.0.7/building-blocks/workspace/run-workspace"}]},{"version":"2.0.6","pages":[{"title":"2.0.6","href":"/en/versions/2.0.6/building-blocks/workspace/run-workspace"}]},{"version":"2.0.5","pages":[{"title":"2.0.5","href":"/en/versions/2.0.5/building-blocks/workspace/run-workspace"}]},{"version":"2.0.4","pages":[{"title":"2.0.4","href":"/en/versions/2.0.4/building-blocks/message-and-event"}]},{"version":"2.0.3","pages":[{"title":"2.0.3","href":"/en/versions/2.0.3/building-blocks/message-and-event"}]},{"version":"2.0.2","pages":[{"title":"2.0.2","href":"/en/versions/2.0.2/building-blocks/message-and-event"}]},{"version":"1.0.21","pages":[{"title":"1.0.21","href":"/en/versions/1.0.21/building-blocks/agent"}]}]},{"tab":"ReMe","versions":[{"version":"latest","groups":[{"group":"Get Started","pages":[{"title":"What's ReMe?","href":"/en/reme/latest/overview"},{"title":"Quick Start","href":"/en/reme/latest/quickstart"},{"title":"Concepts","href":"/en/reme/latest/concepts"}]},{"group":"Integration","pages":[{"title":"Overview","href":"/en/reme/latest/integration/overview"},{"title":"Deployment","href":"/en/reme/latest/integration/deployment"},{"title":"Python SDK","href":"/en/reme/latest/integration/python-sdk"},{"title":"Agent Integrations","href":"/en/reme/latest/integration/plugins"}]},{"group":"Resources","pages":[{"title":"Reference","href":"/en/reme/latest/reference"},{"title":"FAQ","href":"/en/reme/latest/faq"},{"title":"Contribution","href":"/en/reme/latest/contribution"}]}]}]}]},{"language":"zh","pages":[{"title":"zh","href":"/zh/versions/2.0.11/building-blocks/workspace/run-workspace"}]}]},"title":"Run Workspace - AgentScope","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":[],"chunks":[]}