mcpField
F
Faultline

Faultline

远程服务
faultline.nxtg.aiAI 与智能体13 天前更新

关于 Faultline

Faultline 会将 AI 生成的文本拆分为事实主张,并依据证据逐项核查,供评估 AI 输出的团队使用。它提供 CLI 和 API 工作流,也可用于 CI 构建门禁。

主要功能

  1. 01提取并分类原子主张
  2. 02依据证据和置信度核查主张
  3. 03比较扫描结果并追踪判定变化
  4. 04根据风险和报告条件拦截 CI 构建
  5. 05导出 JSON、Markdown、HTML 和 SARIF 报告
  6. 06应用 YAML 规则和合规模板

适用场景

  1. 01核查 AI 生成报告中的事实主张
  2. 02风险超过阈值时使 CI 失败
  3. 03查看两次扫描之间的变化
  4. 04对文档集合应用策略检查

MCP 相关

项目包含 MCP 服务。设置 FAULTLINE_API_KEY 后,MCP 服务会通过托管 API 使用服务端提供方密钥运行扫描。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://faultline-api.fly.dev/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://faultline-api.fly.dev/mcp需要授权

工具

详细介绍

Faultline — 我们会核验 AI 输出的依据。

让你的 Agent 技术栈面向未来。与所有模型厂商无关:NXTG.ai 不构建 Faultline 所核验的模型。

Faultline 会将 AI 生成的输出拆解为原子化声明,逐条对照实时证据进行核验,并可根据核验结果使 CI 构建失败。

发布阶段:alpha CI npm 测试 TypeScript 许可证

发布阶段:alpha。 目前可用,但仍有不少需要打磨之处。我们不宣称任何准确率:判定准确率尚未经过独立重新评估。1.0 版本发布前,任何内容都可能发生变化。

API 生成的治理记录

托管 API 提供三种以代码形式生成的治理记录:风险登记表导出(POST /scan/risk-register)、防篡改审计日志清单(GET /audit/log/manifest,仅限管理员密钥)以及人工签核记录(POST /scans/:id/approve、GET /scans/:id/approvals)。在清单中,每个链哈希都是条目哈希后接前一个链哈希所得到内容的 SHA-256。无需使用任何 Faultline 工具,你只需用 openssl dgst -sha256 就能重新计算整个哈希链。


当前状态(检查于 2026-10-01)

项目状态检查方式
npm 上的 CLI@nxtg/faultline 0.11.1npm view @nxtg/faultline version
托管 APIhttps://faultline-api.fly.dev,版本 0.11.1curl https://faultline-api.fly.dev/health
Web 应用https://faultline.nxtg.ai(独立仓库 faultline-web,部署在 Vercel 上)2026-10-01 查看在线定价页面
套餐Free:每月 5 次扫描。Personal:$19/月,100 次扫描。Pro:$49/月,500 次扫描。Enterprise:定制,扫描额度在合同中设定https://faultline.nxtg.ai/pricing
多模型共识仅限 Enterprise。 对所有低于 Enterprise 套餐的调用方,API 都会在数据流打开前返回 403 consensus_not_in_planpackages/api/src/plugins/consensus-entitlement.ts;fp 于 2026-10-01 在线检查(pro、personal 和 free 均返回 403,enterprise 返回 200,使用 mock provider)
POST /critique需要 API 密钥。受速率限制。纳入 provider 支出上限,并记录到支出账本packages/api/src/routes/critique.ts
Provider 支出上限$100/月。账本会记录每次托管扫描和 critique。该机制默认未启用(设置 FAULTLINE_PROVIDER_SPEND_CAP=on 可启用),且在生产环境中处于关闭状态docs/provider-spend-cap.md;2026-10-01 的 GET /usage 显示 providerBudget.enforced=false
每个密钥的月度扫描上限(API 端)未启用(FAULTLINE_USAGE_CAP)。上方的套餐限额由 faultline-web 强制执行docs/usage-cap.md

功能介绍

