WPS笔记内置官方Skill深度解析(二):工具体系(读取/定位工具、写入工具和管理工具)

本文为WPS笔记内置wps-note Skill系列解析第二篇。第一篇我们拆解了该Skill的核心定位、底层block模型、XML交换规范与基础工作流,明确了“先定位→再读取→最后编辑”的核心操作原则。本文将聚焦工具体系的底层设计逻辑,全量拆解读取/定位工具、写入工具和管理工具的细节、实操要点与避坑红线,为后续实操应用奠定基础。

一、工具体系的底层设计逻辑

wps-note Skill的工具体系围绕WPS笔记AI原生操作场景设计,严格匹配“定位-读取-编辑-管理”全流程闭环,官方将其划分为三大核心类别,职责边界清晰,避免操作冗余与冲突:

  1. 读取/定位工具:解决“找得到”的问题,是所有操作的前置核心,负责定位笔记、内容块及获取结构信息,是避免操作报错的关键;

  1. 写入工具:解决“改得了”的问题,是核心操作载体,负责内容新增、修改、删除,内置原子性保障,避免脏数据;

  1. 管理工具:解决“管得好”的问题,负责笔记生命周期、标签、元数据查询及故障诊断,覆盖全流程配套需求。

二、核心工具全量拆解:读取/定位工具——所有操作的前置核心

读取/定位工具是Skill操作体系的基础,官方明确要求:任何编辑操作前,必须通过此类工具获取最新、有效的note_id与block_id,否则易触发BLOCK_NOT_FOUND等高频错误。按操作范围可分为4个子类,严格遵循官方CLI文档规范,具体拆解如下:

(一)全局笔记定位工具:从全笔记库锁定目标note_id

此类工具核心作用是获取目标笔记的唯一标识note_id,是所有操作的第一步,核心工具共3个,具体参数与实操要求如下表所示:

工具名

核心用途

关键参数

适用场景

避坑红线

get_current_note

获取当前打开笔记的note_id、元数据、字数统计、size_category

无参数

操作当前激活的笔记窗口,是操作当前笔记的第一步必调用工具

仅支持当前前台激活笔记,无法获取历史打开笔记;需通过其返回的size_category决定后续读取策略

list_notes

列出全量笔记,支持排序和分页

limit?sort?direction?page?page_size?

无明确关键词的笔记浏览,如查看最近编辑的10篇笔记

大笔记库建议搭配pagepage_size分页调用,避免单次返回内容过多

search_notes

按关键词、标签、时间范围精准搜索笔记

keyword?tags?since?before?limit?

有明确关键词/标签的目标笔记定位,是获取note_id的核心方式

仅传tags可按标签浏览,多标签为交集筛选;替代旧版list_tag_notes工具

(二)单笔记结构定位工具:锁定目标内容的block_id

拿到note_id后,需通过此类工具获取笔记结构信息,找到目标内容对应的顶层block_id,是编辑操作的核心前提,核心工具共2个:

工具名

核心用途

关键参数

适用场景

避坑红线

get_note_outline

获取笔记完整大纲,返回顶层block的id、type、预览及分页信息(含word_count、size_category)

note_idoffset?block_limit?max_depth?include_preview?

编辑前刷新block_id、长文档结构梳理、超大文档分页结构获取

编辑后需重新调用刷新id;>200 blocks的超大文档自动分页,需用next_offset续读

get_cursor_block

获取当前光标所在顶层block的id、type及所属note_id

无参数

围绕光标位置的快速编辑,如在光标处添加内容

光标在容器块(高亮块、分栏等)内部时,会返回UNSUPPORTED_POSITION错误

(三)精准内容读取工具:按需获取,避免token浪费

此类工具用于精准读取目标内容,官方要求:文档越大,越优先使用精准定位读取,而非全量读取,核心工具共4个:

工具名

核心用途

关键参数

适用场景

避坑红线

read_blocks

批量读取block的XML内容,或读取单个block上下文

note_idblock_ids(批量)或block_id+before?+after?(上下文)

编辑前确认内容、读取目标段落及上下文,长文档编辑首选

仅支持顶层block_id,容器内部id不可用于读写

read_section

按标题block_id读取完整章节(从当前标题到下一同级标题结束)

note_idheading_block_idmax_blocks?block_offset?

5K-20K字中文档按章节读取

heading_block_id必须是heading类型,否则报INVALID_BLOCK_TYPE错误;章节截断时用next_block_offset续读

read_note

读取笔记全文或分页读取全文XML

note_idoffset?block_limit?

仅适用于<5K字的small类小文档

