内容
<p align="center">
<img src="assets/logo.png" alt="Veris" width="160" />
</p>
<h1 align="center">Veris</h1>
<p align="center"><strong>自主编码代理的行为验证基础设施。</strong></p>
[](https://github.com/vighriday/Veris/actions/workflows/veris.yml)
[](LICENSE)
[](#install)
[](docs/MCP_TOOLS.md)
[](#privacy)
[](https://glama.ai/mcp/servers/vighriday/Veris)
Veris 是位于 AI 编码代理和生产可靠性之间的验证智能层。它**不**运行您的测试,而是告诉任何与 MCP 兼容的编码代理或 CI 管道**哪些行为存在风险,应该验证什么,以及结果的置信度如何** —— 并通过行为图、语义工作流分组、持久运行历史、漂移检测和可解释的置信度数学来支持。
**目前:TypeScript + JavaScript 仓库。Python 和 Go 适配器在 [路线图](ROADMAP.md) 中。**
与任何 MCP 客户端配合使用。CLI 可独立运行。完全开源。本地优先。无云。无遥测。无付费层。
---
## 即插即用安装
### 选项 A — 作为 MCP 服务器(一条配置行)
Veris 支持模型上下文协议。将以下内容添加到任何与 MCP 兼容的客户端配置中:
```json
{
"mcpServers": {
"veris": {
"command": "npx",
"args": ["-y", "veris-core", "mcp"]
}
}
}
```
重启客户端。17 个工具立即启动:`analyze_pr_behavior`、`list_workflows`、`detect_drift`、`generate_adversarial_probes`、`allocate_budget`、`what_if_revert`、`report_execution` 等。
### 选项 B — 作为 CLI
```bash
npx veris-core . # 分析当前仓库
npx veris-core . --base-ref=origin/main # 显式 git 基准引用
npx veris-core . --budget=10 --onboarding # 10 分钟验证计划 + 入职地图
npx veris-core init # 搭建 .veris/ 插件槽
npx veris-core doctor # 健康检查
```
报告位于 `veris-reports/`:
- `veris-dashboard.html` — 交互式单文件仪表盘(图表、热图、漂移、探测、预算、历史)
- `veris-report.md` — Markdown 执行摘要
- `onboarding/` — 面向新工程师的工作流优先 Markdown 包(带有 `--onboarding`)
### 选项 C — 从源代码
```bash
git clone https://github.com/vighriday/Veris
cd Veris
npm install && npm run build
node dist/cli.js .
```
---
## 它能为您提供什么
| 表面 | 内容 |
|---|---|
| **行为图** | 类、方法、函数通过 `DependsOn` 和实际的 `Invokes` 边(调用表达式解析)链接 |
| **语义工作流** | 自动聚类为 25 个领域(身份验证、计费、结账、缓存、队列、Webhook、AI 等) |
| **实际 git 差异** | 基于工作树的差异 vs 任意基准引用。不是占位符 |
| **风险评分** | 爆炸半径、脆弱性、运行时关键性 + 普通英文解释 |
| **置信度数学** | 基于实际执行历史的半衰期衰减。失败运行降低置信度; flaky = 半积分 |
| **漂移检测** | SHA-256 工作流指纹。检测到无声重写(相同成员,不同拓扑) |
| **反事实模式** | `what_if_revert(nodeIds)` 模拟回滚影响 |
| **对抗性探测** | 每个工作流类型的具体三级假设(幂等性、重放、重试风暴、缓存冲刺) |
| **预算分配器** | `(层 × 关键性 × 风险) / 成本` 的 0/1 背包问题。在 N 分钟内选择最高杠杆的子集 |
| **知识转移** | 工作流优先的入职 Markdown 包 |
| **跨仓库视图** | 注册多个服务;一次 MCP 调用进行全局置信度查询 |
| **交互式仪表盘** | 单文件 HTML。Vis-network 图。点击工作流 → 过滤所有内容。ESC 清除。点击复制指令 |
---
## 示例代理提示
任何与 MCP 兼容的代理都可以通过以下提示驱动 Veris:
```text
veris: analyze_pr_behavior with baseRef=origin/main
veris: list_workflows then detect_drift
veris: generate_adversarial_probes for the highest-risk workflow, then allocate_budget minutes=15
veris: what_if_revert nodeIds=[...]
```
在代理执行外部验证后,关闭循环:
```text
veris: report_execution executions=[{nodeId:..., tier:'Tier 3', result:'pass'}, ...]
```
置信度数学现在反映实际运行的内容。
---
## 隐私
- **本地优先。** 所有内容都在您的机器上运行。
- **无遥测。** Veris 不会向外部发送数据。
- **零保留模式。** `VERIS_STATE_DISABLED=1` 跳过所有 `.veris/state.db` 写入。
- **无网络调用。** MCP 服务器仅通过 stdio 通信。
---
## 插件
将 `.js` 文件放入 `.veris/plugins/`:
```js
module.exports.register = function (api) {
api.addWorkflowRule({
kind: 'Payments',
importTokens: ['stripe', '@yourorg/billing-sdk'],
weight: 3
});
api.addRuntimeRisks('Payments', [
'3DS challenge response lost on tab close'
]);
};
```
完整的插件 API:[docs/PLUGINS.md](docs/PLUGINS.md)。示例:[examples/plugin-fintech.js](examples/plugin-fintech.js)。
---
## MCP 工具参考
17 个工具,涵盖多个类别:摄入、差异、计划、语义、漂移、反事实、验证、反馈、历史、舰队。
参见 [docs/MCP_TOOLS.md](docs/MCP_TOOLS.md) 获取完整的参考资料和推荐流程。
---
## 架构
```text
源代码 -> AST (ts-morph)
-> 行为图(DependsOn + Invokes)
-> 实际 git 工作树差异 vs 基准引用
-> 风险模型(爆炸半径 / 脆弱性 / 关键性 + 解释)
-> 工作流分类器(25 种语义类型,可通过插件扩展)
-> 指纹 -> 漂移检测器(vs SQLite 历史)
-> 对抗性探测生成器
-> 验证计划(Tier 1/2/3)
-> 预算分配器(杠杆 / 成本)
-> 置信度引擎(执行历史的半衰期衰减)
-> 报告 + 交互式仪表盘
-> MCP(17 个工具)-> 自主代理通过 report_execution 关闭循环
```
参见 [ARCHITECTURE.md](ARCHITECTURE.md) 获取深入解析。
---
## 路线图
接下来会发生什么?哪里需要帮助? [ROADMAP.md](ROADMAP.md)。
活动 bug 和修复记录在 [CHANGELOG.md](CHANGELOG.md) 中,每个补丁版本都会更新。
## 贡献
欢迎 PR。参见 [CONTRIBUTING.md](CONTRIBUTING.md)。安全报告: [SECURITY.md](SECURITY.md)。
开源,赞助支持。无付费层。无限制功能。
## 许可证
MIT。参见 [LICENSE](LICENSE)。