Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
2f0d848
fix: ability to use AI-Review tool in the project
exadmin Nov 25, 2025
01ff84d
feat: managing ai-review configuration
exadmin Nov 25, 2025
b5d4061
fix: Playing with AI Review customization
exadmin Nov 25, 2025
8c80fa7
chore: Updating tool to v0.43.0
exadmin Nov 25, 2025
b5fc16b
chore: Playing with summary prompt
exadmin Nov 25, 2025
69f07f2
feat: Ability to select LLM model when running GitHub action
exadmin Nov 25, 2025
3231baf
Grand Report generation at Wed Nov 26 04:19:29 UTC 2025
invalid-email-address Nov 26, 2025
629274b
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
0e07ef6
Merge remote-tracking branch 'origin/main'
exadmin Nov 26, 2025
78b8847
Merge remote-tracking branch 'origin/main'
exadmin Nov 26, 2025
de14a5a
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
ce531de
Exclude forks from Security Check in the report
Nov 26, 2025
2b60e44
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
ee5af72
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
a251246
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
b60504d
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
bca8895
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
b6ab057
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
d946255
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
0a73455
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
481d72e
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
8109588
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
8724d2a
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
8801bc1
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
9cac16d
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
1b96489
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
e8d8d18
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
71977b6
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
7dc06ce
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
e3cc0b9
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
f0664b2
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
92f0b6c
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
a2dcf59
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
93e3aea
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
1c858a2
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
b09cd15
fix: Ability to select LLM model when running GitHub action
exadmin Nov 26, 2025
0b65160
feature: Introduce DeepSeek review
exadmin Nov 26, 2025
70c3e4f
feat: Introduce DeepSeek review
exadmin Nov 26, 2025
5b0d7a5
Merge pull request #9 from DmitriiRabenok/feature/excludeForksFromSec…
exadmin Nov 26, 2025
ddf38c1
Grand Report generation at Thu Nov 27 06:08:25 UTC 2025
invalid-email-address Nov 27, 2025
1206cdc
feat: Adding github action for centralized AI-Review approach
exadmin Nov 27, 2025
11d0760
Merge remote-tracking branch 'origin/main'
exadmin Nov 27, 2025
a841383
feat: Adding github action for centralized AI-Review approach
exadmin Nov 27, 2025
685405c
Fix formatting in AI Review workflow YAML
exadmin Nov 27, 2025
6630aa7
feat: Adding github action for centralized AI-Review approach
exadmin Nov 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .ai-review-deepseek.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
llm:
provider: OPENAI

meta:
model: deepseek-chat
max_tokens: 8096
temperature: 0.2

prompt:
normalize_prompts: false
summary_prompt_files: [ ./prompts/summary.md ]

review:
mode: ADDED_AND_REMOVED_WITH_CONTEXT
inline_tag: "#deepseek-review:inline"
inline_reply_tag: "#deepseek-review:inline-reply"
summary_tag: "#deepseek-review:summary"
summary_reply_tag: "#deepseek-review:summary-reply"
context_lines: 500

logger:
level: INFO
format: "{time:YYYY-MM-DD HH:mm:ss} | {level} | {extra[logger_name]} | {message}"

vcs:
provider: GITHUB

http_client:
timeout: 120
api_url: https://api.github.com

15 changes: 14 additions & 1 deletion .ai-review.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,22 @@ llm:
timeout: 600
api_url: http://localhost:11434

prompt:
normalize_prompts: true
summary_prompt_files: [ ./prompts/summary.md ]

review:
mode: ADDED_AND_REMOVED_WITH_CONTEXT
inline_tag: "#ai-review:inline"
inline_reply_tag: "#ai-review:inline-reply"
summary_tag: "#ai-review:summary"
summary_reply_tag: "#ai-review:summary-reply"
context_lines: 50

vcs:
provider: GITHUB

http_client:
timeout: 120
api_url: https://api.github.com
api_url: https://api.github.com

50 changes: 50 additions & 0 deletions .github/workflows/ai-review-deepseek-centralized-workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: 🤖 AI-Review using DeepSeek (centralized)

on:
workflow_dispatch:
inputs:
review-command:
type: choice
default: run
options: [ run, run-inline, run-context, run-summary, run-inline-reply, run-summary-reply ]
description: "Review Type"
pull-request-number:
type: string
required: true
description: "Pull Number"
env:
AI_REVIEW_CONFIG_FILE_YAML: ".ai-review-centralized.yml"


jobs:
ai-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Download centralized configs of AI Review tool
run: |
curl -O https://raw.githubusercontent.com/exadmin/ai-review-configs/main/.ai-review-centralized.yml
curl -O https://raw.githubusercontent.com/exadmin/ai-review-configs/main/.prompt-summary-centralized.md

- uses: Nikita-Filonov/ai-review@v0.43.0
with:
review-command: ${{ inputs.review-command }}
env:
# --- LLM configuration ---
LLM__PROVIDER: "OPENAI"
LLM__META__MODEL: "deepseek-chat"
LLM__META__MAX_TOKENS: "15000"
LLM__META__TEMPERATURE: "0.3"
LLM__HTTP_CLIENT__API_URL: "https://api.deepseek.com/v1"
LLM__HTTP_CLIENT__API_TOKEN: ${{ secrets.OPENAI_API_KEY }}

