GitHub - duncatzat/vigils: AI智能体(AI agent)的本地控制平面
GitHub - duncatzat/vigils: AI智能体(AI agent)的本地控制平面
一个面向AI智能体的本地优先控制平面——看清它们做了什么,批准重要操作,防止机密泄露。
官网 · ▶ 观看20秒演示 · 快速开始 · 架构 · 安全模型 · 文档
English | 简体中文
AI智能体(Claude Code、Cursor、Zed、MCP客户端、浏览器助手)会代表你调用工具、读取文件、访问API、粘贴到网页UI。这种能力既强大也有风险。Vigils位于你的智能体与其接触的工具/数据之间,并且是本地优先的:你的提示词、机密和审计轨迹永远留在你的机器上。
AI agent ──▶ ┌─────────────────── Vigils ───────────────────┐ ──▶ tools / data
(MCP client) │ redact → firewall → approve → sandbox → audit │ (MCP servers,
└───────────────────────────────────────────────┘ files, APIs, web)
四项保障,本地执行:
| 保障项 | 实现方式 |
|---|---|
| 看清智能体做了什么 | 每次工具调用都记录在可检测篡改的SHA-256哈希链账本中,支持全文搜索。 |
| 先批准风险操作 | 破坏性/敏感调用会在审批队列中暂停等待人工审查,支持按智能体配置策略和作用域授权。 |
| 防止凭据进入提示词/日志/UI | 在文本到达模型、日志或屏幕之前,去重引擎会剥离机密和PII(硬指纹规则 + 可选的ML集成)。 |
| 隔离与回滚 | 账本端到端可追踪,沙箱运行器默认失败关闭(Wasm + 原生 + Linux Landlock)。 |
- 🔒 防篡改审计账本 — SQLite + SHA-256哈希链;每个事件都链接到前一个,因此篡改可检测。支持对去重后的轨迹进行FTS5全文搜索。
- 🛡️ 默认拒绝防火墙 — 工具调用通过Rust策略DSL控制;按智能体设定规则;远程MCP使用OAuth范围许可列表。未经允许的操作不会运行。
- ✅ 人工参与审批 — 风险操作(文件写入、网络、破坏性操作)会暂停等待审查。授权可以是作用域化的(一次/本次会话)。
- 🙈 机密与PII去重 — 对13+种凭据类型(GitHub PAT、Stripe密钥、Google/GitLab令牌、数据库URL等)进行硬指纹检测,外加可选的多语言ML集成;通过失败关闭的合并层决定隐藏内容。
- 🎟️ 机密租赁代理 — 短期凭据租赁仅注入需要的子进程;明文永不持久化。
- 📦 沙箱运行器 — 在Wasm(Wasmtime)或原生进程中单次执行工具,使用Linux Landlock LSM文件系统隔离和
env_clear,使子进程不继承你的环境。默认失败关闭。 - 🔌 MCP网关 — 通过stdio和HTTP位于MCP服务器前端;描述符固定 + 漂移检测(工具定义变化时发出告警);裸命令stdio上游(
npx/node/python)在沙箱化前通过主机PATH解析。 - 🖥️ 桌面应用(Tauri 2 + Vue 3) — 审批队列、活动流、服务器注册、会话回放、隐私发现;键盘快捷键、亮/暗/系统主题、实时更新、双语(中文/英文)UI。
- 🌐 浏览器扩展(Chrome MV3) — 在粘贴到AI网站(ChatGPT、Claude、Gemini、Perplexity)之前对机密/PII进行去重。
Vigils是一个Rust workspace,由聚焦的crate加三个应用组成。每一层均可独立测试,并由Hub(MCP网关)组合。
| 层 | Crate | 职责 |
|---|---|---|
| 审计 | vigil-audit |
SQLite账本、SHA-256哈希链、FTS5搜索、去重扫描记录 |
| 策略 | vigil-policy |
Rust策略DSL + 规则引擎(默认拒绝) |
| 防火墙 | vigil-firewall |
工具门控、按智能体规则、OAuth范围许可列表 |
| 审批 | vigil-mcp (代理) |
人工参与、作用域授权、跨进程解析 |
| 去重 | vigil-redaction |
机密/PII检测(硬指纹 + ML集成)、失败关闭合并 |
| 租赁 | vigil-lease |
短期凭据租赁、预配置子进程环境(RAII撤销) |
| 运行器 | vigil-runner / vigil-runner-types |
原生 + Wasm执行、环境策略、失败关闭 |
| 沙箱 | vigil-sandbox-linux |
Linux Landlock LSM文件系统隔离 |
| 网关 | vigil-mcp |
MCP Hub:stdio + HTTP上游、描述符固定 + 漂移 |
| 远程认证 | vigil-http-auth / vigil-http-transport |
OAuth(JWT + 不透明令牌)、令牌刷新(singleflight)、真实TLS |
| UI协议 | vigil-ui-protocol |
桌面UI的类型化命令/响应合约 |
| 浏览器 | vigil-browser |
扩展桥接的去重分类器 + 审计 |
| SDK | vigil-sdk |
引擎上轻量的SemVer稳定外观 |
应用与二进制文件:
| 二进制 | Crate | 说明 |
|---|---|---|
vigil-hub |
vigil-hub-cli |
CLI MCP网关:vigil-hub serve --stdio, add-remote-mcp, inspect, … |
gui |
apps/desktop |
Tauri 2桌面应用(嵌入Vue 3 UI + 进程内Hub) |
vigil-native-host |
apps/native-host |
Chrome扩展的原生消息桥 |
| — | extensions/chrome-mv3 |
Chrome MV3扩展(纯JS,零npm依赖) |
最快方式——一行命令安装CLI,然后跳转到快速开始:
curl -fsSL https://vigils.ai/install.sh | sh # macOS / Linux
irm https://vigils.ai/install.ps1 | iex # Windows (PowerShell)
或者从任意GitHub Release获取预构建安装程序/二进制文件,支持Windows、macOS或Linux:
| 平台 | 桌面应用 | CLI |
|---|---|---|
| Windows | .exe (NSIS) / .msi |
vigil-hub.exe (在vigils-cli-windows-x64.zip中) |
| macOS | .dmg |
vigil-hub (在vigils-cli-macos-arm64.tar.gz中) |
| Linux | .AppImage / .deb / .rpm |
vigil-hub (在vigils-cli-linux-x64.tar.gz中) |
两种CLI版本运行相同的防火墙/审计/审批核心——唯一的区别在于去重引擎,它会在文本到达模型、日志或屏幕之前剥离机密和PII:
| 版本 | Release资产 | 去重 | 首次运行代价 |
|---|---|---|---|