能力描述
原子化声明提取将 AI 输出拆解为事实/观点/解读,并评估重要性
逐条声明验证判定结果:支持/矛盾/混合/未验证,并提供置信度评分
扫描对比POST /scan/compare + faultline compare — 新增/移除的声明、判定结果变化、信任评分变化
CI 门禁faultline compliance-report --ci:当扫描的总体风险为高或严重、报告中的文章检查未通过、报告的领域清单项未通过,或报告评分低于 --threshold 时,退出码为 1;--strict 还会在文章检查部分通过以及清单项未经评估时判定失败。否则退出码为 0
最弱环节检测逐条声明脆弱性评分 — 找出最削弱论证的声明
声明依赖关系图Mermaid 和 Graphviz DOT 可视化
规则引擎使用 YAML 定义规则;内置 PII、偏见、毒性规则集
CI 门禁--fail-on high 返回退出码 1;支持输出 SARIF,供 GitHub Code Scanning 使用
企业级 APIREST API(约 190 个路由),包含密钥管理、审计跟踪、速率限制、webhook、批量扫描和缓存
提供商故障转移自动按 Gemini → OpenAI → Claude → Perplexity 顺序切换;熔断器冷却时间为 5 分钟
监控GET /health/deep、GET /metrics(Prometheus)、GET /status(HTML 仪表板)
定时任务POST /jobs — 按 cron 计划定期扫描,并通过 webhook 发送结果
集成Python 客户端源码位于 sdks/python,MCP 服务位于 packages/mcp,Terraform 提供程序位于 packages/terraform-provider,GitHub Action 为 nxtg-ai/faultline-action(参见 SDK 和集成)
多租户租户 CRUD、API 密钥关联、按租户汇总用量
成本跟踪估算每次扫描的 token 数和成本;GET /costs 支持按提供商/租户/日期筛选
扫描历史GET /scans/search — 对 API 密钥过往扫描进行全文搜索(管理员密钥:搜索全部),支持游标分页
规则模板(HIPAA、SOX、FERPA、Gov)HIPAA / SOX / FERPA / Gov 模板;POST /scan/compliance/:template
批量导入POST /scan/bulk — 上传 ZIP 格式的文档,创建异步任务;使用 GET /jobs/:id/progress 查看进度
Swagger UIGET /docs — 交互式 OpenAPI 3.0 规范,每个端点均可试用
声明可解释性GET /claims/:id/explain — 推理链、发现的证据、可执行的建议
扫描差异POST /scan/diff — 扫描两段文本,生成内联差异(新增/移除/更改/未更改)
截止日期列表GET /compliance/deadlines — 列出即将到来的法规日期及距每个日期的天数;不进行评估
截止日期关键词检查POST /compliance/scan-check — 将声明文本与关联到这些日期的关键词匹配
国际化Accept-Language: es/fr/en — 本地化错误消息和报告标签(EN/ES/FR)
基于属性的测试fast-check oracle 覆盖:置信度边界、去重不变量、成本汇总、排序稳定性
GDPR 数据请求(第 15 条导出、第 17 条删除)第 15 条导出(GET /tenants/:id/export → ZIP)+ 第 17 条删除(DELETE /tenants/:id/data),涵盖扫描历史、审计日志、通知、webhook、成本和计划任务
多模型共识使用 pipelineConfig.consensus: true 调用 POST /scan/stream。仅限企业版,由服务端强制执行(企业版以下返回 403)
声明批评POST /critique:针对未通过的声明提供批评和改进后的提示词;适用 API 密钥、速率限制和提供商支出上限
实时扫描流式传输GET /scan/stream?text=...&provider=mock — 服务器发送事件;通过 onClaimVerified 回调逐条渐进式传送已验证声明;依次流式传送 start → claim_verified × N → complete;无需轮询
经变异测试的核心代码Stryker 门禁(CRUCIBLE Gate 6,阈值 80%):cli/scan.ts 81.97%,stream.ts 88.64%,compliance-report.ts 80.81%,GDPR 存储为 80.94% 至 96.81%。根据 docs/mutation-testing.md,最近测量时间为 2026-03-21 至 2026-04-17;此后未重新运行

功能

提供方
提供方所需项适用场景
GeminiGEMINI_API_KEY实时联网验证(可获取免费密钥)
PerplexityPERPLEXITY_API_KEY基于实时搜索的验证
OpenAIOPENAI_API_KEY训练数据验证、GPT 生态系统
ClaudeANTHROPIC_API_KEY训练数据验证、注重推理的文档
Mock无CI 流水线、单元测试、离线开发。返回合成判定,不验证任何内容;CLI 不会静默回退到此提供方

使用 --provider <name> 切换提供方。无需修改代码。如果没有提供方密钥,也没有设置 FAULTLINE_API_KEY,CLI 会提示未检查任何内容并退出,而不是捏造判定(自 v0.10.1 起)。设置 FAULTLINE_API_KEY 后,guard 和 MCP 服务会通过托管 API 执行扫描,并使用服务端提供方密钥。

