doc-extract-filter

Polar Sponsor
爱发电 赞助
.NET 9.0

支持 PDF、Word、Excel 文本提取与关键词筛选,返回完整或筛选后内容。

doc-extract-filter

功能概述

doc-extract-filter是一项面向实际任务的技能,主要用于name : doc-extract-filter;description : 文件处理技能,支持多种文件格式的文本提取、关键词/正则表达式筛选、排除筛选和批量文件处理;

核心要点

  • version : 1.1.1;
  • author : file-agent team;
  • license : MIT-0;

使用与执行

OpenClaw 配置;CoPaw 配置;版本 1.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

doc-extract-filter

元数据

基本信息

  • name: doc-extract-filter
  • description: 文件处理技能,支持多种文件格式的文本提取、关键词/正则表达式筛选、排除筛选和批量文件处理
  • version: 1.1.1
  • author: file-agent team
  • license: MIT-0

OpenClaw 配置

{
  "name": "doc-extract-filter",
  "description": "文件处理技能,支持多种文件格式的文本提取、关键词/正则表达式筛选、排除筛选和批量文件处理",
  "version": "1.1.1",
  "author": "file-agent team",
  "license": "MIT-0",
  "type": "tool",
  "entry_point": "scripts/doc-extract-filter.py",
  "parameters": {
    "file_path": {
      "type": "string",
      "description": "文件路径",
      "required": false
    },
    "action": {
      "type": "string",
      "description": "操作类型:extract 或 filter",
      "required": true
    },
    "keywords": {
      "type": "array",
      "description": "关键词列表(仅 filter 操作需要)",
      "required": false
    },
    "regex": {
      "type": "string",
      "description": "正则表达式模式(仅 filter 操作需要)",
      "required": false
    },
    "enable_ocr": {
      "type": "boolean",
      "description": "启用 OCR 支持(用于扫描件 PDF)",
      "required": false
    },
    "exclude_keywords": {
      "type": "array",
      "description": "排除关键词列表(仅 filter 操作需要)",
      "required": false
    },
    "exclude_regex": {
      "type": "string",
      "description": "排除正则表达式模式(仅 filter 操作需要)",
      "required": false
    },
    "context_length": {
      "type": "integer",
      "description": "上下文长度(默认50字符)",
      "required": false
    },
    "filter_level": {
      "type": "string",
      "description": "筛选级别:line(按行)或 paragraph(按段落)",
      "required": false
    },
    "batch": {
      "type": "boolean",
      "description": "开启批量处理模式",
      "required": false
    },
    "input_dir": {
      "type": "string",
      "description": "批量处理的输入文件夹路径",
      "required": false
    },
    "file_paths": {
      "type": "array",
      "description": "批量处理的文件列表",
      "required": false
    },
    "output_dir": {
      "type": "string",
      "description": "批量结果输出目录",
      "required": false
    },
    "merge_results": {
      "type": "boolean",
      "description": "是否合并所有文件结果为一个 JSON 文件",
      "required": false
    }
  }
}

CoPaw 配置

name: doc-extract-filter
description: 文件处理技能,支持多种文件格式的文本提取、关键词/正则表达式筛选、排除筛选和批量文件处理
version: 1.1.1
author: file-agent team
license: MIT-0
type: tool
entry_point: scripts/doc-extract-filter.py
parameters:
  file_path:
    type: string
    description: 文件路径
    required: false
  action:
    type: string
    description: 操作类型:extract 或 filter
    required: true
  keywords:
    type: array
    description: 关键词列表(仅 filter 操作需要)
    required: false
  regex:
    type: string
    description: 正则表达式模式(仅 filter 操作需要)
    required: false
  enable_ocr:
    type: boolean
    description: 启用 OCR 支持(用于扫描件 PDF)
    required: false
  exclude_keywords:
    type: array
    description: 排除关键词列表(仅 filter 操作需要)
    required: false
  exclude_regex:
    type: string
    description: 排除正则表达式模式(仅 filter 操作需要)
    required: false
  context_length:
    type: integer
    description: 上下文长度(默认50字符)
    required: false
  filter_level:
    type: string
    description: 筛选级别:line(按行)或 paragraph(按段落)
    required: false
  batch:
    type: boolean
    description: 开启批量处理模式
    required: false
  input_dir:
    type: string
    description: 批量处理的输入文件夹路径
    required: false
  file_paths:
    type: array
    description: 批量处理的文件列表
    required: false
  output_dir:
    type: string
    description: 批量结果输出目录
    required: false
  merge_results:
    type: boolean
    description: 是否合并所有文件结果为一个 JSON 文件
    required: false

更新说明

  • 版本 1.1.1: 新增格式扩展+兼容性优化和筛选功能增强
    • 新增支持 CSV、Markdown(.md)、WPS(.wps/.et)文件提取
    • 修复 Excel 合并单元格、PDF 扫描件、Word 图文混排的提取问题
    • 新增 --enable-ocr 参数(可选),支持扫描件 PDF 轻量 OCR 提取
    • 新增智能格式检测逻辑,自动识别文件类型,无需用户指定
    • 新增 --exclude-keywords/--exclude-regex 参数,支持排除指定内容
    • 新增 --context-length N 参数,返回筛选结果的上下文(默认 50 字符)
    • 新增 --filter-level(line/paragraph)参数,支持按行/段落筛选
    • 批量处理模式下,筛选增强逻辑自动适配,结果按文件维度保留筛选细节
    • 依赖新增 tesseract(可选)、python-markdown,写入 requirements.txt 并标注可选
  • 版本 1.1.0: 添加了批量文件处理功能
  • 版本 1.0.3: 添加了正则表达式筛选功能
  • 版本 1.0.2: 移除了未使用的依赖,优化了项目结构

使用说明

功能

  • extract: 提取文件中的文本内容,支持多种文件格式
  • filter: 提取文件中的文本并筛选包含指定关键词或匹配正则表达式的内容,支持排除筛选
  • batch: 批量处理多个文件,支持文件夹遍历和多文件列表

调用方式

CLI 调用

# 单个文件处理
python scripts/doc-extract-filter.py --file_path "path/to/file.pdf" --action "extract"
python scripts/doc-extract-filter.py --file_path "path/to/file.pdf" --action "filter" --keywords "关键词1,关键词2"
python scripts/doc-extract-filter.py --file_path "path/to/file.pdf" --action "filter" --regex "d{4}-d{2}-d{2}"

# 提取 PDF 扫描件(启用 OCR)
python scripts/doc-extract-filter.py --file_path "path/to/scanned.pdf" --action "extract" --enable-ocr

# 筛选并排除指定内容
python scripts/doc-extract-filter.py --file_path "path/to/file.pdf" --action "filter" --keywords "关键词" --exclude-keywords "排除词"

# 设置上下文长度和筛选级别
python scripts/doc-extract-filter.py --file_path "path/to/file.pdf" --action "filter" --keywords "关键词" --context-length 100 --filter-level "paragraph"

# 批量处理 - 文件夹路径
python scripts/doc-extract-filter.py --batch --input-dir "path/to/folder" --action "extract" --output-dir "batch-results"

# 批量处理 - 文件列表
python scripts/doc-extract-filter.py --batch --file-paths "path/to/file1.pdf,path/to/file2.docx" --action "extract" --output-dir "batch-results"

# 批量处理并合并结果
python scripts/doc-extract-filter.py --batch --input-dir "path/to/folder" --action "extract" --output-dir "batch-results" --merge-results

# 批量筛选
python scripts/doc-extract-filter.py --batch --input-dir "path/to/folder" --action "filter" --keywords "关键词" --output-dir "batch-results"

Python 函数调用

from scripts.doc_extract_filter import DocExtractFilter

# 提取文本
result = DocExtractFilter.process("path/to/file.pdf", "extract")

# 提取 PDF 扫描件(启用 OCR)
result = DocExtractFilter.process("path/to/scanned.pdf", "extract", enable_ocr=True)

# 筛选关键词
result = DocExtractFilter.process("path/to/file.pdf", "filter", ["关键词1", "关键词2"])

# 筛选并排除指定内容
result = DocExtractFilter.process("path/to/file.pdf", "filter", ["关键词"], exclude_keywords=["排除词"])

# 设置上下文长度和筛选级别
result = DocExtractFilter.process("path/to/file.pdf", "filter", ["关键词"], context_length=100, filter_level="paragraph")

# 使用正则表达式筛选
result = DocExtractFilter.process("path/to/file.pdf", "filter", regex_pattern="d{4}-d{2}-d{2}")

# 批量处理 - 文件夹路径
result = DocExtractFilter.batch_process(
    input_dir="path/to/folder",
    action="extract",
    output_dir="batch-results"
)

# 批量处理 - 文件列表
result = DocExtractFilter.batch_process(
    file_paths=["path/to/file1.pdf", "path/to/file2.docx"],
    action="extract",
    output_dir="batch-results"
)

# 批量处理并合并结果
result = DocExtractFilter.batch_process(
    input_dir="path/to/folder",
    action="extract",
    output_dir="batch-results",
    merge_results=True
)

返回格式

{
  "success": true,
  "data": {
    "text": "提取的文本内容",
    "filtered_text": "筛选后的文本内容" // 仅 filter 操作返回
  },
  "error": ""
}

错误处理

  • 文件不存在:返回错误信息
  • 不支持的文件类型:返回错误信息
  • 操作失败:返回错误信息

安装与测试

安装

  1. doc-extract-filter 目录复制到 OpenClaw/CoPaw 的 skills 目录
  2. 运行 pip install -r requirements.txt 安装依赖

测试

使用 docs/test.pdf 文件测试功能:

# 测试提取文本
python scripts/doc-extract-filter.py --file_path "docs/test.pdf" --action "extract"

# 测试关键词筛选
python scripts/doc-extract-filter.py --file_path "docs/test.pdf" --action "filter" --keywords "单价,小计,总金额"

# 测试排除筛选
python scripts/doc-extract-filter.py --file_path "docs/test.pdf" --action "filter" --keywords "单价" --exclude-keywords "小计"

独立运行

doc-extract-filter 现在包含了所有必要的核心代码,可以独立运行,不依赖于外部的 src 目录。

相关专题

更多
Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

0

13

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

2026.09.20

0

15

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

0

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

0

10

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

2026.09.16

0

23

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

2026.09.16

0

25

Pandas数据读取导入与文件导出处理
Pandas数据读取导入与文件导出处理

本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

2026.09.16

0

27

GDB怎么设置断点
GDB怎么设置断点

本专题介绍GDB按照函数名、源代码行号和文件位置设置断点的方法,详细说明run、continue、next、step等命令的配合使用,帮助定位程序崩溃、逻辑异常及代码未按预期执行的问题。

2026.09.11

0

28

GDB怎么查看变量值
GDB怎么查看变量值

本专题介绍GDB调试过程中查看变量值的具体方法,涵盖局部变量、函数参数、数组、结构体和指针内容查询,同时整理变量持续显示、格式化输出及无法读取变量时的排查思路。

2026.09.11

0

22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133万人学习