Vigilis

io.github.piyushpathakqa由 GitHub 账号 piyushpathakqa 发布v0.4.1更新于 Nov 3, 2026

Gate AI-written tests: heal safe drift, refuse to hide real bugs, sign a verifiable receipt.

概览

AI 生成的概览

Vigilis 是面向 AI 编写测试的 QA 闸门:修复表面性的测试漂移,拒绝掩盖真实缺陷,并为每个决定签发可验证的凭证。

可以做什么
  • 通过探索运行中的应用网址生成 Playwright、Cypress 或 Selenium 测试用例
  • 把失败的测试判定为表面漂移、真实缺陷或偶发不稳定
  • 修复漂移:重写定位器、重跑确认通过并提交拉取请求
  • 对捕获真实行为变化的测试拒绝改动,并让闸门失败
  • 把测试运行与修复会话封装成哈希链式、可离线校验的凭证
  • 可选:在拒绝时发送 Slack 提醒并创建去重的 Linear 工单
适用场景
当编码智能体自行编写或修复端到端测试,而你需要一个失败即拦截的检查,确保红色测试没有被削弱或删除时使用。也适合需要可审计、防篡改证据来证明智能体在测试运行中做了什么(例如 SOX 或支付控制审查)的场景。
运行要求
通过 npx vigilis-mcp 以 stdio 在本地运行,需要 Node.js,并为浏览器自动化安装 Chromium。运行智能体需要按量计费的 Anthropic API 密钥,放在 ANTHROPIC_API_KEY 中;README 称使用快速模型每次运行约 10 美分。可选的 SLACK_WEBHOOK_URL 与 LINEAR_API_KEY 用于拒绝提醒。attest-run 与 verify 凭证命令无需密钥或网络。
安装前请注意
智能体会用真实浏览器访问你的应用,可能改写测试文件并提交拉取请求,请审查生成的改动。它会用你的密钥把应用内容和测试上下文发送到 Anthropic API,产生按次费用。设置相应密钥后,可选的 Slack 与 Linear 集成会发送提醒并创建工单。凭证只能证明智能体按顺序做了什么,并不证明其判断正确。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Vigilis,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

👁️ Vigilis

The QA gate for AI-written code.
It heals safe test drift, refuses real regressions, and signs every decision into an independent, verifiable receipt.

[npm] [MIT] [CI] [site]

[One agent, two decisions: a cosmetic drift is healed; a real bug is refused — both signed.]


The problem

Tell any coding agent to "make CI pass" and the cheapest path to green is deleting the test that caught the bug. AI now writes and fixes tests on its own — so the only question that matters is: can you trust what it did?

Vigilis answers it. Point it at the Playwright, Cypress, or Selenium suite you already have. When a test breaks, it decides:

  • Cosmetic drift (a renamed selector) → it heals the locator, re-runs to verify green, opens a PR.
  • A real behaviour change (checkout total went from $49 to $0) → it refuses to touch the test, fails the gate, and surfaces the bug instead of burying it.

And every decision is sealed into a signed, offline-verifiable receipt by an independent notary — so a refusal is something you can prove, not just claim.

Self-healing is the wedge. Verifiable proof is the point.

Where teams point it: gate AI-written code · self-heal without hiding bugs · auditable test runs · audit-grade evidence for SOX / payment controls · agent-native (MCP). → see the use cases

See it refuse a real bug

[vigilis heal refusing a real bug and sealing a verifiable receipt]

The agent ran the spec, saw it fail, checked that the selectors were all correct, concluded the app's login was genuinely broken, and refused to heal — then sealed a receipt anyone can verify offline.

Quickstart

bash
npm i -D vigilis                      # in your Playwright / Cypress / Selenium projectnpx playwright install chromium       # one-time, for browser automationexport ANTHROPIC_API_KEY=sk-ant-...   # a pay-as-you-go API key (not a Claude.ai subscription)
npx vigilis init                                   # scaffold vigilis.config.json (auto-detects your framework)npx vigilis generate https://your-app.com --run    # explore the app → write + run a real specnpx vigilis heal https://your-app.com --spec tests/login.spec.ts   # heal drift → verify green → PR (refuses real bugs)
# already have a suite running in CI? attest the run you just did — no API key, no secrets:npx playwright test --reporter=json > report.jsonnpx vigilis attest-run report.json --commit $GITHUB_SHA --exit-code $?npx vigilis verify .vigilis/attestation/qa-run-*.json    # offline: chain intact, or broken at record #N

Runs in your CI on your own key + chromium. About 10¢ per run on the fast model (--model claude-haiku-4-5); Opus by default for quality.

Why it's different

Vigilis
HealsRewrites the locator for cosmetic drift, re-verifies green, opens a PR.
RefusesA real regression is a hard, fail-closed contract — it will not weaken the assertion that caught the bug.
ProvesEvery heal and every refusal is sealed into an independent, offline-verifiable receipt (via Treeship).

Attestation is verifiable and auditable — it proves what the agent did, in order, unaltered. It does not claim the agent's judgement was correct. That honesty is the point: Vigilis improves signal, it doesn't hide failures.

