Apply a Workbench clone
apply_cloneInstall the Workbench profile on a target: clone the profile repo and install missing components (repo, OpenCode CLI, Node/pnpm, npm/vendored/research MCPs, skills, plugins, optional Docker), writing a rendered opencode.json and an empty, names-only ~/.env.workbench (mode 600). Idempotent — present components are skipped. Consent-gated: without confirm:true it returns the plan and changes nothing. Use it for a component subset or per-component control on an already-provisioned host; for a first-time provision use bootstrap_host, and do not call both for the same host and change.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | No | Report only; make no changes. | |
| target | Yes | The machine to operate on: this host (local) or a remote host over SSH (ssh). | |
| confirm | No | Set true to actually install. When absent, the call returns a plan and makes no changes. | |
| skipRepo | No | Do not clone/update the profile repo on the target. | |
| workspace | No | Target directory for the profile repo. | |
| components | No | Component ids to include; defaults to required+core. | |
| profileUrl | No | Override profile git URL. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| plan | No | Presented when confirmation is required. | |
| model | Yes | Default model selected for the target (DeepSeek when its key is present, else the OpenCode Zen free floor). | |
| dryRun | Yes | True when the run made no changes. | |
| target | Yes | Label of the target. | |
| envPath | Yes | Path of the written ~/.env.workbench template. | |
| envVars | Yes | Environment variable names listed in the env template. | |
| skipped | Yes | Component ids skipped (already present or manual). | |
| degraded | Yes | Capabilities disabled because required credentials are absent; fill the named env vars to enable them. | |
| installed | Yes | Components installed, with exit codes and output. | |
| workspace | Yes | Directory where the profile repo was cloned. | |
| configPath | Yes | Path of the written opencode.json. | |
| providerMode | Yes | Which provider the model resolves to. | |
| requiresConfirmation | No | True when the call returned a plan without applying; re-call with confirm:true to install. |