文档摄取
  • PDF 和图像上传并进行 OCR — faultline scan --file document.pdf 或 POST /scan/upload;由 pdf-parse + tesseract.js 提供支持
  • 文本文件 — --input doc.txt
  • 目录 — --dir ./docs --glob "*.md"
报告和规则
  • 扫描报告(PDF),通过 POST /scan/report 生成
  • 规则引擎 — 使用 YAML 定义的规则:PII 检测、偏见指标、毒性标记、自定义规则
输出格式
  • json — 程序化处理、CI 流水线
  • markdown — PR、报告、文档
  • html — 可在浏览器中查看的审计报告
  • sarif — VS Code Problems 面板、GitHub Code Scanning(--sarif 简写会写入 results.sarif)
企业级 API
  • API 密钥管理 — 完整生命周期:POST /keys、GET /keys、GET /keys/:id、PATCH /keys/:id、DELETE /keys/:id;软禁用/启用;范围权限(scan / report / upload / admin / pro)
  • 密钥卫生管理 — 检测休眠密钥(GET /keys/dormant)、到期通知(7d/1d 阈值)、批量删除/禁用/启用、使用情况分析(GET /keys/usage)、卫生管理仪表板(GET /keys/usage/view)
  • 审计跟踪 — 每次请求都会记录 SHA-256 输入哈希;GET /audit/log(查询 + 筛选)、GET /audit/log/stats、GET /audit/log/export(NDJSON);按租户限定视图
  • 使用量计量:通过 GET /usage 查看每个密钥的每日扫描次数和月度配额使用情况(管理员密钥还可查看服务提供商支出预算)
  • 速率限制 — 按层级设置每分钟限制:free 为 10/min,pro 为 100/min,admin 为 10,000/min;提供 X-RateLimit-* 标头
  • 支出与配额门控:每个密钥的月度扫描配额(402)和全体服务提供商支出上限(503)默认均未启用;无论是否启用,支出台账都会记录每次托管扫描和 /critique 调用
  • 多租户 — 租户 CRUD(POST /tenants);所有资源均按租户限定:扫描历史、通知、webhook、审计日志;GET /tenants/:id/usage
  • 成本跟踪 — 按服务提供商费率估算每次扫描的令牌数/成本;GET /costs(按 keyId/provider/date 筛选 + 汇总)
  • 使用情况仪表板 — GET /dashboard:实时扫描动态、服务提供商健康状态、活跃密钥、扫描次数(今天/本周/本月)、风险分布
  • Webhooks — POST /webhooks;scan.complete / scan.failed / job.complete 事件;HMAC-SHA256 签名;每个 webhook 的重试配置(maxAttempts 1–5、retryDelayMs);速率限制(FAULTLINE_WEBHOOK_RATE_LIMIT);熔断器(FAULTLINE_WEBHOOK_CIRCUIT_THRESHOLD/COOLDOWN_MS);投递日志 + 仪表板
  • 批量扫描 — POST /scan/batch(1–10 段文本,并发处理,部分失败语义);参见 docs/ci-integration.md
  • 扫描比较 — POST /scan/compare:比较两项扫描结果的差异(新增/移除的声明、判定变化、信任评分差值)
  • 缓存 — SHA-256 内容哈希缓存;TTL 为 24h(环境变量 FAULTLINE_CACHE_TTL_MS);X-Cache: HIT/MISS 标头;GET /cache/stats、DELETE /cache
  • 计划任务 — POST /jobs:按 */N * * * * cron 计划定期扫描;结果发送到 webhookUrl
  • 服务提供商故障转移 — 自动按 Gemini → OpenAI → Claude → Perplexity → Mock 的顺序切换;失败 5 次后触发熔断器,5 分钟后重置;所有服务提供商均不可用时返回 503
  • 扫描历史 — 每个 API 密钥的历史彼此隔离(管理员密钥可查看全部);GET /scans/search?q= 全文搜索;检测过期扫描(GET /scans/stale);使用情况分析(GET /scans/usage);批量清理(DELETE /scans/stale);卫生管理仪表板;faultline scans CLI
  • 规则模板(HIPAA、SOX、FERPA、Gov) — HIPAA / SOX+FINRA / FERPA / Government;POST /scan/compliance/:template;支持上传自定义模板
  • 批量导入 — POST /scan/bulk(文档 ZIP → 异步任务);GET /jobs/:id/progress(百分比 + 单文件状态 + 摘要)
  • 监控 — GET /health/deep(子系统状态 + 服务提供商配置标志)、GET /metrics(Prometheus 文本)、GET /status(HTML)
  • Swagger UI — GET /docs(交互式 OpenAPI 3.0)、GET /docs/json、GET /docs/yaml
  • 声明搜索 — GET /claims?text=&verdict=&from=&to=&source= 全文搜索声明索引
  • GDPR 数据请求(第 15 条导出、第 17 条删除) — GET /tenants/:id/export(第 15 条,需管理员权限):ZIP 归档,包含清单、扫描历史、审计日志(NDJSON)、通知、webhook、使用情况、成本、计划任务;DELETE /tenants/:id/data(第 17 条,需管理员权限):删除某租户在 8 类数据中的所有个人身份信息(PII);具备幂等性;保留租户记录
  • 国际化 — 发送 Accept-Language: es 或 Accept-Language: fr 以获取本地化错误消息;默认使用英语

