本文へ移動
cccskills
無料GitHub で公開

wecom-agent

Use when 处理企业微信/企微/wecom 任务,包括本地聊天记录解密读取、离线搜索导出、媒体/文档定位,以及通过 WecomTeam 官方 CLI/Bot 能力发消息、查通讯录、读写文档、表格、日程、会议、待办。

日本語の概要は準備中です。原文の説明を表示しています。

freanocank/wecom-agentスター 16(GitHub 16 + cccskills 0)

実行スコア 未検証

インストール方法を見る

含まれるファイル(106)

  • SKILL.md8.9 KB
  • .github/workflows/ci.yml1.7 KB
  • .gitignore617 B
  • .readthedocs.yaml199 B
  • decrypt/crypto_backend.py1.1 KB
  • decrypt/e2e/check_consistency.py3.0 KB
  • decrypt/e2e/README.md1.1 KB
  • decrypt/e2e/test_e2e.py3.8 KB
  • decrypt/export_wxwork.py13.9 KB
  • decrypt/local_files.py1.7 KB
  • decrypt/local_io.py2.6 KB
  • decrypt/local_query.py8.3 KB
  • decrypt/macos/decrypt_wxwork.py3.1 KB
  • decrypt/macos/find_key_fast.py5.5 KB
  • decrypt/macos/find_key_offline.py3.8 KB
  • decrypt/macos/monitor.py5.3 KB
  • decrypt/macos/read_wecom.py1.9 KB
  • decrypt/macos/validate.c2.3 KB
  • decrypt/macos/voice_transcribe.py3.4 KB
  • decrypt/macos/wecom_local.py10.1 KB
  • decrypt/macos/wecom_paths.py1.7 KB
  • decrypt/media_export.py2.4 KB
  • decrypt/media_manifest.py8.4 KB
  • decrypt/NOTES.md9.0 KB
  • decrypt/protobuf_fields.py1.9 KB
  • decrypt/read_doc.py7.3 KB
  • decrypt/transcript_export.py6.6 KB
  • decrypt/wal_snapshot.py4.2 KB
  • decrypt/windows/find_key.ps17.3 KB
  • decrypt/windows/NOTES.md6.4 KB
  • decrypt/windows/recon.ps12.8 KB
  • decrypt/windows/run_test_impl.py3.3 KB
  • decrypt/windows/run_test.ps1846 B
  • decrypt/windows/run.ps1888 B
  • decrypt/windows/wecom_win.py17.2 KB
  • decrypt/wxwork_crypto.py8.2 KB
  • docs/api-reference.md12.4 KB
  • docs/bounty/frantic-33/evidence.json4.4 KB
  • docs/bounty/frantic-33/receipt-verification.json454 B
  • docs/bounty/frantic-33/receipts/sha256-25d26a59409c7e2ff148224cc005341c871372956ee893a3914b50fb40a56221.json2.8 KB
  • docs/bounty/frantic-33/receipts/sha256-34838b052df7c106efc4ec73d168e0be12f2ac0f06d0991eaacf3cda2372be86.json2.8 KB
  • docs/bounty/frantic-33/receipts/sha256-4ac50ed2535161d31956cec864a4b943eedc1497e738a91389cec393da4956f6.json2.9 KB
  • docs/bounty/frantic-33/receipts/sha256-532ced439a5ecd343c8520efcd9703edb715d01e9551ee5353e7fc899b26fcce.json2.8 KB
  • docs/bounty/frantic-33/receipts/sha256-53ce8cb416fb8f4c62f3092c35dc7e53d769fc4a162127f63adcef785f7d5110.json2.8 KB
  • docs/bounty/frantic-33/receipts/sha256-55e7d188c30327b037d61c9da1ef756a9ccbb5c470ce7802ec35421eafc0f0f7.json2.8 KB
  • docs/bounty/frantic-33/receipts/sha256-5863ba3175a246a988d6dc92ac35a4a13262aa0811541d1bddec132536fb04ed.json2.8 KB
  • docs/bounty/frantic-33/receipts/sha256-9c6f92e140c4f6546e5133bb6bfa7bfbd70c9ec087050ee539dced298af9fba9.json3.5 KB
  • docs/bounty/frantic-33/receipts/sha256-af8be91c403a07901ca3c6f6d5c02e9a922cf3a67ff6beebf8866b81b858443d.json2.8 KB
  • docs/bounty/frantic-33/receipts/sha256-b606f367b729314511c924c0ed99d2173797e959db2617e915071c3d4918e49d.json2.8 KB
  • docs/bounty/frantic-33/receipts/sha256-c0825bf2399cfb1f5a345eb965bb24cf81048c7db99d6a6aae4db603ddf2ab1b.json2.8 KB
  • docs/bounty/frantic-33/receipts/sha256-d8effeec7a6c014634e820b36237b5d0043fb7b46811ced2af0bd025a7988774.json2.8 KB
  • docs/bounty/frantic-33/report.md4.0 KB
  • docs/introduction.md2.9 KB
  • docs/legacy/IT配置.md3.0 KB
  • docs/legacy/README.md443 B
  • docs/legacy/自建应用配置教程.md6.2 KB
  • docs/local-reading.md10.2 KB
  • docs/mcp-tools.md5.2 KB
  • docs/online-documents.md3.2 KB
  • docs/online-sheets.md2.9 KB
  • docs/quickstart.md2.6 KB
  • docs/security.md2.5 KB
  • docs/smart-sheets.md2.9 KB
  • docs/sourcey.config.ts1.5 KB
  • docs/troubleshooting.md4.0 KB
  • docs/wecom-cli-migration.md2.9 KB
  • docs/在线文档表格能力.md2.6 KB
  • docs/开发计划.md6.1 KB
  • docs/待解决问题.md5.6 KB
  • docs/方案概述.html8.5 KB
  • docs/解密思路.md5.0 KB
  • legacy/self-built-app/agent_worker.py6.3 KB
  • legacy/self-built-app/config.example.json753 B
  • legacy/self-built-app/README.md365 B
  • legacy/self-built-app/recv_server.py8.2 KB
  • legacy/self-built-app/selfcheck.py3.3 KB
  • legacy/self-built-app/wecom.py6.9 KB
  • LICENSE1.0 KB
  • online/__init__.py62 B
  • online/docs.py3.2 KB
  • online/local_docs.py3.3 KB
  • online/selfcheck.py2.3 KB
  • online/sheets.py6.2 KB
  • online/smartsheets.py9.1 KB
  • online/wecom_cli.py5.0 KB
  • package-lock.json147.5 KB
  • package.json343 B
  • README_ZH.md5.2 KB
  • README.md5.1 KB
  • requirements-dev.txt51 B
  • requirements-documents.txt88 B
  • requirements.txt33 B
  • server.py16.7 KB
  • setup.sh1.6 KB
  • tests/local_fixtures.py2.7 KB
  • tests/test_local_platforms.py8.1 KB
  • tests/test_local_query.py8.0 KB
  • tests/test_media_export.py1.0 KB
  • tests/test_online_docs.py4.4 KB
  • tests/test_online_local_docs.py2.3 KB
  • tests/test_online_selfcheck.py2.3 KB
  • tests/test_online_sheets.py5.5 KB
  • tests/test_online_smartsheets.py8.6 KB
  • tests/test_online_wecom_cli.py3.6 KB
  • tests/test_transcript_export.py12.9 KB
  • tests/test_wal_snapshot.py7.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

