在DSW中部署OpenClaw

更新时间:
复制为 MD 格式

OpenClaw 是一款 AI 智能体框架,支持直接操控操作系统、持久记忆、定时主动推送,并可通过 Web UI、钉钉等多种方式交互,内置丰富的 Skills 生态。PAI-DSW为您提供了自动化安装脚本,您可以快速完成 OpenClaw 的安装部署,并灵活选择百炼或 PAI-EAS 服务作为大模型服务提供商。

概述

为什么选择 PAI-DSW

在 DSW 上部署 OpenClaw,可以将AI算力与 OpenClaw 的智能体能力深度结合,具有以下优势:

  • 随开随用,免运维

  • 弹性算力,按需扩展

  • 与阿里云生态无缝打通

  • 安全访问,避免服务裸奔

  • 让 OpenClaw 真正"住"在算力旁边

OpenClaw与您的算力资源、训练任务、文件存储运行在同一环境中,可以直接读写文件、监控 GPU 状态、执行脚本,实现真正的「智能化云端开发」能力。

OpenClaw 访问方式

部署 OpenClaw 后,您可以选择以下方式与之交互:

  1. 通过DSW Gateway直接打开Web UI(推荐):无需任何额外配置,脚本运行完成后会自动输出一个可点击的访问链接,使用阿里云账号登录后即可直接在浏览器中打开 Web UI。

  2. 通过钉钉访问(可选):在企业钉钉中创建机器人,随时随地通过钉钉聊天使用 OpenClaw。

  3. 通过本地 SSH 隧道访问 Web UI(可选):建立 SSH 隧道后,在本地浏览器上访问 OpenClaw 的 Web 界面。

访问方式对比:

访问方式

DSW Gateway(推荐)

钉钉访问

本地 SSH 隧道

配置难度

无需配置

简单

中等

访问便利性

点击链接即开

随时随地

需要保持隧道

团队协作

单人使用

支持多人

单人使用

移动端支持

浏览器访问

原生支持

不便

消息历史

Web UI 保存

钉钉保存

Web UI 保存

适用场景

快速体验、开发调试

日常办公、团队协作

特殊网络环境

建议

  • 新手用户:优先使用 DSW Gateway,开箱即用,零配置。

  • 团队使用:配置钉钉访问,支持多人共享、移动端随时访问。

  • 开发者:DSW Gateway 日常使用,有特殊需求时启用 SSH 隧道。

三种方式可以同时使用,您可以根据实际需求选择配置。

快速入门

本节为您介绍如何快速在DSW中部署OpenClaw,并使用DSW Gateway访问Web UI。

步骤一:创建和配置DSW实例

  1. 登录PAI控制台,左上角选择开通地域,然后单击一键开通。开通服务后,系统会自动创建默认工作空间。

  2. 在左侧导航栏单击工作空间列表,进入待操作工作空间内。

  3. 在左侧导航栏选择模型开发与训练 > 交互式建模(DSW) > 新建实例

  4. 配置如下关键参数:

    • 实例名称:如:openclaw-test。

    • 资源类型:选择公共资源

    • 资源规格:推荐ecs.g9i.xlarge(4 vCPU,16 GiB),也可按需选择GPU机型。

    • 镜像配置:部署OpenClaw对镜像没有限制,可按需选择,如没有偏好推荐选择官方镜像modelscope:1.34.0-pytorch2.3.1tensorflow2.16.1-gpu-py311-cu121-ubuntu22.04,该镜像已预装 Python、Git 等基础环境。

  5. 单击确定创建实例,等待实例变为运行中

