Skip to content

sealofyou/modelscope-deploy

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

No releases published

Packages

 
 
 

Contributors