在DSW中使用Claude Code

更新时间:
复制 MD 格式

Claude Code 是命令行 AI 编程助手,可以帮您写代码、调 Bug、重构项目。在 DSW 中可以快速完成 Claude Code 安装,连接 PAI-Token 服务提供的大模型后即可使用。

快速开始

步骤一:安装 Claude Code

打开 DSW Terminal,运行以下命令:

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

脚本会引导您完成安装和配置:

  1. 安装 Node.js 和 Claude Code。

  2. 选择模型服务并配置连接。推荐PAI-Token 服务,详见步骤二

  3. 持久化配置到 /mnt/workspace或用户指定的其他挂载路径,实例重启后免重装。

步骤二:配置模型服务

Claude Code 是客户端工具,需要连接大模型才能工作。推荐使用 PAI-Token 服务,其具有以下优势:

  • 零部署:开通即用,不需要自行部署 vLLM 服务。

  • 模型丰富:覆盖 Qwen最新大模型、DeepSeek、GLM 等主流模型,可一键切换。

  • 网络友好:从 DSW 内网调用稳定低延迟。

  • 统一计费:与 PAI 资源同账单管理,对企业客户更友好。

如需使用百炼或EAS的模型服务请参见附录:使用其他模型服务

开通 PAI-Token 服务

  1. 访问 PAI-Token 服务控制台

  2. 如果未开通,单击一键开通

  3. 回到安装脚本,在菜单中选择PAI-Token 服务。脚本会自动获取 Token 并完成配置。

PAI-Token服务按Token计费,详细说明请参见PAI Token服务计费说明

说明

如果 DSW 实例已配置 PAI 默认角色(ALIBABA_CLOUD_CREDENTIALS_URI 可用),脚本会自动获取 Token,无需手动复制粘贴。

选择模型

脚本会自动拉取可用模型列表供您选择:

场景

推荐模型

说明

通用编程 / 重构

qwen3.7-max

旗舰大模型,综合能力最强(默认推荐)

代码专项

qwen3-coder-plus

代码生成专项调优,长上下文友好

复杂推理 / 大型重构

deepseek-v4-pro

推理与规划能力突出,适合架构级任务

上一代旗舰

qwen3-max

Qwen3 系列旗舰,稳定可靠

多模态分析

qwen3-vl-plus

支持图片理解(截图、图表、UI 设计稿)

极致响应速度

deepseek-v4-flash

轻量快速,适合简单 QA / 改名 / 注释生成

性价比日常

qwen3.6-plus / qwen3.5-plus

日常对话和小改动足够

GLM 系列

glm-5.2 / glm-5.1 / glm-5

智谱 GLM 系列模型,可按偏好选用

可用模型列表会不断更新,请以脚本运行时显示的列表为准。

想更换模型时,编辑 ~/.claude/settings.json 中的 ANTHROPIC_MODEL 字段,或重跑 bash setup-cc-dsw.sh --reconfigure

步骤三:开始使用

进入项目目录,输入 claude 启动,用自然语言描述您想做的事。

示例:将 Notebook 重构为训练脚本

cd /mnt/workspace/my-project
claude

启动后输入任务描述,例如:

我有一个 Notebook:notebooks/train_lora.ipynb,需要重构为 src/train.py,支持 --config 参数、多卡训练(兼容 DLC torchrun)、定期保存 checkpoint。先读取 Notebook 理解现有逻辑,再开始重构。

Claude Code 会读取 Notebook、理解逻辑、生成脚本,您可以直接在 Terminal 中验证结果。

更多场景

  • GPU 调试:把 CUDA OOM 报错贴给 Claude Code,它会给出 batch_size、gradient_accumulation_steps 等调整建议。

  • 数据处理:描述输入格式、输出格式和过滤规则,Claude Code 生成脚本并测试。

  • DLC 分布式训练:单卡调通后,让 Claude Code 生成 DLC 任务配置和提交脚本。

  • EAS 推理服务:在 DSW 里开发和调试 EAS 推理服务,无需反复部署到线上。

用 CLAUDE.md 告诉 Claude Code 项目上下文

Claude Code 能自动读取代码,但有些信息它无法从代码中获取,比如 GPU 型号、数据目录、训练命令。把这些写进 CLAUDE.md 文件,Claude Code 启动时会自动读取。

setup-cc-dsw.sh 会一键生成全局和项目级两份 CLAUDE.md,您也可以在 Claude Code 内用 /init 命令补充项目结构。

CLAUDE.md 放在哪里

路径

作用域

写什么

~/.claude/CLAUDE.md

全局

DSW 共性规则:路径约定、禁止写系统盘、敏感操作必须确认等

<项目根>/CLAUDE.md

项目

项目结构、GPU/Python 版本、训练/推理命令、依赖版本

<子目录>/CLAUDE.md

局部

