用途:该技能用于操作用户的 Google Drive,包括浏览文件与文件夹、上传和下载文件、创建与整理目录、调整共享权限以及删除或恢复文件。所有操作都通过 hatch_gws_cli drive ... 命令完成。
主要能力:
- 浏览与查找:使用 drive files list 配合 --params 查询文件列表;可按父文件夹 id、名称包含条件或全文内容搜索,并用 drive files get 获取单个文件的名称、类型、父目录、链接、修改时间和所有者等字段。
- 上传与下载:用 drive +upload 上传用户提供的本地文件,上传路径必须为绝对路径且位于主目录内;用 drive files update 配合 --upload 替换已有文件内容;用 drive files get 配合 alt=media 与 --output 将存储型二进制文件下载到本地路径。
- 创建与整理:可新建文件夹(以 root 作为顶层父目录)、重命名、移动(通过 addParents 与 removeParents)、复制到我的云端硬盘。
- 分享:通过 drive permissions create 设置用户类型与 reader 或 writer 角色。
- 删除:优先使用 trashed=true 移入回收站并可恢复;仅在用户明确要求时使用 files delete 永久删除,并需说明不可恢复。
使用方式:首次使用前运行 drive status 检查连接状态。若返回未连接并带有 connect_url,则把该链接以“Connect Google Drive”形式发给用户,等待其自行点击完成连接;若未返回链接,应说明连接不可用并停止,不得自行编造链接或代替用户登录。断开连接使用 drive disconnect,仅在命令返回链接时展示。多账号场景下,先用 drive accounts 列出已连接的 Drive,按用户描述匹配唯一的 display_name,并传入其 account_id;无精确匹配时应询问用户。命令的具体参数可通过 --help 查看,原始方法参数结构可用 hatch_gws_cli schema 查询,不熟悉的方法应先确认结构。
适用场景:适用于查找、整理、上传、下载、分享和删除用户在 Google Drive 中的文件与文件夹,以及在多个已连接账号间选择目标 Drive 进行操作。
限制:读取、编辑或导出 Google 文档、表格、幻灯片的内容不属于该技能范围,应交给对应的 Docs、Sheets、Slides 技能处理;该技能不通过 Drive 拉取 Google 原生文件内容。评论、共享云端硬盘和审批请求不是内置流程,如需使用应先查询方法结构,并将任何写入视为共享操作、事先确认。上传文件不能使用相对路径或 /tmp 路径;替换内容会丢弃文件原有其他内容;向 Google 表格上传不受支持。操作时应优先选择可恢复的回收站方式,只使用先前命令返回的文件与文件夹 id,上传或下载前确认本地路径存在,不向用户展示原始命令、JSON、id、令牌或凭证信息。