Why a refusal is credible: no layer grades its own work. The actor (any agent) writes the code and tests; Vigilis judges the behaviour and gates the deploy; an independent notary (Treeship) signs the verdict. Vigilis never signs its own homework — which is what makes the proof worth anything to someone who doesn't already trust you.

Optional: alert on a refusal

On a real-bug refusal, Vigilis can post a Slack alert and file a deduplicated Linear ticket — each linking the signed receipt. Off by default; a no-op until you set SLACK_WEBHOOK_URL / LINEAR_API_KEY. See docs/REFUSAL-ACTIONS.md.

Drive it from Claude (MCP)

The same tools ship as an MCP server (vigilis-mcp, in the official MCP registry) — generate / triage / heal straight from Claude Desktop, Claude Code, or Cursor. Add it to your MCP client config:

json
{  "mcpServers": {    "vigilis": {      "command": "npx",      "args": ["-y", "vigilis-mcp"],      "env": { "ANTHROPIC_API_KEY": "sk-ant-..." }    }  }}

Full setup: docs/MCP.md.

Provenance receipts

Receipts work out of the box with zero secrets — no account, no API key, no network:

  • vigilis attest-run <report.json> seals any test run (not just Vigilis's own) into a receipt: it hash-chains the Playwright report's digest, the commit SHA, and the runner's exit code into a tamper-evident bundle under .vigilis/attestation/. Drop it after your existing playwright test step in CI and every run leaves evidence.
  • vigilis heal seals its whole triage-and-heal session the same way — every tool call and every decision, hash-chained in order.
  • vigilis verify <bundle> re-walks the chain offline and reports chain intact or broken at record #N. Anyone holding the file can check it; editing or deleting any step breaks every hash after it.

When the Treeship CLI is present, heal receipts are additionally signed by an independent notary — verify with treeship verify last, or share the hosted URL. No hard dependency; --no-receipt to opt out. See docs/TREESHIP.md.

Local bundles are verifiable and auditable (they prove what the agent did, unaltered and in order — not that its judgment was correct); Treeship upgrades that to a signed, independently-notarized receipt.

Why I built this

I've spent my career in QA, and AI just rewrote the job: agents now write and fix tests on their own. Huge speed win — but it quietly breaks the one thing testing exists for. When an agent makes a red test green, did it fix the bug, or delete the test that caught it? At scale, nobody can check every change by hand.

So Vigilis isn't another self-healer — healing is becoming a commodity. It's the layer that decides honestly which failures to heal and which to refuse, and signs every call so you don't have to take its word for it.

The way I think about it: git is a ledger of your code; Vigilis is a ledger of your agent's decisions — proof you can hand to someone who doesn't already trust you.

— Piyush


How it's built

Vigilis defines its QA tools once and exposes them twice — as an MCP server and as a CLI — over one Claude agent loop:

                     ┌──────────────────────────────┐                     │   core                       │  Anthropic Messages API + tool use                     │   Agent loop + Tool Registry │  browser · dom · fs · playwright · git                     └───────┬───────────────┬──────┘                ┌────────────▼──┐         ┌──▼───────────────┐                │ vigilis-mcp   │         │ vigilis (CLI)    │                │ MCP server    │         │ npx vigilis ...  │                │ (Claude)      │         │ (used in CI)     │                └───────────────┘         └──────────────────┘

The loop: Generate (explore a URL → write specs) → Triage (real-bug vs drift vs flake) → Heal (fix drift → verify green → PR, refuse real bugs). Author (plain-English intent → test plan) is on the roadmap.

Repo layout

vigilis/├─ packages/│  ├─ core/   # agent loop, tool registry, Claude client, prompts, refusal actions│  ├─ mcp/    # MCP server wrapping the registry│  └─ cli/    # the `vigilis` command (generate | triage | heal | attest-run | verify)├─ apps/│  ├─ sample-shop/   # Next.js demo target (login + products + cart, with seeded drift/bug toggles)│  ├─ cloud/         # governance cloud — org audit dashboard over signed receipts│  └─ web/           # landing page → vigilis.dev└─ tests/            # generated specs land here

Develop

bash
pnpm installcp .env.example .env    # add ANTHROPIC_API_KEYpnpm build && pnpm test

Watch the full loop against the bundled demo app — see docs/DEMO.md.

Roadmap

  • ✅ Generate · Triage · Heal (Playwright, Cypress & Selenium — all live-verified)
  • ✅ GitHub Actions QA gate · signed provenance receipts · MCP server
  • ✅ Refusal actions (Slack + Linear) · governance-cloud audit dashboard
  • ✅ Zero-secret attestation: attest-run + verify — receipts for any test run, no keys
  • 🚧 Author (intent → test plan) · broader agent-attestation surface

Credits

Provenance receipts are powered by Treeship — the independent attestation primitive — and governed memory by ZMem, both built by Zerker Labs. Thanks to the Zerker Labs team for the trust primitives Vigilis stands on.

License

MIT © Piyush Pathak

来源:README.md,提交 3e232d6

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.4.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分