Add compact stack status dashboard script.
Made-with: Cursor
This commit is contained in:
@@ -117,3 +117,11 @@ cd ~/openclaude-LLM-local/docs/rag-mcp-starter
|
||||
chmod +x healthcheck.sh
|
||||
./healthcheck.sh --mode full
|
||||
```
|
||||
|
||||
## 12) Быстрый статус в одном экране
|
||||
|
||||
```bash
|
||||
cd ~/openclaude-LLM-local/docs/rag-mcp-starter
|
||||
chmod +x status.sh
|
||||
./status.sh
|
||||
```
|
||||
|
||||
@@ -67,6 +67,21 @@ chmod +x healthcheck.sh
|
||||
./healthcheck.sh --mode full
|
||||
```
|
||||
|
||||
## Status dashboard
|
||||
|
||||
Компактный статус одним запуском:
|
||||
|
||||
```bash
|
||||
chmod +x status.sh
|
||||
./status.sh
|
||||
```
|
||||
|
||||
С кастомной моделью:
|
||||
|
||||
```bash
|
||||
./status.sh --model qwen2.5:3b
|
||||
```
|
||||
|
||||
## Переменные окружения
|
||||
|
||||
- `QDRANT_URL` (default `http://127.0.0.1:6333`)
|
||||
|
||||
Executable
+99
@@ -0,0 +1,99 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Compact status dashboard for local OpenClaude stack.
|
||||
#
|
||||
# Usage:
|
||||
# ./status.sh
|
||||
# ./status.sh --model qwen2.5:3b
|
||||
# QDRANT_COLLECTION=mydocs ./status.sh
|
||||
|
||||
MODEL="${MODEL:-qwen2.5-coder:7b}"
|
||||
QDRANT_URL="${QDRANT_URL:-http://127.0.0.1:6333}"
|
||||
QDRANT_COLLECTION="${QDRANT_COLLECTION:-docs}"
|
||||
WORKDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
ok() { printf "✅ %s\n" "$1"; }
|
||||
bad() { printf "❌ %s\n" "$1"; }
|
||||
info() { printf "• %s\n" "$1"; }
|
||||
|
||||
echo "=== OpenClaude Local Stack Status ==="
|
||||
echo "time: $(date '+%Y-%m-%d %H:%M:%S')"
|
||||
echo
|
||||
|
||||
# OpenClaude
|
||||
if command -v openclaude >/dev/null 2>&1; then
|
||||
oc_path="$(command -v openclaude)"
|
||||
ok "openclaude found ($oc_path)"
|
||||
else
|
||||
bad "openclaude not found"
|
||||
fi
|
||||
|
||||
# Ollama process/API
|
||||
if command -v ollama >/dev/null 2>&1; then
|
||||
ok "ollama CLI found"
|
||||
else
|
||||
bad "ollama CLI not found"
|
||||
fi
|
||||
|
||||
if curl -fsS "http://127.0.0.1:11434/api/tags" >/dev/null 2>&1; then
|
||||
ok "ollama API reachable (127.0.0.1:11434)"
|
||||
else
|
||||
bad "ollama API unavailable"
|
||||
fi
|
||||
|
||||
# Model check
|
||||
if command -v ollama >/dev/null 2>&1 && ollama list | awk '{print $1}' | rg "^${MODEL}$" >/dev/null 2>&1; then
|
||||
ok "model present: $MODEL"
|
||||
else
|
||||
bad "model not found locally: $MODEL"
|
||||
info "pull with: ollama pull $MODEL"
|
||||
fi
|
||||
|
||||
# Qdrant API / collection stats
|
||||
if curl -fsS "${QDRANT_URL}/collections" >/dev/null 2>&1; then
|
||||
ok "qdrant reachable (${QDRANT_URL})"
|
||||
if stats="$(curl -fsS "${QDRANT_URL}/collections/${QDRANT_COLLECTION}")"; then
|
||||
ok "collection exists: ${QDRANT_COLLECTION}"
|
||||
vectors="$(printf "%s" "$stats" | rg -o '"vectors_count"\s*:\s*[0-9]+' | rg -o '[0-9]+' | head -n 1 || true)"
|
||||
points="$(printf "%s" "$stats" | rg -o '"points_count"\s*:\s*[0-9]+' | rg -o '[0-9]+' | head -n 1 || true)"
|
||||
[[ -n "${vectors:-}" ]] && info "vectors_count: $vectors"
|
||||
[[ -n "${points:-}" ]] && info "points_count: $points"
|
||||
else
|
||||
bad "collection missing: ${QDRANT_COLLECTION}"
|
||||
info "index docs with: python index.py"
|
||||
fi
|
||||
else
|
||||
bad "qdrant API unavailable (${QDRANT_URL})"
|
||||
fi
|
||||
|
||||
# Python venv/deps
|
||||
if [[ -x "${WORKDIR}/.venv/bin/python" ]]; then
|
||||
ok "python venv found (${WORKDIR}/.venv)"
|
||||
if "${WORKDIR}/.venv/bin/python" -c "import fastmcp, qdrant_client, requests" >/dev/null 2>&1; then
|
||||
ok "python deps installed"
|
||||
else
|
||||
bad "python deps missing in venv"
|
||||
fi
|
||||
else
|
||||
bad "python venv not found"
|
||||
fi
|
||||
|
||||
# Disk usage
|
||||
echo
|
||||
echo "=== Disk Snapshot ==="
|
||||
df -h "$WORKDIR" | sed -n '1,2p'
|
||||
if [[ -d /var/lib/docker ]]; then
|
||||
info "docker dir: $(du -sh /var/lib/docker 2>/dev/null | awk '{print $1}' || echo n/a)"
|
||||
fi
|
||||
if [[ -d /usr/share/ollama || -d /var/lib/ollama ]]; then
|
||||
info "ollama storage: check with sudo du -h --max-depth=2 /usr/share/ollama /var/lib/ollama 2>/dev/null | sort -h | tail -n 20"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "=== Quick Commands ==="
|
||||
echo "local run:"
|
||||
echo " export CLAUDE_CODE_USE_OPENAI=1"
|
||||
echo " export OPENAI_BASE_URL=http://127.0.0.1:11434/v1"
|
||||
echo " export OPENAI_MODEL=$MODEL"
|
||||
echo " openclaude"
|
||||
Reference in New Issue
Block a user