Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ModelScope Studio Deploy Skill

这是一个用于将项目部署到 ModelScope Studio (魔搭创空间)Claude Code Skill。

功能特性

  • 帮助生成 ms_deploy.json 配置文件
  • 支持 Static、Gradio、Streamlit、Docker 等多种部署类型
  • 提供部署问题排查指南
  • 支持 Git push 和文件上传两种部署方式
  • 支持 Playwright 自动填表、自动提交、部署日志监控与已知错误自动修复
  • 支持部署后健康检查:自动提取最新日志 + 前端上传冒烟验证
  • 支持接入 Google 官方 Chrome DevTools MCP 执行浏览器自动化

安装方法

1. 找到你的 Claude Code Skills 目录

操作系统 Skills 目录位置
Windows C:\Users\<你的用户名>\.claude\skills
macOS / Linux ~/.claude/skills

2. 安装 Skill

# 克隆此仓库到你的 Skills 目录
git clone https://github.com/sealofyou/modelscope-deploy.git ~/.claude/skills/modelscope-deploy

# 或者手动下载后,将 modelscope-deploy 文件夹复制到 Skills 目录

3. 重启 Claude Code

重启 Claude Code 后,输入 /modelscope 即可使用此 Skill。

使用方法

基本用法

在 Claude Code 中:

/modelscope 帮我部署这个项目到魔搭创空间

支持的部署类型

类型 说明 适用场景
static 静态网站 HTML/CSS/JS 项目
gradio Gradio 应用 Python ML/AI 应用
streamlit Streamlit 应用 Python 数据应用
docker Docker 容器 复杂应用部署

示例

# 部署静态网站
/modelscope 这是一个 React 静态网站,帮我配置部署

# 部署 Gradio 应用
/modelscope 这是一个 Gradio 图像分类应用,需要配置 GPU

# 切换到 Git push 部署
/modelscope 从文件上传切换到 Git push 部署方式

重要提示

环境变量配置

sdk_typedocker 时,ms_deploy.json 中的 environment_variables 字段不会生效

只有以下类型支持在 JSON 中配置环境变量:

  • gradio
  • streamlit
  • static

解决方案

  1. 方案一(推荐): 部署后在魔搭界面上手动设置环境变量
  2. 方案二: 在 Dockerfile 中使用 ENV 指令(注意密钥安全)

部署问题排查

如果遇到 Git 历史冲突(本地与远程分叉),可以使用以下方法:

# 正确做法:reset + copy + push
git checkout master
git reset --hard origin/master
git checkout dev -- .    # 或从其他分支复制文件
git add -A
git commit -m "描述"
git push origin master    # fast-forward,不需要 force

更多问题排查方法请参考 references/git-troubleshooting.md

Playwright 自动提交(可选)

仓库已提供自动提交流程脚本:

  • 脚本:scripts/modelscope-auto-submit.mjs
  • 登录助手:scripts/open-modelscope-login.mjs
  • 说明:references/playwright-auto-submit.md

这个脚本支持自动填写 ModelScope 创建空间表单、上传目录,并可选点击最终提交按钮(--auto-submit)。

新增能力:

  • --monitor-deploy:提交后自动抓取部署日志
  • --auto-fix:命中已知问题后自动修复本地文件(例如 Docker entrypoint、corepack registry)
  • --browser-channel:默认 chrome,优先复用本机浏览器,避免下载 Playwright Chromium 卡住
  • --run-timeout-ms / --prompt-timeout-ms:限制脚本总时长与交互等待时长,避免无上限阻塞

示例:

node scripts/modelscope-auto-submit.mjs \
  --project-path ../mind-ai \
  --english-name mind-ai \
  --chinese-name "小当家" \
  --description "AI 小当家示例应用" \
  --browser-channel chrome \
  --visibility private \
  --auto-submit \
  --monitor-deploy \
  --auto-fix

部署后健康检查(推荐)

仓库提供一键健康检查脚本:

  • 脚本:scripts/modelscope-studio-healthcheck.mjs
  • 作用:提取“查看日志”中的最新 N 条日志;可选执行前端图片 + bbox 上传冒烟

只看最新日志(默认 10 条):

node scripts/modelscope-studio-healthcheck.mjs \
  --studio-url "https://modelscope.cn/studios/<user>/<studio>"

日志 + 前端冒烟一起测:

node scripts/modelscope-studio-healthcheck.mjs \
  --studio-url "https://modelscope.cn/studios/<user>/<studio>" \
  --check-frontend \
  --browser-channel chrome \
  --latest-log-count 10 \
  --output-json output/healthcheck/result.json

前端冒烟默认断言:

  • 图像输入可上传
  • bbox JSON 可解析(默认 [{\"label\":\"cat\",\"bbox\":[0,0,1,1]}]
  • 图例出现 cat
  • mainCanvas 可见
  • 无错误提示

更多说明见:references/post-deploy-validation.md

Google Chrome DevTools MCP(可选)

如果你希望使用 Google 官方 MCP 作为浏览器自动化通道,请参考:

许可证

MIT License


Made with ❤️ for Claude Code users

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages