SuperAPI AI 工具集

document-scanning

安全与审计

查看项目

更新于 10-15 16:34

技能介绍

用途

Document Scanning 是 accessibility-agents 中负责文档发现与清点的组件,用于无障碍审计流程的前置阶段。它的目标是在一个文件夹或代码仓库中找出所有需要审计的 Office 文档和 PDF,同时跟踪哪些文件发生了变化,从而避免每次都对整个文档库做全量扫描。

支持的文件类型

该工具针对四种文件类型进行扫描,并将每种类型分派给相应的子代理处理:

扩展名 类型 子代理
.docx Word 文档 word-accessibility
.xlsx Excel 工作簿 excel-accessibility
.pptx PowerPoint 演示文稿 powerpoint-accessibility
.pdf PDF 文档 pdf-accessibility

文件发现命令

资料提供了 PowerShell(Windows)与 Bash(macOS)两种平台的扫描命令,均包含非递归与递归两种模式。

PowerShell 非递归扫描:

Get-ChildItem -Path "<folder>" -File -Include *.docx,*.xlsx,*.pptx,*.pdf

PowerShell 递归扫描会进一步过滤掉 ~$* 临时文件、*.tmp、*.bak 以及藏在特定目录下的文件。

Bash 非递归扫描:

find "<folder>" -maxdepth 1 -type f \( -name "*.docx" -o -name "*.xlsx" -o -name "*.pptx" -o -name "*.pdf" \) ! -name "~\$*"

Bash 递归扫描同样会排除 ~$*、*.tmp、*.bak,以及 .git/、node_modules/、__pycache__/、.vscode/ 目录中的文件。

增量检测

为支持增量审计,该工具提供基于 Git 与基于时间戳两种变更检测方式。

基于 Git 的方式包括:检测自上次提交以来变更的文件、检测自指定 tag 以来变更的文件,以及检测最近 N 天内变更的文件。命令示例:

git diff --name-only HEAD~1 HEAD -- '*.docx' '*.xlsx' '*.pptx' '*.pdf'

基于时间戳的方式(PowerShell)可按最后修改时间筛选,例如找出在某个日期之后修改的文件。

扫描时需跳过的文件

扫描过程中应始终排除以下模式:~$*(Office 锁定/临时文件,文档打开时创建)、*.tmp(临时文件)、*.bak(备份文件),以及位于 .git/、node_modules/、.vscode/、__pycache__/ 目录内的文件。

扫描配置文件

文件 用途
.a11y-office-config.json 针对 Word、Excel、PowerPoint 的规则启用/禁用
.a11y-pdf-config.json 针对 PDF 扫描的规则启用/禁用

扫描配置档(Profiles)

配置档 规则 严重级别 使用场景
Strict 全部 Error、Warning、Tip 面向公众、有法律要求的文档
Moderate 全部 Error、Warning 大多数组织
Minimal 全部 仅 Error 大型文档库的初步分类

上下文传递格式

在委派给子代理时,应始终提供如下上下文信息块:

## Document Scan Context
- **File:** [full path]
- **Scan Profile:** [strict | moderate | minimal]
- **Severity Filter:** [error, warning, tip]
- **Disabled Rules:** [list or "none"]
- **User Notes:** [any specifics]
- **Part of Batch:** [yes/no - if yes, indicate X of Y]

适用场景与限制

该工具适用于文档无障碍审计前的文件发现、清点与增量检测,尤其是需要按 Git 变更或时间戳筛选待审计文档的场景。其具体安装方式、运行环境依赖、收费情况、审计结果的详细输出格式等,资料中暂未提供。