禁止直接读取长文档全文,>200 blocks的超大文档需分页续读(has_more: true时用next_offset

search_note_content

在单篇笔记内搜索文本,返回匹配block的id、type与内容预览

note_idquerymax_results?

20K字以上大/超大文档精准定位

长文档定位首选,效率远高于顺序读取

(四)特殊内容与规范读取工具

用于处理非文本内容与格式规范查询,为补充性读取工具,核心工具共3个:

工具名

核心用途

关键参数

适用场景

避坑红线

read_image

读取图片block的base64格式内容,供AI视觉理解

note_idblock_id

识别图片内表格、提取图片文字

仅支持image类型单图block,不可用于图片分栏block

get_audio_transcript

获取语音录音卡片的转写文本,带说话人、时间戳

shorthand_id(从note_audio_card的attrs中获取)

语音笔记的转写、总结、翻译

断网时返回WEBSOCKET_NOT_CONNECTED错误,需检查网络后重试

get_xml_reference

获取完整XML格式参考文档,含标签、属性、写入示例

无参数

不确定XML写法时查询规范,避免报错

仅作参考,不可直接复制写入,需匹配对应block类型

三、核心工具全量拆解:写入工具——内容编辑的核心载体

写入工具是Skill的核心能力载体,所有写入操作均遵循严格的XML规范与原子性规则,官方分为核心写入、特殊内容写入、隐藏写入三类,具体拆解如下:

(一)核心写入工具

日常编辑的核心工具,覆盖单操作、多操作原子编辑,核心共2个:

工具名

核心用途

关键参数与操作规则

适用场景

避坑红线

edit_block

单操作编辑首选,支持4类核心操作

核心参数:note_idop(操作类型);4类操作必填项:replace需block_id+content,insert需anchor_id+position+content,delete需block_ids,update_attrs需block_id+attrs

单一段落/标题的修改、新增、删除、属性调整

编辑后block_id可能变化,连续操作需通过get_note_outline刷新id或用last_block_id锚定;表格需整表替换,不可修改单个单元格

batch_edit

多操作合并的原子事务编辑,保证全部成功或回滚

核心参数:note_idoperations数组;执行顺序固定(与数组顺序无关):delete→replace→update_attrs→insert;返回new_block_idslast_block_id

批量修改、搜索替换,需保证数据一致性的场景

不可依赖数组顺序控制执行逻辑;单次最多100个子操作,避免事务过大

(二)特殊内容写入工具

专门处理图片、AI生图等无法通过XML直接创建的内容,核心共2个:

工具名

核心用途

关键参数

适用场景

避坑红线

insert_image

唯一合法的图片插入工具,不可通过XML创建图片

note_idanchor_idpositionsrcalt?

插入在线/本地图片到笔记

需联网;src仅支持HTTP/HTTPS图片直链和base64 data URI,本地文件需转为base64;URL需返回image/*类型,否则报IMAGE_FETCH_FAILED错误

generate_image

AI文生图,返回图片URL,需配合insert_image插入

promptwidth?height?

根据文本生成配图插入笔记

每用户每分钟限调用1次,生成耗时30-120秒,频繁调用会触发RATE_LIMITED错误

(三)隐藏写入工具

包括replace_blockinsert_blockdelete_blocksupdate_block_attrs,功能与edit_block对应操作完全一致,可正常调用但默认不展示。适用于需要单独调用特定操作的场景,完整使用规则如下:

隐藏工具名

核心用途

关键参数

与edit_block的对应关系

适用场景

replace_block

替换单个block的内容

note_idblock_idcontent

对应edit_blockop: "replace"操作

仅需执行单个替换操作,无需其他操作类型的场景

insert_block

在指定锚点block的前后插入新内容

note_idanchor_idpositioncontent

对应edit_blockop: "insert"操作

仅需执行单个插入操作,无需其他操作类型的场景

delete_blocks

删除指定的一个或多个block

note_idblock_ids

对应edit_blockop: "delete"操作

仅需执行删除操作,无需其他操作类型的场景

update_block_attrs

更新单个block的属性

note_idblock_idattrs

对应edit_blockop: "update_attrs"操作

仅需修改block属性,无需修改内容的场景

> 官方提示:日常操作优先使用edit_block统一入口,隐藏工具仅用于需要单独拆分操作的特殊场景,不推荐常规使用,避免冗余。

四、核心工具全量拆解:管理工具——笔记全生命周期与故障诊断

覆盖笔记创建删除、元数据管理、标签管理、故障诊断全流程,核心工具共7个,具体如下:

工具名

核心用途

关键参数

适用场景

避坑红线

create_note

创建空白笔记(仅含空段落),返回note_id与title

title?

新建标准化、模板类笔记

不支持传入初始内容,需后续用edit_block/batch_edit填充

delete_note

永久删除笔记,不可恢复

note_id/note_ids(最多100个)

删除无用笔记

操作前必须与用户二次确认,删除后无法通过任何方式恢复

sync_note

触发笔记与云端同步

note_id

编辑后手动同步,避免本地内容未上传

仅触发同步动作,不返回同步结果,同步完成状态需通过前端确认

get_note_info

获取笔记元数据(标题、创建/更新时间、简介、标签等),无需读取全文

支持单note_id查询、批量note_ids查询(最多100个)、全量分页查询(page+page_size

批量获取标签、统计笔记信息

批量查询最多100个note_id,超出会触发INVALID_PARAMS错误

find_tags

列出或搜索全量标签,返回标签的id与name

keyword?

获取已有标签id、按关键词搜索标签

大标签库建议搭配keyword筛选,提升查询效率

get_note_stats

获取笔记使用统计数据,包括总笔记数、标签数、字数分布等

detailed?

统计笔记库整体使用情况

detailed=true时会返回详细分类统计,耗时更长,需合理选择

get_mcp_logs

获取MCP工具调用日志,用于诊断内部错误

limit?

工具调用返回INTERNAL_ERROR时排查原因

仅返回最近20条日志(默认),超出需调整limit参数

北京
浏览 448
收藏
3
分享
3 +1
+1
全部评论