mcpField
O
omni-scanner

omni-scanner

本地服务
github.com/Pantheon-LadderWorks开发工具036 周前更新

关于 omni-scanner

omni-scanner 是面向开发者的 Python 代码库观察与扫描工具,可检查代码结构、依赖、文档、Git 状态和合规情况。它以只读扫描器为核心,并可独立运行或接入 Federation。

主要功能

  1. 01多类别代码库扫描器
  2. 02分析结构、依赖与文档
  3. 03检查 Git 状态和历史
  4. 04映射项目与依赖关系
  5. 05生成合规检查和报告
  6. 06提供命令行与 MCP 服务

适用场景

  1. 01盘点代码库结构与组件
  2. 02检查架构漂移和治理合规
  3. 03汇总 Git 仓库状态与历史

MCP 相关

内置 MCP 服务将扫描器公开为可由 AI 客户端调用的工具。客户端可通过该服务以编程方式运行代码库扫描。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pantheon-ladderworks-omni-scanner": {
"command": "uvx",
"args": [
"omni-governance"
]
}
}
}
启动命令uvx omni-governance

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiomni-governance0.7.3

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🔱 Omni — 全视之眼

Omni 标题图

联邦治理三叉戟 — 一款模块化、可扩展的观测引擎,可在星系级规模扫描、绘制代码库地图并守护代码库。

“永远不要相信文档,要相信现实。” — ACE

Omni 是一个由 Python 驱动的被动观测平台,用于发现代码的真实状况。它不会修改文件或破坏构建,只会观察、绘制地图并生成报告。可以把它看作代码库的三叉戟:将它指向任意目录,它就能在几秒内揭示代码结构、依赖关系、健康状况、偏差和合规性。


✨ 一览

维度数值
🔍 扫描器类别12(从静态分析到 Git 考古)
📦 扫描器总数所有类别共 55 个扫描工具
⚡ CLI 命令14 个动词,满足各种观测需求
🧠 MCP 服务将所有扫描器作为可由 AI 调用的工具提供
🏛️ 支柱4 个编排子系统(制图、情报、守门人、注册表)
🔌 联邦模式可选与治理后端深度集成
🦴 独立模式随处可用——无需后端

🚀 快速开始

新手? 请查看 新手指南:从零到高手,了解分步设置教程。

安装
# Recommended: Install from PyPI
pip install omni-governance

# Or install from source:
# pip install -e .
首次扫描
# Scan the current directory with all static scanners
omni scan .

# Run a specific scanner
omni scan . --scanner surfaces

# See what Omni knows about itself
omni introspect
探索生态系统
# Map your entire project constellation
omni map

# Check governance compliance
omni gate .

# Generate a full report
omni report . --format markdown

🏗️ 架构 — 三位一体

Omni 遵循三位一体架构——三个职责严格分离的层:

                    ┌──────────────────────────┐
                    │        CLI (cli.py)       │  ← User interface
                    │     14 verbs, 1 brain     │
                    └────────────┬─────────────┘
                                 │
              ┌──────────────────┼──────────────────┐
              │                  │                  │
    ┌─────────▼──────┐  ┌───────▼────────┐  ┌──────▼───────┐
    │  🧠 CORE       │  │  🏛️ PILLARS    │  │  📚 LIB      │
    │  Identity      │  │  Cartography   │  │  I/O, Render │
    │  Registry      │  │  Intel         │  │  Reporting   │
    │  Gate          │  │  Gatekeeper    │  │  Tree, TAP   │
    │  Paths         │  │  Registry      │  │  Requirements│
    └─────────┬──────┘  └───────┬────────┘  └──────────────┘
              │                 │
    ┌─────────▼─────────────────▼──────────────────────────┐
    │              🔍 SCANNERS (55 Instruments)            │
    │   12 categories • Dynamic plugin loading             │
    │   Each scanner: scan(target: Path) → dict            │
    └──────────────────────────────────────────────────────┘
              │
    ┌─────────▼──────┐
    │  🔧 BUILDERS   │  ← The only layer that writes
    │  Registry Gen  │
    │  Report Gen    │
    └────────────────┘

只读保证:扫描器绝不会修改源文件。只有构建器会写入,而且只会写入指定的制品目录。

如需深入了解完整架构,请参阅 ARCHITECTURE.md。


🔍 扫描器类别

Omni 的 55 个扫描器分为 12 个类别。每个扫描器都实现了通用的 scan(target: Path) → dict 契约,并通过 SCANNER_MANIFEST.yaml 文件自动发现。

开源扫描器(包含在构建版本中)
类别扫描器用途
📁 静态分析9文件系统分析——契约、依赖项、文档、事件、钩子、导入、表面、工具、UUID
🏗️ 架构4结构约束——导入边界、耦合检测、偏差分析、合规性
🔎 发现8组件编目——项目、CLI 命令、核心、MCP 服务、归档、普查
🌐 多语言4语言生态系统——Python 包、Node.js、Rust crate、通用(Go/Java/.NET/Docker)
📚 知识库6文档智能——凝聚度分析、内容深度、知识图谱、惯例
🔀 Git5仓库智能——状态、活跃度、提交历史、PR 遥测、实用工具
🔍 搜索3模式匹配——文件搜索、文本搜索、带上下文的正则表达式模式搜索
🗄️ 数据库1由通用配置驱动的数据库扫描
Federation 专属扫描器(不包含在开源构建版本中)

这些扫描器需要 Federation Heart 后端,是专有治理层的一部分。Heart 可用时,它们会显示在 omni introspect 中,但不会随开源版本分发。

