您可以在本地运行 GroupDocs.Metadata.Mcp 的 AI 代理,通过一次提示就删除元数据后再共享,但被剥离的文件并不自动等同于安全文件。提示如下:
从我的文档文件夹中的所有文件中剥除所有元数据,并告诉我您删除了哪些内容。
带有配置和故障排除的逐步版本请参见文档:在共享文档之前剥除元数据的方式
常见的错误做法是什么?
常见的做法是“剥离后直接发送”:执行一次删除,假设结果已干净,然后附上文件。这种做法会在三方面失效,且都不是 bug。每一种都是元数据删除意义的边界。
为什么原始文件仍然有风险?
remove_metadata 会从文档中删除元数据并将清理后的副本保存到存储中。它不会改写原始文件。原始文件仍然保留在磁盘上,若误附上错误的文件就会使整个操作失效。这类情况屡见不鲜:投标文件因邮件中附的是未清理的文件而在 Company 字段出现竞争对手名称。
解决办法在于流程:让代理为它生成的文件命名,并只发送该文件。
为什么 “没有元数据” 并不等同于 “没有隐藏内容”?
修订痕迹、批注、嵌入对象以及早期版本都位于文档正文中,而不是属性集合中。元数据工具无法删除非元数据的内容。对于批注和注释,文档指向 GroupDocs.Annotation.Mcp 服务器;对于内容层面的编辑则使用 GroupDocs.Redaction。元数据步骤应使用哪个服务器:Redaction 服务器的 erase_metadata 会清除已命名的文档属性字段(作者、标题、公司、关键字、日期等),而此服务器的 remove_metadata 按类别(gps、author、comments、company、dates、software、copyright、keywords、personal)剥离,并覆盖 EXIF、XMP 和 IPTC 包。有关隐藏文本和批注的处理,请参阅 使用 AI 代理对敏感数据进行 3 种编辑的方式
为什么未经授权的运行不可被信任?
在评估模式下,仅前 5 项文档属性可读写,且 XMP 与 EXIF 部分不可用。在评估模式下执行 “剥除全部” 的过程无法诚实地声称已删除所有内容,验证读取同样不完整:您只能确认一个被截断的列表。请先调用 get_license_status。在正式的预共享运行前,应用许可证文件或计量密钥,或使用免费 30 天临时许可证。
正确的做法:读取、剥离、验证?
使用循环,在每一步都调用工具,最后一步读取副本:
- 捕获。 对原始文件执行
read_metadata,记录其中的内容。 - 剥离。
remove_metadata生成清理后的副本。若不指定categories,它会删除所有可剥除的元数据,即文档属性、EXIF、XMP 与 IPTC 包等;结构上属于文档本身的内容不是元数据,仍会保留。若想保留标题和日期,可传入类别:gps、author、comments、company、dates、software、copyright、keywords或personal(覆盖人员、公司和位置的最佳集合)。 - 验证。 对清理后的文件执行
read_metadata,查看剩余内容。
第 3 步是人们常跳过的环节,它把 “我认为已经干净” 变成前后对比。可复用的提示如下:
在我从此文件夹发送任何内容之前:读取元数据,剥除它,验证副本是否干净,并为每个文件给出一行报告。
这相当于每个文件进行三次工具调用,并在最后生成一张表格,属于代理的常规工作,而人在截止日期前常会忘记这一步。
何时执行剥离:一次性还是每次?
将其视为检查点,而非清理项目。它防止的事故往往并不惊人:新闻稿的作者字段出现起草人姓名、合同的公司字段出现前雇主、现场照片附带坐标等。每一次都是普通文件在无人检查的情况下离开了文件夹。代理是理想的最后检查点,因为提问本身不耗资源。将此指令写入项目规则或复用的提示中,使读取、剥离和验证序列在每次处理出站文件夹时都自动运行,而不是仅在有人记起时才执行。
检查点仅在许可证状态已知的情况下有效。使用已授权或计量运行时,验证读取会看到完整的属性集合,且每个文件的一行报告可以作为可靠的声明。评估运行时,仅将报告视为工作流演练,不作其他用途。
示例会话(节选)
You: Remove the author and company from tender-draft.pdf, keep title and dates, then verify.
Agent: [calls read_metadata on tender-draft.pdf] Author, Company, Title, dates found
Agent: [calls remove_metadata: categories = author, company] 2 properties removed
Agent: [calls read_metadata on the cleaned copy] Title and dates remain; Author and Company absent
Send the cleaned copy named in the remove step, not tender-draft.pdf.
此示例用于说明流程,并非实际截图。remove_metadata 会返回包含已删除属性数量的保存路径信息。
常见问题
我可以在发送 PDF 之前删除作者吗?
可以。让代理删除 author 类别,它会调用 remove_metadata 并保存清理后的副本。随后用第二次读取检查副本。
在将文档上传到 LLM 之前是否应删除元数据?
如果文档会离开您的机器,请先剥离一份副本,因为属性会随文件一起传输。使用 GroupDocs.Metadata.Mcp 时,剥离过程完全在本地完成。
剥离是否也会删除正文中的修订痕迹和批注?
不会。这些属于内容而非元数据。comments 类别指的是元数据中的批注属性,正文层面的批注和注释属于 Annotation 服务器,隐藏文本及其他内容层面的编辑则交由 Redaction 服务器处理。
深入了解
- 文档、权威操作指南:在共享文档之前剥除元数据的方式
- 文档中心:GroupDocs.Metadata MCP Server
- 入门指南:在共享文档前向 AI 代理提出的 3 条元数据问题
- 相关内容: 使用 MCP 的自动化 AI 工作流强制执行元数据标准
- 相关内容: 照片来源问题,AI 代理在本地读取 EXIF/XMP/IPTC 而无需上传图像
- 其他服务器: 使用 AI 代理和 MCP 对敏感数据进行 3 种编辑的方式
- 其他服务器: GroupDocs.Redaction.Mcp · GroupDocs.Annotation.Mcp
- 本地部署与安全模型: AI 文档处理的 3 种架构,以及保持文件在网络内部的方案
- 问答论坛: GroupDocs Metadata 论坛
- 源代码: GroupDocs.Metadata.Mcp 在 GitHub 上的仓库