Skip to content

Releases: wang-jie-git/moat

v1.4.0 — AI 强制适配器 + 记忆系统 + Dashboard 增强

Choose a tag to compare

@wang-jie-git wang-jie-git released this 21 Jul 02:05

🚀 moat v1.4.0

🔌 AI 工具强制适配器

  • 新增 4 个 AI 工具适配器(Codex CLI / Agents / OpenHarness / Windsurf)
  • 统一 SKILL.md 模板系统,所有工具看到相同铁律
  • git hook 包装器,拦截 --no-verify 绕过
  • AI 启动检测脚本,自动检查项目配置

🧠 记忆系统增强

  • moat memory sync 命令,生成 .moat/ai_context.md 供 AI 自动读取
  • 记忆同步到 AI 工具,进入项目时自动看到红线/踩坑/模版
  • 模板找回功能(修复 moat init 预置模板丢失问题)

📊 Dashboard 增强

  • 评分门禁:设置最低通过分数,验收结果自动检查
  • 生成规则模板:一键生成 architect.yml
  • 增量/完整模式切换:快速增量 vs 完整扫描
  • 自动检测 PyPI 版本更新 + 红点提示 + 一键升级
  • 修复:统计卡片重复、showModal 未定义、数据过长截断

🔧 修复

  • _should_inject 遗漏 moat_sensor_async 导致重复注入
  • 记忆系统模板/技能详情点击打不开(encodeURIComponent)
  • 统计卡片重复显示
  • 弹窗没有关闭按钮

📦 安装

pip install moat-ai

v1.3.0 — 异步安全 + preflight + Pain Score 扩展

Choose a tag to compare

@wang-jie-git wang-jie-git released this 20 Jul 06:14

🎯 核心主题:防止 async/sync 边界事故 — 消防水带检测 + 调用方分析 + preflight 检查

✨ 新增功能

  • 消防水带模式检测AsyncSafetyCheck):检测 asyncio.create_task 返回值被丢弃、同步函数调异步函数不 await、异步函数返回值被丢弃 3 种反模式。
  • moat preflight 命令:改代码前安全检查,自动分析变更函数、查找调用方、评估风险、生成检查清单。
  • moat check 自动 AST 影响域分析:每次检查后自动检测 async/sync 签名变更,列出所有调用方。
  • Pain Score 变更风险维度:新增 async/sync 签名变更(+40)、消防水带模式(+35)、删除函数(+30)、高调用方影响(+20)4 个权重。
  • preflight 记忆注入:自动显示项目红线 + 历史踩坑记录。

🔬 技术改进

  • AST diff 增强:新增 async_signature 变更类型,grep 自动查找调用方,风险评估(critical/high/medium/low),修复建议生成。
  • macOS 路径修复:解决 /tmp vs /private/tmp 符号链接导致的路径不匹配问题。

✅ 测试覆盖

  • 新增 11 个测试覆盖:消防水带检测、async/sync 边界检测、调用方分析、风险评估、完整事故场景模拟。
  • 总测试数:958 passed, 11 skipped。

v1.1.10 — ImportCompletenessCheck target_files 修复 + 工作流集成

Choose a tag to compare

@wang-jie-git wang-jie-git released this 14 Jul 07:32

