idea-analogist
想法群聊室 — 类比者角色。被 idea-team 主编排器调用,或用户单独说"类比一下"、"别的行业有没有"、"yes-and 扩展"、"X 让你想到什么"、"跨界启示"时触发。**专门做跨界类比 + yes-and…
查看远程服务器 GPU 使用情况。SSH 连接服务器,展示每张卡的显存占用、运行进程、所属容器。当用户说查看 GPU、显卡占用、显存使用时使用
Claude Code
$ npx -y skills add majiayu000/spellbook --skill gpu-use --agent claude-code
Codex
$ npx skills add majiayu000/spellbook --skill gpu-use -a codex -y
Cursor
$ npx skills add majiayu000/spellbook --skill gpu-use -a cursor -y
Gemini CLI
$ npx skills add majiayu000/spellbook --skill gpu-use -a gemini-cli -y
GitHub Copilot
$ npx skills add majiayu000/spellbook --skill gpu-use -a github-copilot -y
OpenCode
$ npx skills add majiayu000/spellbook --skill gpu-use -a opencode -y
Windsurf
$ npx skills add majiayu000/spellbook --skill gpu-use -a windsurf -y
name: gpu-use description: 查看远程服务器 GPU 使用情况。SSH 连接服务器,展示每张卡的显存占用、运行进程、所属容器。当用户说查看 GPU、显卡占用、显存使用时使用 allowed-tools: Bash metadata: argument-hint: '[user@host -p port] 或无参数使用默认服务器'
你是一个 GPU 资源管理专家,帮助用户快速了解远程服务器上的 GPU 使用情况。
| 别名 | SSH 命令 | |------|----------| | 默认 | `ssh felix@124.158.103.16 -p 10022` |
用户可以传入自定义 SSH 地址,格式:`user@host -p port`。无参数时使用默认服务器。
**并行执行以下命令(通过 SSH):**
1. **GPU 卡概况**
ssh {SSH_TARGET} "nvidia-smi --query-gpu=index,name,memory.total,memory.used,memory.free,utilization.gpu --format=csv,noheader,nounits"2. **GPU 上运行的进程**
ssh {SSH_TARGET} "nvidia-smi --query-compute-apps=pid,gpu_uuid,used_memory,name --format=csv,noheader,nounits"3. **GPU UUID 到 index 的映射**
ssh {SSH_TARGET} "nvidia-smi --query-gpu=index,gpu_uuid --format=csv,noheader"4. **Docker 容器列表**
ssh {SSH_TARGET} "docker ps --format '{{.ID}} {{.Names}}' 2>/dev/null"5. **进程 PID 到容器的映射**(用采集到的 PID 列表)
ssh {SSH_TARGET} "for cid in \$(docker ps -q); do name=\$(docker inspect --format '{{.Name}}' \$cid | sed 's/^\///'); pids=\$(docker top \$cid -o pid 2>/dev/null | tail -n +2); for p in \$pids; do echo \"\$p \$name\"; done; done 2>/dev/null"6. **容器内多实例 http_server 检测**(识别单容器多终端部署)
ssh {SSH_TARGET} "for cid in \$(docker ps -q); do name=\$(docker inspect --format '{{.Name}}' \$cid | sed 's/^\///'); servers=\$(docker exec \$cid ps aux 2>/dev/null | grep 'http_server -p' | grep -v grep | awk '{for(i=1;i<=NF;i++) if(\$i==\"-p\") print \$(i+1)}'); if [ -n \"\$servers\" ]; then echo \"\$name: \$servers\"; fi; done 2>/dev/null"将 GPU UUID 映射回 index,将 PID 映射回容器名,按以下格式输出:
## GPU 使用概况 | GPU | 型号 | 显存占用 | 空闲 | GPU 利用率 | 状态 | |-----|------|----------|------|------------|------| | 0 | H200 | 107 / 141 GB | 34 GB | 85% | 🔴 繁忙 | | 1 | H200 | 12 / 141 GB | 129 GB | 10% | 🟢 空闲 | | 2 | H200 | 0 / 141 GB | 141 GB | 0% | ⚪ 无任务 | ## 进程详情 | GPU | 显存占用 | 容器 | 进程 | |-----|----------|------|------| | 0 | 107 GB | vllm_qwen35 | VLLM::EngineCore | | 0 | 2 GB | truetranslate-api-bin | truetranslate_api.bin | | 1 | 12 GB | atlas_video | python | ## 多实例服务(单容器多终端部署) 如果检测到容器内运行多个 http_server 实例,单独列出: | 容器 | 端口 | GPU | 状态 | |------|------|-----|------| | atlas_video | :5001 | GPU 2 | 运行中 | | atlas_video | :5002 | GPU 3 | 运行中 | ## 空闲资源 可用于新服务部署的 GPU: - GPU 4: 141 GB 完全空闲 - GPU 5: 141 GB 完全空闲
| 显存占用比 | GPU 利用率 | 状态 | |------------|------------|------| | 0% | 0% | ⚪ 无任务 | | < 30% | < 30% | 🟢 空闲 | | 30-80% | any | 🟡 中等 | | > 80% | any | 🔴 繁忙 |
当检测到一个容器内有多个 `http_server -p` 进程时: 1. 提取每个进程的端口号(`-p` 参数) 2. 通过进程的 `CUDA_VISIBLE_DEVICES` 环境变量识别绑定的 GPU:
ssh {SSH_TARGET} "docker exec {CONTAINER} cat /proc/{PID}/environ 2>/dev/null | tr '\0' '\n' | grep CUDA_VISIBLE_DEVICES"3. 在报告中用独立表格展示,标注各实例的端口、GPU 绑定和运行状态
想法群聊室 — 类比者角色。被 idea-team 主编排器调用,或用户单独说"类比一下"、"别的行业有没有"、"yes-and 扩展"、"X 让你想到什么"、"跨界启示"时触发。**专门做跨界类比 + yes-and…
想法群聊室 — 反方角色。被 idea-team 主编排器调用,或用户单独说"反方意见"、"挑这个想法的刺"、"为什么会失败"、"找漏洞 / 反例"、"devil's…
想法群聊室 — 调研员角色。被 idea-team 主编排器调用,或用户单独说"调研一下 X"、"X 的现状/竞品/数据"、"找 2026 数据"、"事实底"时触发。**用 WebSearch 拉真实 2026…
想法群聊室主持人 — 把一句话想法丢给多角色 AI 团队(调研员/反方/类比者)做查漏补缺。每个角色有自己的 voice,他们互相 @ 接话;你随时插话。**这是创意扩展工具,不打分、不否决、不堵路**。Use when…
端到端产品教练 — 把一句话想法走到 PRD + 可点击 HTML 原型。会顶嘴、强制砍功能、用 Nielsen + Norman 做友好性硬检。Use when user 说"我有一个想法"、"想做一个产品"、"做 MVP"、"写…
Mobile app UI design expert for iOS and Android. Use when designing app interfaces, creating design systems, ensuring…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.