步骤二:一键部署OpenClaw

  1. DSW实例列表页右侧单击打开,进入DSW环境。

  2. 单击Terminal打开终端,并执行如下命令下载并请动自动化安装脚本。

    curl -fsSL https://pai-dsw-ai-machine.oss-cn-beijing.aliyuncs.com/agent/openclaw/openclaw_installer_dsw.sh -o openclaw_installer_dsw.sh && bash openclaw_installer_dsw.sh

    进入安装流程:

    image

  3. 选择推荐的2026.3.8安装版本。

    image

  4. 选择跳过渠道配置。

    image

  5. 选择模型提供商。您可选择百炼的大模型或者EAS部署的大模型服务。image

    百炼模型服务

    1. 配置百炼Base URL。默认使用的百炼Coding PlanURL,普通百炼账号请输入:https://dashscope.aliyuncs.com/compatible-mode/v1

      image

    2. 配置百炼API KEY。 复制百炼API Key并粘贴。

    3. 按需选择AI模型。

    4. 配置GateWay端口,默认即可。

    EAS模型服务

    1. 通过Model Gallery一键部署大语言模型(例如 Qwen3.5-397B-A17B),详细操作步骤可参考快速开始:Qwen3系列模型部署、微调、评测

    2. 服务部署完成后,进入服务详情页获取公网调用地址Token。

      image.png

      然后在脚本中依次配置:

      ◆ 配置 EAS 服务
      
        提示:请从 PAI-EAS 控制台获取基础访问地址和 Token
        基础地址示例:http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test
        注意:只需输入基础地址(不含 /v1),脚本会自动添加
      
      ◆ EAS 基础访问地址: http://16xxxxxxxx.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test
      ◆ EAS Token(可见输入): your-eas-token-here
    3. 工具调用配置。脚本会询问是否禁用工具调用:

      ◆ 工具调用配置
        提示:如果 EAS 服务未启用 --enable-auto-tool-choice 参数
             会导致 400 错误,此时需要禁用工具调用
      
      ◆ 是否禁用工具调用?
        [1] ○ 否 - 启用工具调用(推荐,需 EAS 服务端支持)
        [2] ○ 是 - 禁用工具调用(适用于服务端未配置的情况)

      建议:

      • 如果 EAS 服务端已配置工具调用支持,选择「否」。

      • 如果不确定或遇到 400 错误,选择「是」。

  6. 完成配置。

步骤三:通过DSW Gateway访问Web UI

脚本运行完成Gateway 成功启动后,终端会自动输出访问信息:

image

点击访问地址链接,DSW 会自动通过内置的 Gateway 代理将请求转发,浏览器将直接打开 OpenClaw 的 Web UI。

说明:链接中的 127.0.0.1 是 DSW 实例内部的本地地址,DSW 的 Gateway 代理机制会将其安全地暴露给已登录的阿里云用户,无需手动配置端口映射。

在 Web UI 右上角查看服务状态:

  • Health: OK,表示服务正常。

  • Gateway: Connected,表示Gateway 连接正常。

然后即可通过下方对话框与OpenClaw进行对话。

image

OpenClawDSW上的应用场景实践可参考应用场景实践

通过钉钉访问OpenClaw(可选)

步骤一:创建钉钉应用

