57 lines
1.7 KiB
YAML
57 lines
1.7 KiB
YAML
name: AI Issue Moderator
|
|
|
|
on:
|
|
issues:
|
|
types: [opened]
|
|
issue_comment:
|
|
types: [created]
|
|
|
|
permissions:
|
|
issues: write
|
|
contents: read
|
|
models: read
|
|
|
|
jobs:
|
|
moderate:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check Content
|
|
uses: actions/ai-inference@v1
|
|
id: check
|
|
with:
|
|
model: 'gpt-4o-mini'
|
|
system-prompt: |
|
|
你是一个内容审查助手。
|
|
检查内容是否包含:
|
|
1. 垃圾信息或广告
|
|
2. 恶意或攻击性内容
|
|
3. 与项目完全无关的内容
|
|
|
|
只返回 "SPAM" 或 "OK",不要其他内容。
|
|
prompt: |
|
|
标题:${{ github.event.issue.title || github.event.comment.body }}
|
|
|
|
内容:
|
|
${{ github.event.issue.body || github.event.comment.body }}
|
|
|
|
- name: Mark as Spam
|
|
if: contains(steps.check.outputs.response, 'SPAM')
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
// 添加 spam 标签
|
|
github.rest.issues.addLabels({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: context.issue.number,
|
|
labels: ['spam']
|
|
});
|
|
|
|
// 添加评论
|
|
github.rest.issues.createComment({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: context.issue.number,
|
|
body: '🤖 这个内容被 AI 检测为可能的垃圾内容。如果这是误判,请联系维护者。\n\n🤖 This content was detected as potential spam by AI. If this is a false positive, please contact the maintainers.'
|
|
});
|