【建议】金山文档SKILL完善文档操作能力

快乐小子新
快乐小子新 Lv.2 潜力创作者

Lv.2潜力创作者

一、功能清单

能力

金山文档 SKILL

百度网盘 SKILL

上传

upload_file

bdpan upload

下载

download_file(获取下载信息)

bdpan download(直接下载,含大文件后台策略)

列表

list_files(支持排序:ctime/mtime/dtime/fname/fsize)

bdpan ls

搜索

search_files(支持文件名搜索、内容全文搜索、按后缀/时间/创建者/分享者过滤)

bdpan search(支持按媒体类型分类筛选:视频/音频/图片/文档/应用/种子)

创建文件夹

create_file

bdpan mkdir

移动

move_file(批量)

bdpan mv

复制

copy_file(支持跨盘)

bdpan cp

重命名

rename_file

bdpan rename

同名检查

check_file_name

分享

share_file(支持 scope/密码/过期时间) + set_share_permission + get_share_info + cancel_share(支持 pause/delete 两种模式)

bdpan share(SKILL.md 注明"付费接口")

分享链接下载

通过工具链实现:URL 提取 link_idget_share_info 获取 file_iddownload_file

bdpan download(直接传入分享链接)

分享链接转存

通过工具链实现:URL 提取 link_idget_share_info 获取 file_idcopy_file

bdpan transfer

收藏

list_star_items / batch_create_star_items / batch_delete_star_items

标签

完整标签体系(8 个工具)

最近访问

list_latest_items

回收站

list_deleted_files + restore_deleted_file

网页剪藏

scrape_url + scrape_progress

文档内容读取

read_file_content(抽取为 Markdown/纯文本)

附件上传

upload_attachment(支持 URL 或 Base64)

文件删除(移入回收站)

回收站永久删除/清空

文件版本历史

二、金山文档 SKILL 缺失的文档操作能力

1. 文件删除(移入回收站)

金山文档 SKILL 的回收站模块仅包含 list_deleted_files(列出回收站文件)和 restore_deleted_file(还原)。整个 SKILL 的 drive 层级工具(共 33 个 action)中无文件删除命令,所有 delete 类工具均为文档内容或表格内部的删除(如 otl.block_deletesheet.delete_sheetsdbsheet.delete_records)。经 kdocs-cli drive --help 确认 33 个 action 完整列表,并通过 kdocs-cli call 尝试 13 种可能的 API 名称(如 drive.delete_filedrive.trashdrive.recycle 等),均返回 tool not found

然而,金山文档开放平台已提供对应的个人文档 API:

DELETE /api/v1/openapi/personal/files/:file_token

该接口可将文档移动到回收站,权限值为 remove_personal_files,测试应用限额 500 次/天,正式应用限额 100,000 次/天。此外,批量删除 API 也已存在:

POST /api/v1/openapi/personal/tasks/files/delete

这意味着底层 API 已就绪,但 kdocs-cli 及 SKILL 层面尚未封装。

2. 回收站永久删除与清空

金山文档 SKILL 的回收站模块仅支持列表查看和还原,缺少从回收站永久删除文件的能力。

金山文档开放平台已提供对应的个人文档 API:

POST /api/v1/openapi/personal/recycles/destroy

该接口接受 file_tokens 数组参数,可一次性删除回收站中的多个文件,删除后无法恢复。权限同样为 remove_personal_files

与第 1 项相同,底层 API 已就绪,但 kdocs-cli 及 SKILL 层面未封装。

3. 文件版本历史

金山文档 references/drive.md 附录 A 的 FileInfo 结构中包含 version(文件版本号)字段,permission 对象中也列出了 history(标注"仅公网支持")。经实际验证,对测试文件执行 otl.insert_content 修改后,get_file_info 返回的 version 字段始终为 1(不变),而 otl.insert_content 返回值中的 version 字段递增(97 → 98 → 99),说明二者属于不同层面的 version 概念。SKILL 未提供任何查看文件历史版本列表或回滚到指定版本的 drive 层级工具。

金山文档开放平台的应用文档 API(appspace)中存在版本历史相关接口:

GET  /api/v1/openapi/appspace/files/:file_token/versions          # 历史版本列表
GET  /api/v1/openapi/appspace/files/:file_token/versions/:version # 指定版本详情
GET  /api/v1/openapi/appspace/files/:file_token/versions/:version/download # 指定版本下载
POST /api/v1/openapi/appspace/files/:file_token/versions/:version/revert   # 回滚到指定版本

但需注意,上述版本历史接口仅存在于应用文档(appspace)API 体系下,个人文档(personal)API 体系当前未提供版本历史接口。金山文档 SKILL 当前操作的是个人文档空间,因此即使 kdocs-cli 封装了版本历史工具,其适用范围也可能受限于 API 层面的覆盖。

4. 批量复制文件(copy_file 不支持批量)

move_file 已支持批量(file_ids 数组),但 copy_file 仅接受单个 file_id。金山文档开放平台已有异步批量复制 API:

POST /api/v1/openapi/personal/tasks/files/copy

当用户需要一次复制多个文件到同一目录时,当前只能循环调用 copy_file,效率低且无法利用服务端的异步批量处理能力。

5. 协作用户管理(分享链接的精确权限控制)

当前 share_file 可设置 scope(anyone / company / users),但无法精确管理"哪些具体用户可以访问"。开放平台已有 3 个 API:

API

说明

POST .../links/members

添加协作用户到分享链接

PUT .../links/members/:user_id

修改单个协作用户的权限

DELETE .../links/members/:user_id

移除单个协作用户

从云盘基础能力角度看,指定协作者并分配权限是分享功能的核心组成部分。金山文档SKILL的分享模块已有 5 个工具,补全这 3 个即可形成完整的分享权限管理闭环。

浏览 429
收藏
3
分享
3 +1
+1
全部评论