快速开始(CLI)

步骤 1: 获取免费的 Gemini 密钥(无需信用卡):aistudio.google.com/apikey

步骤 2:

export GEMINI_API_KEY="your-key"
npx @nxtg/faultline scan --input your-ai-output.txt --provider gemini

预期输出(节选):

Provider:     Google Gemini
Overall Risk: HIGH

--- Claim Verifications ---
  [OK] c1: supported     — Confirmed by census data. (confidence: 0.82)
  [!!] c2: contradicted  — Audit found significant bias. (confidence: 0.91)
  [??] c3: mixed         — Evidence varies by region. (confidence: 0.63)

其他提供商:

export ANTHROPIC_API_KEY="..."
npx @nxtg/faultline scan --input doc.txt --provider claude

export OPENAI_API_KEY="..."
npx @nxtg/faultline scan --input doc.txt --provider openai

export PERPLEXITY_API_KEY="..."
npx @nxtg/faultline scan --input doc.txt --provider perplexity

扫描 PDF 或图像:

npx @nxtg/faultline scan --file report.pdf --provider gemini
npx @nxtg/faultline scan --file screenshot.png --provider gemini

检查通过管道传入的 Agent 输出:

claude -p "..." | npx @nxtg/faultline guard --fail-on refuted

CI 门禁(无需 API 密钥,使用合成判定结果,仅测试接线):

npx @nxtg/faultline scan --input doc.txt --provider mock --fail-on high
# exit 0 = pass, exit 1 = HIGH or CRITICAL findings found
# --provider mock verifies nothing; use a real provider for a real gate

API 快速开始

启动服务:

cd packages/api
FAULTLINE_API_KEY=your-key npm run dev
# Server listening on http://localhost:3010

扫描文本载荷:

curl -X POST http://localhost:3010/scan \
  -H "x-api-key: your-key" \
  -H "Content-Type: application/json" \
  -d '{"text": "GPT-4 has 1 trillion parameters.", "provider": "mock"}'

上传 PDF 或图像进行 OCR 扫描:

curl -X POST http://localhost:3010/scan/upload \
  -H "x-api-key: your-key" \
  -F "[email protected]"

生成扫描结果的 PDF 报告:

curl -X POST http://localhost:3010/scan/report \
  -H "x-api-key: your-key" \
  -H "Content-Type: application/json" \
  -d '{"text": "AI system processes medical records.", "provider": "mock"}' \
  --output scan-report.pdf

创建 API 密钥:

curl -X POST http://localhost:3010/keys \
  -H "x-api-key: your-admin-key" \
  -H "Content-Type: application/json" \
  -d '{"name": "ci-pipeline", "tier": "pro", "permissions": ["scan", "report"]}'

注册 webhook:

curl -X POST http://localhost:3010/webhooks \
  -H "x-api-key: your-admin-key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://your-service.example.com/hooks/faultline", "events": ["scan.complete"]}'

查看使用情况仪表板:

curl http://localhost:3010/dashboard -H "x-api-key: your-key"

托管 API:https://faultline-api.fly.dev(GET /health 无需密钥)。运行中的服务可通过 GET /docs 访问交互式文档。

检查共识门控(需要 API 密钥;mock 提供商不会产生任何费用):

curl -X POST http://localhost:3010/scan/stream \
  -H "x-api-key: your-key" -H "Content-Type: application/json" \
  -d '{"text": "x", "provider": "mock", "pipelineConfig": {"consensus": true}}'
# below Enterprise: 403 {"error":"consensus_not_in_plan", ...}

