mirror of
https://git.openapi.site/https://github.com/desirecore/market.git
synced 2026-09-05 17:43:49 +08:00
feat: 新增企业微信助手 Agent,并修正 wecom-cli 条目 ref 漂移 (#112)
## 概述 / Overview 两件事:新增「企业微信助手」Agent(自带 15 个技能),并修正 `wecom-cli` 条目钉在 6 月快照的 ref 漂移。 Two changes: adds the **WeCom Assistant** agent (bundling 15 skills), and fixes the `wecom-cli` entry whose pinned ref was stuck on a June snapshot. ## 1. 新增企业微信助手 Agent 覆盖企业微信 **14 类服务、95 个方法**:消息、群聊历史、通讯录、日程、会议、待办、邮件、在线文档、在线表格、智能表格、智能文档、文档管理、微盘、媒体文件。 **采用内联形态 + 自带私有技能**:Agent 安装对 `agents/<id>/` 整目录递归复制且 `skills/` 不在排除集合里,因此装 Agent 即带全部技能,用户无需再单独获取技能合集。 ### 技能集(15 个,约 5000 行) - 基于上游 [wecom-cli](https://github.com/WecomTeam/wecom-cli) 官方 Skill(MIT,© WecomTeam)改写,每个技能末尾保留归属声明 - **新增 `wecom-chat`**:补齐上游零覆盖的群聊历史读取 - 补齐上游未覆盖的 `message.send`、`doc.create`,方法覆盖达 **95/95** - 修正上游三处文档漂移:邮件能力描述与实际相反、会议室参数名已过时、`title_highlight` 字段不存在 ### 相对上游的核心增量:风险治理 - 26 个对外可见或不可逆的方法逐个写明**执行前确认要求** - 4 个条件升级方法给出**参数级判据**,而非按方法名一刀切 - 文档权限扩散两项加重处理,涉及**企业外可见**时单独再确认一次 - 内部标识禁止外露,不因用户索要而放宽 - 拒绝导出可识别到具体自然人的隐私字段 ### 三条真机实测得出、上游未覆盖的硬约束 1. 机器人**只能写入/修改自己创建的数据**,真人创建的只能读 2. 每次响应携带的 `extra_identity_context` **禁止透露给用户** 3. 权限错误(`850002`/`851008`/`853006`)**不得重试**,须将 `help_message` **逐字原样**转给用户 ## 2. 修正 wecom-cli 条目 ref 漂移 `source.ref` 原钉在 2026-06-28 的 `72e14f7`,该快照只有 7 个子技能且用已废弃的旧命名(`msg`/`schedule`)。上游 v1.2.0 已扩展到 **14 个**技能。按旧 ref 安装的用户拿到的是三个月前的快照。 - `source.ref` → `78c514b2afee7c0d3d7be715628478421f37ee63` - `children` 由 `scripts/gen-collection-children.py` 重新生成,**7 → 14** - sidecar 同步 `provenance.content.ref`、`childCount` 与 `children` ## 验证 / Verification **静态** - 215 条示例命令追加 `--dry-run` 实跑,**215/215 退出码 0** - 未知方法 0、未知参数 0、`--json` 未知字段 0、枚举违规 0 - 15 个 `SKILL.md` 的 frontmatter 经客户端 `skillFrontmatterSchema` 校验全部通过 - `validate_catalog_metadata.py --require-complete` 与 `gen-collection-children.py`:**0 error** **真机(在真实企业微信账号上端到端)** - **待办域 6/6 方法全通**(含 2 个 write-high),`items` 必填的隐蔽坑实测证实 - **日程域 5 个方法全通**(含 3 个 write-high) - 消息发送、通讯录解析、微盘列表、邮件搜索、文档搜索、会议列表、智能表格创建均已实测通过 - 测试数据已全部清理,未污染真实账号 **尚未实测**:群聊历史(机器人未开通该品类)。相关文档已明确标注验证状态,未实测的能力不写「实际效果」段落。
This commit is contained in:
@@ -29,18 +29,43 @@
|
||||
"kind": "git",
|
||||
"repoUrl": "https://github.com/WecomTeam/wecom-cli.git",
|
||||
"repoBranch": "main",
|
||||
"ref": "72e14f7695f34d28f1ff23ea504ddd2210a87c13"
|
||||
"ref": "78c514b2afee7c0d3d7be715628478421f37ee63"
|
||||
},
|
||||
"children": [
|
||||
{
|
||||
"id": "wecomcli-calendar",
|
||||
"path": "skills/wecomcli-calendar",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "企业微信日程管理。当用户需要预约日程、预订会议室、查看/更新/取消日程或查忙闲时触发。本技能负责『日程』——即不含在线会议链接的安排(也涵盖纯线下面对面碰头);若用户要的是『在线会议』(含会议号/入会链接、可远程或视频参会),改用 wecomcli-meeting 技能。用户仅说'开会/约个会/某会'等、未明确要创建的…"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "企业微信日程管理。当用户需要预约日程、预订会议室、查看/更新/取消日程或查忙闲时触发。本技能负责『日程』——即不含在线会议链接的安排(也涵盖纯线下面对面碰头);若用户要的是『在线会议』(含会议号/入会链接、可远程或视频参会),改用 wecomcli-meeting 技能。用户仅说'开会/约个会/某会'等、未明确要创建的…"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "wecomcli-contact",
|
||||
"path": "skills/wecomcli-contact",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "通讯录成员查询技能,获取当前用户可见范围内的通讯录成员,支持按姓名/别名本地筛选匹配。返回 userid、姓名和别名。⚠️ 仅返回当前用户有权限查看的成员,非全量成员。"
|
||||
"shortDesc": "使用 wecom-cli 按姓名、拼音、英文名或别名搜索企业微信通讯录中的人员,并查询匹配人员的 userid、部门和职务。适用于查找联系人、区分同名人员、获取用户 userid,以及列出全部同名人员。"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "通讯录成员查询技能,获取当前用户可见范围内的通讯录成员,支持按姓名/别名本地筛选匹配。返回 userid、姓名和别名。⚠️ 仅返回当前用户有权限查看的成员,非全量成员。"
|
||||
"shortDesc": "使用 wecom-cli 按姓名、拼音、英文名或别名搜索企业微信通讯录中的人员,并查询匹配人员的 userid、部门和职务。适用于查找联系人、区分同名人员、获取用户 userid,以及列出全部同名人员。"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "wecomcli-disk",
|
||||
"path": "skills/wecomcli-disk",
|
||||
"version": "1.0.0",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "企业微信微盘(Disk / 网盘)文件操作技能。承接\"微盘 / 网盘\"里的文件列出、搜索、读取元信息、上传、下载、重命名、新建文件夹操作。用户明确提到\"微盘\"/\"网盘\"/\"共享空间\"时必须先读取本技能获取完整指引,不得凭记忆处理。用户说\"上传到微盘\"、\"帮我在微盘里搜一下 xxx\"、\"微盘那个 PPT 在哪\"、\"下载微…"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "企业微信微盘(Disk / 网盘)文件操作技能。承接\"微盘 / 网盘\"里的文件列出、搜索、读取元信息、上传、下载、重命名、新建文件夹操作。用户明确提到\"微盘\"/\"网盘\"/\"共享空间\"时必须先读取本技能获取完整指引,不得凭记忆处理。用户说\"上传到微盘\"、\"帮我在微盘里搜一下 xxx\"、\"微盘那个 PPT 在哪\"、\"下载微…"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -49,10 +74,48 @@
|
||||
"path": "skills/wecomcli-doc",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "企业微信文档、表格(在线表格)、智能表格和智能文档(原名智能主页)管理技能。提供文档的创建、读取、编辑能力,表格和智能表格的内容读取,智能表格的创建,以及智能文档的创建和内容导出。适用场景:(1) 以 Markdown 格式获取文档/表格/智能表格完整内容 (2) 新建文档或智能表格 (3) 用 Markdown 格式…"
|
||||
"shortDesc": "企微 doc 内容操作技能,包含新建在线文档、导入、读取、追加、覆盖写入等功能。仅当用户明确指定 'doc'、'docx'、'word'、'在线文档'、'office文档',或提供 https://doc.weixin.qq.com/doc/xxx 链接时触发。本技能不处理未指明类型的“文档”请求;凡是“创建文档 /…"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "企业微信文档、表格(在线表格)、智能表格和智能文档(原名智能主页)管理技能。提供文档的创建、读取、编辑能力,表格和智能表格的内容读取,智能表格的创建,以及智能文档的创建和内容导出。适用场景:(1) 以 Markdown 格式获取文档/表格/智能表格完整内容 (2) 新建文档或智能表格 (3) 用 Markdown 格式…"
|
||||
"shortDesc": "企微 doc 内容操作技能,包含新建在线文档、导入、读取、追加、覆盖写入等功能。仅当用户明确指定 'doc'、'docx'、'word'、'在线文档'、'office文档',或提供 https://doc.weixin.qq.com/doc/xxx 链接时触发。本技能不处理未指明类型的“文档”请求;凡是“创建文档 /…"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "wecomcli-doc-manage",
|
||||
"path": "skills/wecomcli-doc-manage",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "企业微信文档公共管理:搜索文档(最近浏览/创建)、文档改名、添加文档成员权限、设置文档加入规则。适用于所有文档类型(doc文档 / 在线表格 / 智能表格 / 智能文档)。新建或导入doc文档请使用 wecomcli-doc;新建或导入在线表格请使用 wecomcli-sheet;智能表格内容 CRUD 请使用 wec…"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "企业微信文档公共管理:搜索文档(最近浏览/创建)、文档改名、添加文档成员权限、设置文档加入规则。适用于所有文档类型(doc文档 / 在线表格 / 智能表格 / 智能文档)。新建或导入doc文档请使用 wecomcli-doc;新建或导入在线表格请使用 wecomcli-sheet;智能表格内容 CRUD 请使用 wec…"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "wecomcli-email",
|
||||
"path": "skills/wecomcli-email",
|
||||
"version": "2.1.0",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "企业微信邮件:发送/回复/转发邮件、搜索邮件列表、获取邮件详情(正文、附件、内嵌图片解析),支持通过邮件发送日程邀约和会议预定。当用户涉及内部邮件收发、邮件查询、邮件管理等需求时使用。注意:日程和会议有单独的技能,仅当用户明确提到\"邮箱\"或\"邮件\"时(如\"通过邮箱发送会议邀请\"、\"发封会议邮件\"),才使用本技能处理会议…"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "企业微信邮件:发送/回复/转发邮件、搜索邮件列表、获取邮件详情(正文、附件、内嵌图片解析),支持通过邮件发送日程邀约和会议预定。当用户涉及内部邮件收发、邮件查询、邮件管理等需求时使用。注意:日程和会议有单独的技能,仅当用户明确提到\"邮箱\"或\"邮件\"时(如\"通过邮箱发送会议邀请\"、\"发封会议邮件\"),才使用本技能处理会议…"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "wecomcli-media",
|
||||
"path": "skills/wecomcli-media",
|
||||
"version": "1.0.0",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "企业微信媒体文件上传/下载技能。承接基于 media_id 下载媒体文件到本地,以及上传本地文件获取 media_id 两类操作。当其他技能(微盘、邮件等)返回了 media_id 需要落地为本地文件,或已有本地文件需要转换为 media_id 供其他技能使用时,必须先读取本技能获取完整指引,不得凭记忆处理。本技能不解…"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "企业微信媒体文件上传/下载技能。承接基于 media_id 下载媒体文件到本地,以及上传本地文件获取 media_id 两类操作。当其他技能(微盘、邮件等)返回了 media_id 需要落地为本地文件,或已有本地文件需要转换为 media_id 供其他技能使用时,必须先读取本技能获取完整指引,不得凭记忆处理。本技能不解…"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -61,34 +124,58 @@
|
||||
"path": "skills/wecomcli-meeting",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "企业微信会议技能,支持创建预约会议、查询会议列表、获取会议详情、取消会议、更新会议成员。当用户需要\"创建会议\"、\"预约会议\"、\"约会议\"、\"安排会议\"、\"查看会议\"、\"查询会议列表\"、\"会议详情\"、\"什么时候开会\"、\"有哪些会议\"、\"查找会议\"、\"取消会议\"、\"删除会议\"、\"修改会议成员\"、\"添加会议参与人\"、\"移除会…"
|
||||
"shortDesc": "企业微信会议管理。本技能负责『在线会议』——即含在线会议链接(含会议号/入会链接、可远程或视频参会)的会议的创建、查询、搜索、获取详情(含会议信息、纪要、待办)、查询会议转写原文(逐字发言记录)、更新、取消等全部操作;若用户要的是不含在线会议链接的『日程』(也涵盖纯线下面对面碰头),改用 wecomcli-calend…"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "企业微信会议技能,支持创建预约会议、查询会议列表、获取会议详情、取消会议、更新会议成员。当用户需要\"创建会议\"、\"预约会议\"、\"约会议\"、\"安排会议\"、\"查看会议\"、\"查询会议列表\"、\"会议详情\"、\"什么时候开会\"、\"有哪些会议\"、\"查找会议\"、\"取消会议\"、\"删除会议\"、\"修改会议成员\"、\"添加会议参与人\"、\"移除会…"
|
||||
"shortDesc": "企业微信会议管理。本技能负责『在线会议』——即含在线会议链接(含会议号/入会链接、可远程或视频参会)的会议的创建、查询、搜索、获取详情(含会议信息、纪要、待办)、查询会议转写原文(逐字发言记录)、更新、取消等全部操作;若用户要的是不含在线会议链接的『日程』(也涵盖纯线下面对面碰头),改用 wecomcli-calend…"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "wecomcli-msg",
|
||||
"path": "skills/wecomcli-msg",
|
||||
"id": "wecomcli-message",
|
||||
"path": "skills/wecomcli-message",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "企业微信消息技能。提供会话列表查询、消息记录拉取(支持文本/图片/文件/语音/视频)、多媒体文件获取和文本消息发送能力。当用户需要\"查看消息\"、\"看聊天记录\"、\"发消息给某人\"、\"最近有什么消息\"、\"给群里发消息\"、\"看看发了什么图片/文件\"时触发。"
|
||||
"shortDesc": "查询当前可以发送消息的聊天会话范围,并向会话列表中的单聊或群聊发送文本、Markdown、图片、文件、语音、视频消息。用户要求“给某人发消息”“在某个群里通知”“给最近会话发消息”或“把图片/文件/语音/视频发到企业微信”时使用。"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "企业微信消息技能。提供会话列表查询、消息记录拉取(支持文本/图片/文件/语音/视频)、多媒体文件获取和文本消息发送能力。当用户需要\"查看消息\"、\"看聊天记录\"、\"发消息给某人\"、\"最近有什么消息\"、\"给群里发消息\"、\"看看发了什么图片/文件\"时触发。"
|
||||
"shortDesc": "查询当前可以发送消息的聊天会话范围,并向会话列表中的单聊或群聊发送文本、Markdown、图片、文件、语音、视频消息。用户要求“给某人发消息”“在某个群里通知”“给最近会话发消息”或“把图片/文件/语音/视频发到企业微信”时使用。"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "wecomcli-schedule",
|
||||
"path": "skills/wecomcli-schedule",
|
||||
"id": "wecomcli-shared",
|
||||
"path": "skills/wecomcli-shared",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "企业微信日程管理技能。适用于用户对企业微信日程的各类管理需求。当用户需要:(1) 查询指定时间范围内的日程列表或获取日程详细信息(标题、时间、地点、参与者等),(2) 创建新日程并设置提醒、参与人等,(3) 修改已有日程的标题、时间、地点等信息或取消日程,(4) 添加或移除日程参与人,(5) 查询多个成员的闲忙状态并分…"
|
||||
"shortDesc": "wecom-cli 业务技能的公共前置检查、获取机器人及授权真人身份,以及通用输出约束。任何 wecomcli-* 技能准备执行 wecom-cli 命令前,都必须同时读取本技能,检查 CLI 是否安装、版本是否不低于 1.1.0,以及企业微信凭证是否已授权;仅在缺失、版本过低或未授权时执行安装或初始化。本技能还定义所…"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "企业微信日程管理技能。适用于用户对企业微信日程的各类管理需求。当用户需要:(1) 查询指定时间范围内的日程列表或获取日程详细信息(标题、时间、地点、参与者等),(2) 创建新日程并设置提醒、参与人等,(3) 修改已有日程的标题、时间、地点等信息或取消日程,(4) 添加或移除日程参与人,(5) 查询多个成员的闲忙状态并分…"
|
||||
"shortDesc": "wecom-cli 业务技能的公共前置检查、获取机器人及授权真人身份,以及通用输出约束。任何 wecomcli-* 技能准备执行 wecom-cli 命令前,都必须同时读取本技能,检查 CLI 是否安装、版本是否不低于 1.1.0,以及企业微信凭证是否已授权;仅在缺失、版本过低或未授权时执行安装或初始化。本技能还定义所…"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "wecomcli-sheet",
|
||||
"path": "skills/wecomcli-sheet",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "企业微信在线表格文档管理:新建在线表格、导入 CSV/Excel 为在线表格、读取表格信息与数据、修改表格内容、追加行数据、子表管理。当用户提到'表格'、'在线表格'、'excel表格'这些关键词触发,或链接形如 https://doc.weixin.qq.com/sheet/xxx 时触发。文档公共操作请使用 wec…"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "企业微信在线表格文档管理:新建在线表格、导入 CSV/Excel 为在线表格、读取表格信息与数据、修改表格内容、追加行数据、子表管理。当用户提到'表格'、'在线表格'、'excel表格'这些关键词触发,或链接形如 https://doc.weixin.qq.com/sheet/xxx 时触发。文档公共操作请使用 wec…"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "wecomcli-smartpage",
|
||||
"path": "skills/wecomcli-smartpage",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "使用 wecom-cli 创建企业微信智能文档,读取页面内容,调整页面树结构,获取内置智能表格信息。适用于用户明确提到企业微信智能文档、智能主页、smartpage,或提供形如 https://doc.weixin.qq.com/smartpage/xxx 或 https://page.weixin.qq.com/sm…"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "使用 wecom-cli 创建企业微信智能文档,读取页面内容,调整页面树结构,获取内置智能表格信息。适用于用户明确提到企业微信智能文档、智能主页、smartpage,或提供形如 https://doc.weixin.qq.com/smartpage/xxx 或 https://page.weixin.qq.com/sm…"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -97,10 +184,10 @@
|
||||
"path": "skills/wecomcli-smartsheet",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "企业微信智能表格管理技能。提供智能表格的结构管理(子表、字段)和数据管理(记录增删改查)。适用场景:(1) 管理智能表格子表和字段/列 (2) 查询、添加、更新、删除智能表格记录。支持通过 docid 或文档 URL 定位文档。"
|
||||
"shortDesc": "企业微信智能表格内容操作技能——专注于智能表格(smartsheet)的数据、结构与样式管理:读取表结构与记录、管理子表/字段/记录/视图/图表,以及修改行列样式(填色/高亮);记录新增或更新遇到 851003 / no authority 时通过 Webhook 兜底写入。触发条件:用户提到智能表格、企微表格、sma…"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "企业微信智能表格管理技能。提供智能表格的结构管理(子表、字段)和数据管理(记录增删改查)。适用场景:(1) 管理智能表格子表和字段/列 (2) 查询、添加、更新、删除智能表格记录。支持通过 docid 或文档 URL 定位文档。"
|
||||
"shortDesc": "企业微信智能表格内容操作技能——专注于智能表格(smartsheet)的数据、结构与样式管理:读取表结构与记录、管理子表/字段/记录/视图/图表,以及修改行列样式(填色/高亮);记录新增或更新遇到 851003 / no authority 时通过 Webhook 兜底写入。触发条件:用户提到智能表格、企微表格、sma…"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -109,10 +196,10 @@
|
||||
"path": "skills/wecomcli-todo",
|
||||
"i18n": {
|
||||
"zh-CN": {
|
||||
"shortDesc": "企业微信待办事项管理技能,支持查询待办列表、获取待办详情、创建待办、更新待办、删除待办及变更用户处理进度状态。在用户说\"看看我的待办列表\"、\"我有哪些待办\"、\"帮我创建一个待办\"、\"把这个任务分派给张三\"、\"标记待办完成\"、\"删掉那个待办\"、\"帮我建个提醒\"、\"更新一下待办内容\"、\"把提醒时间改到下周\"、\"接受这个待办…"
|
||||
"shortDesc": "管理企业微信待办,支持创建、删除或退出、完成、查询和筛选,以及修改标题、描述、参与人名单和截止时间。"
|
||||
},
|
||||
"en-US": {
|
||||
"shortDesc": "企业微信待办事项管理技能,支持查询待办列表、获取待办详情、创建待办、更新待办、删除待办及变更用户处理进度状态。在用户说\"看看我的待办列表\"、\"我有哪些待办\"、\"帮我创建一个待办\"、\"把这个任务分派给张三\"、\"标记待办完成\"、\"删掉那个待办\"、\"帮我建个提醒\"、\"更新一下待办内容\"、\"把提醒时间改到下周\"、\"接受这个待办…"
|
||||
"shortDesc": "管理企业微信待办,支持创建、删除或退出、完成、查询和筛选,以及修改标题、描述、参与人名单和截止时间。"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user