仅在该子模块下生效的规则

写什么内容

只写 Claude Code 无法从代码中推断的信息:

  • 运行环境:GPU 型号和数量、Python/CUDA 版本、conda 环境名。

  • 关键路径:代码、数据、模型输出的绝对路径。

  • 常用命令:单卡调试、多卡训练、推理启动的命令。

  • 禁忌:不能做的事,如"不要写到 /home"、"不要直接 commit 到 main"。

说明

如果 Claude Code 反复犯同一个错误,在对话中用 # 开头输入一条规则,Claude Code 会自动写入 CLAUDE.md。

使用技巧

  • 在项目目录启动:Claude Code 以启动目录为项目根目录,在 /mnt/workspace/your-project 下启动才能正确感知项目文件。

  • /compact 释放上下文:长对话后 Claude Code 可能变慢。切换任务时输入 /compact,清理历史对话释放空间。

  • 先 git init:建议在使用 Claude Code 前初始化 Git 仓库,方便随时回滚修改。

数据持久化说明

DSW 实例的默认工作目录是 /mnt/workspace。数据是否在实例停止后保留,取决于存储配置:

  • 云盘:公共资源组停机超 15 天数据清空;专有资源组删除实例后数据清空。

  • NAS / CPFS 挂载(推荐):数据独立于实例生命周期,删除实例后仍保留。

说明

建议创建实例时将 NAS 或 CPFS 挂载到 /mnt/workspace,这样工作目录天然持久化,多个实例也能共享代码和数据。

安装脚本会将 Claude Code 的配置文件软链接到 /mnt/workspace/.claude-persist/,并将临时文件重定向到 /mnt/workspace/.claude-tmp,避免占满系统盘 /tmp 空间。

常见问题

Q:安装脚本网络超时怎么办?

确认 VPC 已开通公网 NAT 网关。脚本会自动切换 npm 镜像重试;仍失败则检查实例的出网白名单。

Q:claude 命令报 401 或 403?

Token 无效或与 Base URL 不匹配。重跑 bash setup-cc-dsw.sh --reconfigure。也可用 curl 验证:

curl -H "Authorization: Bearer YOUR_TOKEN" https://aiservice.cn-beijing.aliyuncs.com/anthropic

Q:实例重启后 claude 命令找不到?

如果您使用专有资源创建的DSW实例,且没有挂载NAS / CPFS,实例停止后系统盘将被清空,因此在重启实例后需要重新安装claude。

Q:PAI-Token 服务的 Base URL 为什么是 cn-beijing?

PAI-Token 服务的 Anthropic 兼容入口统一部署在 cn-beijing,与 DSW 实例所在地域无关。其他地域的 DSW 通过公网调用,延迟略高但不影响使用。

附录:使用其他模型服务

除 PAI-Token 服务外,也可以接入百炼或 EAS 自行部署的服务。您可以编辑 ~/.claude/settings.json ,或重跑 bash setup-cc-dsw.sh --reconfigure进行变更。

百炼按量计费

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-YOUR_KEY",
    "ANTHROPIC_BASE_URL": "https://dashscope.aliyuncs.com/apps/anthropic",
    "ANTHROPIC_MODEL": "qwen3-coder-plus",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3-coder-plus",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3-coder-plus",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3-coder-plus"
  }
}

百炼支持多个地域端点:

地域

Base URL

华北2(北京)

https://dashscope.aliyuncs.com/apps/anthropic

新加坡

https://dashscope-intl.aliyuncs.com/apps/anthropic

美国(弗吉尼亚)

https://dashscope-us.aliyuncs.com/apps/anthropic

重要

API Key 必须与地域对应,不可跨地域使用。

百炼 Coding Plan

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-YOUR_CODING_PLAN_KEY",
    "ANTHROPIC_BASE_URL": "https://coding.dashscope.aliyuncs.com/apps/anthropic",
    "ANTHROPIC_MODEL": "qwen3.6-plus",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.6-plus",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.6-plus",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3.6-plus"
  }
}

百炼 Token Plan 团队版

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-YOUR_TOKEN_PLAN_KEY",
    "ANTHROPIC_BASE_URL": "https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic",
    "ANTHROPIC_MODEL": "qwen3.6-plus",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.6-plus",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.6-plus",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3.6-plus"
  }
}

EAS 自部署模型

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "YOUR_EAS_TOKEN",
    "ANTHROPIC_BASE_URL": "https://YOUR_ENDPOINT.pai-eas.aliyuncs.com",
    "ANTHROPIC_MODEL": "qwen3-coder",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3-coder",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3-coder",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3-coder"
  }
}
重要

EAS 服务需使用 Anthropic 兼容入口启动:python3 -m vllm.entrypoints.anthropic.api_server --enable-auto-tool-choice --tool-call-parser hermes。详见Claude Code中使用PAI模型

相关文档