📊 Logs jetzt im Repo statt User-Verzeichnis!

**Änderung: Option A - logs/ im Repo**

Vorher:
- Logs in ~/.{character}_logs/ (User Home Directory)
- Multi-Projekt aber verstreut
- Nicht im Repo sichtbar

Nachher:
- Logs in logs/{character}/ (Repo Directory)
- Projekt-spezifisch & übersichtlich
- Mit Fallback: ${CRUMB_LOGS_DIR:-$HOME/.{character}_logs}
- Für Standalone-Nutzung

**Geänderte Files:**
- lib/waldwaechter.sh: CRUMB_LOGS_DIR exportiert
- Alle 17 crumbforest_roles/*: LOGDIR updated
- missions/robots/*: Mission logs → logs/missions/
- .gitignore: logs/ hinzugefügt

**Log-Struktur:**
```
logs/
├── tobi/
│   ├── tobi_history.json
│   ├── token_log.json
│   └── ...
├── crabbyrust/
├── mayaeule/
└── missions/
```

**Tested:**  Tobi funktioniert, Logs landen in logs/tobi/

🌲 "Was kostet die Frage eines Kindes?" - jetzt transparent im Repo!

🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Branko May Trinkwald
2025-12-21 16:25:10 +01:00
parent b79dd7a24b
commit 271008ea10
20 changed files with 29 additions and 21 deletions

5
.gitignore vendored
View File

@@ -1,7 +1,10 @@
# === CF_Zero_V1 .gitignore ===
# AI Assistant Logs (contain conversation history and token usage)
# Die 15 Waldwächter + Legacy
# Repo-based logs directory
logs/
# Legacy: Home directory logs (deprecated, now using logs/)
.mayaeule_logs/
.eule_logs/
.deepbit_logs/

View File

@@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}"
MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}"
# Logs
LOGDIR="$HOME/.asciimonster_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.asciimonster_logs}/asciimonster"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/asciimonster_history.json"

View File

@@ -3,7 +3,7 @@ QUESTION="$*"
MODEL="openai/gpt-3.5-turbo"
API_KEY="${OPENROUTER_API_KEY}"
LOGDIR="$HOME/.bugsy_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.bugsy_logs}/bugsy"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/bugsy_history.json"

View File

@@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}"
MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}"
# Logs
LOGDIR="$HOME/.crabbyrust_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.crabbyrust_logs}/crabbyrust"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/crabbyrust_history.json"

View File

@@ -3,7 +3,7 @@ QUESTION="$*"
MODEL="openai/gpt-3.5-turbo"
API_KEY="${OPENROUTER_API_KEY}"
LOGDIR="$HOME/.deepbit_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.deepbit_logs}/deepbit"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/deepbit_history.json"

View File

@@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}"
MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}"
# Logs
LOGDIR="$HOME/.dumbosql_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.dumbosql_logs}/dumbosql"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/dumbosql_history.json"

View File

@@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}"
MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}"
# Logs
LOGDIR="$HOME/.funkfox_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.funkfox_logs}/funkfox"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/funkfox_history.json"

View File

@@ -23,7 +23,7 @@ QDRANT_COLLECTION="${QDRANT_COLLECTION:-crumbforest_memory}"
QDRANT_API_KEY="${QDRANT_API_KEY}"
# Logs
LOGDIR="$HOME/.eule_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.eule_logs}/mayaeule"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/eule_history.json"

View File

@@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}"
MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}"
# Logs
LOGDIR="$HOME/.pepperphp_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.pepperphp_logs}/pepperphp"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/pepperphp_history.json"

View File

@@ -18,7 +18,7 @@ API_KEY="${OPENROUTER_API_KEY}"
MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}"
# Logs
LOGDIR="$HOME/.schnecki_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.schnecki_logs}/schnecki"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/schnecki_history.json"

View File

@@ -3,7 +3,7 @@ QUESTION="$*"
MODEL="openai/gpt-3.5-turbo"
API_KEY="${OPENROUTER_API_KEY}"
LOGDIR="$HOME/.schnippsi_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.schnippsi_logs}/schnippsi"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/schnippsi_history.json"

View File

@@ -18,7 +18,7 @@ API_KEY="${OPENROUTER_API_KEY}"
MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}"
# Logs
LOGDIR="$HOME/.schraubaer_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.schraubaer_logs}/schraubaer"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/schraubaer_history.json"

View File

@@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}"
MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}"
# Logs
LOGDIR="$HOME/.snakepy_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.snakepy_logs}/snakepy"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/snakepy_history.json"

View File

@@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}"
MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}"
# Logs
LOGDIR="$HOME/.spider_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.spider_logs}/spider"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/spider_history.json"

View File

@@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}"
MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}"
# Logs
LOGDIR="$HOME/.taichitaube_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.taichitaube_logs}/taichitaube"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/taichitaube_history.json"

View File

@@ -3,7 +3,7 @@ QUESTION="$*"
MODEL="openai/gpt-3.5-turbo"
API_KEY="${OPENROUTER_API_KEY}"
LOGDIR="$HOME/.tobi_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.tobi_logs}/tobi"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/tobi_history.json"

View File

@@ -17,7 +17,7 @@ API_KEY="${OPENROUTER_API_KEY}"
MODEL="${OPENROUTER_MODEL:-openai/gpt-3.5-turbo}"
# Logs
LOGDIR="$HOME/.vektor_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.vektor_logs}/vektor"
mkdir -p "$LOGDIR"
HISTORY_FILE="$LOGDIR/vektor_history.json"

View File

@@ -2,10 +2,15 @@
# 🌲 Waldwächter Library - AI Assistants for Crumbforest Missions
# Source this file to make all AI characters available as commands
# Determine the script directory
WALDWAECHTER_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
# Determine the repo root directory (lib/ is inside repo root)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
WALDWAECHTER_DIR="$(dirname "$SCRIPT_DIR")"
ROLES_DIR="${WALDWAECHTER_DIR}/crumbforest_roles"
# Set logs directory in repo
export CRUMB_LOGS_DIR="${WALDWAECHTER_DIR}/logs"
mkdir -p "${CRUMB_LOGS_DIR}"
# Load .env if it exists
ENV_FILE="${WALDWAECHTER_DIR}/.env"
if [[ -f "${ENV_FILE}" ]]; then

View File

@@ -339,7 +339,7 @@ echo ""
# === LOG ===
LOGDIR="$HOME/.crumbrobots_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.crumbrobots_logs}/missions"
mkdir -p "$LOGDIR"
TIMESTAMP=$(date -Iseconds)

View File

@@ -218,7 +218,7 @@ echo ""
# === LOG ===
LOGDIR="$HOME/.crumbrobots_logs"
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.crumbrobots_logs}/missions"
mkdir -p "$LOGDIR"
TIMESTAMP=$(date -Iseconds)