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 中。
相关
- 项目
- 项目
- 项目
- 项目
- 项目