3 Commits

Author SHA1 Message Date
Ben
915d336b95 refactor: separate inline and context comment limits
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 39s
Split REVIEW_MAX_COMMENTS into two independent variables:
- REVIEW_MAX_COMMENTS: total comments per PR (context review)
- REVIEW_MAX_INLINE_COMMENTS: comments per file (inline review)

Addresses AI reviewer feedback for independent configuration.
2026-01-02 01:44:29 +00:00
Ben
2309887329 fix: map REVIEW_MAX_COMMENTS to both inline and context limits
REVIEW_MAX_COMMENTS was only mapped to REVIEW__MAX_INLINE_COMMENTS which
only limits comments per-file. Added REVIEW__MAX_CONTEXT_COMMENTS mapping
to also limit total comments per MR, which is what users expected.

Also added missing LLM__META__TEMPERATURE env var mapping.
2026-01-02 01:09:48 +00:00
Ben
2f91e0b817 Limit inline comments via REVIEW_MAX_COMMENTS
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 36s
2026-01-01 05:50:13 +00:00
2 changed files with 7 additions and 1 deletions

View File

@@ -12,7 +12,7 @@ A webhook-based service that automatically generates AI code reviews for Gitea P
## Deployment
### Docker Compose
Run the container using the provided `compose.yaml`. This will start the service in daemon mode.
Run the container using the provided `compose.yaml`.
```bash
docker compose up -d
@@ -27,6 +27,8 @@ Create a `.env` file with the following variables:
| `GITEA_TOKEN` | **Yes** | A Gitea Access Token. Required permissions: `repository` (Read), `issue` (Read and Write). | |
| `GITEA_API_URL` | **Yes** | Full URL to your Gitea API (e.g., `https://git.example.com/api/v1`). | |
| `PORT` | No | Host port to expose the webhook server on. | `3000` |
| `REVIEW_MAX_COMMENTS` | No | Maximum total AI comments per PR (context review). Set to `0` to disable. | `3` |
| `REVIEW_MAX_INLINE_COMMENTS` | No | Maximum inline comments per file. Set to `0` to disable. | `3` |
| `OPENAI_API_KEY` | **Yes** | API Key for your LLM provider. Use `dummy` for local models if no auth needed. | |
| `OPENAI_BASE_URL` | No | Base URL for the LLM API. Set this for Ollama/vLLM (e.g. `http://host.docker.internal:11434/v1/`). | `https://api.openai.com/v1/` |
| `LLM_MODEL` | No | The model name to request (e.g. `gpt-4o`, `llama3.1`). | `gpt-4o` |

View File

@@ -11,6 +11,7 @@ services:
# LLM Configuration
- LLM__PROVIDER=${LLM_PROVIDER:-OPENAI}
- LLM__META__MODEL=${LLM_MODEL:-gpt-4o}
- LLM__META__TEMPERATURE=${LLM_TEMPERATURE:-0.2}
# OpenAI / Compatible API Config
- LLM__HTTP_CLIENT__API_TOKEN=${OPENAI_API_KEY}
- LLM__HTTP_CLIENT__API_URL=${OPENAI_BASE_URL:-https://api.openai.com/v1/}
@@ -18,6 +19,9 @@ services:
- VCS__PROVIDER=GITEA
- VCS__HTTP_CLIENT__API_TOKEN=${GITEA_TOKEN}
- VCS__HTTP_CLIENT__API_URL=${GITEA_API_URL}
# Review Config (inline=per file, context=per MR total)
- REVIEW__MAX_INLINE_COMMENTS=${REVIEW_MAX_INLINE_COMMENTS:-3}
- REVIEW__MAX_CONTEXT_COMMENTS=${REVIEW_MAX_COMMENTS:-3}
volumes:
- xai-cache:/root/.cache