32 lines
1.2 KiB
Bash
Executable File
32 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -Eeuo pipefail
|
|
|
|
STACK_DIR=${STACK_DIR:-/opt/mike-ai/stack}
|
|
HERMES_DATA_DIR=${HERMES_DATA_DIR:-/data/hermes}
|
|
SKILL_SOURCE=$STACK_DIR/platform/hermes/skills/athena-operator/SKILL.md
|
|
PROFILES=(fast medium large ultra uncensored)
|
|
|
|
die() { printf 'FEHLER: %s\n' "$*" >&2; exit 1; }
|
|
[[ $EUID -eq 0 ]] || die "Bitte als root ausführen."
|
|
[[ -s $SKILL_SOURCE ]] || die "Skill-Quelle fehlt: $SKILL_SOURCE"
|
|
grep -Fxq -- 'name: athena-operator' "$SKILL_SOURCE" || \
|
|
die "Skill-Quelle hat kein gültiges Athena-Operator-Frontmatter."
|
|
|
|
install_skill() {
|
|
local root=$1 target=$1/platform/athena-operator/SKILL.md
|
|
install -d -o 10000 -g 10000 -m 0750 "${target%/*}"
|
|
if [[ -s $target ]] && ! cmp -s "$SKILL_SOURCE" "$target"; then
|
|
cp -a "$target" "$target.before-managed-update-$(date +%Y%m%d-%H%M%S)"
|
|
fi
|
|
install -o 10000 -g 10000 -m 0640 "$SKILL_SOURCE" "$target"
|
|
cmp -s "$SKILL_SOURCE" "$target" || die "Skill-Synchronisierung fehlgeschlagen: $target"
|
|
}
|
|
|
|
install_skill "$HERMES_DATA_DIR/skills"
|
|
for profile in "${PROFILES[@]}"; do
|
|
[[ -d $HERMES_DATA_DIR/profiles/$profile ]] || continue
|
|
install_skill "$HERMES_DATA_DIR/profiles/$profile/skills"
|
|
done
|
|
|
|
printf 'HERMES_ATHENA_OPERATOR_SKILL_OK\n'
|