.github/workflows/openclaw.yml

openclaw openclaw中文博客 1

感谢您对 AI小龙虾OpenClaw 的关注!以下是一份详细的 GitHub 集成安装指南,OpenClaw 通常支持以下集成方式:

.github/workflows/openclaw.yml-第1张图片-OpenClaw 中文版 - 真正能做事的 AI

GitHub 集成方式

GitHub Actions 集成(推荐)


on:
  pull_request:
    branches: [ main, master ]
  push:
    branches: [ main, master ]
jobs:
  analyze:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Setup OpenClaw
      uses: openclaw/setup-action@v1
      with:
        api-key: ${{ secrets.OPENCLAW_API_KEY }}
    - name: Run OpenClaw Analysis
      run: |
        openclaw analyze --format=github \
          --output=openclaw-results.json \
          --include="**/*.py, **/*.js, **/*.java"
    - name: Upload results
      uses: actions/upload-artifact@v3
      with:
        name: openclaw-results
        path: openclaw-results.json

作为 GitHub App 安装

  1. 访问 OpenClaw GitHub App 页面
  2. 点击 "Install"
  3. 选择要集成的仓库或组织
  4. 配置权限:
    • 仓库权限
      • Contents: Read
      • Issues: Write
      • Pull requests: Write
    • 组织权限(可选):

      Members: Read

预提交钩子(Pre-commit Hook)

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/openclaw/pre-commit-hooks
    rev: v1.0.0
    hooks:
      - id: openclaw-check
        args: [--strict, --verbose]

配置步骤

步骤 1:获取 API 密钥

# 通过 CLI 获取
openclaw auth login
# 或从 Dashboard 获取
# 访问 https://dashboard.openclaw.com/api-keys

步骤 2:配置 GitHub Secrets

在仓库 Settings → Secrets → Actions 添加:

  • OPENCLAW_API_KEY: 您的 API 密钥
  • OPENCLAW_PROJECT_ID: 项目标识(可选)

步骤 3:配置文件(可选)

创建 .openclaw/config.yaml

# OpenClaw 配置文件
version: "1.0"
rules:
  - category: security
    level: error
  - category: performance
    level: warning
exclude:
  - "**/test/**"
  - "**/node_modules/**"
  - "**/vendor/**"
github:
  # PR 评论设置
  comment_on_pr: true
  auto_approve_min_score: 90
  require_approval: false

功能特性

自动代码审查

  • 每次 PR 自动分析
  • 代码质量评分
  • 安全漏洞检测

智能建议

# 示例输出格式
openclaw_results:
  score: 85/100
  issues:
    - file: "src/main.py"
      line: 42
      type: "security"
      message: "Potential SQL injection detected"
      suggestion: "Use parameterized queries"
    - file: "src/utils.py"
      line: 15
      type: "performance"
      message: "Inefficient loop detected"
      suggestion: "Consider using list comprehension"

报告生成

# 生成不同格式的报告
openclaw report --format=html    # HTML 报告
openclaw report --format=json    # JSON 报告
openclaw report --format=markdown  # Markdown 报告

高级配置

自定义规则集

# custom-rules.yaml
custom_rules:
  - id: "no-hardcoded-secrets"
    pattern: "password\s*=\s*['\"].+['\"]"
    message: "Hardcoded password detected"
    severity: "critical"
  - id: "require-logging"
    pattern: "function.*\(.*\)\s*{"
    condition: "not contains 'console.log'"
    message: "Missing logging in function"

多仓库配置

# 组织级配置 .github/openclaw-org-config.yaml
default_rules: org-defaults.yaml
repositories:
  - name: "frontend-*"
    config: frontend-rules.yaml
  - name: "backend-*"
    config: backend-rules.yaml

故障排除

常见问题

  1. 认证失败

    # 重新认证
    openclaw auth logout
    openclaw auth login
  2. GitHub Actions 超时

    # 增加超时时间
    timeout-minutes: 30
  3. 权限问题

    # 检查权限
    openclaw check-permissions

调试模式

# 启用详细日志
export OPENCLAW_LOG_LEVEL=debug
openclaw analyze --verbose

最佳实践

推荐工作流

  1. 开发阶段:本地预提交检查
  2. PR 阶段:自动审查 + 评分
  3. 合并前:质量门禁(如评分 > 80)
  4. 定期:全仓库扫描

忽略规则

# 代码中忽略特定检查
def sensitive_function():
    # openclaw-ignore: security-audit
    password = "temp123"  # 临时密码,稍后移除
    return password

资源链接

支持的语言

  • ✅ Python, JavaScript/TypeScript, Java
  • ✅ Go, Rust, C/C++
  • ✅ PHP, Ruby, C#
  • ✅ Shell, SQL, YAML/JSON

需要更具体的配置或遇到问题?请提供:

  1. 您的项目类型(语言、框架)
  2. 期望的集成深度
  3. 遇到的错误信息

抱歉,评论功能暂时关闭!