mirror of
https://github.com/jeffusion/gitea-ai-assistant.git
synced 2026-03-27 10:05:50 +00:00
Update all documentation to reflect new global LOG_LEVEL environment variable. - Add LOG_LEVEL to configuration reference tables - Update deployment guides with LOG_LEVEL=error examples - Clarify dev (info) vs production (error) log level recommendations - Add LOG_LEVEL to all .env examples and quick start guides Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
106 lines
3.0 KiB
Markdown
106 lines
3.0 KiB
Markdown
# Gitea AI Assistant
|
|
|
|
[](https://opensource.org/licenses/MIT)
|
|
|
|
AI-powered code review assistant for Gitea. It receives webhooks, runs staged AI review workflows, and posts summary + line-level feedback back to Gitea.
|
|
|
|
- English docs: [./docs/README.md](./docs/README.md)
|
|
- 中文文档: [./docs/README.zh-CN.md](./docs/README.zh-CN.md)
|
|
|
|
## Why this project
|
|
|
|
- 🤖 **Automated PR + commit review** via webhook events (`pull_request`, `status`)
|
|
- 🧠 **Two review engines**: `agent` (staged tasks) and `codex` (Codex CLI pipeline)
|
|
- 🧵 **Pluggable LLM providers**: OpenAI Compatible, OpenAI Responses API, Anthropic, Gemini
|
|
- 📍 **Actionable output**: summary comments and line-level findings
|
|
- 🎛️ **Web Admin UI** for runtime configuration (providers, models, webhook, review policy)
|
|
- 🔔 **Notifications**: Feishu + WeCom (企业微信)
|
|
- 🔐 **Security-first defaults**: webhook signature verification + encrypted API key storage
|
|
|
|
## Product screenshot
|
|
|
|
> Dashboard screenshot is generated from local dev service.
|
|
|
|

|
|
|
|
More screenshots (one per admin menu): [EN](./docs/screenshots.md) | [中文](./docs/screenshots.zh-CN.md)
|
|
|
|
## Architecture (high-level)
|
|
|
|
```
|
|
Gitea Webhook -> Gitea AI Assistant (Hono + Bun) -> LLM Gateway (multi-provider)
|
|
|
|
|
+-> Admin Dashboard (React)
|
|
```
|
|
|
|
For component-level design, see [Architecture docs](./docs/README.md#architecture--design).
|
|
|
|
## Quick start (minimal)
|
|
|
|
### 1) Prerequisites
|
|
|
|
- Bun >= 1.2.5
|
|
- Reachable Gitea instance
|
|
- At least one LLM provider credential
|
|
|
|
### 2) Install
|
|
|
|
```bash
|
|
git clone https://github.com/user/gitea-ai-assistant.git
|
|
cd gitea-ai-assistant
|
|
bun install
|
|
```
|
|
|
|
If lifecycle scripts are disabled in your environment, run:
|
|
|
|
```bash
|
|
bun run bootstrap
|
|
```
|
|
|
|
### 3) Minimal `.env`
|
|
|
|
```bash
|
|
PORT=5174
|
|
ENCRYPTION_KEY= # required, 64 hex chars (openssl rand -hex 32)
|
|
# DATABASE_PATH=./data/assistant.db
|
|
# LOG_LEVEL=info # dev default; use LOG_LEVEL=error in production
|
|
```
|
|
|
|
> `ENCRYPTION_KEY` is mandatory. The app refuses to start without it.
|
|
|
|
### 4) Run
|
|
|
|
```bash
|
|
bun run dev
|
|
# or
|
|
bun run start
|
|
```
|
|
|
|
### 5) Configure in Admin UI
|
|
|
|
Open `http://your-server:5174`, login with default `password` (first boot only), then change it immediately.
|
|
|
|
- Configure Gitea API + tokens
|
|
- Configure webhook secret
|
|
- Configure LLM providers/models
|
|
- Configure review engine and policy
|
|
|
|
### 6) Add webhook in Gitea
|
|
|
|
- URL: `http://your-server:5174/webhook/gitea`
|
|
- Content-Type: `application/json`
|
|
- Secret: same as dashboard webhook secret
|
|
- Events: Pull Request + Status
|
|
|
|
## Progressive disclosure: detailed docs
|
|
|
|
- [Documentation index](./docs/README.md)
|
|
- [Getting started details](./docs/getting-started.md)
|
|
- [Configuration reference](./docs/configuration.md)
|
|
- [Review engines](./docs/review-engines.md)
|
|
- [Deployment (Docker / Compose / Kubernetes)](./docs/deployment.md)
|
|
|
|
## License
|
|
|
|
MIT License
|