自托管需向官方申请试用 license;自托管实例默认每天发送一次匿名心跳,需设 KODUS_TELEMETRY_DISABLED=true 关闭;社区版 Kody Rules 上限 10 条、插件上限 3 个。
kodus-ai
kodustech活跃维护开源自托管的 AI 代码审查工具,可接入自己的 LLM,自动审查 PR 并给出评审意见,是 CodeRabbit 的替代方案。
Open source, self-hosted AI code review. Bring your own LLM.
git clone https://github.com/kodustech/kodus-ai.git
cd kodus-ai
yarn setup自托管需 Docker 运行在自有 VM 上,至少 2 核 CPU、8 GB 内存、60 GB 可用磁盘;README 未说明 GPU 或显存要求,可自托管模型。
可自托管的开源 AI 代码评审工具,接入你自己的 LLM 在 PR 里自动审查
开源自托管的 AI 代码审查工具,可接入自己的 LLM,自动审查 PR 并给出评审意见,是 CodeRabbit 的替代方案。
核心能力
- 在 GitHub、GitLab、Bitbucket、Azure DevOps、Forgejo 的 PR 中直接评审
- 自带 Key 接入 Claude、GPT、Gemini、Llama 或任意 OpenAI 兼容端点
- 用自然语言编写 Kody Rules,按组织、仓库、路径限定生效范围
- 自动追踪已关闭 PR 中未落实的建议并标记状态与严重级别
- 提供 CLI,可对工作区、暂存区、分支或提交运行评审
容易踩的坑
- cli-v0.4.222026-11-09 · 2026-11-09 17:54 UTC
查看更新说明
The CLI can now read the Token Usage and Cockpit dashboards with a logged-in user, including JSON output for further analysis.
kodus usage tokens: totals, cost and breakdowns by day, PR, developer, review run or model, with date and repository filters.kodus cockpit: productivity, Kodus review, intent and code-area metrics.kodus agents: inspect and manage custom agents.- Logged-in commands for Kody Rules, remote review settings and PR review history.
Dashboard commands require
kodus auth login; team keys do not cover them yet.npm install -g @kodus/[email protected] kodus auth login kodus usage tokens --by model --jsonValidation: CLI CI passed the build, skills validation, unit/end-to-end suite and integration tests. The five usage breakdowns were also queried successfully against production.
- selfhosted-2.2.10Self-Hosted Release 2.2.10最新正式版2026-11-09 · 2026-11-09 16:15 UTC
What's Changed
- fix(e2e): support Ubuntu 26.04 with Playwright 1.65 by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2507
Full Changelog: https://github.com/kodustech/kodus-ai/compare/2.2.13...selfhosted-2.2.10
- mcp-manager-2.1.72026-11-09 · 2026-11-09 13:40 UTC
查看更新说明
What's Changed
- feat(custom-agents): say when an agent is failing, offer cited files by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2346
- feat(custom-agents): read skills and docs from the rules repository by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2338
- fix(sandbox): queue for sandbox capacity per worker and E2B plan by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2354
- fix(worker): cancel consumers first, close AMQP only after the job drain by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2355
- fix: security review follow-ups for the 2.2.10 hotfix by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2359
- fix(sandbox): fail fast on degraded sandbox infra with a circuit breaker by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2353
- fix(code-review): review pushes after the target branch is merged into a PR by @jairo-litman in https://github.com/kodustech/kodus-ai/pull/2317
- feat(cli): reach web-app data and settings from the CLI when logged in by @malinosqui in https://github.com/kodustech/kodus-ai/pull/2349
- fix(custom-agents): close the review follow-ups on other-repository guides by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2368
- chore(worker): log health-probe failures and event-loop delay by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2095
- fix(integrations): let a failed config read reject instead of reading as 'not configured' by @andyst-dev in https://github.com/kodustech/kodus-ai/pull/2118
- fix(azure-repos): resolve the project an incremental read needs (#2318) by @andyst-dev in https://github.com/kodustech/kodus-ai/pull/2339
- fix(mcp): keep the other tools when a name is shared by two servers by @andyst-dev in https://github.com/kodustech/kodus-ai/pull/2257
- fix(mcp): return an empty list from KODUS_LIST_KODY_ISSUES when nothing matches by @shehjaddev in https://github.com/kodustech/kodus-ai/pull/2184
- fix(log): redact credential fields by name suffix and known token formats in text by @rostik1t in https://github.com/kodustech/kodus-ai/pull/2220
- fix(review): rejected fixes stored as rejected-fix; enrichment timeout 200s by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2378
- fix(code-review): stop reporting a failed summary write to the PR as an invalid LLM key by @rostik1t in https://github.com/kodustech/kodus-ai/pull/2245
- fix(byok): send Bedrock cachePoint so Claude-on-Bedrock prompt caching works by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2386
- fix: repair risk approval assessment and history collection by @malinosqui in https://github.com/kodustech/kodus-ai/pull/2387
- feat(llm): self-hosted env declares its LLM provider; provider 400/422 named as refused by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2362
- feat(review): heavy mode runs the M3 lenses next to the generalist by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2360
- fix(cli): the CLI review runs the repository's review mode by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2397
- fix(github): log the failing step and skip null installations when linking the App by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2399
- fix(review): the PR summary reads a structured description field by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2410
- fix(llm): Thinking Off retries the tools refusal with effort 'none' by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2401
- fix(platform): a failed PR description write reaches the summary step by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2403
- fix(kody-rules): judge an unused import by the file that imports it by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2398
- fix(review): recover off-shape model output and keep clustering failures from skipping suggestion limits by @jairo-litman in https://github.c
- web-1.2.132026-11-09 · 2026-11-09 13:39 UTC
查看更新说明
What's Changed
- feat(custom-agents): say when an agent is failing, offer cited files by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2346
- feat(custom-agents): read skills and docs from the rules repository by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2338
- fix(sandbox): queue for sandbox capacity per worker and E2B plan by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2354
- fix(worker): cancel consumers first, close AMQP only after the job drain by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2355
- fix: security review follow-ups for the 2.2.10 hotfix by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2359
- fix(sandbox): fail fast on degraded sandbox infra with a circuit breaker by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2353
- fix(code-review): review pushes after the target branch is merged into a PR by @jairo-litman in https://github.com/kodustech/kodus-ai/pull/2317
- feat(cli): reach web-app data and settings from the CLI when logged in by @malinosqui in https://github.com/kodustech/kodus-ai/pull/2349
- fix(custom-agents): close the review follow-ups on other-repository guides by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2368
- chore(worker): log health-probe failures and event-loop delay by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2095
- fix(integrations): let a failed config read reject instead of reading as 'not configured' by @andyst-dev in https://github.com/kodustech/kodus-ai/pull/2118
- fix(azure-repos): resolve the project an incremental read needs (#2318) by @andyst-dev in https://github.com/kodustech/kodus-ai/pull/2339
- fix(mcp): keep the other tools when a name is shared by two servers by @andyst-dev in https://github.com/kodustech/kodus-ai/pull/2257
- fix(mcp): return an empty list from KODUS_LIST_KODY_ISSUES when nothing matches by @shehjaddev in https://github.com/kodustech/kodus-ai/pull/2184
- fix(log): redact credential fields by name suffix and known token formats in text by @rostik1t in https://github.com/kodustech/kodus-ai/pull/2220
- fix(review): rejected fixes stored as rejected-fix; enrichment timeout 200s by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2378
- fix(code-review): stop reporting a failed summary write to the PR as an invalid LLM key by @rostik1t in https://github.com/kodustech/kodus-ai/pull/2245
- fix(byok): send Bedrock cachePoint so Claude-on-Bedrock prompt caching works by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2386
- fix: repair risk approval assessment and history collection by @malinosqui in https://github.com/kodustech/kodus-ai/pull/2387
- feat(llm): self-hosted env declares its LLM provider; provider 400/422 named as refused by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2362
- feat(review): heavy mode runs the M3 lenses next to the generalist by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2360
- fix(cli): the CLI review runs the repository's review mode by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2397
- fix(github): log the failing step and skip null installations when linking the App by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2399
- fix(review): the PR summary reads a structured description field by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2410
- fix(llm): Thinking Off retries the tools refusal with effort 'none' by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2401
- fix(platform): a failed PR description write reaches the summary step by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2403
- fix(kody-rules): judge an unused import by the file that imports it by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2398
- fix(review): recover off-shape model output and keep clustering failures from skipping suggestion limits by @jairo-litman in https://github.c
- 2.2.132026-11-09 · 2026-11-09 13:39 UTC
查看更新说明
What's Changed
- feat(custom-agents): say when an agent is failing, offer cited files by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2346
- feat(custom-agents): read skills and docs from the rules repository by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2338
- fix(sandbox): queue for sandbox capacity per worker and E2B plan by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2354
- fix(worker): cancel consumers first, close AMQP only after the job drain by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2355
- fix: security review follow-ups for the 2.2.10 hotfix by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2359
- fix(sandbox): fail fast on degraded sandbox infra with a circuit breaker by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2353
- fix(code-review): review pushes after the target branch is merged into a PR by @jairo-litman in https://github.com/kodustech/kodus-ai/pull/2317
- feat(cli): reach web-app data and settings from the CLI when logged in by @malinosqui in https://github.com/kodustech/kodus-ai/pull/2349
- fix(custom-agents): close the review follow-ups on other-repository guides by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2368
- chore(worker): log health-probe failures and event-loop delay by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2095
- fix(integrations): let a failed config read reject instead of reading as 'not configured' by @andyst-dev in https://github.com/kodustech/kodus-ai/pull/2118
- fix(azure-repos): resolve the project an incremental read needs (#2318) by @andyst-dev in https://github.com/kodustech/kodus-ai/pull/2339
- fix(mcp): keep the other tools when a name is shared by two servers by @andyst-dev in https://github.com/kodustech/kodus-ai/pull/2257
- fix(mcp): return an empty list from KODUS_LIST_KODY_ISSUES when nothing matches by @shehjaddev in https://github.com/kodustech/kodus-ai/pull/2184
- fix(log): redact credential fields by name suffix and known token formats in text by @rostik1t in https://github.com/kodustech/kodus-ai/pull/2220
- fix(review): rejected fixes stored as rejected-fix; enrichment timeout 200s by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2378
- fix(code-review): stop reporting a failed summary write to the PR as an invalid LLM key by @rostik1t in https://github.com/kodustech/kodus-ai/pull/2245
- fix(byok): send Bedrock cachePoint so Claude-on-Bedrock prompt caching works by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2386
- fix: repair risk approval assessment and history collection by @malinosqui in https://github.com/kodustech/kodus-ai/pull/2387
- feat(llm): self-hosted env declares its LLM provider; provider 400/422 named as refused by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2362
- feat(review): heavy mode runs the M3 lenses next to the generalist by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2360
- fix(cli): the CLI review runs the repository's review mode by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2397
- fix(github): log the failing step and skip null installations when linking the App by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2399
- fix(review): the PR summary reads a structured description field by @sartorijr92 in https://github.com/kodustech/kodus-ai/pull/2410
- fix(llm): Thinking Off retries the tools refusal with effort 'none' by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2401
- fix(platform): a failed PR description write reaches the summary step by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2403
- fix(kody-rules): judge an unused import by the file that imports it by @Wellington01 in https://github.com/kodustech/kodus-ai/pull/2398
- fix(review): recover off-shape model output and keep clustering failures from skipping suggestion limits by @jairo-litman in https://github.c
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Why Teams Choose Kodus
- Model Agnostic: Use Claude, GPT-5, Gemini, Llama, GLM, Kimi or any OpenAI-compatible endpoint.
- Zero Markup on LLM Costs: You pay model providers directly. No hidden multipliers.
- Learns from Your Context: Kody adapts to your architecture, standards, and workflow.
- You Set the Rules: Define custom review rules in plain language.
- Privacy & Security: Source code is not used to train models, data is encrypted in transit and at rest, and self-hosted runners are supported. Self-hosted instances send one anonymous heartbeat per day. It carries aggregated counters and no code, names, or identifiers. Opt out with
KODUS_TELEMETRY_DISABLED=true. See Anonymous Telemetry. - Native Git Workflow: Works directly in PRs with GitHub, GitLab, Bitbucket, Azure DevOps, and Forgejo.
- CLI + CI/CD Ready: Run reviews locally and in pipelines.
- Operational Impact: Track technical debt and delivery metrics while keeping review quality high.
Product Highlights
In this example, Kody catches a critical IDOR risk where an organizationId query parameter could bypass tenant protection when passed as an array, then suggests an explicit runtime validation before the code is merged.
Get Started
Choose the workflow that matches how you want to use Kodus.
Monorepo Structure
Kodus is a monorepo with multiple applications and shared domain libraries.
kodus-ai/
├── apps/
│ ├── api/ # NestJS API
│ ├── web/ # Next.js dashboard
│ ├── worker/ # Review execution and queue consumers
│ └── webhooks/ # Git provider webhook ingestion
├── libs/ # Shared NestJS domain modules (incl. libs/llm — LLM/BYOK layer)
└── scripts/ # Dev, deploy, benchmark, and automation scripts
| Path | Purpose |
|---|---|
apps/api | Main NestJS API for authentication, organizations, teams, Kody Rules, integrations, permissions, and code review orchestration. |
apps/web | Next.js web application for the Kodus dashboard. |
apps/worker | Background service for code review execution, queue processing, suggestion checks, automation jobs, and monitoring tasks. |
apps/webhooks | Webhook ingestion service for GitHub, GitLab, Azure Repos, Bitbucket, and Forgejo events. |
libs | Shared NestJS domain modules used across Kodus applications. |
libs/llm | In-repo LLM/BYOK abstraction layer for model providers. |
For full setup instructions, follow the Local Quickstart.
Open Source vs. Teams vs. Enterprise
| Feature | Community | Teams | Enterprise |
|---|---|---|---|
| Price | Free | $10/dev monthly or $8/dev annual (+ tokens/dev) | Custom |
| Hosting | Self-hosted or hosted by Kodus | Hosted by Kodus | Self-hosted or hosted by Kodus |
| Bring Your Own Key (BYOK) | ✅ | ✅ | ✅ |
| PR usage | Unlimited PRs using your own API key | Unlimited PRs using your own API key | Unlimited PRs using Kodus AI Tokens API key |
| Users | Unlimited | Unlimited | Unlimited |
| Kody Rules | Up to 10 | Unlimited | Unlimited |
| Active plugins | Up to 3 | Unlimited | Unlimited |
| Kody Memory | ✅ | ✅ | ✅ |
| Quality Radar issues | Unlimited | Unlimited | Unlimited |
| Priority queue for Kody Agents | ❌ | ✅ | ✅ |
| Engineering Metrics / Cockpit | ❌ | ✅ | ✅ |
| SSO | ❌ | ❌ | ✅ |
| RBAC + audit logs + analytics | ❌ | ❌ | ✅ |
| Compliance | ❌ | ❌ | SOC 2 |
| Support | Discord Community Support | Discord Community + Email Support | Private Discord + Email + up to 5h/month dedicated onboarding/support |
Resources
| Resource | Description |
|---|---|
| Website | Learn more about Kodus, product capabilities, and pricing. |
| Documentation | Setup guides, product docs, CLI usage, and self-hosting instructions. |
| Kodus Cloud | Start using Kodus without managing infrastructure. |
| Self-Host Guide | Deploy Kodus in your own environment. |
| CLI Docs | Run AI code reviews locally, in CI/CD, or inside coding agents. |
| Discord Community | Ask questions, get setup help, and talk with the Kodus team. |
| Pricing | Compare Community, Teams, and Enterprise editions. |
| Schedule a Call | Talk with the Kodus team about setup, self-hosting, or enterprise needs. |
Contributing
We welcome contributions of all sizes 🧡
Fix a typo, improve the docs, report a bug, suggest a feature, or open a pull request for something you think should exist.
Not sure where to start? Open an issue or join the community. We’re happy to help.