办公文档
需要与用户可视化协作处理 PDF(批注、填表、签名)时…
当用户想打开 PDF 并一起做可视化标注、高亮、盖章、填表单或放置签名时,用本地 PDF 交互查看器协作完成。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要与用户可视化协作处理 PDF(批注、特定
解决思路
- 用 list_pdfs 列出可用的本地 PDF 和允许访问的本地目录(无需参数)。
- 用 display_pdf 在交互查看器中打开 PDF,每个文档只调用一次;参数包括 url(本地路径或 HTTPS 链接)、page(可选初始页,默认 1)、elicit_form_inputs(为 true 时在显示前提示用户填写表单字段,用于交互式填表)。
- 保存 display_pdf 返回的 viewUUID,后续每次 interact 调用都要传入它;再次调用 display_pdf 会创建独立的新查看器,用新 UUID 的 interact 不会作用到用户正在看的那个。
- 若 PDF 有可填字段,display_pdf 还会返回 formFields(name、type、page、bounding box),用这些坐标放置签名。
- 所有后续操作都用 interact,传入 viewUUID 加一个或多个命令;用 commands 数组在一次调用中批量执行多条命令(按顺序运行),批次末尾用 get_screenshot 可视化验证改动。
- 用 add_annotations 添加标注,update_annotations 修改已有标注(需 id + type),remove_annotations 按 id 数组删除,highlight_text 按查询自动查找文本并高亮(文本标注优先用它而非手动画矩形)。
- 用导航命令:navigate(页码)、search(查询)、find(查询,静默)、search_navigate(matchIndex)、zoom(scale 0.5–3.0)。
- 用提取命令:get_text 提取页码范围文本(最多 20 页,用于决定标注什么,不用于摘要)、get_screenshot 截取页面图像以验证标注。
- 用 fill_form 填写具名字段:fields: [{name, value}, ...]。
- 添加标注时每个标注需 id(唯一字符串)、type、page(从 1 开始);坐标单位为 PDF 点(1/72 英寸),原点在左上角,Y 向下递增,US Letter 为 612×792pt。
- 按用途选择标注类型:highlight(rects、color?、content?)标记重要文本;underline(rects、color?)强调术语;strikethrough(rects、color?)标记删除;note(x、y、content、color?)便签评论;freetext(x、y、content、fontSize?)页面可见文字;rectangle(x、y、width、height、color?、fillColor?)框选区域;circle(x、y、width、height、color?、fillColor?)圈选区域;line(x1、y1、x2、y2、color?)画线/箭头;stamp(x、y、label、color?、rotation?)盖 APPROVED、DRAFT、CONFIDENTIAL 等章;image(imageUrl、x?、y?、width?、height?)放签名、首字母、logo。
- image 标注接受本地文件路径或 HTTPS URL(不支持 data: URI),省略尺寸时自动检测;用户也可直接把图片拖放到查看器上。
- 协作标注流程:display_pdf 打开文档 → interact 用 get_text 读取相关页码范围了解内容 → 向用户提议一批标注(描述将标记什么)→ 用户批准后 interact 用 add_annotations + get_screenshot → 展示给用户并询问修改、迭代 → 完成后提醒用户可从查看器工具栏下载已标注 PDF。
- 可视化填表流程:display_pdf 并检查返回的 formFields(name、type、page、bounding box)→ 若字段名晦涩(如 Text1、Field_7),用 get_screenshot 截取页面并把 bounding box 与页面上的可视标签对应 → 用可视标签向用户询问取值或从上下文推断 → interact 用 fill_form 后 get_screenshot 展示结果 → 用户确认或直接在查看器中修改;对于标签清晰的简单表单,可用 display_pdf 的 elicit_form_inputs: true 提前提示用户填写。
- 签名流程:询问签名/首字母图片路径 → display_pdf 并检查 formFields 中是否有签名类型字段,或询问页码/位置 → interact 用 add_annotations 且 type: "image" 放到目标坐标 → get_screenshot 确认位置;注意这只是放置可视化签名图片,不是认证或加密数字签名。
- 支持来源:本地文件(客户端 MCP roots 下的路径)、arXiv(/abs/ 链接自动转为 PDF)、任意直接 HTTPS PDF 链接(bioRxiv、Zenodo、OSF 等,用直接 PDF 链接而非落地页)。
适用边界 · 注意事项
- 纯摘要或文本提取(如“总结这个 PDF”“第 5 页写了什么”“提取第 3 节的表格”)应直接用原生 Read 工具,不要用查看器。
- 需要认证或加密数字签名时,本技能只能做图片盖章,不适用。
- 需要创建 PDF 时不适用,本技能只处理已有 PDF。