关于 DiffSense
DiffSense 是一个用于 MR/PR 阶段的变更风险审计工具,通过语义 diff 与规则引擎评估当前变更引入的回归风险。它提供 MCP 服务形式,只读运行,适合 CI 流水线与 AI Agent 集成。
主要功能
- 01针对 diff 的语义风险审计,不做全库扫描
- 02输出 review_level 与建议操作
- 03版本化 JSON 契约与 SARIF 2.1.0 输出
- 04只读 MCP 服务,提供审计与规则查询工具
- 05支持 GitHub 与 GitLab 集成
适用场景
- 01在 GitHub 或 GitLab 的 PR 中自动执行变更风险审计
- 02在本地对变更进行回放审计
- 03为 AI Agent 或 CI 门禁提供机器可读的审计结果
MCP 相关
该项目提供只读 MCP 服务,向 MCP 客户端暴露 audit_diff、audit_replay、list_rules 和 explain_rule 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
DiffSense
DiffSense 是 PR 阶段的变更风险关卡:它评估当前差异是否引入回归风险,不执行完整代码库扫描或风格检查。专为减少告警、提高精确度、降低延迟和提供可解释结果而设计。
快速开始
| 场景 | 操作 |
|---|---|
| GitHub Pull Request | 将 diffsense/docs/quickstart.md 中的工作流(方法 1)复制到目标仓库的 .github/workflows/diffsense.yml。使用默认的 GITHUB_TOKEN,无需额外配置。提交并创建或更新 PR 后,工作流会自动执行审计并在 PR 下发布结果。 |
| 本地审计 | 在仓库根目录运行 pip install -e diffsense,或运行 pip install "git+https://github.com/GoldenSupremeSaltedFish/DiffSense.git@main#subdirectory=diffsense",然后执行 diffsense replay <path-to-diff>。 |
| Agent / 大模型集成 | 使用 pip install "diffsense[mcp]" 安装 MCP 服务并运行 diffsense-mcp,或直接使用 JSON 契约 / SARIF。请参阅 Agent 集成指南。 |
完整步骤请参阅 diffsense/docs/quickstart.md。
可选:将 .diffsense.yaml 添加到仓库根目录,以使用官方推荐配置,适用于大多数团队。
功能
- CI / 本地:对 MR/PR 差异执行语义风险审计,输出
review_level和建议操作。仅分析变更内容,不会拖慢流水线。低质量规则会自动降级。不会自动修改 CI 状态;是否拦截由人工或下游流程决定。 - Agent / 大模型集成:为 Agent 和 CI 关卡提供确定性、机器可读的接口——带版本的 JSON 契约(
schema_version)、SARIF 2.1.0 输出,以及只读 MCP 服务(audit_diff/audit_replay/list_rules/explain_rule)。请参阅 Agent 集成指南和 CLI 契约。 - VSCode 扩展:在本仓库的 vscode-extension 目录中维护(双产物布局)。可从 Marketplace 安装,或从 Releases 下载 VSIX。
快速开始(详细说明)
GitHub Actions
将 diffsense/docs/quickstart.md 中的完整 YAML(方法 1)复制到仓库的 .github/workflows/diffsense.yml,即可启用 PR 审计。
GitLab CI
- 在项目中前往 Settings → CI/CD → Variables,添加变量
DIFFSENSE_TOKEN(具有api权限的 Personal Access Token;建议勾选 Mask variable)。 - 在
.gitlab-ci.yml中添加相应的作业。示例请参阅 diffsense/gitlab-ci-example.yml。
VSCode 扩展
在本仓库的 vscode-extension 目录中维护。可从 Marketplace 安装,或从 Releases 下载 VSIX。
Project Structure (This Branch)
DiffSense/
├── diffsense/ # CLI, rule engine, GitHub/GitLab adapters, MCP server; see docs/quickstart.md for quick start
├── vscode-extension/ # VS Code extension (dual-artifact line)
├── AGENTS.md # repository guide for AI coding agents
└── technical_documentation/
Development
git clone https://github.com/GoldenSupremeSaltedFish/DiffSense.git
cd DiffSense/diffsense
pip install -e ".[dev]"
pytest tests/ -v
See diffsense/CONTRIBUTING.md for details.
License & Links
- License: Apache-2.0
- Issues: Report a bug
- Marketplace: DiffSense
English | 中文版(存档)
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。