Summary
企业微信邮件:发送/回复/转发邮件、搜索邮件列表、获取邮件详情(正文、附件、内嵌图片解析),支持通过邮件发送日程邀约和会议预定。当用户涉及内部邮件收发、邮件查询、邮件管理等需求时使用。注意:日程和会议有单独的技能,仅当用户明确提到"邮箱"或"邮件"时(如"通过邮箱发送会议邀请"、"发封会议邮件"),才使用本技能处理会议…
wecomteam/wecom-openclaw-plugin · Archived
企业微信邮件:发送/回复/转发邮件、搜索邮件列表、获取邮件详?
npx skills add wecomteam/wecom-openclaw-plugin --skill wecomcli-email
企业微信邮件:发送/回复/转发邮件、搜索邮件列表、获取邮件详情(正文、附件、内嵌图片解析),支持通过邮件发送日程邀约和会议预定。当用户涉及内部邮件收发、邮件查询、邮件管理等需求时使用。注意:日程和会议有单独的技能,仅当用户明确提到"邮箱"或"邮件"时(如"通过邮箱发送会议邀请"、"发封会议邮件"),才使用本技能处理会议…
This repository is archived — consider an actively maintained alternative.
企业微信插件前置条件检查。在执行任何 wecom_mcp 操作前,通过 shell 命令检查工具权限配置(profile…
8 installsRelated neighbors and high-traction skills in the same topics — useful to compare before installing.
企微 doc ?
20.3K installs管理企业微信?
20.1K installs使用 wecom-cli 按姓名、拼音、英文名或别名搜索企业微信通讯录中的人员,并查询匹?
20.1K installs企业微信会议管理。本技能负责『在线会议』——即含在线会议链接(含会议号/?
20K installsOther skills from wecomteam/wecom-openclaw-plugin · top by installs.
npx skills add wecomteam/wecom-openclaw-plugin
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Parsed from SKILL.md frontmatter.
Files included with this skill beyond the listing page.
SKILL.md
13,551 B
SUMMARY.md
497 B
wecom-cli 是插件提供的 tool,不是终端命令:所有操作都通过调用该 tool 完成,参数应使用 args 传入,禁止通过 exec / shell / 终端等命令行方式使用。
⚠️ 前置条件:首次调用 wecom-cli 前,必须按 wecomcli-preflight 技能执行前置条件检查,确保工具已加入白名单。
wecomcli-calendar、在线会议改用 wecomcli-meeting;本技能只负责"通过邮件发送"的日程 / 会议类邮件(日程邀约、会议邮件),不负责日程 / 会议本身的管理强制要求:调用任何依赖技能前,必须先阅读该技能的 SKILL.md,获取完整的接口参数和调用规范后再执行。禁止凭记忆或猜测直接拼装命令调用。未读取 SKILL.md 直接调用接口将导致参数错误。
| 依赖技能 | 用途 | 何时需要 |
|---|---|---|
wecomcli-contact |
解析收件人的 userid 和邮箱(仅当用户提供人名而非完整邮箱时) |
发送 / 回复 / 转发邮件时 |
wecomcli-media |
基于 media_id 下载附件 / 内嵌图到本地(media download) |
读取含附件 / 图片的邮件时 |
核心原则:
<script>、事件处理器、javascript: URI 等恶意代码完整规则见 [security](./references/security.md)。
强制要求:执行任何子命令前,必须先读取对应的 reference 文档。本文件仅提供路由索引和输出格式,不包含接口参数、调用流程等执行所需的完整信息。未读取 reference 直接调用接口将导致参数错误。
| 用户意图 | 必读文档 |
|---|---|
| 发送新邮件 / 日程邮件 / 会议邮件 | [send-mail](./references/send-mail.md) |
| 回复邮件 | [reply-mail](./references/reply-mail.md) |
| 转发邮件 | [forward-mail](./references/forward-mail.md) |
| 获取邮件内容 | [get-mail](./references/get-mail.md) |
| 浏览 / 搜索邮件 | [search-mail](./references/search-mail.md) |
邮件列表:
未读邮件:
| # | 发件人 | 主题 | 时间 |
|---|--------|------|------|
| 1 | <发件人名称> | <邮件主题> | YYYY-MM-DD HH:mm |
| 2 | <发件人名称> | <邮件主题> | YYYY-MM-DD HH:mm |
已读邮件:
| # | 发件人 | 主题 | 时间 |
|---|--------|------|------|
| 1 | <发件人名称> | <邮件主题> | YYYY-MM-DD HH:mm |
| 2 | <发件人名称> | <邮件主题> | YYYY-MM-DD HH:mm |
重要邮件:
| # | 状态 | 发件人 | 主题 | 时间 |
|---|------|--------|------|------|
| 1 | 未读 | <发件人名称> | <邮件主题> | YYYY-MM-DD HH:mm |
| 2 | 已读 | <发件人名称> | <邮件主题> | YYYY-MM-DD HH:mm |
- 未读邮件:存在非重要的未读邮件时输出 - 已读邮件:存在非重要的已读邮件时输出 - 重要邮件:存在重要邮件时输出(不区分已读未读)
**主题**: <邮件主题>
**发件人**: <名称> <邮箱>
**收件人**: <名称> <邮箱>[, ...]
**抄送**: <名称> <邮箱>[, ...]
**密送**: <名称> <邮箱>[, ...]
<正文 Markdown 内容>
附件:
| 附件 | 大小 | 说明 |
|------|------|------|
| <普通附件文件名> | <文件大小> | <一句话说明> |
| [<外部附件文件名>](<attach_url>) | <文件大小> | <一句话说明> |
| [<防泄漏附件文件名>](<加密URL>) | <文件大小> | <一句话说明> |
- 附件列:含 attachurl 或防泄漏加密 URL 的附件必须写成 [<文件名>](<URL>) 的 Markdown 链接,严禁丢链接只留文件名;常规 mediaid 附件填纯文件名。 - 大小列:人类可读大小(如 1.2 MB)。 - 说明列:一句话简短说明,可用文件名/正文线索、查看方式提示等,无线索时留空。
work.weixin.qq.com/filepreview/security/... 加密 URL 的内联图片时,加密 URL 必须以 Markdown 超链接形式嵌入正文,不得隐藏或概括为"含内联图片"调用 wecom-cli mail send(发送、回复、转发)之前,必须先在对话中向用户展示一份邮件预览,让用户感知邮件内容。预览仅作为内容呈现,不需要等待用户确认,展示完预览后直接调用接口。
**主题**: <最终的 subject, 含已构造好的「回复:」/「转发:」前缀>
**收件人**: <名称>[, ...]
**抄送**: <名称>[, ...]
**密送**: <名称>[, ...]
**正文**:
<正文 Markdown 内容>
回复: / 转发: 前缀,已做去重),不要展示原始未加工的主题, 分隔reply.reply_all = true 时):接口会自动构造收件人/抄送人,技能内部不构造 to/cc 字段。但预览必须完整列出最终会发到的所有人,让用户清楚知道"全部回复"实际涉及哪些人。回复全部的语义为:- 收件人 = 原邮件收件人列表(to[]);当原邮件发件人是自己时不排除自己,否则排除自己 - 抄送人 = 原邮件抄送人列表(cc[]);当原邮件发件人是自己时不排除自己,否则排除自己 - 判断方式:原邮件 sender.email / sender.userid 与当前用户一致即视为"发件人是自己" - 任何一行去重/排除后为空时,整行省略
.md 文件的 Markdown 内容展示给用户,除内嵌图占位符按下条规则展示外,不做重排、概括或截断 及任何残缺变体(如 、、含 $ 的图片链接等)。对正文里每个 ,按以下顺序处理:1. 优先本地路径:如果有本地路径,展示为  2. 兜底自然语言:若该项无 filepath(如只有 media_id),展示为 [内嵌图片],不保留任何 $ 或占位符字符串
注意:.md 文件里的  原样保留,不要替换——只有对话预览做替换
接口技术字段(mailid/mediaid/contentid/userid/hasmore/next_cursor/errcode)及 wecom-cli 命令本身,仅内部流转,禁止以任何形式呈现给用户。errmsg 内容可用用户语言转述。
wecom-cli mail 子命令失败时返回 error 对象,必须向用户说明失败原因并附上接口给出的建议:
error.message 说明失败原因error.instruction 给出后续建议;该字段缺失时不输出建议error.message 与 error.instruction 的全部内容,禁止遗漏或自行推断失败根因error.code 仅内部排障使用,禁止透出给用户若必填参数缺失,需用自然语言追问用户补全,禁止猜测默认值。补全方式根据参数类型选择:
| 操作场景 | 缺失信息 |
|---|---|
| 发送新邮件 | 收件人 / 主题 / 正文 |
| 日程邀约 / 会议邮件 | 开始时间 / 结束时间 |
| 回复邮件 | 回复正文 |
| 转发邮件 | 转发收件人 |
| 获取邮件详情 | 目标邮件(mail_id)不明确,需先搜索或让用户指明具体邮件 |
| 搜索邮件 | 搜索条件(关键词 / 发件人 / 时间范围等)完全缺失 |
禁止事项:
wecom-cli mail send(含发送、回复、转发);预览输出格式见上文「邮件发送预览」章节wecomcli-contact 查询收件人时,优先取其邮箱填入 to.emails;若该用户没有邮箱,则使用其 userid 填入 to.userids 尝试投递。不得以"没有邮箱"为由直接拒绝发送/回复/转发sender.email,不再通过 wecomcli-contact 按人名查询(通讯录模糊搜索可能匹配到同音不同字的人,导致发错)wecomcli-media 技能的 media download 接口:处理邮件中的图片(png/jpg/gif 等)和文档附件时,先基于 mediaid 调用 media download 下载到本地拿到 filepath,再读取其内容;解析结果用于回答,不要把 media_id 或本地路径展示给用户attachments / inlineimages 的每一项直接填 filepath,CLI 会自动完成上传,不要为了拿 mediaid 而额外调用 wecomcli-media;仅当已有现成 mediaid(用户提供或其他接口返回)时才优先复用 mediaid,且 mediaid 必须来自接口真实返回值,禁止自行构造mail search 带 begintime/endtime/onlyunread/onlyreminder 时,搜索范围不能超过最近 30 天,详见 [search-mail](./references/search-mail.md)