分流人工智能
代码、计划和架构的协作人工智能分类——Claude、Gemini和Codex独立探索您的代码库,然后将结果与共识评分合并到一份优先报告中。将其用于安全审计、漏洞搜索、计划审查、对人工智能生成代码的第二意见等。可作为任何AI编辑器的Claude Code技能或MCP服务器。
______________________________________________________________________
npm install -g triage-ai
triage-ai "find security vulnerabilities"运作原理
- 每个AI代理都独立地探索你的代码库 --读取文件、跟踪导入、搜索模式。它们不仅限于扫描仪发现的内容;它们以只读模式运行,可以调查存储库中的任何内容。
- 调查结果已合并 --来自2+型号的相同问题变成 共识 结果(高置信度、低误报)。严重性分歧被标记为冲突,由您决定。
- 一份优先报告 --S0(阻断器)到S3(样式),补丁采用统一的diff格式。
您至少需要安装一个AI CLI。三个抓住一个错过的东西。
它的作用
- 安全审计 --SQL注入、XSS、命令注入、身份验证绕过、硬编码秘密
- Bug检测 --逻辑错误、竞争条件、空引用、缺少错误处理
- 关于人工智能计划的第二意见 --在实施Claude/Gemini/Copilot提出的方案之前,请进行独立的多模型审查
- 架构分析 --代理探索整个代码库以了解上下文,而不仅仅是单个文件
- 共识评分 --当多个模型独立标记同一问题时,置信度很高
- 冲突检测 --当模型在严重性上存在分歧时,你会得到两种观点
- 自动修补 --模型提出了统一的差异,安全地应用于新的git分支(
--dry-run预览) - AI内存 —
--remember将结果保存到CLAUDE.md/GEMINI.md/AGENTS.md,以便项目中的每个AI工具都知道发现了什么分类
安全模型
每个AI CLI都在 非交互式管道模式 --他们可以阅读和探索你的代码库,但不能修改它:
| CLI | 模式 | 发生了什么 |
|---|---|---|
| 克劳德代码 | -p (打印模式) | 读取文件、搜索、分析--无交互式写入 |
| Gemini CLI | -p (打印模式) | 读取文件、搜索、分析--无交互式写入 |
| OpenAI Codex | --sandbox read-only | 在只读沙盒中完全自动批准--无法写入 |
机密(API密钥、密码、私钥、AWS凭据、GitHub令牌、npm令牌、Slack令牌、Stripe密钥、Anthropic/OpenAI密钥)从发送到模型的任何上下文中进行编辑。敏感文件(.env、凭据、二进制文件)被自动排除。
安装
npm install -g triage-ai
triage-ai setup # detects installed CLIs, offers to install missing ones
triage-ai ready # smoke test — verifies each model can respond需要 18+和至少一个AI CLI:
| 型号 | 安装 | 身份验证 |
|---|---|---|
| 克劳德代码 | npm install -g @anthropic-ai/claude-code | claude (交互式登录) |
| Gemini CLI | npm install -g @google/gemini-cli | gemini (交互式登录) |
| OpenAI Codex | npm install -g @openai/codex | codex (交互式登录) |
用法
cd your-project
# Full 3-model review
triage-ai "find bugs and security issues"
# Single model, quick check
triage-ai --models claude "quick security scan"
# Review only uncommitted changes
triage-ai --diff-only "check my changes for bugs"
# Save report + remember findings
triage-ai --remember --out report.md "full security audit"
# Preview patches without applying
triage-ai --dry-run "fix the SQL injection"
# Restrict models to pre-gathered context only (faster, no filesystem exploration)
triage-ai --context-only "review this code for issues"关于人工智能计划的第二意见
一个突出的用例:在实施之前,对人工智能提出的计划进行多模型审查。
当Claude、Gemini、Copilot或任何人工智能编码助理提出一个计划时——重构、新功能、架构更改——在承诺之前运行分类以获得独立的第二意见:
# After Claude proposes changes in plan mode
triage-ai "Claude proposed the following plan — review it for correctness, \
security risks, edge cases and anything it might have missed: \
[paste or describe the plan]"
# Review AI-generated code that's been staged
triage-ai --diff-only "an AI generated these changes — review for bugs and security"
# Validate a migration plan
triage-ai "Review this database migration plan for data loss risks, \
missing rollback steps and performance issues"每个模型都根据您的实际代码库独立评估计划——探索文件、检查假设,并标记提出AI可能忽略的问题。共识发现(由2+模型标记)尤其值得关注。
示例输出
TTY模式(交互式终端)
┌ triage-ai v1.3.0
│
├ Intake
│ ✓ Scanned repository 42 files, 3 modified
│ ✓ Built context package 186 KB across 28 files
│
├ Triage Team
│ ✓ Claude found at /usr/local/bin/claude v2.1.50
│ ✓ Gemini found at /usr/local/bin/gemini v0.30.0
│ ✗ Codex not installed (skipping)
│
├ Assessment
│ ✓ Claude 16 findings (47.3s)
│ ✓ Gemini 14 findings (38.2s)
│
├ Diagnosis
│ ✓ Clustered findings 22 unique issues from 2 models
│ ✓ Consensus detected 4 issues confirmed by 2+ models
│
├ Report
│ ✓ Generated report 3 blockers, 5 high, 8 medium, 6 low
│
└ Done in 52.3s — 22 findings, 4 consensus非TTY模式(CI/AI编排器)
当AI编排器(如Claude Code)通过管道或运行时,分流AI输出机器可解析的标记:
=== triage-ai v1.3.0 ===
[phase:1/6] intake — Intake
[intake] Scanning repository…
[intake] Scanning repository ✓ (42 files)
[intake] Built context package ✓ (186 KB across 42 files)
[phase:2/6] team — Triage Team
[team] Claude ✓ (found at /usr/local/bin/claude v2.1.50)
[team] Gemini ✓ (found at /usr/local/bin/gemini v0.30.0)
[team] Claude ✓, Gemini ✓
[phase:3/6] assess — Assessment
[assess] Claude…
[assess] Gemini…
[assess] Claude… 15s
[assess] Gemini… 15s
[assess] Gemini ✓ (14 findings (38.2s))
[assess] Claude ✓ (16 findings (47.3s))
[phase:4/6] diag — Diagnosis
[diag] Clustered findings ✓ (22 unique issues from 2 models)
[diag] Consensus detected ✓ (4 issues confirmed by 2+ models)
[phase:5/6] report — Report
[report] Generated report ✓ (3 blockers, 5 high, 8 medium, 6 low)
[report] 3 S0, 5 S1, 8 S2, 6 S3
=== TRIAGE COMPLETE ===
Time: 52.3s | Findings: 22 | Consensus: 4
Severity: 3 blockers, 5 high, 8 medium, 6 low
Model Results:
✓ claude 16 findings in 47.3s
✓ gemini 14 findings in 38.2s
======================
=== REPORT START ===
# Triage Report
...
=== REPORT END ===CLI参考
triage-ai [PROMPT] [OPTIONS]
triage-ai setup # detect CLIs, install missing, show auth hints
triage-ai ready [models] # smoke test all or specific models| 选项 | 默认值 | 描述 |
|---|---|---|
--models | claude,gemini,codex | 使用哪些模型(逗号分隔) |
--diff-only | off | 只分析git diff |
--max-files | 200 | 初始上下文中的最大文件数(代理在此之外进行探索) |
--context-only | off | 将模型限制在预先收集的上下文中(更快,无需探索) |
--format | md | 输出格式: md 或 json |
--out | stdout | 将报告写入文件 |
--apply | off | 应用补丁(首先创建git分支) |
--dry-run | 关闭 | 预览补丁而不应用 |
--timeout | 300 | 每种型号超时时间(秒) |
--nice | 10 | 子流程优先级很高 |
--remember | off | 将结果保存到CLAUDE.md、GEMINI.md、AGENTS.md |
--forget | -- | 从内存文件中删除分类结果 |
--verbose | off | 详细进度输出 |
--mcp | -- | 作为MCP服务器启动 |
严重级别
| 级别 | 名称 | 示例 |
|---|---|---|
| S0 | 阻断器 | SQL注入、RCE、身份验证旁路、数据丢失 |
| S1 | 高 | 逻辑错误、竞争条件、XSS |
| 第2页 | 中等 | N+1个查询,缺少验证 |
| 第3页 | 低 | 命名约定,死代码 |
AI编辑器集成
分流ai可以在任何ai编辑器中工作——作为 Claude代码技能 (自动发现,最丰富的体验)或作为 MCP服务器 (通用,适用于任何地方)。
克劳德代码(技能——推荐)
对人工智能船进行分类 SKILL.md Claude Code在安装后自动发现。Claude将知道何时以及如何在没有任何配置的情况下运行分流。
npm install -g triage-ai
# That's it — ask Claude to "run a triage" or "find security issues"您还可以使用 /triage 斜线命令:
cp examples/claude-code-skill.md ~/.claude/commands/triage.md
# Then: /triage "find security vulnerabilities"克劳德代码(MCP)
或者,在中添加分流作为MCP服务器 ~/.claude/settings.json:
{
"mcpServers": {
"triage": {
"command": "triage-ai",
"args": ["--mcp"]
}
}
}Gemini CLI
增添 ~/.gemini/settings.json:
{
"mcpServers": {
"triage": {
"command": "triage-ai",
"args": ["--mcp"]
}
}
}对于项目级上下文,复制示例内存文件:
cp examples/gemini-md-example.md your-project/GEMINI.mdOpenAI Codex
添加到Codex MCP配置中,或直接运行:
codex "run triage-ai to find bugs"对于项目级上下文,复制示例内存文件:
cp examples/agents-md-example.md your-project/AGENTS.md光标/风帆/临床/VS代码(副印本)/Zed/继续
添加到编辑器的MCP配置中:
{
"mcpServers": {
"triage": {
"command": "triage-ai",
"args": ["--mcp"]
}
}
}配置
模型覆盖
export TRIAGE_CLAUDE_CMD="claude" # override CLI command
export TRIAGE_GEMINI_CMD="gemini"
export TRIAGE_CODEX_CMD="codex"
export TRIAGE_GEMINI_MODEL="gemini-2.5-pro" # override Gemini model其他环境变量
export TRIAGE_HEARTBEAT_MS=15000 # non-TTY heartbeat interval (default 15s)免责声明
分流ai是一个编排第三方ai CLI工具的包装器。通过使用它,您承认:
- 您的代码将发送到外部AI服务 (Anthropic、谷歌、OpenAI)通过各自的CLI工具。每项服务的服务条款和隐私政策均适用。
- 人工智能分析不能替代专业安全审计。 调查结果可能包含误报或遗漏真正的漏洞。在应用之前,始终验证人工智能生成的发现和补丁。
- 无保修。 此工具是根据MIT许可证提供的。作者不对因使用而导致的任何损害、数据丢失或安全事件负责。
- 补丁是最好的努力。 在应用之前,请务必查看AI建议的补丁。使用
--dry-run第一。
发展
git clone https://github.com/wyman101/triage-ai.git
cd triage-ai && npm install && npm run build
npm test # runs vitest (18 tests)许可证
麻省理工学院