您可以直接参考钉钉开发者平台官方文档

  1. 创建钉钉企业内部应用。登录钉钉开发者后台,选择应用开发 > 钉钉应用 > 创建应用

    image

    填写应用信息:

    • 应用名称:如:OpenClaw助手

    • 应用描述:AI智能办公助手

    • 应用Logo:上传应用图标

  2. 配置机器人能力。进入应用详情页,单击应用能力 > 添加应用能力,选择机器人。配置机器人信息并发布。

    • 机器人名称:如:OpenClaw助手

    • 机器人简介:AI 智能助手,帮你处理日常办公任务

    • 消息接收模式:Stream模式。注意:消息接收模式必须选择「Stream 模式」,否则无法正常接收消息。

  3. 权限开通。左侧导航栏单击权限管理,开通如下权限:(参考dingtalk-openclaw-connector

    • Card.Streaming.Write

    • Card.Instance.Write

    • qyapi_robot_sendmsg

    image.png

  4. 发布应用。进入版本管理与发布,单击创建新版本,填写版本信息,单击保存 > 确认发布。在钉钉客户端中搜索并添加机器人到群聊或单聊。

    image

  5. 获取应用凭证。在应用详情页左侧的凭证与基础信息中获取:

    • Client ID (AppKey):应用的唯一标识。

    • Client Secret (AppSecret):应用的密钥。

步骤二:配置OpenClaw通道

回到DSW实例Terminal中,执行如下命令,再次启动向导脚本,配置钉钉渠道。

bash openclaw_installer_dsw.sh

选择渠道插件

◆ 选择操作
  (↑↓ 导航 | 数字直选 | Enter 确认)
  [1] ○ 安装 OpenClaw (Installation)  - 完整安装流程
  [2] ○ 升级 OpenClaw (Upgrade)       - 升级到最新版本
  [3] ○ 更新配置 (Configuration)      - 重新配置 (覆盖现有配置)
  [4] ○ 模型配置 (Models)             - 仅更新模型配置 (保留其他配置)
  [5] ● 渠道插件 (Channels)           - 管理渠道插件 (保留其他配置)
  [6] ○ Gateway 管理 (Gateway)        - 启动/停止/重启
  [7] ○ 查看状态 (Status)             - 显示安装状态
  [8] ○ 诊断修复 (Repair)             - 诊断和修复问题
  [9] ○ 卸载程序 (Uninstallation)     - 卸载 OpenClaw
  [10] ○ 退出 (Exit)

进入渠道插件配置中,选择添加钉钉渠道

会自动安装钉钉插件,用户仅需提供刚才配置好的应用凭证,即可配置完成。

默认使用的钉钉插件为dingtalk-openclaw-connector

步骤三:测试钉钉机器人

  1. 在钉钉客户端中搜索您的机器人名称。

  2. 发送消息进行测试。

通过本地SSH隧道访问Web UI(可选)

步骤一:配置DSW SSH相关参数

DSW实例配置页配置专有网络VPC、SSH密钥、公网访问端口(以3000为例)、公网NAT网关以及弹性公网IP,详细操作请参见远程连接:SSH直连方式。网络原理如下图所示:

image.png

步骤二:启动 Gateway 服务

DSW中配置脚本执行完成后,Gateway已经启动,系统会自动生成一个 安全 Token(存储在 ~/.openclaw/openclaw.json 中)。如果后续需要查询gateway token,可通过下列命令调出openclaw.json文件进行查询:

cat ~/.openclaw/openclaw.json

步骤三:建立 SSH 隧道

在本地电脑 Terminal 中执行:

# 建立 SSH 隧道
ssh -N -L 18789:0.0.0.0:18789 -p 3000 root@<DSW的EIP地址>

参数说明

  • -N:不执行远程命令,仅建立隧道。

  • -L 18789:0.0.0.0:18789:将本地 18789 端口映射到远程 18789 端口。

  • -p 3000:SSH 连接端口(DSW 公网端口)。

  • root@<DSW公网IP>:DSW 实例的公网 IP 地址。

成功标志

  • 命令执行后没有报错

  • 终端保持连接状态,不会返回提示符

保持隧道运行

  • macOS/Linux:可以直接在终端窗口中保持运行,或使用 screen/tmux 管理。

  • Windows:使用 PowerShell 执行命令,或使用 SSH 客户端(如 PuTTY)配置隧道。

步骤四:访问Web UI

在本地浏览器中访问:

http://localhost:18789/?token=<你的GatewayToken>

应用场景实践

基础场景

场景1:日常问答和代码助手

请帮我在/mnt/workspace下创建一个使用kaggle公开数据实现房价预测的ipynb代码

场景2:智能文件搜索

请帮我找一下DSW实例中所有包含"报告"关键词的 Markdown 文件

场景3:关注消息订阅

每天早上9点,给我发送最新的AI行业新闻

image.png

训练场景

装备了 OpenClaw 的 DSW 在 GPU 训练场景下的核心价值:

  • 主动监控:不需要时刻盯着,OpenClaw 可以主动发现问题并通知。

  • 远程操作:不需要随时在电脑前,通过钉钉对话完成所有操作。

  • 智能记忆:自动整理实验记录,随时可查询历史数据。

场景1:任务状态查询

可以在钉钉 or Web页面随时询问

我刚执行的训练任务GPU利用率怎么样?

image.png

场景2:任务状态监控告警

  • 用户痛点:在 DSW 上跑长时间训练任务(如 LLM 微调),经常遇到半夜训练挂了但人不知道的情况。GPU 空转烧钱,第二天早上才发现白等了一晚上。

  • 解决思路:OpenClaw定时检查 GPU (or 需要的指标)状态,发现异常直接通过钉钉推送告警。可以通过命令行直接配置定时任务,也可以通过chat来下发指令。

openclaw cron add \
  --name "GPU训练监控" \
  --cron "*/15 * * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "请执行以下操作检查GPU训练状态:

1. 运行命令:python gpu_monitor.py
2. 如果返回 'HEARTBEAT_OK',说明一切正常,无需进一步操作
3. 如果返回异常报告,请:
   - 通过钉钉发送完整报告给我
   - 分析报告中提到的可能原因
   - 给出建议的解决方案

注意:只有检测到异常时才需要通知我。" \
  --announce

image

场景3:实验数据自动归档

  • 用户痛点:做算法实验最头疼的不是跑实验,而是整理实验记录。每次训练完,得手动记录超参数、结果指标、结论和改进方向。

  • 解决思路:用 OpenClaw 的记忆机制 + 定时任务,实现实验记录的自动化。

请每天晚上10点执行实验日志归档任务:
1. 运行归档脚本:
   python /gpu-training-tester/experiment_archiver.py
2. 如果返回 'HEARTBEAT_OK',说明今天没有新的实验,无需操作
3. 如果返回实验记录,请:
   - 将记录追加写入 /mnt/workspace/experiment_log.md
   - 记住这些实验结果(使用 memory 功能)
   - 发送一份摘要到钉钉
记住:后续我查询历史实验时,你要能从记忆中检索这些信息。

image.png

之后 /mnt/workspace/experiment_log.md 文件会被自动维护:

## 实验记录

### 2026-03-02

| 实验 | 模型 | 学习率 | Epochs | 最终Loss | Accuracy | 状态 | 耗时 |
|------|------|--------|--------|----------|----------|------|------|
| exp_20260302_143015 | qwen-7b | 2e-5 | 3 | 0.0234 | 92.1% | 完成 | 0:31:32 |
| exp_20260302_161522 | qwen-7b | 5e-5 | 3 | - | - | OOM | 0:04:23 |

### 2026-03-01

| 实验 | 模型 | 学习率 | Epochs | 最终Loss | Accuracy | 状态 | 耗时 |
|------|------|--------|--------|----------|----------|------|------|
| exp_20260301_091523 | qwen-7b | 1e-5 | 5 | 0.0312 | 91.8% | 完成 | 2h28m |
| exp_20260301_141035 | qwen-14b | 1e-5 | 5 | - | - | OOM | 12m |

用户可以在 JupyterLab 中直接打开文件查看,也可以随时询问 OpenClaw 来获取任务对比、实验数据的情况。

附录

A. OpenClaw配置文件

如果希望在jupyter或者webide的目录树中方便的看到OpenClaw配置目录,可以在 DSW Terminal 中创建软链接:

# 将 OpenClaw 配置目录链接到工作目录下
ln -s ~/.openclaw /mnt/workspace/openclaw_config

B. 查询 Gateway Token

如需查询当前 Gateway Token,可运行:

cat ~/.openclaw/openclaw.json