# BMA Developer Docs > BMA (BeeOS Managed Agents): an open-source agent runtime. Any brain × any hands, computer use, remote desktop, terminal, a replaceable scheduler and a durable event log, with the Anthropic Managed Agents API under /v1, the official SDKs and the Executor Protocol. ## Docs - [Introduction](/index): Any brain × any hands, mixed freely: computer use, remote desktop, terminal, a swappable scheduler, and a durable event log of every step. - [Quickstart](/quickstart): Create an agent, start a session, stream the reply and send a follow-up with curl, Python or TypeScript, in about five minutes. - [Agents](/concepts/agents): An agent is a reusable definition: model, instructions, tools, MCP servers, skills and machine sources. - [Environments](/concepts/environments): An environment describes where a session's machines come from. In BMA it is a machine pool. - [Sessions & events](/concepts/sessions-and-events): A session is one durable conversation. Everything that happens in it is an event you can list, stream and resume. - [Machines & pools](/concepts/machines): Machines are the hands. They start on demand, pause when idle, and are rebuilt or restored without losing the session. - [Sandbox providers](/concepts/sandbox-providers): A machine pool creates its machines at one sandbox provider. The provider ids BMA accepts, what is validated, and how to connect your own account. - [Files & outputs](/concepts/files-and-outputs): Upload files once, mount them into sessions, and collect what the agent writes. - [Memory stores](/concepts/memory): Persistent files an agent keeps between sessions or shares with other agents. - [Skills](/concepts/skills): Reusable instructions and files that the agent loads only when it needs them. - [MCP servers](/concepts/mcp): Connect Model Context Protocol servers; credentials stay in BMA secrets. - [Approvals & questions](/concepts/interactions): Interactions pause the agent until a person approves a tool call or answers a question. - [Desktop & computer use](/concepts/desktop): Watch a machine's desktop, take over control, and attach terminals, without exposing VNC passwords or inbound ports. - [Context compaction](/concepts/context-compaction): How BMA keeps long tasks inside the model's context window, and what you see when it cannot. - [Executor Protocol](/executor/overview): How brains drive hands: roles, connection, deployment shapes and capability status. - [Agent capability](/executor/agent-capability): Run a BMA agent's sessions on your own agent loop, connected through the Executor Protocol. - [Local brain](/executor/local-brain): Run the DeepSeek Harness brain on your own computer with one npm command, driven by the BMA executor. - [Brains roadmap](/executor/brains-roadmap): Today: the BMA server harness and external brains through the agent capability. Next: generic ACP brains. - [SDK overview](/sdks/overview): Which SDK to use: the official Anthropic SDKs to run agents, or bma-executor-sdk to connect your own hands or brain. - [Anthropic SDKs](/sdks/bma-sdk): Call BMA with the official Anthropic SDKs by setting base_url, and call the BMA extensions (machines, terminal and desktop sessions, tickets, vaults, skills) over the same client. - [bma-executor-sdk](/sdks/bma-executor-sdk): Connect your machine (hands) or your own agent (brain) to BMA — the executor, harness and agent ends of the bma.executor protocol. - [Executor client](/sdks/bma-executor-sdk/executor): bma-executor-sdk Executor client: declarations in TypeScript, Python and Go, generated from the SDK source and the executor contract. - [Tools](/sdks/bma-executor-sdk/tools): bma-executor-sdk Tools: declarations in TypeScript, Python and Go, generated from the SDK source and the executor contract. - [Process, terminal & machine](/sdks/bma-executor-sdk/capabilities): bma-executor-sdk Process, terminal & machine: declarations in TypeScript, Python and Go, generated from the SDK source and the executor contract. - [Execution core (Go)](/sdks/bma-executor-sdk/core): bma-executor-sdk Execution core (Go): declarations in TypeScript, Python and Go, generated from the SDK source and the executor contract. - [Harness](/sdks/bma-executor-sdk/harness): bma-executor-sdk Harness: declarations in TypeScript, Python and Go, generated from the SDK source and the executor contract. - [Agent](/sdks/bma-executor-sdk/agent): bma-executor-sdk Agent: declarations in TypeScript, Python and Go, generated from the SDK source and the executor contract. - [Protocol methods](/sdks/bma-executor-sdk/protocol): bma-executor-sdk Protocol methods: declarations in TypeScript, Python and Go, generated from the SDK source and the executor contract. - [Errors](/sdks/bma-executor-sdk/errors): bma-executor-sdk Errors: declarations in TypeScript, Python and Go, generated from the SDK source and the executor contract. - [API reference](/api-reference/introduction): The /v1 Managed Agents API and the BMA extensions: base URL, headers, errors and pagination. - [Anthropic SDK](/compatibility): How to call BMA's /v1 routes with the official Anthropic SDK, which fields and endpoints they serve, where they behave differently, and what they add. - [List the projects the key can see](/api-reference/extensions/projects/list-the-projects-the-key-can-see) - [Create a project](/api-reference/extensions/projects/create-a-project) - [List the projects the key can see (deprecated alias)](/api-reference/extensions/projects/list-the-projects-the-key-can-see-deprecated-alias) - [Create a project (deprecated alias of /organizations/{organization_id}/projects)](/api-reference/extensions/projects/create-a-project-deprecated-alias-of-organizations-projects) - [List machine pools](/api-reference/extensions/machine-pools/list-machine-pools) - [Create a machine pool](/api-reference/extensions/machine-pools/create-a-machine-pool) - [Check provider connectivity before creating a pool](/api-reference/extensions/machine-pools/check-provider-connectivity-before-creating-a-pool) - [Retrieve a machine pool](/api-reference/extensions/machine-pools/retrieve-a-machine-pool) - [Update a machine pool](/api-reference/extensions/machine-pools/update-a-machine-pool) - [Delete a machine pool](/api-reference/extensions/machine-pools/delete-a-machine-pool) - [List the pool grants of a project](/api-reference/extensions/machine-pools/list-the-pool-grants-of-a-project): The project is the `project_id` query parameter or `x-bma-project-id`. - [Grant a project the use of a pool](/api-reference/extensions/machine-pools/grant-a-project-the-use-of-a-pool): The body may carry `project_id`; otherwise the project header selects it. `machine_pool_id` comes from the path. - [Retrieve a pool grant](/api-reference/extensions/machine-pools/retrieve-a-pool-grant) - [Update a pool grant](/api-reference/extensions/machine-pools/update-a-pool-grant) - [Delete a pool grant](/api-reference/extensions/machine-pools/delete-a-pool-grant) - [List machines](/api-reference/extensions/machines/list-machines): `agent_id` lists that agent's machines (project scope). - [Create a machine](/api-reference/extensions/machines/create-a-machine): `agent_id` + `persistent: true` creates an agent persistent machine (createAgentPersistentMachine); `source: byo` connects a BYO machine (connectBYOMachine) and returns the one-time `token`; otherwise createMachine. - [Retrieve a machine](/api-reference/extensions/machines/retrieve-a-machine): Adds `capabilities` (getMachineCapabilities), null when the project cannot use the machine. - [Update a machine](/api-reference/extensions/machines/update-a-machine) - [Delete a machine](/api-reference/extensions/machines/delete-a-machine): With `agent_id` it deletes that agent's persistent machine (deleteAgentMachine). - [Resume a paused machine](/api-reference/extensions/machines/resume-a-paused-machine) - [Machine interaction capabilities](/api-reference/extensions/machines/machine-interaction-capabilities) - [Create a desktop session](/api-reference/extensions/desktop-sessions/create-a-desktop-session) - [Retrieve a desktop session (control state in `control`)](/api-reference/extensions/desktop-sessions/retrieve-a-desktop-session-control-state-in-`control`) - [Close a desktop session](/api-reference/extensions/desktop-sessions/close-a-desktop-session) - [Take input control](/api-reference/extensions/desktop-sessions/take-input-control) - [Renew the control lease](/api-reference/extensions/desktop-sessions/renew-the-control-lease) - [Release control](/api-reference/extensions/desktop-sessions/release-control) - [Hand control back to the agent](/api-reference/extensions/desktop-sessions/hand-control-back-to-the-agent) - [Send input actions](/api-reference/extensions/desktop-sessions/send-input-actions) - [Capture a screenshot](/api-reference/extensions/desktop-sessions/capture-a-screenshot) - [Resume the desktop agent](/api-reference/extensions/desktop-sessions/resume-the-desktop-agent) - [Confirm a pending agent action](/api-reference/extensions/desktop-sessions/confirm-a-pending-agent-action) - [Mint a single-use ticket (purpose watch)](/api-reference/extensions/desktop-sessions/mint-a-single-use-ticket-purpose-watch): D-7 unified ticket endpoint. `purpose` defaults to and must be `watch`; the response is a `ticket` object. `watch_tickets` is the deprecated alias that answers `desktop_watch_ticket`. - [Mint a single-use viewer ticket (deprecated alias of tickets)](/api-reference/extensions/desktop-sessions/mint-a-single-use-viewer-ticket-deprecated-alias-of-tickets) - [List the terminal sessions of a machine](/api-reference/extensions/terminal-sessions/list-the-terminal-sessions-of-a-machine) - [Open a terminal session (body machine_id)](/api-reference/extensions/terminal-sessions/open-a-terminal-session-body-machine_id) - [Retrieve a terminal session](/api-reference/extensions/terminal-sessions/retrieve-a-terminal-session) - [Close a terminal session](/api-reference/extensions/terminal-sessions/close-a-terminal-session): Returns the session. - [Mint a single-use ticket (purpose connect)](/api-reference/extensions/terminal-sessions/mint-a-single-use-ticket-purpose-connect): D-7 unified ticket endpoint. `purpose` defaults to and must be `connect`; the response is a `ticket` object. `connection_tickets` is the deprecated alias that answers `terminal_connection_ticket`. - [Mint a single-use connection ticket (deprecated alias of tickets)](/api-reference/extensions/terminal-sessions/mint-a-single-use-connection-ticket-deprecated-alias-of-tickets) - [List vaults](/api-reference/extensions/vaults/list-vaults): Vaults of the project selected with `x-bma-project-id`, or of every project the key sees. `limit` is 1-100 (default 20). - [Create a vault](/api-reference/extensions/vaults/create-a-vault): Creates a new vault in the selected project (or the default project); it never returns an existing one. - [Retrieve a vault](/api-reference/extensions/vaults/retrieve-a-vault) - [Update a vault](/api-reference/extensions/vaults/update-a-vault) - [Delete a vault](/api-reference/extensions/vaults/delete-a-vault): Deletes the vault and every credential in it. - [Archive a vault](/api-reference/extensions/vaults/archive-a-vault) - [List credentials](/api-reference/extensions/vaults/list-credentials) - [Create a credential](/api-reference/extensions/vaults/create-a-credential): `static_bearer` and `environment_variable` store a generic secret, `mcp_oauth` an oauth_token_set. `injection_location` defaults to header only. `expires_at` and refresh settings are stored as given. - [Retrieve a credential](/api-reference/extensions/vaults/retrieve-a-credential) - [Update or rotate a credential](/api-reference/extensions/vaults/update-or-rotate-a-credential): A new secret value is a new secret version; `auth.type` must match and `mcp_server_url` and `secret_name` are immutable. Changing an `mcp_oauth` credential rewrites its whole token set (see McpOAuthUpdate). - [Delete a credential](/api-reference/extensions/vaults/delete-a-credential) - [Archive a credential](/api-reference/extensions/vaults/archive-a-credential) - [List skills](/api-reference/extensions/skills/list-skills) - [Create a skill](/api-reference/extensions/skills/create-a-skill): Uploading a name that exists for the owner is the next revision of that skill. - [Retrieve a skill](/api-reference/extensions/skills/retrieve-a-skill) - [Delete a skill](/api-reference/extensions/skills/delete-a-skill) - [List files uploaded into the session (BMA extension)](/api-reference/extensions/list-files-uploaded-into-the-session-bma-extension) - [Upload one file into the session (BMA extension)](/api-reference/extensions/upload-one-file-into-the-session-bma-extension): Stores one multipart file (at most 8 MiB, non-empty, bare filename) in the session's read_write memory store under the session's own directory. Create-only: an existing filename is a 409 `file_already_exists`. A session without a read_write memory store is a 409 `session_files_unavailable`. - [Download one session file (BMA extension)](/api-reference/extensions/download-one-session-file-bma-extension): Streams one file's bytes. `file_id` is the `id` returned by the upload or list operations. The response carries `Content-Type`, `Content-Length` and `Content-Disposition` when known, and `X-BMA-File-Digest` with the sha256 of the bytes. A file of another session, or an unknown id, is a 404 `not_found_error`. - [List the session's mounted file resources (BMA extension)](/api-reference/extensions/list-the-sessions-mounted-file-resources-bma-extension) - [Mount one project file into the session (BMA extension)](/api-reference/extensions/mount-one-project-file-into-the-session-bma-extension): Mounts an uploaded project file by reference. The Anthropic contract mounts files through `resources` on `POST /v1/sessions`; this extension mounts into an existing session. The file is read-only at `mount_path` (default `/mnt/session/uploads/`), and the response `file_id` is the session instance created for the mount, not the project file's own id. - [Unmount one file resource from the session (BMA extension)](/api-reference/extensions/unmount-one-file-resource-from-the-session-bma-extension): Removes the mount and releases the session instance. The project file itself is kept; other sessions that mounted it keep their instances. - [Self-hosting](/self-hosting/overview): What it takes to run BMA yourself today, and its current limits. - [Changelog](/changelog): What changed on the hosted deployment and in the SDKs. - [Roadmap](/roadmap): Planned work. Nothing here is available yet, and no dates are committed. - [简介](/zh/index): 任意脑 × 任意手,随意组合:computer use、远程桌面、终端、可替换调度器,每一步都记录在持久事件日志里。 - [快速开始](/zh/quickstart): 大约五分钟内用 curl、Python 或 TypeScript 创建 agent、启动 session、流式读取回复,再发送一条追问。 - [Agents](/zh/concepts/agents): agent 是一个可复用的定义:模型、指令、工具、MCP 服务器、skill 和机器来源。 - [Environments](/zh/concepts/environments): environment 描述会话的机器从哪里来。在 BMA 中它是一个机器池。 - [会话与事件](/zh/concepts/sessions-and-events): session 是一次持久对话。其中发生的一切都是可列出、可流式订阅、可恢复的事件。 - [机器与机器池](/zh/concepts/machines): 机器就是“双手”。它们按需启动、空闲时暂停,重建或恢复时不会丢失会话。 - [Sandbox providers](/zh/concepts/sandbox-providers): 机器池在某一个沙箱提供方上创建机器。BMA 接受的提供方 id、哪些经过验证,以及如何接入自己的账号。 - [文件与输出](/zh/concepts/files-and-outputs): 文件只需上传一次即可挂载到会话中,并收集 agent 写出的内容。 - [Memory stores](/zh/concepts/memory): agent 在会话之间保留、或与其他 agent 共享的持久文件。 - [Skills](/zh/concepts/skills): 可复用的指令和文件,agent 只在需要时加载。 - [MCP 服务器](/zh/concepts/mcp): 接入 Model Context Protocol 服务器;凭据保存在 BMA 密钥中。 - [审批与提问](/zh/concepts/interactions): 交互会让 agent 暂停,直到有人批准工具调用或回答问题。 - [桌面与 computer use](/zh/concepts/desktop): 观看机器桌面、接管控制、挂接终端,无需暴露 VNC 密码或入站端口。 - [上下文压缩](/zh/concepts/context-compaction): BMA 如何让长任务保持在模型上下文窗口内,以及做不到时你会看到什么。 - [Executor Protocol](/zh/executor/overview): 大脑如何驱动双手:角色、连接、部署形态与能力状态。 - [Agent capability](/zh/executor/agent-capability): 让 BMA agent 的会话运行在你自己的 agent 循环上,通过 Executor Protocol 接入。 - [本机脑](/zh/executor/local-brain): 用一条 npm 命令在你自己的电脑上运行 DeepSeek Harness 大脑,由 BMA executor 驱动。 - [大脑路线图](/zh/executor/brains-roadmap): 现状:BMA 服务端 harness,以及通过 agent capability 接入的外部大脑。下一步:通用 ACP 大脑。 - [SDK 概览](/zh/sdks/overview): 该用哪个 SDK:用 Anthropic 官方 SDK 运行 agent,或用 bma-executor-sdk 接入你自己的手或脑。 - [Anthropic SDKs](/zh/sdks/bma-sdk): 设置 base_url 即可用 Anthropic 官方 SDK 调用 BMA,并通过同一个客户端调用 BMA 扩展(机器、终端与桌面会话、ticket、vault、skill)。 - [bma-executor-sdk](/zh/sdks/bma-executor-sdk): 把你的机器(手)或你自己的 Agent(脑)接入 BMA——bma.executor 协议的 executor / harness / agent 三端。 - [Executor 客户端](/zh/sdks/bma-executor-sdk/executor): bma-executor-sdk Executor 客户端:TypeScript、Python、Go 三种语言的声明,由 SDK 源码与 executor 契约生成。 - [工具](/zh/sdks/bma-executor-sdk/tools): bma-executor-sdk 工具:TypeScript、Python、Go 三种语言的声明,由 SDK 源码与 executor 契约生成。 - [进程、终端与机器](/zh/sdks/bma-executor-sdk/capabilities): bma-executor-sdk 进程、终端与机器:TypeScript、Python、Go 三种语言的声明,由 SDK 源码与 executor 契约生成。 - [执行核心(Go)](/zh/sdks/bma-executor-sdk/core): bma-executor-sdk 执行核心(Go):TypeScript、Python、Go 三种语言的声明,由 SDK 源码与 executor 契约生成。 - [Harness](/zh/sdks/bma-executor-sdk/harness): bma-executor-sdk Harness:TypeScript、Python、Go 三种语言的声明,由 SDK 源码与 executor 契约生成。 - [Agent](/zh/sdks/bma-executor-sdk/agent): bma-executor-sdk Agent:TypeScript、Python、Go 三种语言的声明,由 SDK 源码与 executor 契约生成。 - [协议方法](/zh/sdks/bma-executor-sdk/protocol): bma-executor-sdk 协议方法:TypeScript、Python、Go 三种语言的声明,由 SDK 源码与 executor 契约生成。 - [错误](/zh/sdks/bma-executor-sdk/errors): bma-executor-sdk 错误:TypeScript、Python、Go 三种语言的声明,由 SDK 源码与 executor 契约生成。 - [API reference](/zh/api-reference/introduction): /v1 Managed Agents API 与 BMA 扩展:base URL、请求头、错误与分页。 - [Anthropic SDK](/zh/compatibility): 如何用 Anthropic 官方 SDK 调用 BMA 的 /v1 路由,这些路由支持哪些字段和端点、哪些行为不同、额外提供什么。 - [List the projects the key can see](/zh/api-reference/extensions/projects/list-the-projects-the-key-can-see) - [Create a project](/zh/api-reference/extensions/projects/create-a-project) - [List the projects the key can see (deprecated alias)](/zh/api-reference/extensions/projects/list-the-projects-the-key-can-see-deprecated-alias) - [Create a project (deprecated alias of /organizations/{organization_id}/projects)](/zh/api-reference/extensions/projects/create-a-project-deprecated-alias-of-organizations-projects) - [List machine pools](/zh/api-reference/extensions/machine-pools/list-machine-pools) - [Create a machine pool](/zh/api-reference/extensions/machine-pools/create-a-machine-pool) - [Check provider connectivity before creating a pool](/zh/api-reference/extensions/machine-pools/check-provider-connectivity-before-creating-a-pool) - [Retrieve a machine pool](/zh/api-reference/extensions/machine-pools/retrieve-a-machine-pool) - [Update a machine pool](/zh/api-reference/extensions/machine-pools/update-a-machine-pool) - [Delete a machine pool](/zh/api-reference/extensions/machine-pools/delete-a-machine-pool) - [List the pool grants of a project](/zh/api-reference/extensions/machine-pools/list-the-pool-grants-of-a-project): The project is the `project_id` query parameter or `x-bma-project-id`. - [Grant a project the use of a pool](/zh/api-reference/extensions/machine-pools/grant-a-project-the-use-of-a-pool): The body may carry `project_id`; otherwise the project header selects it. `machine_pool_id` comes from the path. - [Retrieve a pool grant](/zh/api-reference/extensions/machine-pools/retrieve-a-pool-grant) - [Update a pool grant](/zh/api-reference/extensions/machine-pools/update-a-pool-grant) - [Delete a pool grant](/zh/api-reference/extensions/machine-pools/delete-a-pool-grant) - [List machines](/zh/api-reference/extensions/machines/list-machines): `agent_id` lists that agent's machines (project scope). - [Create a machine](/zh/api-reference/extensions/machines/create-a-machine): `agent_id` + `persistent: true` creates an agent persistent machine (createAgentPersistentMachine); `source: byo` connects a BYO machine (connectBYOMachine) and returns the one-time `token`; otherwise createMachine. - [Retrieve a machine](/zh/api-reference/extensions/machines/retrieve-a-machine): Adds `capabilities` (getMachineCapabilities), null when the project cannot use the machine. - [Update a machine](/zh/api-reference/extensions/machines/update-a-machine) - [Delete a machine](/zh/api-reference/extensions/machines/delete-a-machine): With `agent_id` it deletes that agent's persistent machine (deleteAgentMachine). - [Resume a paused machine](/zh/api-reference/extensions/machines/resume-a-paused-machine) - [Machine interaction capabilities](/zh/api-reference/extensions/machines/machine-interaction-capabilities) - [Create a desktop session](/zh/api-reference/extensions/desktop-sessions/create-a-desktop-session) - [Retrieve a desktop session (control state in `control`)](/zh/api-reference/extensions/desktop-sessions/retrieve-a-desktop-session-control-state-in-`control`) - [Close a desktop session](/zh/api-reference/extensions/desktop-sessions/close-a-desktop-session) - [Take input control](/zh/api-reference/extensions/desktop-sessions/take-input-control) - [Renew the control lease](/zh/api-reference/extensions/desktop-sessions/renew-the-control-lease) - [Release control](/zh/api-reference/extensions/desktop-sessions/release-control) - [Hand control back to the agent](/zh/api-reference/extensions/desktop-sessions/hand-control-back-to-the-agent) - [Send input actions](/zh/api-reference/extensions/desktop-sessions/send-input-actions) - [Capture a screenshot](/zh/api-reference/extensions/desktop-sessions/capture-a-screenshot) - [Resume the desktop agent](/zh/api-reference/extensions/desktop-sessions/resume-the-desktop-agent) - [Confirm a pending agent action](/zh/api-reference/extensions/desktop-sessions/confirm-a-pending-agent-action) - [Mint a single-use ticket (purpose watch)](/zh/api-reference/extensions/desktop-sessions/mint-a-single-use-ticket-purpose-watch): D-7 unified ticket endpoint. `purpose` defaults to and must be `watch`; the response is a `ticket` object. `watch_tickets` is the deprecated alias that answers `desktop_watch_ticket`. - [Mint a single-use viewer ticket (deprecated alias of tickets)](/zh/api-reference/extensions/desktop-sessions/mint-a-single-use-viewer-ticket-deprecated-alias-of-tickets) - [List the terminal sessions of a machine](/zh/api-reference/extensions/terminal-sessions/list-the-terminal-sessions-of-a-machine) - [Open a terminal session (body machine_id)](/zh/api-reference/extensions/terminal-sessions/open-a-terminal-session-body-machine_id) - [Retrieve a terminal session](/zh/api-reference/extensions/terminal-sessions/retrieve-a-terminal-session) - [Close a terminal session](/zh/api-reference/extensions/terminal-sessions/close-a-terminal-session): Returns the session. - [Mint a single-use ticket (purpose connect)](/zh/api-reference/extensions/terminal-sessions/mint-a-single-use-ticket-purpose-connect): D-7 unified ticket endpoint. `purpose` defaults to and must be `connect`; the response is a `ticket` object. `connection_tickets` is the deprecated alias that answers `terminal_connection_ticket`. - [Mint a single-use connection ticket (deprecated alias of tickets)](/zh/api-reference/extensions/terminal-sessions/mint-a-single-use-connection-ticket-deprecated-alias-of-tickets) - [List vaults](/zh/api-reference/extensions/vaults/list-vaults): Vaults of the project selected with `x-bma-project-id`, or of every project the key sees. `limit` is 1-100 (default 20). - [Create a vault](/zh/api-reference/extensions/vaults/create-a-vault): Creates a new vault in the selected project (or the default project); it never returns an existing one. - [Retrieve a vault](/zh/api-reference/extensions/vaults/retrieve-a-vault) - [Update a vault](/zh/api-reference/extensions/vaults/update-a-vault) - [Delete a vault](/zh/api-reference/extensions/vaults/delete-a-vault): Deletes the vault and every credential in it. - [Archive a vault](/zh/api-reference/extensions/vaults/archive-a-vault) - [List credentials](/zh/api-reference/extensions/vaults/list-credentials) - [Create a credential](/zh/api-reference/extensions/vaults/create-a-credential): `static_bearer` and `environment_variable` store a generic secret, `mcp_oauth` an oauth_token_set. `injection_location` defaults to header only. `expires_at` and refresh settings are stored as given. - [Retrieve a credential](/zh/api-reference/extensions/vaults/retrieve-a-credential) - [Update or rotate a credential](/zh/api-reference/extensions/vaults/update-or-rotate-a-credential): A new secret value is a new secret version; `auth.type` must match and `mcp_server_url` and `secret_name` are immutable. Changing an `mcp_oauth` credential rewrites its whole token set (see McpOAuthUpdate). - [Delete a credential](/zh/api-reference/extensions/vaults/delete-a-credential) - [Archive a credential](/zh/api-reference/extensions/vaults/archive-a-credential) - [List skills](/zh/api-reference/extensions/skills/list-skills) - [Create a skill](/zh/api-reference/extensions/skills/create-a-skill): Uploading a name that exists for the owner is the next revision of that skill. - [Retrieve a skill](/zh/api-reference/extensions/skills/retrieve-a-skill) - [Delete a skill](/zh/api-reference/extensions/skills/delete-a-skill) - [List files uploaded into the session (BMA extension)](/zh/api-reference/extensions/list-files-uploaded-into-the-session-bma-extension) - [Upload one file into the session (BMA extension)](/zh/api-reference/extensions/upload-one-file-into-the-session-bma-extension): Stores one multipart file (at most 8 MiB, non-empty, bare filename) in the session's read_write memory store under the session's own directory. Create-only: an existing filename is a 409 `file_already_exists`. A session without a read_write memory store is a 409 `session_files_unavailable`. - [Download one session file (BMA extension)](/zh/api-reference/extensions/download-one-session-file-bma-extension): Streams one file's bytes. `file_id` is the `id` returned by the upload or list operations. The response carries `Content-Type`, `Content-Length` and `Content-Disposition` when known, and `X-BMA-File-Digest` with the sha256 of the bytes. A file of another session, or an unknown id, is a 404 `not_found_error`. - [List the session's mounted file resources (BMA extension)](/zh/api-reference/extensions/list-the-sessions-mounted-file-resources-bma-extension) - [Mount one project file into the session (BMA extension)](/zh/api-reference/extensions/mount-one-project-file-into-the-session-bma-extension): Mounts an uploaded project file by reference. The Anthropic contract mounts files through `resources` on `POST /v1/sessions`; this extension mounts into an existing session. The file is read-only at `mount_path` (default `/mnt/session/uploads/`), and the response `file_id` is the session instance created for the mount, not the project file's own id. - [Unmount one file resource from the session (BMA extension)](/zh/api-reference/extensions/unmount-one-file-resource-from-the-session-bma-extension): Removes the mount and releases the session instance. The project file itself is kept; other sessions that mounted it keep their instances. - [自托管](/zh/self-hosting/overview): 目前自行运行 BMA 需要什么,以及当前的限制。 - [更新日志](/zh/changelog): 托管部署与各 SDK 的变更。 - [路线图](/zh/roadmap): 计划中的工作。这里的内容都尚不可用,也不承诺日期。 - [簡介](/zh-Hant/index): 任意腦 × 任意手,隨意組合:computer use、遠端桌面、終端機、可替換排程器,每一步都記錄在持久事件日誌裡。 - [快速開始](/zh-Hant/quickstart): 大約五分鐘內用 curl、Python 或 TypeScript 建立 agent、啟動 session、流式讀取回復,再傳送一條追問。 - [Agents](/zh-Hant/concepts/agents): agent 是一個可複用的定義:模型、指令、工具、MCP 伺服器、skill 和機器來源。 - [Environments](/zh-Hant/concepts/environments): environment 描述工作階段的機器從哪裡來。在 BMA 中它是一個機器池。 - [工作階段與事件](/zh-Hant/concepts/sessions-and-events): session 是一次持久對話。其中發生的一切都是可列出、可流式訂閱、可恢復的事件。 - [機器與機器池](/zh-Hant/concepts/machines): 機器就是“雙手”。它們按需啟動、空閒時暫停,重建或恢復時不會丟失工作階段。 - [Sandbox providers](/zh-Hant/concepts/sandbox-providers): 機器池在某一個沙箱提供方上建立機器。BMA 接受的提供方 id、哪些經過驗證,以及如何接入自己的帳號。 - [檔案與輸出](/zh-Hant/concepts/files-and-outputs): 檔案只需上傳一次即可掛載到工作階段中,並收集 agent 寫出的內容。 - [Memory stores](/zh-Hant/concepts/memory): agent 在工作階段之間保留、或與其他 agent 共享的持久檔案。 - [Skills](/zh-Hant/concepts/skills): 可複用的指令和檔案,agent 只在需要時載入。 - [MCP 伺服器](/zh-Hant/concepts/mcp): 接入 Model Context Protocol 伺服器;憑證儲存在 BMA 金鑰中。 - [審批與提問](/zh-Hant/concepts/interactions): 互動會讓 agent 暫停,直到有人批准工具呼叫或回答問題。 - [桌面與 computer use](/zh-Hant/concepts/desktop): 觀看機器桌面、接管控制、掛接終端,無需暴露 VNC 密碼或入站埠。 - [上下文壓縮](/zh-Hant/concepts/context-compaction): BMA 如何讓長任務保持在模型上下文視窗內,以及做不到時你會看到什麼。 - [Executor Protocol](/zh-Hant/executor/overview): 大腦如何驅動雙手:角色、連線、部署形態與能力狀態。 - [Agent capability](/zh-Hant/executor/agent-capability): 讓 BMA agent 的工作階段執行在你自己的 agent 迴圈上,透過 Executor Protocol 接入。 - [本機腦](/zh-Hant/executor/local-brain): 用一條 npm 指令在你自己的電腦上執行 DeepSeek Harness 大腦,由 BMA executor 驅動。 - [大腦路線圖](/zh-Hant/executor/brains-roadmap): 現狀:BMA 伺服器端 harness,以及透過 agent capability 接入的外部大腦。下一步:通用 ACP 大腦。 - [SDK 概覽](/zh-Hant/sdks/overview): 該用哪個 SDK:用 Anthropic 官方 SDK 執行 agent,或用 bma-executor-sdk 接入你自己的手或腦。 - [Anthropic SDKs](/zh-Hant/sdks/bma-sdk): 設定 base_url 即可用 Anthropic 官方 SDK 呼叫 BMA,並透過同一個客戶端呼叫 BMA 擴充套件(機器、終端與桌面會話、ticket、vault、skill)。 - [bma-executor-sdk](/zh-Hant/sdks/bma-executor-sdk): 把你的機器(手)或你自己的 Agent(腦)接入 BMA——bma.executor 協定的 executor / harness / agent 三端。 - [Executor 用戶端](/zh-Hant/sdks/bma-executor-sdk/executor): bma-executor-sdk Executor 用戶端:TypeScript、Python、Go 三種語言的宣告,由 SDK 原始碼與 executor 契約產生。 - [工具](/zh-Hant/sdks/bma-executor-sdk/tools): bma-executor-sdk 工具:TypeScript、Python、Go 三種語言的宣告,由 SDK 原始碼與 executor 契約產生。 - [程序、終端機與機器](/zh-Hant/sdks/bma-executor-sdk/capabilities): bma-executor-sdk 程序、終端機與機器:TypeScript、Python、Go 三種語言的宣告,由 SDK 原始碼與 executor 契約產生。 - [執行核心(Go)](/zh-Hant/sdks/bma-executor-sdk/core): bma-executor-sdk 執行核心(Go):TypeScript、Python、Go 三種語言的宣告,由 SDK 原始碼與 executor 契約產生。 - [Harness](/zh-Hant/sdks/bma-executor-sdk/harness): bma-executor-sdk Harness:TypeScript、Python、Go 三種語言的宣告,由 SDK 原始碼與 executor 契約產生。 - [Agent](/zh-Hant/sdks/bma-executor-sdk/agent): bma-executor-sdk Agent:TypeScript、Python、Go 三種語言的宣告,由 SDK 原始碼與 executor 契約產生。 - [協定方法](/zh-Hant/sdks/bma-executor-sdk/protocol): bma-executor-sdk 協定方法:TypeScript、Python、Go 三種語言的宣告,由 SDK 原始碼與 executor 契約產生。 - [錯誤](/zh-Hant/sdks/bma-executor-sdk/errors): bma-executor-sdk 錯誤:TypeScript、Python、Go 三種語言的宣告,由 SDK 原始碼與 executor 契約產生。 - [API reference](/zh-Hant/api-reference/introduction): /v1 Managed Agents API 與 BMA 擴充套件:base URL、請求頭、錯誤與分頁。 - [Anthropic SDK](/zh-Hant/compatibility): 如何用 Anthropic 官方 SDK 呼叫 BMA 的 /v1 路由,這些路由支援哪些欄位和端點、哪些行為不同、額外提供什麼。 - [List the projects the key can see](/zh-hant/api-reference/extensions/projects/list-the-projects-the-key-can-see) - [Create a project](/zh-hant/api-reference/extensions/projects/create-a-project) - [List the projects the key can see (deprecated alias)](/zh-hant/api-reference/extensions/projects/list-the-projects-the-key-can-see-deprecated-alias) - [Create a project (deprecated alias of /organizations/{organization_id}/projects)](/zh-hant/api-reference/extensions/projects/create-a-project-deprecated-alias-of-organizations-projects) - [List machine pools](/zh-hant/api-reference/extensions/machine-pools/list-machine-pools) - [Create a machine pool](/zh-hant/api-reference/extensions/machine-pools/create-a-machine-pool) - [Check provider connectivity before creating a pool](/zh-hant/api-reference/extensions/machine-pools/check-provider-connectivity-before-creating-a-pool) - [Retrieve a machine pool](/zh-hant/api-reference/extensions/machine-pools/retrieve-a-machine-pool) - [Update a machine pool](/zh-hant/api-reference/extensions/machine-pools/update-a-machine-pool) - [Delete a machine pool](/zh-hant/api-reference/extensions/machine-pools/delete-a-machine-pool) - [List the pool grants of a project](/zh-hant/api-reference/extensions/machine-pools/list-the-pool-grants-of-a-project): The project is the `project_id` query parameter or `x-bma-project-id`. - [Grant a project the use of a pool](/zh-hant/api-reference/extensions/machine-pools/grant-a-project-the-use-of-a-pool): The body may carry `project_id`; otherwise the project header selects it. `machine_pool_id` comes from the path. - [Retrieve a pool grant](/zh-hant/api-reference/extensions/machine-pools/retrieve-a-pool-grant) - [Update a pool grant](/zh-hant/api-reference/extensions/machine-pools/update-a-pool-grant) - [Delete a pool grant](/zh-hant/api-reference/extensions/machine-pools/delete-a-pool-grant) - [List machines](/zh-hant/api-reference/extensions/machines/list-machines): `agent_id` lists that agent's machines (project scope). - [Create a machine](/zh-hant/api-reference/extensions/machines/create-a-machine): `agent_id` + `persistent: true` creates an agent persistent machine (createAgentPersistentMachine); `source: byo` connects a BYO machine (connectBYOMachine) and returns the one-time `token`; otherwise createMachine. - [Retrieve a machine](/zh-hant/api-reference/extensions/machines/retrieve-a-machine): Adds `capabilities` (getMachineCapabilities), null when the project cannot use the machine. - [Update a machine](/zh-hant/api-reference/extensions/machines/update-a-machine) - [Delete a machine](/zh-hant/api-reference/extensions/machines/delete-a-machine): With `agent_id` it deletes that agent's persistent machine (deleteAgentMachine). - [Resume a paused machine](/zh-hant/api-reference/extensions/machines/resume-a-paused-machine) - [Machine interaction capabilities](/zh-hant/api-reference/extensions/machines/machine-interaction-capabilities) - [Create a desktop session](/zh-hant/api-reference/extensions/desktop-sessions/create-a-desktop-session) - [Retrieve a desktop session (control state in `control`)](/zh-hant/api-reference/extensions/desktop-sessions/retrieve-a-desktop-session-control-state-in-`control`) - [Close a desktop session](/zh-hant/api-reference/extensions/desktop-sessions/close-a-desktop-session) - [Take input control](/zh-hant/api-reference/extensions/desktop-sessions/take-input-control) - [Renew the control lease](/zh-hant/api-reference/extensions/desktop-sessions/renew-the-control-lease) - [Release control](/zh-hant/api-reference/extensions/desktop-sessions/release-control) - [Hand control back to the agent](/zh-hant/api-reference/extensions/desktop-sessions/hand-control-back-to-the-agent) - [Send input actions](/zh-hant/api-reference/extensions/desktop-sessions/send-input-actions) - [Capture a screenshot](/zh-hant/api-reference/extensions/desktop-sessions/capture-a-screenshot) - [Resume the desktop agent](/zh-hant/api-reference/extensions/desktop-sessions/resume-the-desktop-agent) - [Confirm a pending agent action](/zh-hant/api-reference/extensions/desktop-sessions/confirm-a-pending-agent-action) - [Mint a single-use ticket (purpose watch)](/zh-hant/api-reference/extensions/desktop-sessions/mint-a-single-use-ticket-purpose-watch): D-7 unified ticket endpoint. `purpose` defaults to and must be `watch`; the response is a `ticket` object. `watch_tickets` is the deprecated alias that answers `desktop_watch_ticket`. - [Mint a single-use viewer ticket (deprecated alias of tickets)](/zh-hant/api-reference/extensions/desktop-sessions/mint-a-single-use-viewer-ticket-deprecated-alias-of-tickets) - [List the terminal sessions of a machine](/zh-hant/api-reference/extensions/terminal-sessions/list-the-terminal-sessions-of-a-machine) - [Open a terminal session (body machine_id)](/zh-hant/api-reference/extensions/terminal-sessions/open-a-terminal-session-body-machine_id) - [Retrieve a terminal session](/zh-hant/api-reference/extensions/terminal-sessions/retrieve-a-terminal-session) - [Close a terminal session](/zh-hant/api-reference/extensions/terminal-sessions/close-a-terminal-session): Returns the session. - [Mint a single-use ticket (purpose connect)](/zh-hant/api-reference/extensions/terminal-sessions/mint-a-single-use-ticket-purpose-connect): D-7 unified ticket endpoint. `purpose` defaults to and must be `connect`; the response is a `ticket` object. `connection_tickets` is the deprecated alias that answers `terminal_connection_ticket`. - [Mint a single-use connection ticket (deprecated alias of tickets)](/zh-hant/api-reference/extensions/terminal-sessions/mint-a-single-use-connection-ticket-deprecated-alias-of-tickets) - [List vaults](/zh-hant/api-reference/extensions/vaults/list-vaults): Vaults of the project selected with `x-bma-project-id`, or of every project the key sees. `limit` is 1-100 (default 20). - [Create a vault](/zh-hant/api-reference/extensions/vaults/create-a-vault): Creates a new vault in the selected project (or the default project); it never returns an existing one. - [Retrieve a vault](/zh-hant/api-reference/extensions/vaults/retrieve-a-vault) - [Update a vault](/zh-hant/api-reference/extensions/vaults/update-a-vault) - [Delete a vault](/zh-hant/api-reference/extensions/vaults/delete-a-vault): Deletes the vault and every credential in it. - [Archive a vault](/zh-hant/api-reference/extensions/vaults/archive-a-vault) - [List credentials](/zh-hant/api-reference/extensions/vaults/list-credentials) - [Create a credential](/zh-hant/api-reference/extensions/vaults/create-a-credential): `static_bearer` and `environment_variable` store a generic secret, `mcp_oauth` an oauth_token_set. `injection_location` defaults to header only. `expires_at` and refresh settings are stored as given. - [Retrieve a credential](/zh-hant/api-reference/extensions/vaults/retrieve-a-credential) - [Update or rotate a credential](/zh-hant/api-reference/extensions/vaults/update-or-rotate-a-credential): A new secret value is a new secret version; `auth.type` must match and `mcp_server_url` and `secret_name` are immutable. Changing an `mcp_oauth` credential rewrites its whole token set (see McpOAuthUpdate). - [Delete a credential](/zh-hant/api-reference/extensions/vaults/delete-a-credential) - [Archive a credential](/zh-hant/api-reference/extensions/vaults/archive-a-credential) - [List skills](/zh-hant/api-reference/extensions/skills/list-skills) - [Create a skill](/zh-hant/api-reference/extensions/skills/create-a-skill): Uploading a name that exists for the owner is the next revision of that skill. - [Retrieve a skill](/zh-hant/api-reference/extensions/skills/retrieve-a-skill) - [Delete a skill](/zh-hant/api-reference/extensions/skills/delete-a-skill) - [List files uploaded into the session (BMA extension)](/zh-hant/api-reference/extensions/list-files-uploaded-into-the-session-bma-extension) - [Upload one file into the session (BMA extension)](/zh-hant/api-reference/extensions/upload-one-file-into-the-session-bma-extension): Stores one multipart file (at most 8 MiB, non-empty, bare filename) in the session's read_write memory store under the session's own directory. Create-only: an existing filename is a 409 `file_already_exists`. A session without a read_write memory store is a 409 `session_files_unavailable`. - [Download one session file (BMA extension)](/zh-hant/api-reference/extensions/download-one-session-file-bma-extension): Streams one file's bytes. `file_id` is the `id` returned by the upload or list operations. The response carries `Content-Type`, `Content-Length` and `Content-Disposition` when known, and `X-BMA-File-Digest` with the sha256 of the bytes. A file of another session, or an unknown id, is a 404 `not_found_error`. - [List the session's mounted file resources (BMA extension)](/zh-hant/api-reference/extensions/list-the-sessions-mounted-file-resources-bma-extension) - [Mount one project file into the session (BMA extension)](/zh-hant/api-reference/extensions/mount-one-project-file-into-the-session-bma-extension): Mounts an uploaded project file by reference. The Anthropic contract mounts files through `resources` on `POST /v1/sessions`; this extension mounts into an existing session. The file is read-only at `mount_path` (default `/mnt/session/uploads/`), and the response `file_id` is the session instance created for the mount, not the project file's own id. - [Unmount one file resource from the session (BMA extension)](/zh-hant/api-reference/extensions/unmount-one-file-resource-from-the-session-bma-extension): Removes the mount and releases the session instance. The project file itself is kept; other sessions that mounted it keep their instances. - [自託管](/zh-Hant/self-hosting/overview): 目前自行執行 BMA 需要什麼,以及目前的限制。 - [更新日誌](/zh-Hant/changelog): 託管部署與各 SDK 的變更。 - [路線圖](/zh-Hant/roadmap): 計劃中的工作。這裡的內容都尚不可用,也不承諾日期。 - [はじめに](/ja/index): どのブレインも、どのハンドも、自由に組み合わせ。computer use、リモートデスクトップ、ターミナル、差し替え可能なスケジューラー。すべてのステップは永続的なイベントログに記録されます。 - [クイックスタート](/ja/quickstart): curl、Python、TypeScript で agent を作成し、session を開始して、返信をストリーミングで受け取り、続けてメッセージを送るまで、約 5 分で試せます。 - [Agents](/ja/concepts/agents): agent は再利用できる定義です:モデル、指示、ツール、MCP サーバー、スキル、マシンの調達元。 - [Environments](/ja/concepts/environments): environment は session のマシンをどこから調達するかを記述します。BMA ではマシンプールに相当します。 - [セッションとイベント](/ja/concepts/sessions-and-events): session は 1 つの永続的な会話です。その中で起きることはすべてイベントになり、一覧取得・ストリーミング・再開ができます。 - [マシンとプール](/ja/concepts/machines): マシンはハンドです。必要なときに起動し、アイドル時には一時停止し、session を失うことなく再構築・復元されます。 - [Sandbox providers](/ja/concepts/sandbox-providers): マシンプールは 1 つのサンドボックスプロバイダー上でマシンを作成します。BMA が受け付けるプロバイダー id、検証済みの範囲、自分のアカウントの接続方法。 - [ファイルと出力](/ja/concepts/files-and-outputs): ファイルを一度アップロードして session にマウントし、エージェントが書き出したものを回収します。 - [メモリーストア](/ja/concepts/memory): エージェントが session をまたいで保持したり、他のエージェントと共有したりする永続ファイルです。 - [Skills](/ja/concepts/skills): 必要になったときだけエージェントが読み込む、再利用可能な指示とファイルです。 - [MCP サーバー](/ja/concepts/mcp): Model Context Protocol サーバーを接続します。認証情報は BMA のシークレットに保管されたままです。 - [承認と質問](/ja/concepts/interactions): インタラクションは、人がツール呼び出しを承認するか質問に答えるまで、エージェントを一時停止させます。 - [デスクトップと computer use](/ja/concepts/desktop): VNC パスワードを公開したり受信ポートを開けたりせずに、マシンのデスクトップを視聴し、操作を引き継ぎ、ターミナルを接続します。 - [コンテキスト圧縮](/ja/concepts/context-compaction): BMA が長いタスクをモデルのコンテキストウィンドウに収める仕組みと、収まらなかったときに表示される内容を説明します。 - [Executor Protocol](/ja/executor/overview): ブレインがハンドを動かす仕組み:役割、接続、デプロイ形態、機能の対応状況。 - [Agent capability](/ja/executor/agent-capability): Executor Protocol で接続した独自のエージェントループで、BMA エージェントの session を実行します。 - [ローカルブレイン](/ja/executor/local-brain): npm コマンド 1 つで自分のコンピューター上に DeepSeek Harness ブレインを動かし、BMA executor で駆動します。 - [ブレインのロードマップ](/ja/executor/brains-roadmap): 現在:BMA のサーバー側 harness と、agent 機能による外部ブレイン。次:汎用 ACP ブレイン。 - [SDK の概要](/ja/sdks/overview): どの SDK を使うか:agent の実行には Anthropic 公式 SDK、自分のハンドやブレインを接続するには bma-executor-sdk。 - [Anthropic SDKs](/ja/sdks/bma-sdk): base_url を設定するだけで Anthropic 公式 SDK から BMA を呼び出せます。BMA 拡張(マシン、ターミナル・デスクトップ session、チケット、vault、skill)も同じクライアントで呼び出せます。 - [bma-executor-sdk](/ja/sdks/bma-executor-sdk): 自分のマシン(ハンド)や自分のエージェント(ブレイン)を BMA に接続します。bma.executor プロトコルの executor / harness / agent の 3 つのエンドです。 - [Executor クライアント](/ja/sdks/bma-executor-sdk/executor): bma-executor-sdk のExecutor クライアント:SDK ソースと executor 契約から生成した TypeScript・Python・Go の宣言。 - [ツール](/ja/sdks/bma-executor-sdk/tools): bma-executor-sdk のツール:SDK ソースと executor 契約から生成した TypeScript・Python・Go の宣言。 - [プロセス・ターミナル・マシン](/ja/sdks/bma-executor-sdk/capabilities): bma-executor-sdk のプロセス・ターミナル・マシン:SDK ソースと executor 契約から生成した TypeScript・Python・Go の宣言。 - [実行コア(Go)](/ja/sdks/bma-executor-sdk/core): bma-executor-sdk の実行コア(Go):SDK ソースと executor 契約から生成した TypeScript・Python・Go の宣言。 - [Harness](/ja/sdks/bma-executor-sdk/harness): bma-executor-sdk のHarness:SDK ソースと executor 契約から生成した TypeScript・Python・Go の宣言。 - [エージェント](/ja/sdks/bma-executor-sdk/agent): bma-executor-sdk のエージェント:SDK ソースと executor 契約から生成した TypeScript・Python・Go の宣言。 - [プロトコルメソッド](/ja/sdks/bma-executor-sdk/protocol): bma-executor-sdk のプロトコルメソッド:SDK ソースと executor 契約から生成した TypeScript・Python・Go の宣言。 - [エラー](/ja/sdks/bma-executor-sdk/errors): bma-executor-sdk のエラー:SDK ソースと executor 契約から生成した TypeScript・Python・Go の宣言。 - [API reference](/ja/api-reference/introduction): /v1 Managed Agents API と BMA 拡張:base URL、ヘッダー、エラー、ページネーション。 - [Anthropic SDK](/ja/compatibility): 公式 Anthropic SDK で BMA の /v1 ルートを呼び出す方法、これらのルートが対応するフィールドとエンドポイント、動作が異なる点、BMA が追加する機能をまとめています。 - [List the projects the key can see](/ja/api-reference/extensions/projects/list-the-projects-the-key-can-see) - [Create a project](/ja/api-reference/extensions/projects/create-a-project) - [List the projects the key can see (deprecated alias)](/ja/api-reference/extensions/projects/list-the-projects-the-key-can-see-deprecated-alias) - [Create a project (deprecated alias of /organizations/{organization_id}/projects)](/ja/api-reference/extensions/projects/create-a-project-deprecated-alias-of-organizations-projects) - [List machine pools](/ja/api-reference/extensions/machine-pools/list-machine-pools) - [Create a machine pool](/ja/api-reference/extensions/machine-pools/create-a-machine-pool) - [Check provider connectivity before creating a pool](/ja/api-reference/extensions/machine-pools/check-provider-connectivity-before-creating-a-pool) - [Retrieve a machine pool](/ja/api-reference/extensions/machine-pools/retrieve-a-machine-pool) - [Update a machine pool](/ja/api-reference/extensions/machine-pools/update-a-machine-pool) - [Delete a machine pool](/ja/api-reference/extensions/machine-pools/delete-a-machine-pool) - [List the pool grants of a project](/ja/api-reference/extensions/machine-pools/list-the-pool-grants-of-a-project): The project is the `project_id` query parameter or `x-bma-project-id`. - [Grant a project the use of a pool](/ja/api-reference/extensions/machine-pools/grant-a-project-the-use-of-a-pool): The body may carry `project_id`; otherwise the project header selects it. `machine_pool_id` comes from the path. - [Retrieve a pool grant](/ja/api-reference/extensions/machine-pools/retrieve-a-pool-grant) - [Update a pool grant](/ja/api-reference/extensions/machine-pools/update-a-pool-grant) - [Delete a pool grant](/ja/api-reference/extensions/machine-pools/delete-a-pool-grant) - [List machines](/ja/api-reference/extensions/machines/list-machines): `agent_id` lists that agent's machines (project scope). - [Create a machine](/ja/api-reference/extensions/machines/create-a-machine): `agent_id` + `persistent: true` creates an agent persistent machine (createAgentPersistentMachine); `source: byo` connects a BYO machine (connectBYOMachine) and returns the one-time `token`; otherwise createMachine. - [Retrieve a machine](/ja/api-reference/extensions/machines/retrieve-a-machine): Adds `capabilities` (getMachineCapabilities), null when the project cannot use the machine. - [Update a machine](/ja/api-reference/extensions/machines/update-a-machine) - [Delete a machine](/ja/api-reference/extensions/machines/delete-a-machine): With `agent_id` it deletes that agent's persistent machine (deleteAgentMachine). - [Resume a paused machine](/ja/api-reference/extensions/machines/resume-a-paused-machine) - [Machine interaction capabilities](/ja/api-reference/extensions/machines/machine-interaction-capabilities) - [Create a desktop session](/ja/api-reference/extensions/desktop-sessions/create-a-desktop-session) - [Retrieve a desktop session (control state in `control`)](/ja/api-reference/extensions/desktop-sessions/retrieve-a-desktop-session-control-state-in-`control`) - [Close a desktop session](/ja/api-reference/extensions/desktop-sessions/close-a-desktop-session) - [Take input control](/ja/api-reference/extensions/desktop-sessions/take-input-control) - [Renew the control lease](/ja/api-reference/extensions/desktop-sessions/renew-the-control-lease) - [Release control](/ja/api-reference/extensions/desktop-sessions/release-control) - [Hand control back to the agent](/ja/api-reference/extensions/desktop-sessions/hand-control-back-to-the-agent) - [Send input actions](/ja/api-reference/extensions/desktop-sessions/send-input-actions) - [Capture a screenshot](/ja/api-reference/extensions/desktop-sessions/capture-a-screenshot) - [Resume the desktop agent](/ja/api-reference/extensions/desktop-sessions/resume-the-desktop-agent) - [Confirm a pending agent action](/ja/api-reference/extensions/desktop-sessions/confirm-a-pending-agent-action) - [Mint a single-use ticket (purpose watch)](/ja/api-reference/extensions/desktop-sessions/mint-a-single-use-ticket-purpose-watch): D-7 unified ticket endpoint. `purpose` defaults to and must be `watch`; the response is a `ticket` object. `watch_tickets` is the deprecated alias that answers `desktop_watch_ticket`. - [Mint a single-use viewer ticket (deprecated alias of tickets)](/ja/api-reference/extensions/desktop-sessions/mint-a-single-use-viewer-ticket-deprecated-alias-of-tickets) - [List the terminal sessions of a machine](/ja/api-reference/extensions/terminal-sessions/list-the-terminal-sessions-of-a-machine) - [Open a terminal session (body machine_id)](/ja/api-reference/extensions/terminal-sessions/open-a-terminal-session-body-machine_id) - [Retrieve a terminal session](/ja/api-reference/extensions/terminal-sessions/retrieve-a-terminal-session) - [Close a terminal session](/ja/api-reference/extensions/terminal-sessions/close-a-terminal-session): Returns the session. - [Mint a single-use ticket (purpose connect)](/ja/api-reference/extensions/terminal-sessions/mint-a-single-use-ticket-purpose-connect): D-7 unified ticket endpoint. `purpose` defaults to and must be `connect`; the response is a `ticket` object. `connection_tickets` is the deprecated alias that answers `terminal_connection_ticket`. - [Mint a single-use connection ticket (deprecated alias of tickets)](/ja/api-reference/extensions/terminal-sessions/mint-a-single-use-connection-ticket-deprecated-alias-of-tickets) - [List vaults](/ja/api-reference/extensions/vaults/list-vaults): Vaults of the project selected with `x-bma-project-id`, or of every project the key sees. `limit` is 1-100 (default 20). - [Create a vault](/ja/api-reference/extensions/vaults/create-a-vault): Creates a new vault in the selected project (or the default project); it never returns an existing one. - [Retrieve a vault](/ja/api-reference/extensions/vaults/retrieve-a-vault) - [Update a vault](/ja/api-reference/extensions/vaults/update-a-vault) - [Delete a vault](/ja/api-reference/extensions/vaults/delete-a-vault): Deletes the vault and every credential in it. - [Archive a vault](/ja/api-reference/extensions/vaults/archive-a-vault) - [List credentials](/ja/api-reference/extensions/vaults/list-credentials) - [Create a credential](/ja/api-reference/extensions/vaults/create-a-credential): `static_bearer` and `environment_variable` store a generic secret, `mcp_oauth` an oauth_token_set. `injection_location` defaults to header only. `expires_at` and refresh settings are stored as given. - [Retrieve a credential](/ja/api-reference/extensions/vaults/retrieve-a-credential) - [Update or rotate a credential](/ja/api-reference/extensions/vaults/update-or-rotate-a-credential): A new secret value is a new secret version; `auth.type` must match and `mcp_server_url` and `secret_name` are immutable. Changing an `mcp_oauth` credential rewrites its whole token set (see McpOAuthUpdate). - [Delete a credential](/ja/api-reference/extensions/vaults/delete-a-credential) - [Archive a credential](/ja/api-reference/extensions/vaults/archive-a-credential) - [List skills](/ja/api-reference/extensions/skills/list-skills) - [Create a skill](/ja/api-reference/extensions/skills/create-a-skill): Uploading a name that exists for the owner is the next revision of that skill. - [Retrieve a skill](/ja/api-reference/extensions/skills/retrieve-a-skill) - [Delete a skill](/ja/api-reference/extensions/skills/delete-a-skill) - [List files uploaded into the session (BMA extension)](/ja/api-reference/extensions/list-files-uploaded-into-the-session-bma-extension) - [Upload one file into the session (BMA extension)](/ja/api-reference/extensions/upload-one-file-into-the-session-bma-extension): Stores one multipart file (at most 8 MiB, non-empty, bare filename) in the session's read_write memory store under the session's own directory. Create-only: an existing filename is a 409 `file_already_exists`. A session without a read_write memory store is a 409 `session_files_unavailable`. - [Download one session file (BMA extension)](/ja/api-reference/extensions/download-one-session-file-bma-extension): Streams one file's bytes. `file_id` is the `id` returned by the upload or list operations. The response carries `Content-Type`, `Content-Length` and `Content-Disposition` when known, and `X-BMA-File-Digest` with the sha256 of the bytes. A file of another session, or an unknown id, is a 404 `not_found_error`. - [List the session's mounted file resources (BMA extension)](/ja/api-reference/extensions/list-the-sessions-mounted-file-resources-bma-extension) - [Mount one project file into the session (BMA extension)](/ja/api-reference/extensions/mount-one-project-file-into-the-session-bma-extension): Mounts an uploaded project file by reference. The Anthropic contract mounts files through `resources` on `POST /v1/sessions`; this extension mounts into an existing session. The file is read-only at `mount_path` (default `/mnt/session/uploads/`), and the response `file_id` is the session instance created for the mount, not the project file's own id. - [Unmount one file resource from the session (BMA extension)](/ja/api-reference/extensions/unmount-one-file-resource-from-the-session-bma-extension): Removes the mount and releases the session instance. The project file itself is kept; other sessions that mounted it keep their instances. - [セルフホスト](/ja/self-hosting/overview): 現時点で BMA を自分で運用するために必要なものと、その制限事項を説明します。 - [変更履歴](/ja/changelog): ホスト版環境と SDK の変更点です。 - [ロードマップ](/ja/roadmap): 予定している作業です。ここに載っているものはまだ利用できず、日程も確約していません。 - [소개](/ko/index): 어떤 브레인이든, 어떤 핸드든 자유롭게 조합하세요. computer use, 원격 데스크톱, 터미널, 교체 가능한 스케줄러를 갖추고, 모든 단계를 영구 이벤트 로그에 기록합니다. - [빠른 시작](/ko/quickstart): curl, Python, TypeScript로 agent를 만들고, session을 시작하고, 응답을 스트리밍으로 받고, 후속 메시지를 보내기까지 약 5분이면 됩니다. - [Agents](/ko/concepts/agents): agent는 재사용 가능한 정의입니다: 모델, 지시문, 도구, MCP 서버, 스킬, 머신 소스. - [Environments](/ko/concepts/environments): environment는 session의 머신을 어디서 가져올지 기술합니다. BMA에서는 머신 풀입니다. - [세션과 이벤트](/ko/concepts/sessions-and-events): session은 하나의 영구적인 대화입니다. 그 안에서 일어나는 모든 일은 조회·스트리밍·재개할 수 있는 이벤트입니다. - [머신과 풀](/ko/concepts/machines): 머신은 핸드입니다. 필요할 때 시작하고, 유휴 상태면 일시 중지하며, session을 잃지 않고 재구성하거나 복원합니다. - [Sandbox providers](/ko/concepts/sandbox-providers): 머신 풀은 하나의 샌드박스 프로바이더에서 머신을 만듭니다. BMA가 받아들이는 프로바이더 id, 검증된 범위, 내 계정을 연결하는 방법. - [파일과 출력](/ko/concepts/files-and-outputs): 파일을 한 번 업로드해 session에 마운트하고, 에이전트가 쓴 결과물을 가져옵니다. - [메모리 저장소](/ko/concepts/memory): 에이전트가 session이 끝난 뒤에도 보관하거나 다른 에이전트와 공유하는 영구 파일입니다. - [Skills](/ko/concepts/skills): 에이전트가 필요할 때만 불러오는 재사용 가능한 지침과 파일입니다. - [MCP 서버](/ko/concepts/mcp): Model Context Protocol 서버를 연결합니다. 자격 증명은 BMA 시크릿에 그대로 보관됩니다. - [승인과 질문](/ko/concepts/interactions): 인터랙션은 사람이 도구 호출을 승인하거나 질문에 답할 때까지 에이전트를 일시 중지합니다. - [데스크톱과 computer use](/ko/concepts/desktop): VNC 비밀번호나 인바운드 포트를 노출하지 않고 머신의 데스크톱을 보고, 제어권을 넘겨받고, 터미널을 연결합니다. - [컨텍스트 압축](/ko/concepts/context-compaction): BMA가 긴 작업을 모델의 컨텍스트 윈도우 안에 유지하는 방법과, 그래도 넘칠 때 보게 되는 내용을 설명합니다. - [Executor Protocol](/ko/executor/overview): 브레인이 핸드를 움직이는 방식: 역할, 연결, 배포 형태, 기능 지원 현황. - [Agent capability](/ko/executor/agent-capability): Executor Protocol로 연결한 자체 에이전트 루프에서 BMA 에이전트의 session을 실행합니다. - [로컬 브레인](/ko/executor/local-brain): npm 명령 하나로 내 컴퓨터에서 DeepSeek Harness 브레인을 실행하고 BMA executor로 구동합니다. - [브레인 로드맵](/ko/executor/brains-roadmap): 현재: BMA 서버 측 harness와 agent 기능을 통한 외부 브레인. 다음: 범용 ACP 브레인. - [SDK 개요](/ko/sdks/overview): 어떤 SDK를 쓸지: agent 실행에는 Anthropic 공식 SDK, 자신의 핸드나 브레인을 연결하려면 bma-executor-sdk. - [Anthropic SDKs](/ko/sdks/bma-sdk): base_url만 설정하면 Anthropic 공식 SDK로 BMA를 호출할 수 있고, 같은 클라이언트로 BMA 확장(머신, 터미널·데스크톱 session, 티켓, vault, skill)도 호출할 수 있습니다. - [bma-executor-sdk](/ko/sdks/bma-executor-sdk): 내 머신(핸드)이나 직접 만든 에이전트(브레인)를 BMA에 연결합니다. bma.executor 프로토콜의 executor / harness / agent 세 엔드입니다. - [Executor 클라이언트](/ko/sdks/bma-executor-sdk/executor): bma-executor-sdk Executor 클라이언트: SDK 소스와 executor 계약에서 생성한 TypeScript·Python·Go 선언. - [도구](/ko/sdks/bma-executor-sdk/tools): bma-executor-sdk 도구: SDK 소스와 executor 계약에서 생성한 TypeScript·Python·Go 선언. - [프로세스·터미널·머신](/ko/sdks/bma-executor-sdk/capabilities): bma-executor-sdk 프로세스·터미널·머신: SDK 소스와 executor 계약에서 생성한 TypeScript·Python·Go 선언. - [실행 코어(Go)](/ko/sdks/bma-executor-sdk/core): bma-executor-sdk 실행 코어(Go): SDK 소스와 executor 계약에서 생성한 TypeScript·Python·Go 선언. - [Harness](/ko/sdks/bma-executor-sdk/harness): bma-executor-sdk Harness: SDK 소스와 executor 계약에서 생성한 TypeScript·Python·Go 선언. - [에이전트](/ko/sdks/bma-executor-sdk/agent): bma-executor-sdk 에이전트: SDK 소스와 executor 계약에서 생성한 TypeScript·Python·Go 선언. - [프로토콜 메서드](/ko/sdks/bma-executor-sdk/protocol): bma-executor-sdk 프로토콜 메서드: SDK 소스와 executor 계약에서 생성한 TypeScript·Python·Go 선언. - [오류](/ko/sdks/bma-executor-sdk/errors): bma-executor-sdk 오류: SDK 소스와 executor 계약에서 생성한 TypeScript·Python·Go 선언. - [API reference](/ko/api-reference/introduction): /v1 Managed Agents API와 BMA 확장: base URL, 헤더, 오류, 페이지네이션. - [Anthropic SDK](/ko/compatibility): 공식 Anthropic SDK로 BMA의 /v1 라우트를 호출하는 방법, 이 라우트가 지원하는 필드와 엔드포인트, 다르게 동작하는 부분, BMA가 추가하는 기능을 정리합니다. - [List the projects the key can see](/ko/api-reference/extensions/projects/list-the-projects-the-key-can-see) - [Create a project](/ko/api-reference/extensions/projects/create-a-project) - [List the projects the key can see (deprecated alias)](/ko/api-reference/extensions/projects/list-the-projects-the-key-can-see-deprecated-alias) - [Create a project (deprecated alias of /organizations/{organization_id}/projects)](/ko/api-reference/extensions/projects/create-a-project-deprecated-alias-of-organizations-projects) - [List machine pools](/ko/api-reference/extensions/machine-pools/list-machine-pools) - [Create a machine pool](/ko/api-reference/extensions/machine-pools/create-a-machine-pool) - [Check provider connectivity before creating a pool](/ko/api-reference/extensions/machine-pools/check-provider-connectivity-before-creating-a-pool) - [Retrieve a machine pool](/ko/api-reference/extensions/machine-pools/retrieve-a-machine-pool) - [Update a machine pool](/ko/api-reference/extensions/machine-pools/update-a-machine-pool) - [Delete a machine pool](/ko/api-reference/extensions/machine-pools/delete-a-machine-pool) - [List the pool grants of a project](/ko/api-reference/extensions/machine-pools/list-the-pool-grants-of-a-project): The project is the `project_id` query parameter or `x-bma-project-id`. - [Grant a project the use of a pool](/ko/api-reference/extensions/machine-pools/grant-a-project-the-use-of-a-pool): The body may carry `project_id`; otherwise the project header selects it. `machine_pool_id` comes from the path. - [Retrieve a pool grant](/ko/api-reference/extensions/machine-pools/retrieve-a-pool-grant) - [Update a pool grant](/ko/api-reference/extensions/machine-pools/update-a-pool-grant) - [Delete a pool grant](/ko/api-reference/extensions/machine-pools/delete-a-pool-grant) - [List machines](/ko/api-reference/extensions/machines/list-machines): `agent_id` lists that agent's machines (project scope). - [Create a machine](/ko/api-reference/extensions/machines/create-a-machine): `agent_id` + `persistent: true` creates an agent persistent machine (createAgentPersistentMachine); `source: byo` connects a BYO machine (connectBYOMachine) and returns the one-time `token`; otherwise createMachine. - [Retrieve a machine](/ko/api-reference/extensions/machines/retrieve-a-machine): Adds `capabilities` (getMachineCapabilities), null when the project cannot use the machine. - [Update a machine](/ko/api-reference/extensions/machines/update-a-machine) - [Delete a machine](/ko/api-reference/extensions/machines/delete-a-machine): With `agent_id` it deletes that agent's persistent machine (deleteAgentMachine). - [Resume a paused machine](/ko/api-reference/extensions/machines/resume-a-paused-machine) - [Machine interaction capabilities](/ko/api-reference/extensions/machines/machine-interaction-capabilities) - [Create a desktop session](/ko/api-reference/extensions/desktop-sessions/create-a-desktop-session) - [Retrieve a desktop session (control state in `control`)](/ko/api-reference/extensions/desktop-sessions/retrieve-a-desktop-session-control-state-in-`control`) - [Close a desktop session](/ko/api-reference/extensions/desktop-sessions/close-a-desktop-session) - [Take input control](/ko/api-reference/extensions/desktop-sessions/take-input-control) - [Renew the control lease](/ko/api-reference/extensions/desktop-sessions/renew-the-control-lease) - [Release control](/ko/api-reference/extensions/desktop-sessions/release-control) - [Hand control back to the agent](/ko/api-reference/extensions/desktop-sessions/hand-control-back-to-the-agent) - [Send input actions](/ko/api-reference/extensions/desktop-sessions/send-input-actions) - [Capture a screenshot](/ko/api-reference/extensions/desktop-sessions/capture-a-screenshot) - [Resume the desktop agent](/ko/api-reference/extensions/desktop-sessions/resume-the-desktop-agent) - [Confirm a pending agent action](/ko/api-reference/extensions/desktop-sessions/confirm-a-pending-agent-action) - [Mint a single-use ticket (purpose watch)](/ko/api-reference/extensions/desktop-sessions/mint-a-single-use-ticket-purpose-watch): D-7 unified ticket endpoint. `purpose` defaults to and must be `watch`; the response is a `ticket` object. `watch_tickets` is the deprecated alias that answers `desktop_watch_ticket`. - [Mint a single-use viewer ticket (deprecated alias of tickets)](/ko/api-reference/extensions/desktop-sessions/mint-a-single-use-viewer-ticket-deprecated-alias-of-tickets) - [List the terminal sessions of a machine](/ko/api-reference/extensions/terminal-sessions/list-the-terminal-sessions-of-a-machine) - [Open a terminal session (body machine_id)](/ko/api-reference/extensions/terminal-sessions/open-a-terminal-session-body-machine_id) - [Retrieve a terminal session](/ko/api-reference/extensions/terminal-sessions/retrieve-a-terminal-session) - [Close a terminal session](/ko/api-reference/extensions/terminal-sessions/close-a-terminal-session): Returns the session. - [Mint a single-use ticket (purpose connect)](/ko/api-reference/extensions/terminal-sessions/mint-a-single-use-ticket-purpose-connect): D-7 unified ticket endpoint. `purpose` defaults to and must be `connect`; the response is a `ticket` object. `connection_tickets` is the deprecated alias that answers `terminal_connection_ticket`. - [Mint a single-use connection ticket (deprecated alias of tickets)](/ko/api-reference/extensions/terminal-sessions/mint-a-single-use-connection-ticket-deprecated-alias-of-tickets) - [List vaults](/ko/api-reference/extensions/vaults/list-vaults): Vaults of the project selected with `x-bma-project-id`, or of every project the key sees. `limit` is 1-100 (default 20). - [Create a vault](/ko/api-reference/extensions/vaults/create-a-vault): Creates a new vault in the selected project (or the default project); it never returns an existing one. - [Retrieve a vault](/ko/api-reference/extensions/vaults/retrieve-a-vault) - [Update a vault](/ko/api-reference/extensions/vaults/update-a-vault) - [Delete a vault](/ko/api-reference/extensions/vaults/delete-a-vault): Deletes the vault and every credential in it. - [Archive a vault](/ko/api-reference/extensions/vaults/archive-a-vault) - [List credentials](/ko/api-reference/extensions/vaults/list-credentials) - [Create a credential](/ko/api-reference/extensions/vaults/create-a-credential): `static_bearer` and `environment_variable` store a generic secret, `mcp_oauth` an oauth_token_set. `injection_location` defaults to header only. `expires_at` and refresh settings are stored as given. - [Retrieve a credential](/ko/api-reference/extensions/vaults/retrieve-a-credential) - [Update or rotate a credential](/ko/api-reference/extensions/vaults/update-or-rotate-a-credential): A new secret value is a new secret version; `auth.type` must match and `mcp_server_url` and `secret_name` are immutable. Changing an `mcp_oauth` credential rewrites its whole token set (see McpOAuthUpdate). - [Delete a credential](/ko/api-reference/extensions/vaults/delete-a-credential) - [Archive a credential](/ko/api-reference/extensions/vaults/archive-a-credential) - [List skills](/ko/api-reference/extensions/skills/list-skills) - [Create a skill](/ko/api-reference/extensions/skills/create-a-skill): Uploading a name that exists for the owner is the next revision of that skill. - [Retrieve a skill](/ko/api-reference/extensions/skills/retrieve-a-skill) - [Delete a skill](/ko/api-reference/extensions/skills/delete-a-skill) - [List files uploaded into the session (BMA extension)](/ko/api-reference/extensions/list-files-uploaded-into-the-session-bma-extension) - [Upload one file into the session (BMA extension)](/ko/api-reference/extensions/upload-one-file-into-the-session-bma-extension): Stores one multipart file (at most 8 MiB, non-empty, bare filename) in the session's read_write memory store under the session's own directory. Create-only: an existing filename is a 409 `file_already_exists`. A session without a read_write memory store is a 409 `session_files_unavailable`. - [Download one session file (BMA extension)](/ko/api-reference/extensions/download-one-session-file-bma-extension): Streams one file's bytes. `file_id` is the `id` returned by the upload or list operations. The response carries `Content-Type`, `Content-Length` and `Content-Disposition` when known, and `X-BMA-File-Digest` with the sha256 of the bytes. A file of another session, or an unknown id, is a 404 `not_found_error`. - [List the session's mounted file resources (BMA extension)](/ko/api-reference/extensions/list-the-sessions-mounted-file-resources-bma-extension) - [Mount one project file into the session (BMA extension)](/ko/api-reference/extensions/mount-one-project-file-into-the-session-bma-extension): Mounts an uploaded project file by reference. The Anthropic contract mounts files through `resources` on `POST /v1/sessions`; this extension mounts into an existing session. The file is read-only at `mount_path` (default `/mnt/session/uploads/`), and the response `file_id` is the session instance created for the mount, not the project file's own id. - [Unmount one file resource from the session (BMA extension)](/ko/api-reference/extensions/unmount-one-file-resource-from-the-session-bma-extension): Removes the mount and releases the session instance. The project file itself is kept; other sessions that mounted it keep their instances. - [셀프 호스팅](/ko/self-hosting/overview): 현재 BMA를 직접 운영하는 데 필요한 것과 현재의 제한 사항을 설명합니다. - [변경 내역](/ko/changelog): 호스팅 배포와 SDK에서 바뀐 내용입니다. - [로드맵](/ko/roadmap): 계획된 작업입니다. 여기 있는 항목은 아직 사용할 수 없으며, 확정된 일정도 없습니다.