wecom-agent

本 skill 的主线是 本地解密读取 + WecomTeam 官方操作层。

线默认方案能力边界
B 本地读取本仓库 decrypt/历史聊天、离线全文搜索、会话/成员/统计、媒体导出、聊天文件定位。默认优先使用。
A 主动操作WecomTeam wecom-cli 1.1+ + 本仓库 online/文档、在线表格、智能主页、智能表格已适配新版;消息、通讯录、日程、会议、待办仍按企业权限探测。
实时互动WecomTeam Bot SDK(后续接入)WebSocket 收消息、流式回复、主动推送、文件下载解密。

旧的自建应用 HTTP API 方案不再是主线;不要为普通 A 线任务要求用户配置 CorpID/Secret/AgentId、可信域名或可信 IP。

决策规则

用户需求默认调用
读/导出/搜索历史聊天、统计会话、找本地聊天文件B 本地读取
读任何聊天消息/历史/近期增量B 本地读取
用户明确要求官方在线接口且本地读取不可用按当前 CLI 的 message 服务能力处理
发消息、通知某人/群wecom-cli message ...;若返回企业不支持授权机器人消息权限,说明该企业不可用
查人、找 userid优先 B 本地通讯录;A 线可用时用 wecom-cli contact ...
读/建/改企业微信文档、表格、智能表格优先用 online/ 或新增 MCP 工具;写操作先确认
查/建/改/取消日程wecom-cli calendar ...;若企业不支持则说明权限边界
查/建/取消会议wecom-cli meeting ...;若企业不支持则说明权限边界
查/建/更新/删除待办wecom-cli todo ...;写操作先确认
自动回复/流式回复Bot SDK;未接入前说明暂未落地

