@smilintux/skcapstone 0.4.6 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/publish.yml +8 -1
- package/docs/CUSTOM_AGENT.md +184 -0
- package/docs/GETTING_STARTED.md +3 -0
- package/launchd/com.skcapstone.daemon.plist +52 -0
- package/launchd/com.skcapstone.memory-compress.plist +45 -0
- package/launchd/com.skcapstone.skcomm-heartbeat.plist +33 -0
- package/launchd/com.skcapstone.skcomm-queue-drain.plist +34 -0
- package/launchd/install-launchd.sh +156 -0
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/scripts/archive-sessions.sh +88 -0
- package/scripts/install.sh +39 -8
- package/scripts/notion-api.py +259 -0
- package/scripts/nvidia-proxy.mjs +856 -0
- package/scripts/proxy-monitor.sh +89 -0
- package/scripts/skgateway.mjs +856 -0
- package/scripts/telegram-catchup-all.sh +136 -0
- package/src/skcapstone/__init__.py +1 -1
- package/src/skcapstone/blueprints/builtins/itil-operations.yaml +40 -0
- package/src/skcapstone/cli/__init__.py +2 -0
- package/src/skcapstone/cli/daemon.py +116 -41
- package/src/skcapstone/cli/itil.py +434 -0
- package/src/skcapstone/consciousness_config.py +27 -0
- package/src/skcapstone/coordination.py +1 -0
- package/src/skcapstone/daemon.py +19 -11
- package/src/skcapstone/dreaming.py +761 -0
- package/src/skcapstone/fuse_mount.py +21 -13
- package/src/skcapstone/heartbeat.py +33 -29
- package/src/skcapstone/itil.py +1104 -0
- package/src/skcapstone/launchd.py +426 -0
- package/src/skcapstone/mcp_server.py +258 -0
- package/src/skcapstone/mcp_tools/__init__.py +2 -0
- package/src/skcapstone/mcp_tools/gtd_tools.py +1 -1
- package/src/skcapstone/mcp_tools/itil_tools.py +657 -0
- package/src/skcapstone/onboard.py +130 -10
- package/src/skcapstone/scheduled_tasks.py +107 -0
- package/src/skcapstone/service_health.py +81 -2
- package/src/skcapstone/systemd.py +17 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# proxy-monitor.sh — Quick health check for nvidia-proxy tuning
|
|
3
|
+
# Usage: ./proxy-monitor.sh [minutes] (default: last 30 minutes)
|
|
4
|
+
MINS=${1:-30}
|
|
5
|
+
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
6
|
+
SINCE=$(date -v-${MINS}M '+%Y-%m-%d %H:%M:%S')
|
|
7
|
+
else
|
|
8
|
+
SINCE=$(date -d "$MINS minutes ago" '+%Y-%m-%d %H:%M:%S')
|
|
9
|
+
fi
|
|
10
|
+
|
|
11
|
+
echo "=== NVIDIA Proxy Monitor (last ${MINS}m) ==="
|
|
12
|
+
echo ""
|
|
13
|
+
|
|
14
|
+
# Request count & model breakdown
|
|
15
|
+
echo "--- Requests by Model ---"
|
|
16
|
+
journalctl --user -u nvidia-proxy --no-pager --since "$SINCE" 2>/dev/null \
|
|
17
|
+
| grep -oP 'model=\K[^ ]+' | sort | uniq -c | sort -rn
|
|
18
|
+
echo ""
|
|
19
|
+
|
|
20
|
+
# Body size stats
|
|
21
|
+
echo "--- Body Sizes (bytes) ---"
|
|
22
|
+
SIZES=$(journalctl --user -u nvidia-proxy --no-pager --since "$SINCE" 2>/dev/null \
|
|
23
|
+
| grep -oP 'bodyLen=\K[0-9]+' | sort -n)
|
|
24
|
+
if [ -n "$SIZES" ]; then
|
|
25
|
+
COUNT=$(echo "$SIZES" | wc -l)
|
|
26
|
+
MIN=$(echo "$SIZES" | head -1)
|
|
27
|
+
MAX=$(echo "$SIZES" | tail -1)
|
|
28
|
+
AVG=$(echo "$SIZES" | awk '{s+=$1} END {printf "%.0f", s/NR}')
|
|
29
|
+
echo " count=$COUNT min=${MIN} avg=${AVG} max=${MAX} limit=120000"
|
|
30
|
+
if [ "$MAX" -gt 100000 ]; then
|
|
31
|
+
echo " ⚠️ Max approaching limit — consider bumping MAX_BODY_BYTES"
|
|
32
|
+
elif [ "$MAX" -lt 40000 ]; then
|
|
33
|
+
echo " ✅ Plenty of headroom — no conversation trimming needed"
|
|
34
|
+
else
|
|
35
|
+
echo " 👀 Moderate usage — monitor for growth"
|
|
36
|
+
fi
|
|
37
|
+
else
|
|
38
|
+
echo " (no requests)"
|
|
39
|
+
fi
|
|
40
|
+
echo ""
|
|
41
|
+
|
|
42
|
+
# Trimming events
|
|
43
|
+
echo "--- Trimming Events ---"
|
|
44
|
+
CONV_TRIM=$(journalctl --user -u nvidia-proxy --no-pager --since "$SINCE" 2>/dev/null \
|
|
45
|
+
| grep -c "trimmed history")
|
|
46
|
+
AGGRESSIVE=$(journalctl --user -u nvidia-proxy --no-pager --since "$SINCE" 2>/dev/null \
|
|
47
|
+
| grep -c "AGGRESSIVE")
|
|
48
|
+
SYS_TRIM=$(journalctl --user -u nvidia-proxy --no-pager --since "$SINCE" 2>/dev/null \
|
|
49
|
+
| grep -c "trimmed system prompt")
|
|
50
|
+
TOOL_LIMIT=$(journalctl --user -u nvidia-proxy --no-pager --since "$SINCE" 2>/dev/null \
|
|
51
|
+
| grep -c "TOOL LIMIT")
|
|
52
|
+
echo " conversation trims: $CONV_TRIM"
|
|
53
|
+
echo " aggressive trims: $AGGRESSIVE"
|
|
54
|
+
echo " system prompt trims: $SYS_TRIM"
|
|
55
|
+
echo " tool limit hits: $TOOL_LIMIT"
|
|
56
|
+
if [ "$AGGRESSIVE" -gt 0 ]; then
|
|
57
|
+
echo " ⚠️ Aggressive trims happening — bump MAX_BODY_BYTES or keepEnd"
|
|
58
|
+
elif [ "$CONV_TRIM" -gt 0 ]; then
|
|
59
|
+
echo " 👀 Some conversation trimming — watch if it increases"
|
|
60
|
+
else
|
|
61
|
+
echo " ✅ No conversation trimming — settings have headroom"
|
|
62
|
+
fi
|
|
63
|
+
echo ""
|
|
64
|
+
|
|
65
|
+
# Error/retry stats
|
|
66
|
+
echo "--- Errors & Retries ---"
|
|
67
|
+
RETRIES=$(journalctl --user -u nvidia-proxy --no-pager --since "$SINCE" 2>/dev/null \
|
|
68
|
+
| grep -c "attempt=[2-4]")
|
|
69
|
+
ERRORS=$(journalctl --user -u nvidia-proxy --no-pager --since "$SINCE" 2>/dev/null \
|
|
70
|
+
| grep -cE "4[0-9]{2}|5[0-9]{2}|error|Error")
|
|
71
|
+
OK=$(journalctl --user -u nvidia-proxy --no-pager --since "$SINCE" 2>/dev/null \
|
|
72
|
+
| grep -c "200 OK")
|
|
73
|
+
echo " 200 OK: $OK"
|
|
74
|
+
echo " retries: $RETRIES"
|
|
75
|
+
echo " errors: $ERRORS"
|
|
76
|
+
echo ""
|
|
77
|
+
|
|
78
|
+
# Response times (rough — from consecutive timestamps)
|
|
79
|
+
echo "--- Keyword Activations ---"
|
|
80
|
+
journalctl --user -u nvidia-proxy --no-pager --since "$SINCE" 2>/dev/null \
|
|
81
|
+
| grep -oP 'keyword-activated tools: \[\K[^\]]+' \
|
|
82
|
+
| tr ',' '\n' | sort | uniq -c | sort -rn | head -10
|
|
83
|
+
echo ""
|
|
84
|
+
|
|
85
|
+
# Current settings
|
|
86
|
+
echo "--- Current Proxy Settings ---"
|
|
87
|
+
grep -E "MAX_BODY_BYTES|MAX_SYSTEM_BYTES|allTools.length >|counter >= |keepEnd.*Math" \
|
|
88
|
+
/home/cbrd21/clawd/skcapstone-repos/skcapstone/scripts/nvidia-proxy.mjs 2>/dev/null \
|
|
89
|
+
| sed 's/^[[:space:]]*/ /'
|