Word Reader
读取 Word 文档(.docx 和 .doc 格式)并提取文本内容。支持文档解析、表格提取、图片处理等功能。使用当用户需要分析 Word 文档内容、提取文本信息或批量处理文档时。
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 2 · 1.4k · 11 current installs · 12 all-time installs
MIT-0
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
技能名称/描述、所需二进制(python3)、以及所安装的依赖(python-docx、可选 antiword)与“读取 Word 文档并提取内容”的目的匹配。例外:skill 元数据与 requires.env 将 PYTHONPATH 列为必需项,但代码和安装脚本中没有使用或设置该环境变量,这看起来不必要或误报。
Instruction Scope
SKILL.md 的运行说明仅指示安装 python-docx/antiword 并运行 scripts/read_word.py,范围与文档处理目的相符. 需要注意的细节:demo.sh 硬编码检查路径 /root/.openclaw/workspace/skills/word-reader/scripts/read_word.py(在非 root 或不同工作目录下可能失效),install.sh 会尝试自动安装 pip 和在系统范围内安装依赖并执行脚本的 --help 以验证安装。代码使用 subprocess 调用 antiword(仅用于 .doc 支持),这是合理且与目的相关。
Install Mechanism
安装通过 pip(python-docx)和可选的系统包管理器(apt-get / brew 用于 antiword)完成,这来自常见来源(PyPI / OS 包管理器)且没有从不受信任的 URL 下载或提取任意归档。值得注意:install.sh 使用 pip install python-docx --break-system-packages(该标志不常见且在某些系统上具有系统级副作用/特殊含义),并且 install.sh 会尝试使用系统包管理器(sudo apt-get),这会要求提权。
Credentials
requires.env 列出 PYTHONPATH 为必要环境变量,但没有其它必需的 API 密钥或凭证。代码、install.sh、demo.sh 未读取或依赖 PYTHONPATH,且脚本也不访问任何其他外部凭证,故声明 PYTHONPATH 为必需不成比例且可能是多余或误配置。
Persistence & Privilege
技能没有设置 always:true,默认的自主调用也未结合广泛权限或敏感凭证访问。install.sh 仅设置脚本可执行位并在本地验证,未修改其他技能或系统配置文件。总体持久性/权限要求处于正常范围,但会请求 sudo/apt 以安装系统包(可选 antiword),须注意提权操作。
What to consider before installing
概述和建议操作:
- 不要立即在生产主机上运行 install.sh;先在隔离环境(临时 VM 或容器、或 Python virtualenv)中测试。install.sh 可能会调用 sudo/apt。
- review: 在安装前打开并阅读 scripts/read_word.py、install.sh、demo.sh。关注两点: (1) install.sh 使用了 --break-system-packages(非常规),这可能影响系统包策略;(2) demo.sh 中硬编码的 /root/.openclaw/... 路径在你的环境中可能不正确或表明假设的运行上下文。
- PYTHONPATH: skill 元数据要求 PYTHONPATH,但代码没有使用该环境变量。建议向作者确认是否真的需要,并在安装说明或元数据中移除多余的 env 要求。
- 权限: install.sh 可能会使用 sudo 来安装系统包(antiword),如果你不需要 .doc 支持可跳过这一步。优先在虚拟环境或容器内运行 pip 安装以避免污染系统 Python。
- 安全检查: scripts/read_word.py 使用 subprocess 调用 antiword(仅在处理 .doc 时),并在 docx 情况下访问文档内的图片 blob 来计算大小(未写回磁盘)。这些行为看起来与功能相关,但如果你担心敏感文件泄露,请在本地环境中运行或对代码做审计以确认没有意外的网络/外部通信。
- 若需更高信心:要求作者解释为何声明 PYTHONPATH 为必需、移除或解释 --break-system-packages 的使用,并确认 demo 脚本中路径的意图;或将技能打包为不需要系统级 pip 更改的版本。Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.0
Download zipdocumentlatestofficeparsingreadertext-extractionword
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
📄 Clawdis
Binspython3
EnvPYTHONPATH
SKILL.md
Word 文档读取器
使用 Python 解析 Word 文档,提取文本内容和结构化信息。
支持的功能
- 文档文本提取 - 提取段落、标题、页眉页脚内容
- 表格解析 - 读取表格数据并转换为结构化格式
- 图片处理 - 提取文档中的图片信息
- 元数据获取 - 读取文档属性(作者、标题、创建时间等)
- 批量处理 - 支持处理多个文档
用法
基本文本提取
python3 {baseDir}/scripts/read_word.py <文件路径>
指定输出格式
# JSON 输出
python3 {baseDir}/scripts/read_word.py <文件路径> --format json
# 纯文本输出
python3 {baseDir}/scripts/read_word.py <文件路径> --format text
# Markdown 格式
python3 {baseDir}/scripts/read_word.py <文件路径> --format markdown
提取特定内容
# 只提取文本
python3 {baseDir}/scripts/read_word.py <文件路径> --extract text
# 提取表格数据
python3 {baseDir}/scripts/read_word.py <文件路径> --extract tables
# 获取文档元数据
python3 {baseDir}/scripts/read_word.py <文件路径> --extract metadata
批量处理
# 处理目录下所有 .docx 文件
python3 {baseDir}/scripts/read_word.py <目录路径> --batch
参数说明
| 参数 | 说明 | 默认值 |
|---|---|---|
--format | 输出格式(json/text/markdown) | text |
--extract | 提取内容类型(text/tables/images/metadata/all) | all |
--batch | 批量处理模式 | false |
--output | 输出文件路径 | stdout |
--encoding | 文本编码(utf-8/gb2312) | utf-8 |
输出格式
JSON 格式
{
"metadata": {
"title": "文档标题",
"author": "作者姓名",
"created": "2024-01-01T10:00:00",
"modified": "2024-01-01T12:00:00"
},
"text": "文档全文内容...",
"tables": [
[
["表头1", "表头2"],
["行1列1", "行1列2"],
["行2列1", "行2列2"]
]
],
"images": [
{
"filename": "image1.png",
"description": "图片描述",
"size": "1024x768"
}
]
}
Markdown 格式
# 文档标题
**作者**:作者姓名
**创建时间**:2024-01-01 10:00:00
## 正文内容
这是文档的正文内容...
### 表格示例
| 表头1 | 表头2 |
|-------|-------|
| 行1列1 | 行1列2 |
| 行2列1 | 行2列2 |