写操作执行前先向用户确认对象、内容和影响范围。

A 主动操作(WecomTeam CLI)

首次使用先检查并初始化:

wecom-cli --version || npm install -g @wecom/cli
wecom-cli auth show --status
wecom-cli auth init

通用格式:

wecom-cli <service> [resource...] <method> --json '<json参数>'

常用入口:

category例子
docwecom-cli doc contents get --json '{"docid":"DOCID","content_type":"markdown"}'
sheetwecom-cli sheet ranges get --json '{"docid":"DOCID","sheet_id":"SHEETID","mode":"default","range":"A1:D100"}'
smartsheetwecom-cli smartsheet records list --json '{"docid":"DOCID","sheet_title":"子表名","limit":100}'
todo先用 wecom-cli todo --help 核对当前命令和参数
contact / message / calendar / meeting权限按企业环境实测;遇到明确权限错误时不要继续重试

遇到具体参数不确定时,优先查 wecom-cli <category> --help 或 WecomTeam wecom-unified references。

A 在线文档/表格

本仓库 online/ 是 wecom-cli 的薄封装。写操作全部需要 confirmed=True。

PY=${WECOM_PYTHON:-/opt/homebrew/bin/python3}
$PY -m online.selfcheck
模块能力
online.docs新旧 CLI 普通文档创建/覆写;CLI 1.1+ 读取正文、创建/导入智能主页
online.local_docs读取本地已缓存/已下载文档,作为线上读取接口缺失时的 fallback
online.sheets新旧 CLI 创建/读取/修改在线表格;CLI 1.1+ 读取单元格范围
online.smartsheets新旧 CLI 创建和管理智能表格;CLI 1.1+ 读取记录

wecom-cli 1.1+ 的命令和 payload 与 0.1.x 不兼容。运行 python3 -m online.selfcheck 后按 generation 路由。结构化旧版智能主页 pages 无法无损转换,新版应使用 Markdown 导入。本地缓存 fallback 仍可能落后于线上最新版。

B 本地读取聊天记录

按系统分流:macOS → decrypt/macos/,Windows → decrypt/windows/。解密核心 decrypt/wxwork_crypto.py 与解析 decrypt/export_wxwork.py 两端共用。

macOS

前提:企业微信运行并登录;首次抓 key 需要已对企微 adhoc 重签,见 docs/解密思路.md。

PY=${WECOM_PYTHON:-/opt/homebrew/bin/python3}
$PY decrypt/macos/read_wecom.py
$PY decrypt/macos/find_key_fast.py
$PY decrypt/macos/decrypt_wxwork.py
$PY decrypt/macos/monitor.py --once

本地查询:

$PY decrypt/macos/wecom_local.py <contacts|conversations|members|search|stats|todo|calendar|media|openfile>
子命令作用
contacts [词]本地通讯录搜索
conversations会话列表
members <会话>群成员与发言数
search <词>全文搜索消息
chat <会话ID> [--days N] [--limit N] [--offset N]按唯一会话读取完整正文,最新在前
export <会话ID> --out 文件 [--with-media]导出 TXT/Markdown/HTML/JSON/CSV,附逐消息媒体清单
stats发言/会话/类型/时间统计
todo / calendar本地待办 / 日程
media [--out]导出明文缓存图片和文件
openfile <名/词>从聊天记录定位并解析本地文件

