# dsh-anywhere ·「执行世界」补丁(E2B 同款)。把一个 dsh 实例的执行世界整体搬到远程机器:
# 禁本地 fs/subprocess provider、插 dsh-anywhere/world(一个插件同时注册 ctx.fs + ctx.subprocess,
# 共享一条 ControlMaster 连接)、sandbox 放行、cwd/workspaceRoot 统一(一世界不变式)。
# 挂上后 agent 的 read/write/edit + bash/grep/终端/LSP 自动落远程。
#
# 与 fleet 的关系(缺一不可的旗舰场景):
#   1) 先用 fleet(装 dsh-anywhere 即常驻)把 NAT 后的异地机器拉进网 → 它成为一条 fleet-* 主机;
#   2) 再用本补丁把该机器升格为整会话工作区(sshArgs 走 -o ProxyJump=<relay> 经中继够到它)。
# 目标机器本就可达(公网云主机/局域网)时,直接填直连的 sshArgs,不需要 fleet。
#
# 用法:
#   1) 装插件:dsh plugin --profile <你的profile> add dsh-anywhere
#   2) 从"远程 cwd 对应的本地占位目录"启动,并放行审批:
#      DSH_PERMISSION_MODE=danger-full-access \
#        dsh --profile <你的profile> --patch ./workspace-on-machine.patch.yml "任务"
#      (会话 cwd 须与下面的 cwd / workspaceRoot 同指一个远程目录)
#
# 已验证:agent 的 read/write/edit + bash + grep 全部落在远程机器(真机端到端)。

- id: fs-sandbox
  disabled: true
- id: subprocess
  disabled: true
- id: sandbox-policy
  config:
    mode: danger-full-access
    workspaceRoot: /remote/workspace      # = 下面的 cwd
- insert:
    - id: ssh-world
      name: dsh-anywhere/world
      config:
        login: 'user@fleet-machine'
        sshArgs:
          - '-i'
          - '~/.ssh/id_rsa'
          - '-o'
          - 'IdentitiesOnly=yes'
          - '-o'
          - 'BatchMode=yes'
          - '-o'
          - 'ProxyJump=ubuntu@YOUR_RELAY'  # 经中继够到 fleet 入网机器;直连机器则删这两行
        cwd: '/remote/workspace'
