#!/bin/bash # wiki-lint-check.sh — Wiki 知识库质量检查脚本 # # 用途: 定期运行 wiki_lint 检查知识库质量,生成报告 # 用法: ./scripts/wiki-lint-check.sh [--report-dir ] # # 建议通过 cron 定期执行,例如每日凌晨: # 0 2 * * * cd /path/to/EnterpriseArchitect && ./scripts/wiki-lint-check.sh set -euo pipefail REPORT_DIR="${REPORT_DIR:-/tmp/wiki-lint-reports}" TIMESTAMP=$(date '+%Y-%m-%d_%H%M%S') REPORT_FILE="${REPORT_DIR}/wiki-lint-${TIMESTAMP}.md" mkdir -p "$REPORT_DIR" echo "=== Wiki Lint Check ===" echo "时间: $(date '+%Y-%m-%d %H:%M:%S %Z')" echo "报告路径: $REPORT_FILE" echo "" # 运行 wiki_lint(通过 OpenClaw CLI) # 注意: 此脚本需在 OpenClaw 环境中执行 LINT_RESULT=$(openclaw skill wiki-lint 2>&1) || true # 生成报告 cat > "$REPORT_FILE" << EOF # Wiki Lint 检查报告 **检查时间**: $(date '+%Y-%m-%d %H:%M:%S %Z') **执行主机**: $(hostname) **执行用户**: $(whoami) --- ## 检查结果 \`\`\` ${LINT_RESULT:-No output from wiki_lint} \`\`\` --- ## 状态 EOF if echo "$LINT_RESULT" | grep -qi "error\|fail\|issue"; then echo "**状态**: ⚠️ 发现问题,需处理" >> "$REPORT_FILE" echo "" echo "⚠️ Wiki Lint 发现问题,请检查: $REPORT_FILE" else echo "**状态**: ✅ 无问题" >> "$REPORT_FILE" echo "" echo "✅ Wiki Lint 检查通过" fi echo "报告已生成: $REPORT_FILE" # 清理 30 天以前的旧报告 find "$REPORT_DIR" -name "wiki-lint-*.md" -mtime +30 -delete 2>/dev/null || true