Team Ai
Apppublic

sin601/claude-code

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
commands.sh177 linesDownload Raw Back to scripts
1#!/bin/bash2# 辅助命令脚本3 4CONFIG_DIR="${CONFIG_DIR:-/config}"5WORK_DIR="${WORK_DIR:-/workspace}"6 7# 状态查看命令8status() {9    echo "========================================"10    echo "  Claude Code HF Space Status"11    echo "========================================"12    echo ""13    14    # 环境信息15    echo "📁 Directories:"16    echo "   Work: ${WORK_DIR}"17    echo "   Config: ${CONFIG_DIR}"18    echo ""19    20    # Git 状态21    echo "📦 Git Sync:"22    if [ -n "${GIT_REPO_URL}" ]; then23        echo "   Repository: ${GIT_REPO_URL}"24        echo "   Branch: ${GIT_BRANCH:-main}"25        echo "   Interval: ${GIT_SYNC_INTERVAL:-300}s"26        27        cd "${WORK_DIR}"28        if [ -d ".git" ]; then29            LOCAL=$(git rev-parse HEAD 2>/dev/null || echo "N/A")30            REMOTE=$(git rev-parse "origin/${GIT_BRANCH:-main}" 2>/dev/null || echo "N/A")31            if [ "$LOCAL" = "$REMOTE" ]; then32                echo "   Status: ✅ Synced"33            else34                echo "   Status: ⚠️ Pending changes"35            fi36        else37            echo "   Status: ❌ Not initialized"38        fi39    else40        echo "   Status: ⚠️ Not configured"41    fi42    echo ""43    44    # API 状态45    echo "🔑 API Configuration:"46    if [ -n "${API_KEY}" ]; then47        KEY_PREVIEW="${API_KEY:0:10}..."48        KEY_COUNT=$(echo "${API_KEY}" | tr ',' '\n' | grep -c . || echo "1")49        echo "   API Key: ✅ Configured (${KEY_PREVIEW})"50        echo "   Keys: ${KEY_COUNT}"51    elif [ -n "${ANTHROPIC_API_KEY}" ]; then52        KEY_PREVIEW="${ANTHROPIC_API_KEY:0:10}..."53        KEY_COUNT=$(echo "${ANTHROPIC_API_KEY}" | tr ',' '\n' | grep -c . || echo "1")54        echo "   API Key: ✅ Configured (${KEY_PREVIEW})"55        echo "   Keys: ${KEY_COUNT}"56    else57        echo "   API Key: ❌ Not configured"58    fi59    60    if [ -n "${API_BASE_URL}" ]; then61        echo "   Base URL: ${API_BASE_URL}"62    fi63    echo ""64    65    # 代理状态66    echo "🔄 CLIProxyAPI:"67    if [ "${ENABLE_PROXY}" = "true" ]; then68        if pgrep -f "cliproxyapi" > /dev/null; then69            echo "   Status: ✅ Running"70            echo "   Port: ${PROXY_PORT:-8080}"71        else72            echo "   Status: ❌ Not running"73        fi74    else75        echo "   Status: ⚠️ Disabled"76    fi77    echo ""78    79    # 磁盘使用80    echo "💾 Disk Usage:"81    df -h "${WORK_DIR}" 2>/dev/null | tail -1 | awk '{print "   Used: "$3" / "$2" ("$5")"}'82    echo ""83    84    # Claude Code 版本85    echo "🤖 Claude Code:"86    if command -v claude &> /dev/null; then87        claude --version 2>/dev/null || echo "   Version: Installed"88    else89        echo "   Status: ❌ Not found"90    fi91    echo ""92}93 94# 快速同步命令95git-sync() {96    case "${1:-}" in97        push)98            echo "Pushing changes to remote..."99            /app/scripts/git-sync.sh push100            ;;101        pull)102            echo "Pulling changes from remote..."103            /app/scripts/git-sync.sh pull104            ;;105        status)106            /app/scripts/git-sync.sh status107            ;;108        init)109            echo "Initializing Git sync..."110            /app/scripts/git-sync.sh init111            ;;112        *)113            echo "Usage: git-sync {push|pull|status|init}"114            echo ""115            echo "Commands:"116            echo "  push   - Push local changes to remote"117            echo "  pull   - Pull changes from remote"118            echo "  status - Show sync status"119            echo "  init   - Initialize Git repository"120            ;;121    esac122}123 124# 配置编辑命令125config-edit() {126    if [ -z "${EDITOR}" ]; then127        EDITOR="nano"128    fi129    ${EDITOR} "${CONFIG_DIR}/config.env"130    echo "Configuration saved. Restart services to apply changes."131}132 133# 导出备份134export-backup() {135    BACKUP_NAME="workspace-backup-$(date +%Y%m%d-%H%M%S).tar.gz"136    echo "Creating backup: ${BACKUP_NAME}"137    138    cd "${WORK_DIR}"139    tar -czvf "/tmp/${BACKUP_NAME}" \140        --exclude='.git' \141        --exclude='node_modules' \142        --exclude='__pycache__' \143        --exclude='*.pyc' \144        --exclude='.cache' \145        .146    147    echo "Backup created: /tmp/${BACKUP_NAME}"148    echo "Size: $(du -h /tmp/${BACKUP_NAME} | cut -f1)"149}150 151# 帮助信息152help() {153    echo ""154    echo "  ╔════════════════════════════════════════════════════════════╗"155    echo "  ║          Claude Code HF Space - Available Commands         ║"156    echo "  ╠════════════════════════════════════════════════════════════╣"157    echo "  ║  claude        Start Claude Code                           ║"158    echo "  ║  status        Show system status                          ║"159    echo "  ║  config-edit   Edit configuration file                     ║"160    echo "  ║  git-sync      Git sync operations                         ║"161    echo "  ║  export-backup Create a backup archive                     ║"162    echo "  ║  help          Show this help message                      ║"163    echo "  ╚════════════════════════════════════════════════════════════╝"164    echo ""165}166 167# 如果直接运行此脚本,显示帮助168if [ "${BASH_SOURCE[0]}" = "${0}" ]; then169    case "${1:-}" in170        status) status ;;171        config-edit) config-edit ;;172        git-sync) git-sync "$2" ;;173        export-backup) export-backup ;;174        help|*) help ;;175    esac176fi177