路由参考:packages/api/README.md。packages/api/docs/openapi.yaml 中的规范声明版本为 0.7.0,包含 48 个路径,因此仅覆盖当前路由的一部分。


架构

Input: AI-generated text / PDF / image
  │
  ▼ Extract
  Atomic claims (fact / opinion / interpretation, importance 1–5)
  │
  ▼ Verify
  Per-claim verdict (supported / contradicted / mixed / unverified)
  Confidence score (0.0–1.0)
  │
  ▼ Synthesize
  Weakest-link detection — which claim collapses the argument?
  Claim dependency graph — how do failures propagate?
  │
  ▼ Refine
  Critique of failed claims + improved prompt generation

Monorepo 目录结构:

packages/
├── cli/                  # @nxtg/faultline (npm 0.11.1): CLI + scan engine
│   ├── cli/              # Commands: scan, guard, report, watch, critique, graph, weakest, compare…
│   ├── providers/        # Gemini, Claude, OpenAI, Perplexity, Mock adapters
│   ├── compliance/       # EU AI Act risk categories
│   ├── rules/            # Rule engine (PII, bias, shell injection…)
│   ├── analysis/         # Weakest-link scoring, claim graph
│   ├── history/          # Scan history store
│   ├── consensus/        # Multi-model consensus engine
│   └── templates/        # Red-team prompt template library
├── api/                  # @nxtg/faultline-api (not published to npm): Fastify v5 REST API, deployed on Fly
│   ├── src/routes/       # /scan, /scan/stream, /critique, /keys, /usage, /jobs…
│   ├── src/store/        # KeyStore, AuditLogger, CircuitBreaker, ScanCache, provider-spend ledger…
│   ├── src/plugins/      # Auth, rate limit, usage cap, provider-spend cap, consensus entitlement
│   └── docs/             # openapi.yaml (partial, version 0.7.0)
├── mcp/                  # @nxtg/faultline-mcp 0.12.1: MCP server (not on npm as of 2026-10-01)
├── terraform-provider/   # Go Terraform provider
└── web/                  # @nxtg/faultline-web: original React/Vite visualization app (Kaggle origin)
sdks/
└── python/               # Python client source (pyproject name faultline-sdk 0.5.0; not confirmed on PyPI, see SDKs)

位于 https://faultline.nxtg.ai 的生产 Web 应用是一个独立仓库(faultline-web,使用 Vercel 上的 Next.js)。它不属于此 monorepo。

存储(API 层):

存储职责
KeyStoreAPI 密钥 CRUD、权限范围控制
AuditLoggerSHA-256 请求哈希、仅追加日志
UsageMeter每个密钥的每日扫描次数
ScanAnalytics汇总风险分布、趋势数据
RateLimiter每个层级每分钟的限流
WebhookStore端点注册、HMAC 密钥管理
ScanCacheSHA-256 内容哈希缓存、可配置 TTL、命中率统计
CircuitBreaker按提供商统计故障次数、冷却管理
JobStore + JobScheduler定期扫描任务 CRUD、基于 cron 的后台执行
TenantStore租户 CRUD、API 密钥 → 租户关联
CostStore每次扫描的令牌数/费用记录、提供商费率表、汇总查询
ProviderSpend(store/provider-spend.ts)仅追加的 USD 账本和月度汇总,用于执行每月 100 美元的提供商支出上限
ScanHistoryStore最近 1000 次扫描(最新在前)、全文与筛选搜索、游标分页
ComplianceTemplateStoreHIPAA/SOX/FERPA/Gov 模板 + 自定义模板注册表
BulkJobStore异步 ZIP 扫描任务:进度跟踪、逐文件结果、摘要报告

CLI 命令

# Scan
faultline scan --input doc.txt --provider gemini
faultline scan --input doc.txt --provider claude --output-format markdown
faultline scan --input doc.txt --sarif                 # writes results.sarif
faultline scan --input doc.txt --fail-on high          # exit 1 if high/critical
faultline scan --file document.pdf                     # PDF/image via OCR
faultline scan --dir ./docs --glob "*.md"              # batch scan directory

# Compare two texts side-by-side
faultline compare --before "old-doc.txt" --after "new-doc.txt" --provider mock
faultline compare --before "old text" --after "new text" --output-format json

# Forensics
faultline weakest  --input doc.txt --provider gemini   # weakest-link claim
faultline graph    --input doc.txt --format mermaid    # claim dependency graph
faultline critique --input doc.txt --provider gemini   # critique + improved prompt