conversations、search、chat 支持 --limit 1..2000 --offset N --json;search、chat、export 的 --days 必须为正整数,不传则覆盖全部日期。CLI 的会话列表与搜索不传 limit 时保留全量行为,MCP 默认分别返回 100、50 条。消息正文不截断。名称重名时必须使用返回的会话 ID,不合并群成员。

export --with-media 用企微消息资源标识关联缓存,生成 <stem>.media.json 与 <stem>.assets-<export-id>/。只导出所选会话/日期范围的媒体;同名文件按资源 ID 区分;缺失、加密或歧义明确标注。具体 schema 和边界见 本地读取与导出。

多账号必须指定 WECOM_PROFILE(macOS profile 目录)或 WECOM_DATA_DIR(Windows Data 目录)。迁移解密库可用 WECOM_DECRYPTED_DIR,独立缓存可用 WECOM_CACHE_DIR;无有效配置时不自动切换到其他账号。消息库只读打开,解密使用已提交主库/WAL 快照,并在校验通过后原子替换旧输出。

可选语音转写:

$PY decrypt/macos/voice_transcribe.py

Windows

前提:企业微信运行并登录,安装 Python 与 pycryptodome。

powershell -ExecutionPolicy Bypass -File decrypt/windows/run.ps1 <子命令>
powershell -ExecutionPolicy Bypass -File decrypt/windows/run_test.ps1
powershell -ExecutionPolicy Bypass -File decrypt/windows/find_key.ps1
python decrypt/windows/wecom_win.py <key> <子命令>

MCP(可选)

本地读取 MCP 只是 wecom_local.py --json 的薄门面。不要为了本地查询强制走 MCP;直接跑 CLI 更透明。

bash setup.sh

本地读取工具:wecom_contacts/conversations/members/search/stats/todo/calendar/media/openfile,以及 wecom_read_chat、wecom_export_chat。

本地文档 fallback:

工具作用
wecom_local_doc_read_path按本地路径解析文件,支持 txt/csv/md/json/xlsx/xls/docx/pdf,图片型内容返回 visual 标记
wecom_local_doc_search按文件名关键词在 WeCom 文件缓存、Downloads、Documents、Desktop 中查找并解析

在线工具:

工具作用
wecom_doc_create / wecom_doc_write_markdown创建普通文档、覆写 Markdown 正文
wecom_doc_readCLI 1.1+ 读取线上普通文档最新版正文
wecom_smartpage_create / wecom_smartpage_import创建空智能主页 / 导入 Markdown 智能主页
wecom_sheet_create / wecom_sheet_info创建在线表格、读取表结构
wecom_sheet_get_rangeCLI 1.1+ 读取在线表格单元格范围
wecom_sheet_add_sub / wecom_sheet_delete_sub新增/删除在线表格子表
wecom_sheet_append_row / wecom_sheet_update_range追加行、更新区域
wecom_smartsheet_create / wecom_smartsheet_sheets / wecom_smartsheet_fields创建智能表格、读取子表/字段
wecom_smartsheet_recordsCLI 1.1+ 读取智能表格记录
wecom_smartsheet_add_* / update_* / delete_*管理智能表格子表、字段、记录

状态

  • B 本地读取:已实跑验证,覆盖本地历史聊天、会话、发送者、文本/图片/语音/文件/文档/卡片等解析。
  • A 主动操作:普通文档、在线表格和智能表格已适配 CLI 0.1.x 与 1.1+;新版支持智能主页创建/Markdown 导入。2026-09-01 本机已升级到 1.2.0 且授权仍有效;尚未执行真实线上写入验收。
  • 实时互动:后续接 WecomTeam Bot SDK;旧回调实验代码在 legacy/self-built-app/。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

このスキルの問題を報告する