🐛 Bug 修复

  • ImportCompletenessCheck 不再无视 target_files 配置。增量模式只扫指定文件,避免 84,723 个 .venv.prod/*.py 全量扫描挂死。

🔒 安全增强

  • moat check --scan-ai: 扫描 AI 工具配置目录(~/.claude/ ~/.codex/ ~/.grok/
  • moat audit --permissions: 权限审计 + 瘦身建议
  • SSH 密钥认证部署,替换 sshpass 明文密码

✨ 新功能

  • moat ci: 自动生成 GitHub Action / GitLab CI workflow
  • moat report --format pdf: 合规 PDF 报告
  • moat notify --webhook: Slack/飞书/Discord 通知推送

📝 文档

  • SECURITY.md(Zero-Telemetry + Transparent Audit)
  • README Security Manifesto + --scan-ai + --permissions

v1.1.9 — AI 工具权限审计

Choose a tag to compare

@wang-jie-git wang-jie-git released this 14 Jul 06:12

v1.1.9 (2026-07-14) — AI 工具权限审计 🔐

里程碑: 从"扫描"到"治理"——AI 工具权限过载检测

新增

  • 🔐 moat audit --permissions — AI 工具权限审计
    • 扫描 Claude Code 156 个已授权命令,按风险分类
    • 检测闲置权限(91% 闲置率)
    • 生成权限瘦身建议
    • 明文密码检测(sshpass -p)
    • API Key 泄露检测
    • 安全域名白名单(避免误报)

实测本机结果

级别 数量 示例
🔴 CRITICAL 4 sshpass 明文密码、rm -rf
🟡 HIGH 4 tar czf、scp、curl 未限制
🟢 LOW 59 常规开发命令
ℹ️ INFO 89 未分类(需自行评估)

安装

pip install moat-ai && moat audit --permissions

v1.1.8 — AI 工具系统配置审计 (moat check --scan-ai)

Choose a tag to compare

@wang-jie-git wang-jie-git released this 14 Jul 04:53

v1.1.8 (2026-07-14) — AI 工具系统配置审计 🕵️

里程碑: 从"项目扫描"到"系统级 AI 工具行为审计"

新增

  • 🕵️ moat check --scan-ai — 扫描 AI 工具系统配置目录
    • 检测 ~/.claude/ 遥测数据、会话日志、敏感命令授权
    • 检测 ~/.grok/(已被曝偷数据)是否存在
    • 检测 ~/.codex/ 数据量和暴露风险
    • 检测 settings.local.json 中的明文密码和危险命令

实测本机结果

发现 级别 详情
Codex CLI 数据 🟡 1.3 GB 所有会话记录和缓存
Claude 敏感命令 🟡 23 个 含 sshpass 明文密码、scp、tar czf、curl、rm -rf
Claude 遥测 🟡 302 KB 24 个 telemetry 文件
Claude 会话历史 ℹ️ 421 KB 未加密的完整对话记录

安装

pip install moat-ai && moat check --scan-ai

v1.1.7 — CI/CD 集成 + PDF 报告 + 通知推送

Choose a tag to compare

@wang-jie-git wang-jie-git released this 14 Jul 04:24

v1.1.7 (2026-07-14) — CI/CD 集成 + PDF 报告 + 通知推送 ⚡

里程碑: 从"本地工具"到"团队协作"——CI/CD 集成体系

新增

  • moat ci — 一行命令生成 GitHub Actions / GitLab CI 工作流
    • moat ci --platform github → 生成 .github/workflows/moat.yml
    • 包含:快速检查 + 泄露检测 + 架构验收 + PR Comment
    • 零额外配置,Moat 纯本地运行无需 API Key
  • 🔔 moat notify — 发送检查结果到 Slack / 飞书 / Discord
    • 自动检测 Webhook 平台(Slack Block Kit / 飞书卡片 / Discord Embed)
    • 支持 MOAT_WEBHOOK_URL 环境变量
    • 门禁告警:--fail-on-score 60 低于阈值自动通知
  • 📄 moat report --format pdf — 合规报告导出
    • 企业级 PDF(标题、摘要、错误列表、颜色分级)
    • 可选依赖:pip install "moat-ai[pdf]"

更新

  • README 新增 CI/CD 集成章节
  • pyproject.toml 新增 pdfci 可选依赖组
  • 参考 workflow: .github/workflows/moat-pr-check.yml

安装

pip install moat-ai

v1.1.6 — Fix .venv.prod virtual env detection

Choose a tag to compare

@wang-jie-git wang-jie-git released this 14 Jul 02:20

v1.1.6 (2026-07-14)

🐛 Bug Fix: Virtual Environment Detection

根因: Moat 的 _should_skip 使用精确匹配 ".venv" 跳过虚拟环境目录,导致 .venv.prod.venv.dev 等变体被扫描,在第三方依赖包中误报 IMPORT-MISSING-001。

修复:

  • 基类 _should_skip 改为 part.startswith(".venv") 前缀匹配
  • 同步修复全部 11 个 checks 模块中的跳过逻辑
  • verification operators 的 DEFAULT_EXCLUDE_DIRS 新增 .venv.prod 等变体

📦 其他改动

  • 仓库根目录清理:50+ 历史报告归档到 docs/archive/
  • README 升级:Killer 对比表 + 三大差异化能力 + Diff-Aware / Layer-Enforcer
  • GitHub Topics 新增 14 个搜索标签
  • Obsidian 技术文档清理(8→2 个文件,47KB→10KB)

✅ 验证

  • pip install moat-ai && moat accept — 全流程通过
  • One 项目 4160 Python 文件全量扫描 34 秒
  • Diff 增量模式 2 秒

v1.1.5 — moat accept: 增量验收 + 分层执行者

Choose a tag to compare

@wang-jie-git wang-jie-git released this 13 Jul 14:15

v1.1.5 改进

新增

  • moat accept --diff — 增量验收模式(仅扫描变更文件,2秒出结果)
  • GIT_BASELINE 算子从人工核查升级为自动检查(7/8 自动通过)
  • README 三大差异化点文档

修复

  • framework_usage 算子误报率降低 95%(41条 → 2条)
  • PyYAML 缺失时静默 fallback
  • 首次运行无 architect.yml 时友好提示

依赖变更

  • 新增依赖:tree-sitter(代码树解析)

pip install moat-ai==1.1.5
moat accept --diff

v1.1.4 — moat accept: 架构验收 8 步法

Choose a tag to compare

@wang-jie-git wang-jie-git released this 13 Jul 12:03

🏗 moat accept — 架构验收 8 步法

Moat 从『查 Bug 的工具』进化为『制定游戏规则的裁判』。

新增功能

  • moat accept — 配置驱动的架构验收 8 步法
  • 规则注册表 (architect.yml) — YAML 驱动,不写死每个规则类
  • 复用 6 个 verification operator
  • 半自动化设计 + 门禁模式
  • Markdown/JSON 报告输出

详见 CHANGELOG.md

v1.1.3 — ImportCompletenessChecker 导入完备性检查器

Choose a tag to compare

@wang-jie-git wang-jie-git released this 13 Jul 10:04

CHANGELOG

所有 Moat 项目的重要变更都会记录在此文件中。

格式基于 Keep a Changelog
并且本项目遵循 语义化

[1.1.3] - 2026-07-13

🎯 核心主题:ImportCompletenessChecker — 消灭"函数存在但未导入"类 Bug

基于 One 项目 WebSocket 导入 Bug 的真实教训(_build_system_prompt 缺失导入导致运行时崩溃),新增 ImportCompletenessChecker 算子,用 AST 静态分析检测调用链完整性。

✅ 新增功能

ImportCompletenessChecker(核心)

问题:Moat 之前只检查模块能否导入、函数是否存在,但不检查"模块 A 调用了函数 B,但没导入 B"

  • _build_system_promptws_full_handler.py 中被调用但未导入 → 运行时崩溃
  • ❌ 静态分析的"盲区":函数存在 ≠ 调用路径完整

方案:基于 Python AST 的导入完备性检查器,按需扫描策略

  • ✅ 扫描文件中的所有 ast.Call 节点(函数调用点)
  • ✅ 验证每个调用名是否在当前文件的 import 列表中
  • ✅ 内置函数豁免(70+ 个 Python 内置函数)
  • self.xxx / cls.xxx 方法调用豁免
  • ✅ 同文件定义函数豁免
  • for 循环解包变量豁免(for a, b in ...
  • ✅ 赋值上下文变量豁免
  • fail_open 装饰器:单个文件解析失败不阻塞全量检查

文件moat/checks/import_completeness.py(320 行)

性能优化

  • ✅ 跳过 >500KB 超大文件
  • ✅ 跳过 AST 节点 < 200 的"单体文件"
  • ✅ QuickCheck 避免双重初始化
  • ✅ 在 moat 自己仓库上跑零误报(扫描 168 个 py 文件,0 errors/0 warnings)

跨文件引用提示

  • ✅ 对未解析的调用名,搜索项目内同名函数定义位置
  • ✅ 报错中输出 → 建议:在 file.py:line 有定义 def foo() 提示

✅ 工程改进

开发者体验

  • Makefilemake test / make check / make clean / make dev
  • pyproject.toml — 新增 [dev] 可选依赖(pytest/pytest-cov/build/twine)
  • .envrcunset PYTHONPATH 消除 SRE Module Mismatch

Bug 修复

  • --diff 模式 KeyError: 'callers' → 全部改用 .get() 防御性取值
  • test_diff_bugfix.py 硬编码 One 项目路径 → 改为 --project .
  • __init__.py 导出不完整 → __all__ 从 9 补全到 23 模块

🧪 测试

  • ✅ 1009 passed, 2 skipped(+1 个新测试 test_import_completeness_checker.py
  • ✅ 快速模式(diff):3.71s
  • ✅ 完整模式(全量):4.73s

📚 文档

  • docs/OPTIMIZATION_PLAN.md — 完整优化方案(ImportCompletenessChecker + 调用链测试 + 测试模式拆分)

[1.1.2] - 2026-07-12

🎯 核心主题:Moat Immune 修复 + 知识资产库建立

基于 One 项目 Bug 检测战术指导,修复核心 Bug 并建立完整的知识资产体系。

✅ Bug 修复

Bug 1: Moat Immune ThinkingBlock AttributeError(核心功能)

问题:调用 Claude API 时,如果响应包含 ThinkingBlock(扩展思维),会抛出 AttributeError: 'ThinkingBlock' object has no attribute 'text'

  • ❌ Moat Immune 的 AI 测试生成功能完全失效
  • ❌ 用户无法使用 moat immune unit 命令

修复:实现三层防护机制

  • 第一层isinstance 检查(最可靠)
  • 第二层hasattr + try/except(兼容旧版本)
  • 第三层hasattr(content_block, 'thinking')(兜底)

文件moat/immune/unit/generator.py:22-68


🧪 测试增强

新增测试覆盖(+42 个测试)

1. Moat Immune Bug 修复测试

  • tests/test_thinking_block_fix.py (6 个测试)
  • tests/test_moat_immune_regression.py (7 个回归测试)

2. 动态导入测试

  • tests/test_dynamic_import.py (11 个测试)
  • 覆盖:可选依赖降级、条件导入、平台差异、延迟导入

3. 环境依赖测试

  • tests/test_environment_dependency.py (18 个测试)
  • 覆盖:目录创建、配置文件、环境变量、数据库初始化

测试结果:40 passed, 2 skipped ✅


📚 知识资产库

建立 .moat/insights/ 知识库

防御模式清单

  • DEFENSE_PATTERNS.md - 知识库索引和使用指南
  • README.md - 项目免疫抗体建立指南

Bug 模式库

  • bug_patterns/sql_dynamic_concatenation.md - SQL 动态拼接模式
  • bug_patterns/thinking_block_attribute_error.md - ThinkingBlock 处理

修复策略库

  • fix_strategies/whitelist_validation.md - 白名单验证策略(SQL/路径/枚举/HTTP 方法)

最佳实践库

  • best_practices/type_hint_priority.md - 类型提示优先策略

防御模式文档

  • patterns/sql_injection_pattern.md - SQL 注入防御模式(正例/反例对比)

📚 文档更新

战术文档

  • docs/fixes/MOAT_IMMUNE_THINKING_BLOCK_FIX.md - Bug 修复报告
  • docs/guides/MOAT_OPTIMIZATION_FROM_ONE.md - One 项目优化建议
  • docs/guides/MOAT_OPTIMIZATION_IMPLEMENTATION_PLAN.md - 实施计划

Open Source Readiness

Branding & Community

  • moat check 输出尾部添加 ⚡ Powered by One — https://one.cloudkey.top
  • 🌐 README 添加英文头部描述,支持双语
  • 🏷️ GitHub topics + description 更新为中英双语
  • ✅ License 统一为 Apache 2.0(README/PR模板/LICENSE 文件一致)
  • ✅ Release v1.1.2 发布

One-Prime 工作流集成

  • ✅ pre-commit hook 修复 PYTHONPATH 兼容问题
  • ✅ 周期审计 cron: moat-daily-audit(每天 2:00)
  • ✅ CI 门禁: Moat Gate Workflow(one-cloudkey)
  • ✅ 知识图谱持久化

[1.1.0] - 2026-07-12

🎯 核心主题:守门员规则 Bug 修复

修复了 2 个关键 Bug,让守门员规则从"几乎失效"到"正常工作"。

✅ Bug 修复

Bug 1: QuickCheck 文件检测缺陷(严重)

问题_get_changed_files() 只使用 git diff,只能检测未暂存的文件

  • ❌ 无法检测 git add 后已暂存的文件
  • ❌ 守门员规则(SECRETS-001、SQL-002、DEPS-001、UNUSED-001、API-002)几乎无法工作
  • ❌ 用户感知不到 Moat 在工作

修复:同时检测已暂存和未暂存的文件

  • git diff --cached(已暂存的文件)
  • git diff(未暂存的文件)
  • ✅ 去重处理

影响

  • ✅ 现在能检测到所有修改的文件
  • ✅ 守门员规则可以正常工作
  • ✅ 用户能感知到 Moat 的防护

文件moat/checks/quick_check.py:58-86


Bug 2: Gatekeeper 参数验证崩溃

问题moat gatekeeper check 不带 --file 参数时崩溃

  • args.fileNone
  • Path(None) 抛出 TypeError
  • ❌ 用户体验差

修复:添加参数验证

  • ✅ 检查 args.file 是否为 None
  • ✅ 提供友好的错误提示
  • ✅ 为 args.project 提供默认值(当前目录)

影响

  • ✅ 提供清晰的错误提示
  • ✅ 不再崩溃
  • ✅ 更好的用户体验

文件moat/gatekeeper/cli.py:60-68


✅ 验证结果

✅ Bug 1(文件检测):已修复并验证
✅ Bug 2(参数检查):已修复
✅ SQL 注入检测(SQL-002):工作正常
✅ 硬编码密钥检测(SECRETS-001):工作正常
✅ 文件检测(git diff --cached):工作正常
✅ 参数验证(gatekeeper check):工作正常

📚 文档更新

README.md

  • ✅ 添加过滤规则说明
  • ✅ 添加后台持久化运行说明(nohup/screen/tmux)
  • ✅ 添加自动运行配置说明(check_on_commit/auto_monitor/auto_check_on_save)
  • ✅ 添加 VS Code/Cursor 编辑器集成说明

[1.0.9] - 2026-07-11

🎯 核心主题:测试覆盖率优化 + README 焕新

在 v1.0.8 "精准拦截 + 性能飞跃"的基础上,v1.0.9 重点优化测试覆盖率文档质量

✅ 测试覆盖率优化

SECRETS-001 硬编码密钥检测器 — 100% 通过率 (16/16)

修复的关键问题

  1. 占位符检测增强

    • 添加 _HERE$ 模式,识别 YOUR_API_KEY_HERE 等格式
    • 文件:moat/checks/secrets.py:126
  2. 删除重复方法

    • 删除重复的 _find_code_files() 定义(第 176-182 行)
    • 修复 Python 方法覆盖导致的文件扫描遗漏问题
  3. 完善跳过逻辑

    • _check_file() 开始时添加 _should_skip() 检查
    • 防止应该跳过的示例文件被检查

UNUSED-001 未使用导出检测器 — 88.9% 通过率 (8/9)

  • Python 检测:100% 通过
  • Go 检测:100% 通过
  • TypeScript 检测:持续优化中

📖 README 焕新

首页新增 "Why Moat?" 对比表格

特性 其他 Lint 工具 Moat
架构守护 ✅ (Real-time Gatekeeper)
安全注入拦截 ❌ (高噪音) ✅ (零误报, 处方级修复)
性能开销 < 0.2s (秒级感知)
AI 上下文集成 ✅ (MCP / Claude Code Hook)
硬编码密钥检测 ✅ (SECRETS-001, 10+ 种模式)
依赖安全扫描 ✅ (DEPS-001, 内置漏洞数据库)
未使用导出检测 ✅ (UNUSED-001, Python/TS/Go)
Fail-open 策略 ✅ (外部依赖失败不阻塞)

🔧 技术修复

  • ✅ 占位符模式增强:YOUR_API_KEY_HERE_HERE$
  • ✅ 删除重复方法定义
  • ✅ 完善 _should_skip() 逻辑
  • ✅ 版本升级:v1.0.8 → v1.0.9

📈 测试数据

Python 直接运行验证

  • test_secrets.py: 16/16 (100%)
  • test_unused_exports.py: 8/9 (88.9%)

pytest 全局运行

  • 通过: 936
  • ⚠️ 通过率: 94.7% (936/988)

已知问题

  • pytest 存在模块缓存问题(临时解决:python3 -B -m pytest
  • TypeScript 未使用导出检测部分场景需要优化

[1.0.8] - 2026-07-11

🎯 核心主题:精准拦截 + 性能飞跃

在 v1.0.7 "不打扰"基础设施(Fail-open、规则解释、误报率统计)的基础上,
v1.0.8 重点提升拦截精度性能表现

🛡️ 守门员规则增强

新增:硬编码密钥检测(SECRETS-001)

  • 新增 moat/checks/secrets.py(277 行)
    • 检测 10+ 种密钥模式:AWS/GitHub/Google API Key/密码/私钥等
    • 智能误报抑制:自动过滤注释、占位符(YOUR_*)、环境变量读取
    • 多语言支持:Python/JavaScript/TypeScript/Go/Java/Ruby
    • 严重性分级:CRITICAL(密钥泄漏)/ HIGH(通用 API Key)

检测模式

  • AWS Access Key ID(AKIA[0-9A-Z]{16}
  • GitHub Personal Access Token(ghp_*, gho_*
  • Google API Key(AIza*
  • Slack Token(xox[baprs]-*
  • 硬编码密码(password = "..."
  • 硬编码 Secret(secret = "..."
  • RSA/ECDSA/PKCS#8 私钥
  • JWT Token(疑似)

新增:依赖项安全检测(DEPS-001)

  • 新增 moat/checks/dependency_security.py(398 行)
    • 支持 Python(requirements.txt, pyproject.toml)
    • 支持 Node.js(package.json)
    • 内置漏洞数据库(覆盖 12+ 常见漏洞:requests, django, flask, pillow, lodash, axios 等)
    • 可选集成 pip-audit / npm audit
    • Fail-open 策略:外部依赖失败不影响主流程

内置漏洞库示例

增强:SQL 注入检测(SQL-002)

  • 新增 moat/checks/enhanced_sql_injection.py(310 行)
    • 支持 Django ORM raw() f-string / 拼接 / .format()
    • 支持 Django ORM filter() %s / %d 格式化
    • 支持 SQLAlchemy execute() / engine.execute() / text()
    • 支持异步数据库驱动(asyncpg, psycopg2, aiomysql)
    • Tree-sitter AST 检测 + 正则后备

检测能力提升

  • 原有:基础 execute() f-string 检测
  • 新增:ORM 框架专项检测(Django/SQLAlchemy)
  • 新增:异步数据库驱动支持
  • 新增:filter() 字符串格式化检测

新增:未使用导出检测(UNUSED-001)

  • 新增 moat/checks/unused_exports.py(316 行)
    • Python __all__ 未使用导出检测(基于 AST)
    • TypeScript/JavaScript export 检测(正则简化版)
    • Go 导出函数/类型检测(大写字母标识符)
    • 严重性:LOW(代码质量问题)

增强:API 鉴权检测(API-002)

  • 增强 moat/checks/quick_check.py_check_auth() 方法
    • Python:Flask, FastAPI, Django REST Framework
    • TypeScript:Express.js
    • Go:Gin, Fiber
    • 新增鉴权关键词:Depends(), get_current_user, @require_auth, auth_required

⚡ 性能优化

缓存优化(P1)

  • 新增 moat/cache_enhanced.py(295 行)
    • LRU 缓存管理器:最多 10000 个条目,自动淘汰最久未使用
    • 批量哈希计算batch_get_hashes() 减少重复 IO
    • 并行扫描优化:ThreadPoolExecutor,小型项目自动降级串行
    • 内存 + 磁盘持久化:自动保存到 .moat/hash_cache.json

性能测试结果

缓存性能:
- 无缓存: 0.054s
- 首次缓存: 0.251s
- 二次缓存: 0.152s
- 缓存命中速度提升: 1.7x

完整流程:
- 扫描 100 个文件: 0.021s
- 平均每个文件: 0.2ms

增量扫描改进(P2)

  • 新增 moat/ast/diff_enhanced.py(312 行)
    • 基于 AST diff 而非纯 git diff
    • 函数签名变更检测:参数列表变化识别
    • 导入变更检测:新增/删除导入识别
    • 全局变量变更检测
    • 变更影响分析analyze_change_impact() 评估风险级别

变更类型

  • added / deleted / modified/signature / modified/body / modified/import

📊 体验改进

增强报告生成器

  • 新增 moat/report_enhanced.py(318 行)
    • 按严重性分组错误:CRITICAL → HIGH → MEDIUM → LOW → INFO
    • 文件维度统计:每个文件的错误数、各级别分布
    • 可视化错误摘要:🔴 CRITICAL / 🟠 HIGH / 🟡 MEDIUM / 🔵 LOW / ℹ️ INFO
    • 多格式输出:Markdown / 纯文本 / JSON

报告示例

## 📊 错误摘要(按严重性)
- 🔴 CRITICAL: 2
- 🟠 HIGH: 5
- 🟡 MEDIUM: 12

## 📁 文件维度统计
| 文件 | 错误数 | CRITICAL | HIGH | MEDIUM |
|------|--------|----------|------|--------|

配置增强(P3)

  • 新增 moat/config_enhanced.py(308 行)
    • 多源配置支持(优先级从高到低):
      1. .moatignore - 忽略文件
      2. pyproject.toml [tool.moat] - Python 项目
      3. package.json moat - Node.js 项目
      4. .moat/config.json - 本地配置
      5. .moat/moat.json - 兼容旧格式
    • 智能忽略规则should_ignore_file() 统一过滤逻辑
    • 向后兼容:完全兼容现有配置

使用示例

.moatignore

test_*.py
dem...
Read more