# --- GitHub integration ---
VCS__PROVIDER: "GITHUB"
VCS__PIPELINE__OWNER: ${{ github.repository_owner }}
VCS__PIPELINE__REPO: ${{ github.event.repository.name }}
VCS__PIPELINE__PULL_NUMBER: ${{ inputs.pull-request-number }}
VCS__HTTP_CLIENT__API_URL: "https://api.github.com"
VCS__HTTP_CLIENT__API_TOKEN: ${{ secrets.PR_RW_TOKEN }}
45 changes: 45 additions & 0 deletions .github/workflows/ai-review-deepseek-workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: 🤖 AI Review using DeepSeek

on:
workflow_dispatch:
inputs:
review-command:
type: choice
default: run
options: [ run, run-inline, run-context, run-summary, run-inline-reply, run-summary-reply ]
description: "Review Type"
pull-request-number:
type: string
required: true
description: "Pull Number"
env:
AI_REVIEW_CONFIG_FILE_YAML: ".ai-review-deepseek.yaml"


jobs:
ai-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: Nikita-Filonov/ai-review@v0.43.0
with:
review-command: ${{ inputs.review-command }}
env:
# --- LLM configuration ---
LLM__PROVIDER: "OPENAI"
LLM__META__MODEL: "deepseek-chat"
LLM__META__MAX_TOKENS: "15000"
LLM__META__TEMPERATURE: "0.3"
LLM__HTTP_CLIENT__API_URL: "https://api.deepseek.com/v1"
LLM__HTTP_CLIENT__API_TOKEN: ${{ secrets.OPENAI_API_KEY }}

# --- GitHub integration ---
VCS__PROVIDER: "GITHUB"
VCS__PIPELINE__OWNER: ${{ github.repository_owner }}
VCS__PIPELINE__REPO: ${{ github.event.repository.name }}
VCS__PIPELINE__PULL_NUMBER: ${{ inputs.pull-request-number }}
VCS__HTTP_CLIENT__API_URL: "https://api.github.com"
VCS__HTTP_CLIENT__API_TOKEN: ${{ secrets.PR_RW_TOKEN }}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: 🤖 AI Review
name: 🤖 AI Review using GitHub

on:
workflow_dispatch:
Expand All @@ -15,6 +15,13 @@ on:
required: true
description: "Pull request number"

llm-model:
type: choice
default: "mistral"
options: [ mistral, deepseek-coder, deepseek-coder-v2 ]
required: true
description: "LLM Model to use"

jobs:
ai-review:
name: Run AI Review
Expand Down Expand Up @@ -45,23 +52,29 @@ jobs:

- name: 📦 Pull model
run: |
echo "📥 Downloading model 'mistral'..."
echo "📥 Downloading model '${{ inputs.llm-model }}'..."
curl -X POST http://localhost:11434/api/pull \
-H "Content-Type: application/json" \
-d '{"model": "mistral"}'
-d '{"model": "${{ inputs.llm-model }}"}'

- name: 🔥 Warm up model
run: |
echo "🔥 Warming up model..."
curl -s -X POST http://localhost:11434/api/chat \
RESPONSE=$(curl -s -X POST http://localhost:11434/api/chat \
-H "Content-Type: application/json" \
-d '{"model":"mistral","stream":false,"messages":[{"role":"user","content":"Hello!"}]}'
echo "✅ Warm-up complete."
-d '{"model":"${{ inputs.llm-model }}","stream":false,"messages":[{"role":"user","content":"Type: 'hello', all letters are small."}]}')

if [[ "${RESPONSE,,}" = *"hello"* ]]; then
echo "✅ Warm-up complete. LLM responded correctly."
else
echo "❌ Warm-up failed. Expected 'Hello', but got: '$RESPONSE'"
exit 1
fi

- name: 🚀 Run AI Review
uses: Nikita-Filonov/ai-review@v0.27.0
uses: Nikita-Filonov/ai-review@v0.43.0
env:
VCS__HTTP_CLIENT__API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VCS__HTTP_CLIENT__API_TOKEN: ${{ secrets.PR_RW_TOKEN }}
VCS__PIPELINE__OWNER: ${{ github.repository_owner }}
VCS__PIPELINE__REPO: ${{ github.event.repository.name }}
VCS__PIPELINE__PULL_NUMBER: ${{ inputs.pull-request-number }}
Expand Down
2 changes: 1 addition & 1 deletion docs/data/data.json

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions docs/data/grand-report-overrides.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,31 @@
"sort-by-value": "5"
}
]
},
{
"column-id": "C033",
"repositories": [
{
"name": "cassandra",
"visual-value": "Not applicable for forks",
"sort-by-value": "5"
},
{
"name": "kafka",
"visual-value": "Not applicable for forks",
"sort-by-value": "5"
},
{
"name": "keycloak",
"visual-value": "Not applicable for forks",
"sort-by-value": "5"
},
{
"name": "postgres",
"visual-value": "Not applicable for forks",
"sort-by-value": "5"
}
]
}
]
}
2 changes: 1 addition & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

<body>
<div class="container">
<p class="report-header">Report is generated at Tue Nov 25 04:13:28 UTC 2025</p>
<p class="report-header">Report is generated at Thu Nov 27 06:08:25 UTC 2025</p>
<div id="tabs">
<ul id="tab-list"></ul>
</div>
Expand Down
9 changes: 9 additions & 0 deletions prompts/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Write a clear summary of the overall review (in english).
Mention what was done well and highlight the most important issues or improvements.

The answer must be provided in the following format:
🟢 **Well done**
${Put well done changes here}

🔴 **Questions & Concerns**
${Put found concerns and issues here}