类别扫描器用途
🛡️ 健康状况6运行时健康状况——Federation、CMP、支柱、站点、隧道和系统状态
🗃️ 数据库5CMP 实体扫描——Agent、制品、对话、实体、项目
⚓ 机群1机群注册表的生成与验证
🔥 Phoenix3Git 历史复原——归档扫描、孤立项检测、时间间隔分析

每个类别都有自己的 README,其中包含扫描器的详细文档。完整参考请参阅扫描器架构指南。


🏛️ 四大支柱

支柱是用于协调多个扫描器并生成更高层次智能信息的编排子系统:

支柱职责核心能力
🗺️ 制图生态系统映射器绘制项目星群和依赖关系网络
🕵️ 情报情报收集器汇总多个扫描器的数据,生成可执行的洞见
⚖️ 守门人策略执行者验证合规性、发现偏差、标记违规行为
📋 注册表注册表操作员解析、验证并管理 PROJECT_REGISTRY_V1.yaml

深入了解请参阅支柱架构。


⚡ CLI 命令参考

命令用途
omni scan对目标目录运行扫描器
omni inspect深入检查单个项目
omni gate执行策略并进行合规性检查
omni map绘制生态系统图谱并映射依赖项
omni tree可视化目录树
omni audit审计来源、依赖项和锁定状态
omni registry执行注册表操作并扫描事件
omni libraryGrand Librarian 文档智能
omni canon验证并发现 Canon
omni report生成结构化报告
omni init搭建符合 Federation 规范的新项目
omni introspect自检 — 显示所有扫描器、偏移和功能
omni interpret解读并说明扫描结果
omni inspect-tree结合目录树与检查

🔌 Federation 模式与独立模式

Omni 以两种模式运行,可透明切换:

独立模式(默认)

无需外部依赖。配置来自 omni.yml 和环境变量。所有开源扫描器均可正常运行。非常适合个人开发者和开源项目。

Federation 模式(可选)

安装 federation_heart 后,Omni 将获得以下功能:

  • CartographyPillar — 在整个 Federation 中解析规范路径
  • Constitution — 执行来自中央权威机构的治理规则
  • CMP 集成 — 根据 Canonical Master Project 数据库解析项目身份
  • 运行时健康状况 — 实时查看 Federation 服务、站点和隧道的状态

该集成由单个 shim(omni/config/settings.py)处理:可用时连接 Heart,不可用时则平稳回退。


🧠 MCP 服务

Omni 内含一个 Model Context Protocol(MCP)服务,将全部 55 个扫描器作为 AI 可调用的工具提供。任何兼容 MCP 的 AI 助手都可以通过编程方式调用 Omni 的扫描器。

快速开始(npx)

使用 MCP 服务最简单的方式是通过 npx(需要 Node.js):

npx -y @modelcontextprotocol/inspector mcp-server-omni-governance
从源代码运行
# The MCP server auto-discovers all registered scanners
python -m mcp_server.omni_mcp_server

有关设置和配置,请参阅 MCP 服务文档。


📁 项目结构

omni/
├── README.md              ← You are here
├── ARCHITECTURE.md        ← Full architectural deep-dive
├── CONTRIBUTING.md        ← How to add scanners and contribute
├── CHANGELOG.md           ← Version history
├── ROADMAP.md             ← Future plans
├── pyproject.toml         ← Package definition
├── omni/
│   ├── cli.py             ← CLI entry point (14 commands)
│   ├── core/              ← Brain — identity, registry, gate, paths
│   ├── config/            ← Configuration & Federation Heart bridge
│   ├── scanners/          ← 55 scanners across 12 categories
│   ├── pillars/           ← 4 orchestration subsystems
│   ├── lib/               ← Shared utilities (I/O, rendering, reporting)
│   ├── builders/          ← Registry and report generators
│   ├── scaffold/          ← Project templates
│   └── templates/         ← Jinja2 report templates
├── mcp_server/            ← MCP server exposing scanners as AI tools
├── scripts/               ← Operational scripts
├── tests/                 ← Test suite (pytest)
├── docs/                  ← Historical docs and plans
└── contracts/             ← Crown Contracts (C-TOOLS-OMNI-*)

🔧 配置

Omni 遵循严格的配置优先级(优先级最高者生效):

  1. CLI 标志(例如 --scanner surfaces)
  2. 环境变量(例如 OMNI_ROOT)
  3. omni.yml(项目级配置)
  4. 内置默认值(合理的回退值)

主要环境变量:

变量用途
OMNI_ROOT覆盖扫描根路径
OMNI_REPO_INVENTORY仓库清单 JSON 的路径
OMNI_WORKSPACES工作区根路径
OMNI_DB_CONFIG_PATH数据库配置目录

完整详情请参阅配置指南。


🧪 测试

# Run all tests
pytest tests/ -v

# With coverage
pytest tests/ --cov=omni --cov-report=html

有关测试夹具、标准和 CI 设置,请参阅测试套件文档。


🤝 贡献

欢迎添加扫描器、支柱并改进项目。扫描器插件系统让添加新的观测能力变得简单:

  1. 创建一个扫描器文件,其中包含 scan(target: Path) → dict 函数
  2. 在相应类别的 SCANNER_MANIFEST.yaml 中注册该扫描器
  3. 添加测试和文档

完整指南请参阅 CONTRIBUTING.md。


📜 要求

  • Python:3.8+
  • 依赖项:pyyaml、pydantic(核心);federation_heart(可选,用于联邦模式)
  • 操作系统:Windows、macOS、Linux

📋 许可证

开源。详情请参阅 LICENSE。


全视之眼注视着一切。代码编写代码。
Omni v0.7.0 — Pantheon LadderWorks

评论

支持 Markdown

第一次接触 MCP?

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

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