素材自动归档
把一个(或一批)活动的素材文件夹从本地归档到百度网盘,并登记到腾讯文档汇总表。单个文件夹走完整四步;批量时对每个文件夹依次执行第 1~3 步,最后统一汇报。每步验证后再进入下一步。
License: MIT © 2026 Alicifia
第 -1 步:读取配置
先读 references/config.md,获取:网盘学年根目录、腾讯文档表格链接与工作表名、默认归档人、文件夹命名约定。
- 若 config.md 中仍有
【待填写】占位符:引导用户先完成配置再继续,不要猜。 - 若用户还没有汇总表(
sheet_url未填):主动提议由你代建——经用户同意后,用 WebBridge 在腾讯文档新建在线表格,按references/table-format.md的格式规范建好标题行、表头、月份分隔行和下拉验证(表名、下拉选项等先与用户确认),建好后把新表格链接(带 tab 参数)和工作表名写回 config.md,再继续归档流程。
输入
用户给出一个或多个本地素材文件夹路径(批量归档时会一次列举多个),可能顺带说明拍摄时间、活动名称、拍摄人员、上传到网盘的具体位置等。文件夹名约定见 config.md,默认形如 20260826新生大礼包(张三):
- 开头 8 位数字
YYYYMMDD→ 拍摄日期 - 中间文字 → 活动主题
- 括号内 → 拍摄人员
批量模式:用户给多个文件夹时,第 0 步对所有文件夹统一解析、统一确认,然后对每个文件夹依次执行第 1~3 步(上传 → 分享链接 → 登记表格),全部完成后统一汇报。同月份文件夹共用一个月份目录,检查/创建一次即可。
第 0 步:解析信息并与用户确认
- 列出每个本地文件夹内容,统计文件数量和类型(jpg/png/heic 等 → 图片;mp4/mov 等 → 视频;两者都有 → 图片+视频)。
- 从每个文件夹名解析:拍摄日期、活动名称(默认 = 文件夹名)、拍摄人员。
- 确定每个文件夹的网盘目标月份文件夹:按拍摄日期的月份,命名为
M月(如8月,不补零)。 - 批量时用一张汇总表向用户确认(文件夹名 → 拍摄日期 / 目标月份 / 活动名称 / 拍摄人员 / 文件数),所有疑问一次性问完。以下情况必须问用户,不要猜:
- 文件夹名中没有可解析的日期,或月份不确定
- 解析出的拍摄人员、活动名称存疑
- 用户在上传时直接指定了目标位置,以用户说的为准
第 1 步:上传到百度网盘
网盘根目录:config.md 中的 pan_root_dir(先用 file_keyword_search 或 file_list 根目录确认确切路径,不要硬编码假设;批量时确认一次即可)。
file_list查看学年根目录(dir参数需 URL 编码),确认目标月份子文件夹(如8月)是否存在;不存在用make_dir创建(path 传原始中文路径,不要 URL 编码,编码会建成字面乱码文件夹,见 references/baidu-pan.md)。批量时同月份只检查/创建一次。- 在月份文件夹下用
make_dir创建与本地素材文件夹同名的活动子文件夹,素材上传到该子文件夹内。注意:MCP 的file_upload_by_content只支持文本内容(≤2万字),不能传照片/视频二进制文件。 二进制文件走 WebBridge 浏览器上传(用户浏览器已登录网盘网页版),详细步骤见 references/baidu-pan.md;若浏览器上传失败,请用户用百度网盘客户端手动上传到目标文件夹,然后继续。 - 验证:
file_list活动子文件夹,逐一比对文件名和数量与本地文件夹一致。不一致则补齐后再继续。
第 2 步:创建永久分享链接
- 从第 1 步
file_list结果中取活动子文件夹的fsid(或用file_meta查询)。 - 调
file_sharelink_set:fsid_list为字符串元素的 JSON 数组(如["123"]),period=0(永久),pwd自生成 4 位(数字+小写字母)。 - 拼出完整链接,格式必须是:
https://pan.baidu.com/s/<短链>?pwd=<提取码>,例如https://pan.baidu.com/s/1ppHvrl7M_zoqO3Hcgmzf6Q?pwd=3wmc。 - 单个归档时把链接展示给用户确认;批量时不必逐个停下确认,收集好统一在第 4 步汇报。
第 3 步:填写腾讯文档汇总表
表格地址与工作表名:见 config.md 的 sheet_url / sheet_name(建议用带 tab 参数的直链,打开即为目标工作表)。用 WebBridge 操作用户浏览器(已登录态),详细操作技巧和 Windows 中文输入注意事项见 references/tencent-docs.md;表格完整格式说明见 references/table-format.md。
- 打开表格,确认当前工作表是 config 中的目标工作表,不对则点底部工作表标签切换。
- 找到拍摄日期对应的月份分隔行(整行彩色,如
8月),在该月份区块内的第一行空行填写;区块内按日期顺序插入。若该月份区块不存在,先问用户再决定是否在表尾新增。批量时同月份的多个文件夹按日期升序填连续的空行,每填一行重新确认下一空行行号。 - 按列填写(没有的信息留空,不要编造)。下拉选项列一律留空,填完后统一列出请用户手动选择(实测下拉点选耗时耗 token,默认由用户自己选):
| 列 | 类型 | 内容 |
|---|---|---|
| 活动时间(举办时间) | 文本 | 拍摄日期,M.D 格式(如 8.26) |
| 拍摄时间 | 文本 | 同上 |
| 拍摄负责人 | 下拉,留空 | 汇报时给出解析出的人员名,请用户手选 |
| 活动类目 | 下拉,留空 | 即使用户提供了类目也留给用户手选,汇报中说明 |
| 活动名称(时间+主题+主讲人) | 文本 | 与素材文件夹名一致 |
| 素材类型 | 下拉,留空 | 汇报时给出统计结果(图片/视频/图片+视频),请用户手选 |
| 网盘链接 | 文本 | 第 2 步带提取码的完整链接 |
| 备注 | 文本 | 一般不填 |
| 是否已归档 | 下拉,留空 | 提示用户选 是 |
| 素材归档负责人 | 先按文本试填,填不进则留空 | 归档人姓名(默认取 config 的 default_archiver,用户另行说明时以用户为准) |
列结构以 references/table-format.md 为准;若用户的表格列结构不同,以实际表格为准并在首次使用时更新 config。
- 验证:填完后截图回读该行,确认每个文本单元格内容正确、行位于正确月份区块内,然后截图发给用户,并列出所有留空的下拉列及建议值,请用户手动选择。
第 4 步:汇报
向用户汇报:网盘目标路径、上传文件数、分享链接(带提取码)、表格登记行位置和内容。批量时用一张汇总表汇报(每个文件夹一行:活动名称 / 网盘路径 / 文件数 / 分享链接 / 表格行号 / 待用户手选的下拉列及建议值)。
失败处理
- 网盘工具报错(鉴权/超时/限频):把原始错误展示给用户,不要伪装成功;限频则等待后重试。
- 任何一步验证不通过:停下来修复或问用户,不要带着未验证的状态进入下一步。