## 图片列表
1. **image1.png** (1024x768) - 图片描述
错误处理
- 文件不存在:显示错误信息并退出
- 格式不支持:提示支持的文件类型
- 权限问题:提示文件访问权限
- 编码问题:尝试自动检测编码
示例场景
1. 查看项目文档
python3 {baseDir}/scripts/read_word.py 项目需求.docx --format markdown
2. 提取会议记录
python3 {baseDir}/scripts/read_word.py 会议记录.docx --extract text
3. 批量处理文档
python3 {baseDir}/scripts/read_word.py ./文档目录 --batch --format json --output results.json
注意事项
- 支持 .docx 格式(Office 2007+)
- .doc 格式需要额外依赖(如 antiword)
- 大文档处理可能需要较长时间
- 图片提取仅获取元数据,不包含实际图片数据
- 表格格式可能需要手动调整
故障排除
常见问题
- ModuleNotFoundError: 确保已安装 python-docx
- PermissionError: 检查文件读取权限
- UnicodeDecodeError: 尝试不同的编码格式
安装依赖
pip3 install python-docx
对于 .doc 格式支持:
# Ubuntu/Debian
sudo apt-get install antiword
# macOS
brew install antiword
高级功能
自定义样式处理
脚本会自动处理以下文档元素:
- 标题级别(H1-H6)
- 段落样式
- 列表项目
- 页眉页脚
- 文档属性
性能优化
- 大文件流式处理
- 内存使用优化
- 进度显示(批量模式)
Files
9 totalSelect a file
Select a file to preview.
Comments
Loading comments…
