用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/genlayerlabs/genlayer-studio --skill hosted-studio-debug命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | hosted-studio-debug |
| description | Debug GenLayer Studio deployments via ArgoCD CLI |
Debug GenLayer Studio deployments via ArgoCD CLI.
Kubernetes manifests are in sibling repo ../devexp-apps-workload (assume by default, ask user if not found):
devexp-apps-workload/workload/
├── dev/ # studio-dev, rally-studio-dev
├── stg/ # studio-stg
├── prd/ # studio-prd, rally-studio-prd
Each contains Deployments, Services, Ingresses, ExternalSecrets managed by ArgoCD.
To get complete visibility into Studio status, check all components across all replicas:
# 1. Overall app health
argocd app get <app>-workload
# 2. List all pods and their status
argocd app resources <app>-workload --kind Pod
# 3. Check consensus worker logs (all 4 replicas in prd)
argocd app logs <app>-workload --name studio-consensus-worker --tail 500 2>&1 | grep -iE "(error|exception|timeout|failed)"
# 4. Check JSON-RPC logs (all 2 replicas in prd)
argocd app logs <app>-workload --name studio-jsonrpc --tail 500 2>&1 | grep -iE "(error|exception|timeout|failed)"
# 5. Check webdriver logs
argocd app logs <app>-workload --name studio-webdriver --tail 200 2>&1 | grep -iE "(error|exception|crash)"
# Check app health
argocd app get <app>-workload
# List all resources (pods, deployments, services, etc.)
argocd app resources <app>-workload
# List all pods with their status
argocd app resources <app>-workload --kind Pod
# Tail consensus worker logs (aggregates from ALL replicas)
argocd app logs <app>-workload --name studio-consensus-worker --tail 200
# Tail JSON-RPC logs (aggregates from ALL replicas)
argocd app logs <app>-workload --name studio-jsonrpc --tail 200
# Check for errors across all replicas
argocd app logs <app>-workload --name studio-consensus-worker --tail 500 2>&1 | grep -i error
argocd app logs <app>-workload --name studio-jsonrpc --tail 500 2>&1 | grep -i error
Important: The argocd app logs --name <container> command automatically aggregates logs from ALL pod replicas. This ensures full visibility across the entire deployment.
# Get logs from all consensus worker replicas (production has 4)
argocd app logs <app>-workload --name studio-consensus-worker --tail 500
# Get logs from all JSON-RPC replicas (production has 2)
argocd app logs <app>-workload --name studio-jsonrpc --tail 500
# Get logs from a specific pod (if needed for isolation)
argocd app logs <app>-workload --pod <pod-name> --tail 200
# List pods first to get pod names
argocd app resources <app>-workload --kind Pod
Consensus worker timeouts usually mean GenVM Manager is unresponsive. Check all 4 workers in production:
# Check for GenVM timeouts across all consensus worker replicas
argocd app logs <app>-workload --name studio-consensus-worker --tail 500 2>&1 | grep -E "(timeout|SocketTimeoutError|127.0.0.1:3999)"
# Empty stdout = GenVM never started
argocd app logs <app>-workload --name studio-consensus-worker --tail 500 2>&1 | grep "stdout=''"
Root cause: GenVM Manager (genvm-modules manager --port 3999) becomes unresponsive.
Fix: Worker restart (auto or manual) restarts GenVM Manager.
Key files:
backend/node/genvm/origin/base_host.py:463 - where timeouts occurbackend/node/base.py - Manager.create() spawns GenVMbackend/consensus/worker_service.py - worker startup/health# Check restart timestamps in logs
argocd app logs <app>-workload --name studio-consensus-worker --tail 500 2>&1 | grep -E "(Started|Uvicorn running)"
# Via kubectl
kubectl get pods -n <namespace> -o wide
kubectl get events -n <namespace> --sort-by='.lastTimestamp'
Contracts calling external APIs (Twitter, etc.) through proxies:
# Check for HTTP errors in contract execution
argocd app logs <app>-workload --name studio-consensus-worker --tail 500 2>&1 | grep -E "(HTTP|fetch|proxy|api)"
| Env | App | Namespace |
|---|---|---|
| dev | studio-dev-workload | studio-dev |
| stg | studio-stg-workload | studio-stg |
| prd | studio-prd-workload | studio-prd |
| rally-prd | rally-studio-prd-workload | rally-studio-prd |
| Component | Purpose | Prd Replicas | Common Issues |
|---|---|---|---|
| studio-consensus-worker | Tx processing | 4 | Timeouts, GenVM crashes |
| studio-jsonrpc | RPC API | 2 | DB connections |
| studio-webdriver | Browser sandbox | 1 | Memory, crashes |
| database-migration | Schema updates | 1 (job) | Lock contention |
Note: When debugging, always check logs from ALL replicas to get complete visibility. The argocd app logs --name <container> command handles this automatically.