wecomdrive
通过企业微信官方网页端操作微盘、文件夹、在线文档和表格。适用于检查登录状态、抓取并发送扫码二维码、下载或导出文件、在本地处理内容、生成报告后再通过网页端导入回企业微信微盘的场景。
Like a lobster shell, security has layers — review code before you run it.
License
Runtime requirements
SKILL.md
企微微盘网页端
重要:路径解析
执行任何命令前,先根据当前 SKILL.md 的所在位置解析 $SKILL_DIR。在这个仓库里,包含本文件的目录就是技能根目录。
当 OpenClaw 只能通过企业微信官方网页端访问文件时,使用这个技能。实际操作页面时优先使用浏览器工具,因为这样可以保持会话、查看真实页面,并把截图直接发给用户;当你需要稳定地检查登录状态、抓取二维码、输出页面摘要、导出表格或把导出的 Excel 进一步整理成 Word 报告时,使用随附脚本。
强制规则
如果需要登录,必须把登录二维码图片发给用户。不能只保存在本地,也不能在用户扫码前继续执行任何文件读取或编辑操作。
如果进入二维码登录页,必须保持当前登录标签页或浏览器会话存活,直到用户完成扫码或明确放弃;不要在发出二维码后关闭标签页或重建新的登录页。
每次重新抓取二维码时,都要覆盖同一个本地二维码文件,默认使用 $SKILL_DIR/.outputs/wecom-login-qr.png,避免把旧二维码误发给用户。
处理文件内容时,默认先把文件下载到本地,再在本地处理;不要默认直接在网页编辑器里处理完整内容。
如果需要把本地结果重新上传到企业微信文档,固定打开 https://doc.weixin.qq.com/home/recent 页面,通过网页端导入文件。
工作流程
-
确定目标链接。
- 如果用户已经提供了微盘文件、文件夹或在线文档链接,直接打开该链接。
- 如果用户只是想先建立登录会话,从
https://doc.weixin.qq.com/home/recent开始。
-
检查是否需要登录。
- 如果当前 URL 是
https://doc.weixin.qq.com/home/recent且页面进入登录态检查,或者当前 URL 包含/wework_admin/loginpage_wx、/scenario/login.html,或者页面可见文字包含企业微信扫码登录、企业身份登录,或者 iframe 地址包含/wwqrlogin/,就视为需要登录。 - 一旦需要登录,先抓取二维码,再把二维码图片发给用户,然后才能做其他事情。
- 抓到二维码后不要关闭当前标签页;要让用户在这一个仍然存活的登录页面上完成扫码。
- 明确告诉用户需要扫码后才能继续。
- 如果页面提示
请在桌面端确认登录、无法扫码或类似文案,就切换到桌面端确认兜底流程,不要让用户重复扫码。
- 如果当前 URL 是
-
等待用户扫码。
- 等待期间保持同一个浏览器会话存活。
- 如果需要重新截图二维码,覆盖
$SKILL_DIR/.outputs/wecom-login-qr.png,不要生成新的时间戳文件。 - 用户扫码后重新检查页面,确认登录墙消失后再继续。
-
如果命中桌面端确认兜底,改走桌面端确认流程。
- 把当前截图或提示文案发给用户,明确说明这次不是普通扫码,而是需要在企业微信桌面端确认登录。
- 不要反复要求用户重新扫码。
- 优先复用已经登录过的持久化浏览器配置;如果仍未登录,再等待用户在桌面端完成确认后继续。
-
操作文件页面。
- 先判断这是“在线直接操作”还是“下载到本地处理后再回传”。
- 对文件类内容,优先下载到本地再处理。
- 只在用户明确要求且确实适合网页直接修改时,才在页面里做小范围编辑。
- 如果登录后站点跳到了通用首页,重新打开原始目标链接。
-
需要上传处理结果时,走固定上传入口。
- 打开
https://doc.weixin.qq.com/home/recent。 - 在最近页面里使用导入能力上传本地文件。
- 上传完成后,再打开上传后的文件链接继续检查。
- 打开
-
如果目标是表格分析或报表整理,优先走“原生导出 + 本地生成报告”。
- 先用网页原生菜单导出
.xlsx或当前工作表.csv。 - 在本地完成统计、分析和报告生成。
- 需要回传时,把
.docx、.xlsx或其他结果文件重新导入微盘。
- 先用网页原生菜单导出
优先浏览器流程
只要浏览器工具可用,就优先使用浏览器工具。
- 在浏览器中打开目标链接或登录链接。
- 检查当前页面。
- 如果页面显示登录墙,截取二维码区域或登录卡片,并在当前对话轮次里把图片发给用户。
- 登录墙出现后不要关闭该标签页;保留当前页面等待用户扫码,必要时只更新截图文件。
- 如果页面同时提示“请在桌面端确认登录”或“无法扫码”,立刻告诉用户需要到企业微信桌面端确认,不要继续让用户扫码。
- 登录完成后,继续使用同一个会话,在输入或点击前再次检查文件页面结构。
- 如果要处理的是文件而不是少量在线文本,优先走“下载到本地处理”流程,而不是直接在网页里大段改写。
当你需要页面结构和判断规则时,阅读 references/wecom-web-notes.md。
脚本流程
首次使用先安装依赖:
cd "$SKILL_DIR"
npm install
检查一个目标链接;如果需要登录,就保存二维码截图:
cd "$SKILL_DIR"
node ./scripts/wecom-drive-browser.mjs \
--url "https://doc.weixin.qq.com/home/recent" \
--qr-path "$SKILL_DIR/.outputs/wecom-login-qr.png" \
--keep-open
在同一个持久化浏览器配置目录里等待用户登录:
cd "$SKILL_DIR"
node ./scripts/wecom-drive-browser.mjs \
--url "https://doc.weixin.qq.com/home/recent" \
--wait-for-login \
--timeout-ms 180000
脚本会输出 JSON,包含这些字段:
statustargetUrlcurrentUrltitleloginRequireddesktopConfirmationRequiredloginHintqrPathpage.linkspage.editableElementspage.textHints
用 qrPath 对应的图片发给用户。用 page.links 和 page.editableElements 作为后续浏览器操作的提示信息。
如果 desktopConfirmationRequired 为真,优先按桌面端确认流程处理,而不是继续要求用户扫码。
如果结果是登录页,优先保留同一个页面继续等待扫码;不要抓完二维码后立刻关闭浏览器。
不要把 qrPath 当成仅供内部使用的产物。脚本生成后,必须把这张图展示或附加给用户,并提示用户扫码。
表格导出与报告生成
如果目标是腾讯文档表格,优先尝试网页原生导出:
- 打开文档左上或顶部的文件菜单。
- 优先使用
导出 -> 本地Excel表格 (.xlsx)。 - 如果用户只需要当前工作表,且不关心样式,可退而使用
本地CSV文件 (.csv, 当前工作表)。 - 导出完成后,先确认本地文件实际落盘,再进入后续解析。
仓库里附带了一个 Word 报告生成脚本:
cd "$SKILL_DIR"
python3 ./scripts/generate_stutter_report.py "/path/to/exported.xlsx"
脚本会在 $SKILL_DIR/.outputs/ 下生成:
*-分析报告.html*-分析报告.docx
默认适用于“卡顿数据汇总 + 严重卡顿明细 + 播放事件抽样”这一类企业微信表格导出文件。如果后续遇到类似结构的排查表,优先复用这个脚本,而不是每次重新手写统计逻辑。
读取与编辑
读取时:
- 先用页面快照。
- 如果页面是文档视图,检查可见标题、段落和链接。
- 如果页面是文件列表,先收集可见文件名和链接,再决定打开哪一个。
- 如果目标是文件处理任务,优先下载文件到本地,再用本地工具处理。
编辑时:
- 如果用户的编辑要求还不够具体,先确认具体改动。
- 在输入前先确定当前活跃编辑区域。
- 优先做最小、最安全的修改,不要默认整段替换。
- 如果改动较大、涉及结构化内容转换、批量处理或格式保留,先下载到本地处理,再上传回去。
- 修改完成后,确认变更文本已经在页面上可见。
下载与上传
下载时:
- 优先找到页面中的下载、导出或另存为入口,把原文件保存到本地。
- 下载后在本地完成解析、修改、转换或批处理。
- 保留本地输入文件和输出文件路径,方便后续回传。
上传时:
- 不要在任意页面里盲找上传按钮。
- 固定打开
https://doc.weixin.qq.com/home/recent。 - 从最近页面触发导入,把本地处理后的文件上传回企业微信文档。
- 上传成功后,打开新文件并检查内容是否符合预期。
兜底规则
- 如果目标页面结构不熟悉,先检查 DOM,再执行操作。
- 如果二维码无法被干净地单独截出,就发送整个登录卡片或整页截图。
- 如果需要重新生成二维码截图,优先覆盖已有的
$SKILL_DIR/.outputs/wecom-login-qr.png,再把最新图片发给用户。 - 如果用户登录后仍未提供目标链接,要求用户给出具体文件或文件夹链接,不要自行在整个空间里盲找。
- 如果网页端不适合稳定编辑该文件,就退回到“下载到本地处理,再上传”的流程。
- 如果登录页提示“请在桌面端确认登录,无法扫码”,就明确告知用户需要在企业微信桌面端确认,并暂停扫码流程。
Files
9 totalComments
Loading comments…
