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.zh-CN.md
- 🤖 Automated PR + commit review via webhook events (
pull_request,status) - 🧠 Two review engines:
agent(staged tasks) andcodex(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
Dashboard screenshot is generated from local dev service.
More screenshots (one per admin menu): EN | 中文
Gitea Webhook -> Gitea AI Assistant (Hono + Bun) -> LLM Gateway (multi-provider)
|
+-> Admin Dashboard (React)
For component-level design, see Architecture docs.
- Bun >= 1.2.5
- Reachable Gitea instance
- At least one LLM provider credential
git clone https://github.com/user/gitea-ai-assistant.git
cd gitea-ai-assistant
bun installIf lifecycle scripts are disabled in your environment, run:
bun run bootstrapPORT=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_KEYis mandatory. The app refuses to start without it.
bun run dev
# or
bun run startOpen 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
- URL:
http://your-server:5174/webhook/gitea - Content-Type:
application/json - Secret: same as dashboard webhook secret
- Events: Pull Request + Status
- Documentation index
- Getting started details
- Configuration reference
- Review engines
- Deployment (Docker / Compose / Kubernetes)
MIT License
