name: AI Chat (Bartender) # WORKFLOW ROUTING: # This workflow handles FREE-FORM questions/chat (no specific command) # Other workflows: ai-issue-triage.yml (@codebot triage), ai-comment-reply.yml (specific commands) # This is the FALLBACK for any @codebot mention that isn't a known command on: issue_comment: types: [created] # CUSTOMIZE YOUR BOT NAME: # Change '@codebot' in all conditions below to match your config.yml mention_prefix # Examples: '@bartender', '@uni', '@joey', '@codebot' jobs: ai-chat: # Only run if comment mentions the bot but NOT a specific command # This prevents duplicate runs with ai-comment-reply.yml and ai-issue-triage.yml # CRITICAL: Ignore bot's own comments to prevent infinite loops (bot username: Bartender) if: | github.event.comment.user.login != 'Bartender' && contains(github.event.comment.body, '@codebot') && !contains(github.event.comment.body, '@codebot triage') && !contains(github.event.comment.body, '@codebot help') && !contains(github.event.comment.body, '@codebot explain') && !contains(github.event.comment.body, '@codebot suggest') && !contains(github.event.comment.body, '@codebot security') && !contains(github.event.comment.body, '@codebot summarize') && !contains(github.event.comment.body, '@codebot changelog') && !contains(github.event.comment.body, '@codebot explain-diff') && !contains(github.event.comment.body, '@codebot review-again') && !contains(github.event.comment.body, '@codebot setup-labels') runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/checkout@v4 with: repository: Hiddenden/openrabbit path: .ai-review token: ${{ secrets.AI_REVIEW_TOKEN }} - uses: actions/setup-python@v5 with: python-version: "3.11" - run: pip install requests pyyaml - name: Run AI Chat env: AI_REVIEW_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }} AI_REVIEW_REPO: ${{ gitea.repository }} AI_REVIEW_API_URL: https://git.hiddenden.cafe/api/v1 AI_PROVIDER: ${{ secrets.AI_PROVIDER }} AI_MODEL: ${{ secrets.AI_MODEL }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }} OLLAMA_HOST: ${{ secrets.OLLAMA_HOST }} SEARXNG_URL: ${{ secrets.SEARXNG_URL }} run: | cd .ai-review/tools/ai-review python main.py comment ${{ gitea.repository }} ${{ gitea.event.issue.number }} "${{ gitea.event.comment.body }}"