getsentry/warden
Your code is under new management. Agents that review your code.
什麼是 Warden?
Warden 是 Sentry 提供的開源工具,讓您能在倉儲中直接執行 AI 驅動的程式碼審查。它將審查邏輯視為 「技能」 —— 存放在一般目錄中的可重用分析模組(例如 .agents/skills/ 或 .claude/skills/)。一旦定義好技能,您即可透過命令列本地呼叫,或透過 GitHub Action 在每次拉取請求(PR)上自動執行。
核心理念
| 概念 | 含義 |
|---|---|
| 技能,而非提示 | 不再為每次執行撰寫臨時提示,而是只需撰寫一次技能(小型腳本或設定),即可在任何地方重複使用。 |
| 兩種執行模式 | • CLI – 執行 npx @sentry/warden 來掃描您推送前的目前分支。• GitHub Action – 將 Warden 附加到倉儲,使每次 PR 都能獲得自動審查。 |
| 原生 GitHub 反饋 | 發現結果以帶建議修復的內聯 PR 評論形式出現,並在 GitHub Checks UI 中聚合,使開發者的審查體驗無縫銜接。 |
快速開始(來自 README)
# 1. 將 Warden CLI 安裝到您的倉儲
npx @sentry/warden init
# 2. 新增內建審查「技能」
# – 安全性導向的審查
npx @sentry/warden add security-review
# – 通用程式碼品質審查
npx @sentry/warden add code-review
# 3. 在目前分支上執行審查
# (需要 LLM API 金鑰 – OpenAI 或 Anthropic)
export WARDEN_OPENAI_API_KEY=… # 或 WARDEN_ANTHROPIC_API_KEY
npx @sentry/warden
# 4. 讓 Warden 自動修復簡單問題
npx @sentry/warden --fix
完整文件請造訪 https://warden.sentry.dev/。
內部運作原理
- 技能 存放在標準目錄中(如
.agents/skills/或.claude/skills/)。每個技能定義了 LLM 用於分析程式碼的提示或邏輯。 - CLI 將變更檔案打包,傳送給選定的 LLM(OpenAI 或 Anthropic),並解析模型的回應為可操作的發現結果。
- 在 CI 中,GitHub Action 會在每個 PR 上執行相同流程,然後將發現結果作為 內聯評論 發布,並在 Checks 選項卡中聚合。
- 可選的
--fix標誌會嘗試自動套用建議的修改(例如格式化、簡單重構)。
開發與貢獻
# 克隆並設定倉儲
git clone git@github.com:getsentry/warden.git
cd warden
pnpm install && pnpm build
# 執行單元測試
pnpm test
pnpm test:coverage # 帶有覆蓋率報告
# 執行端到端評估套件(需要 LLM API 金鑰)
pnpm evals
packages/evals 檔案夾包含一個用於評估技能效能的小型框架。
授權
Warden 以 FSL-1.1-ALv2 授權發布。
核心價值:Warden 讓團隊只需一次定義 AI 驅動的程式碼審查邏輯(作為可重用的「技能」),即可在推送前本地執行,或在每次 PR 上自動應用,同時將結果直接展示在 GitHub UI 中。
相關
- 專案
- 專案
- 專案
- 專案
- 專案