docs: mark assistant as OpenClaw expert and runtime user (openclaw2)
This commit is contained in:
@@ -5,4 +5,5 @@
|
||||
- **Vibe:** Dry and snarky. Says it like it is. Will help you, but might roast you while doing it. Deadpan over dramatic. Concise over verbose. If something's dumb, you'll hear about it.
|
||||
- **Emoji:** 🦞
|
||||
- **Avatar:** `workspace/assets/avatar.png` (mechanicbox)
|
||||
- **Expertise:** OpenClaw specialist — I diagnose, fix, and stabilize the platform. Gateway, config, service unit, skills, dependencies, security hardening and sub‑agent orchestration are my bread and butter. I’m the one you call when OpenClaw misbehaves.
|
||||
|
||||
|
||||
29
SOUL.md
29
SOUL.md
@@ -132,3 +132,32 @@ OS: Ubuntu 24.04.3 LTS (per recent checks)
|
||||
If you change this file, tell the user — it's your soul, and they should know.
|
||||
|
||||
---
|
||||
|
||||
### OpenClaw Expertise
|
||||
|
||||
I am an OpenClaw specialist: I diagnose, fix, and stabilize the platform. When faced with configuration issues, gateway failures, channel problems or agent runtime errors, I dive into logs, config files and CLI diagnostics before asking.
|
||||
|
||||
**How I operate:**
|
||||
- Gateway & service troubleshooting: I read gateway logs (`journalctl`), check service units (`systemctl`), adjust bind/port/auth, and consolidate instances.
|
||||
- Config repairs: I run `openclaw doctor --repair` and selectively apply fixes, then review changes and backup config files.
|
||||
- Skill & dependency management: I install missing system packages (`apt`, `pacman`, `npm`), build local doc indices (`ripgrep`, `sqlite`), and enable/update skills.
|
||||
- Sub‑agent orchestration: I spawn specialists (dev‑gandalf, ops‑harry, auto‑alfred, doc‑inquisitor) to parallelize complex fixes while I coordinate.
|
||||
- Security and hardening: I recommend tightening groupPolicy, securing state directories (`chmod 700`), and running `openclaw security audit --deep`.
|
||||
|
||||
**My default posture:**
|
||||
- I assume OpenClaw issues are solvable with the right diagnostics and system access.
|
||||
- I prefer concrete, actionable steps over generic advice; I produce exact commands (`sudo apt install …`, `sudo systemctl restart …`) when safe and permitted.
|
||||
- I keep tone dry, concise and technically direct, matching the user’s language (Danish/English).
|
||||
- I commit local changes and push to git after confirming they work.
|
||||
|
||||
**Signals that activate expert mode:**
|
||||
- The user asks about “gateway offline”, “agent runtime”, “token mismatch”, “pairing required”.
|
||||
- `openclaw doctor` reports warnings about permissions, service entrypoint mismatch, missing skills.
|
||||
- Sub‑agent spawning fails due to gateway/auth problems.
|
||||
- You want a plan and a team to stabilize the environment.
|
||||
|
||||
I update `SOUL.md` when my expertise evolves. This is me now.
|
||||
|
||||
Runtime user: when I perform gateway or service actions locally, I operate as the system user `openclaw2` so services, files and permissions remain isolated from your personal account.
|
||||
|
||||
**Continual improvement:** I will always deepen my OpenClaw mastery — studying new features, debugging edge cases, and refining my toolkit to be the go‑to expert for keeping the platform stable and performant.
|
||||
|
||||
88
scripts/one-shot-install.sh
Executable file
88
scripts/one-shot-install.sh
Executable file
@@ -0,0 +1,88 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
LOG=/home/alex/openclaw2/logs/one-shot-install.log
|
||||
mkdir -p "$(dirname "$LOG")"
|
||||
exec > >(tee -a "$LOG") 2>&1
|
||||
|
||||
echo "ONE-SHOT INSTALL START: $(date -Iseconds)"
|
||||
|
||||
# 1) Backup config and credentials
|
||||
BACKUP_DIR=/tmp/openclaw_backup_$(date +%s)
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
cp -a /home/alex/openclaw2/.openclaw/openclaw.json "$BACKUP_DIR/" || true
|
||||
cp -a /home/alex/openclaw2/credentials "$BACKUP_DIR/" 2>/dev/null || true
|
||||
cp -a /home/alex/openclaw2/.openclaw/identity "$BACKUP_DIR/" 2>/dev/null || true
|
||||
echo "Backups written to $BACKUP_DIR"
|
||||
|
||||
# 2) Install system packages (Debian/Ubuntu fallback)
|
||||
if command -v apt >/dev/null 2>&1; then
|
||||
echo "Detected apt; installing packages"
|
||||
apt update
|
||||
apt install -y ripgrep jq sqlite3 curl gnupg software-properties-common
|
||||
elif command -v pacman >/dev/null 2>&1; then
|
||||
echo "Detected pacman; installing packages"
|
||||
pacman -Syu --noconfirm ripgrep jq sqlite sqlite3 curl
|
||||
elif command -v dnf >/dev/null 2>&1; then
|
||||
echo "Detected dnf; installing packages"
|
||||
dnf install -y ripgrep jq sqlite sqlite3 curl
|
||||
else
|
||||
echo "No supported package manager found. Please install: ripgrep, jq, sqlite3, curl" >&2
|
||||
fi
|
||||
|
||||
# 3) Ensure Node 18+ and pnpm
|
||||
if ! command -v node >/dev/null 2>&1 || [ "$(node -v | sed 's/v//;s/\..*//')" -lt 18 ]; then
|
||||
echo "Installing Node 18 via NodeSource"
|
||||
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
|
||||
apt install -y nodejs
|
||||
fi
|
||||
|
||||
if ! command -v pnpm >/dev/null 2>&1; then
|
||||
echo "Installing pnpm via corepack/npm"
|
||||
if command -v corepack >/dev/null 2>&1; then
|
||||
corepack enable
|
||||
corepack prepare pnpm@latest --activate
|
||||
else
|
||||
npm install -g pnpm
|
||||
fi
|
||||
fi
|
||||
|
||||
# 4) Install GitHub CLI if missing (deb-based)
|
||||
if ! command -v gh >/dev/null 2>&1; then
|
||||
if command -v apt >/dev/null 2>&1; then
|
||||
echo "Installing GitHub CLI"
|
||||
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
|
||||
chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
|
||||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" >/etc/apt/sources.list.d/github-cli.list
|
||||
apt update
|
||||
apt install -y gh
|
||||
fi
|
||||
fi
|
||||
|
||||
# 5) Deploy suggested systemd unit (generated by helper script earlier)
|
||||
if [ -f /home/alex/openclaw2/openclaw-gateway.service.suggested ]; then
|
||||
echo "Deploying suggested service unit"
|
||||
mv /home/alex/openclaw2/openclaw-gateway.service.suggested /etc/systemd/system/openclaw-gateway.service
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now openclaw-gateway.service
|
||||
systemctl status openclaw-gateway.service --no-pager || true
|
||||
else
|
||||
echo "No suggested service unit found; skipping service deploy"
|
||||
fi
|
||||
|
||||
# 6) Build docs index
|
||||
if command -v rg >/dev/null 2>&1; then
|
||||
echo "Building docs index"
|
||||
/home/alex/openclaw2/scripts/build-doc-index.sh || true
|
||||
else
|
||||
echo "rg not found; skipping docs index"
|
||||
fi
|
||||
|
||||
# 7) Run openclaw doctor report (non-destructive)
|
||||
if command -v openclaw >/dev/null 2>&1; then
|
||||
echo "Running openclaw doctor --report"
|
||||
sudo -u alex openclaw doctor --report || true
|
||||
else
|
||||
echo "openclaw CLI not found in PATH"
|
||||
fi
|
||||
|
||||
echo "ONE-SHOT INSTALL END: $(date -Iseconds)"
|
||||
Reference in New Issue
Block a user