# Agent output
claude -p "..." | faultline guard --fail-on refuted    # verify piped text, gate on the verdict

# Red-team
faultline scan --templates injection,bias              # template library
faultline templates list --category injection

# History + trends
faultline history
faultline trend --file doc.txt

# Utilities
faultline stats                                      # npm download stats
faultline stats --costs --api-url http://localhost:3010 --api-key <key>
faultline rules                                        # list detection rules
faultline init                                         # generate .faultlinerc.json
faultline --version
faultline --help

SDK 和集成

TypeScript / Node.js

此仓库中没有 TypeScript SDK 包,且 @nxtg/faultline-sdk 未发布到 npm(npm view 于 2026-10-01 返回 404)。可直接调用 REST API,或使用 CLI(@nxtg/faultline)。

const res = await fetch('https://faultline-api.fly.dev/scan', {
  method: 'POST',
  headers: { 'x-api-key': process.env.FAULTLINE_API_KEY!, 'Content-Type': 'application/json' },
  body: JSON.stringify({ text: 'GPT-4 has 1 trillion parameters.', provider: 'gemini' }),
});
const result = await res.json();
console.log(result.overallRisk); // 'low' | 'medium' | 'high' | 'critical'
Python

源代码位于 sdks/python(pyproject 名称为 faultline-sdk,版本 0.5.0,运行时依赖为零)。从代码检出目录安装:

pip install ./sdks/python

不要运行 pip install faultline-sdk。截至 2026-10-01,PyPI 上的该名称(版本 0.24.0)属于无关项目(“Faultline Cloud”的 ML 训练检查点)。尚未核实此软件包是否曾以其他名称发布到 PyPI。

from faultline_sdk import FaultlineClient

client = FaultlineClient(api_key="your-key", base_url="http://localhost:3010")
result = client.scan("GPT-4 has 1 trillion parameters.")
print(result.overall_risk)  # 'low' | 'medium' | 'high' | 'critical'
MCP 服务

packages/mcp(@nxtg/faultline-mcp 0.12.1)向 Claude Code、Cursor 和其他 MCP 客户端提供 verify_claims 工具。截至 2026-10-01,该包尚未发布到 npm(npm view 返回 404),因此请从代码检出目录运行。请参阅 packages/mcp/README.md。

托管版本,无需安装:部署到 https://faultline-api.fly.dev/mcp 后,API 会通过 POST /mcp 提供相同的工具(Streamable HTTP,标头 x-api-key);每次扫描都会应用门控。请参阅 docs/INTEGRATION.md §13。

GitHub Action

该 Action 位于独立仓库 nxtg-ai/faultline-action(已存在标签 v1)。

- uses: nxtg-ai/faultline-action@v1
  with:
    input: docs/release-notes.md
    fail-on: high
  env:
    GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}

CI 集成

请参阅 docs/ci-integration.md,了解:

  • GitHub Actions 工作流(真实提供方 + 模拟提供方)
  • GitLab CI 示例
  • 针对暂存文件的 pre-commit 钩子
  • 使用 CI 门禁逻辑的基于 API 的批量扫描
  • 风险等级参考表

GitHub Actions 快速示例:

- name: Faultline Claim Audit
  env:
    GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
  run: |
    npx @nxtg/faultline scan \
      --input docs/release-notes.md \
      --provider gemini \
      --fail-on high \
      --output-format sarif > results.sarif

有何不同

Promptfoo 测试你的提示词。DeepEval 为你的 RAG 流水线评分。Faultline 审计 AI 实际说了什么。

FaultlinePromptfooDeepEval
将 AI 输出分解为原子声明是否否
根据实时证据验证声明是否否
针对每项声明进行置信度校准是否否
检测最薄弱环节是否否
声明依赖关系图是否否
扫描对比(对比两项输出)是否否
与 FM 无关(Gemini / Claude / OpenAI / Perplexity)是是否(Python)
提供方自动故障切换 + 断路器是否否
带审计跟踪 + 缓存的企业级 API是否否
Python 客户端 + MCP 服务是否否

测试与质量

2026-10-01 在每个软件包中通过 npx vitest run 测得(全部通过):

软件包测试文件测试
packages/api1372,450
packages/cli832,371
packages/mcp349
packages/web139
根目录 npm test(以上全部)2244,909
sdks/python(pytest)n/a100

变异测试分数列于上方的功能表中,且未在 2026-10-01 重新测量。


由 NextGen AI 构建

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。