Files
market/agents/wecom-assistant/docs/04-群聊历史.md
Yige aec2e7c28b 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)
- 消息发送、通讯录解析、微盘列表、邮件搜索、文档搜索、会议列表、智能表格创建均已实测通过
- 测试数据已全部清理,未污染真实账号

**尚未实测**:群聊历史(机器人未开通该品类)。相关文档已明确标注验证状态,未实测的能力不写「实际效果」段落。
2026-09-03 03:50:00 -04:00

6.5 KiB
Raw Blame History

群聊历史

读企业微信群里的历史消息:先看最近有哪些群在说话,再拉某个群某段时间的消息明细, 需要时把群里发的图片和文件取下来。只支持最近 7 天。 这是整套能力里隐私敏感度最高的一项——读到的是别人的聊天原文,所以助手每次读之前都会先说明要读什么。

⚠️ 这一域的全部能力目前完全未验证。 实测账号的机器人未开通「群聊会话」品类 第一步就被企业微信拒绝,后面的所有能力都没有机会验证。详见下方「验证状态」。

你可以怎么说

「项目 A 群这两天聊了什么?」 「昨天群里说的那个事,帮我找一下」 「帮我总结一下产品群这周的讨论」 「把群里发的那个文件找出来」 「这周哪些群比较活跃?」

📋 验证状态

状态
列出最近有消息的群会话 未实测——被权限拦住
拉取某个群的消息明细 未实测
取群消息里的图片 / 文件 未实测
隐私说明、7 天窗口等行为约定 未实测

卡在哪(这是唯一有据可查的事实)

wecom-cli chat groups list ...
# → 返回错误码 853006

853006 的含义是同类未授权——实测账号的机器人没有开通「群聊会话」这个品类。 第一次调用就被拒,所以从「有哪些群」开始的整条链路都没跑起来。

因此本文档不含「实际效果」一节,也不含任何实测对话或返回值 (下文出现的引用块都是措辞示意,不是跑出来的记录)。 下面「能力清单」与「注意事项」的内容来自接口定义与技能文档,是设计意图,不是实测结论。 真正跑通之前,它们只能当作「预期会这样」来看。

要让它可用:需要为机器人开通群聊会话品类。助手第一次碰到这个错误时,会把企业微信官方的 开通指引原样转给你(含链接,一字不改),然后停下来——不会反复重试,也不会换个方法绕

能力清单

以下均未实测

能做什么 命令 风险
列出最近 7 天有消息的群会话 wecom-cli chat groups list 读取(隐私敏感:暴露群名与活跃度)
拉取指定会话在某时间段的消息明细 wecom-cli chat messages list 读取(最高隐私敏感:他人聊天原文)
取消息里的图片 / 文件 / 语音 / 视频 wecom-cli message files get 读取(隐私敏感:他人发的文件内容)

三个都是只读,对企业微信侧没有任何改动,所以不需要「高风险确认」那一套。 但因为读的是别人的内容,执行前必须先说明要读什么

注意事项

读之前会先告诉你要读什么。 助手会先说一句类似这样的话,再动手:

我将读取「项目 A 群」2026-08-29 00:00 至 2026-08-31 23:59 的聊天记录,用于整理讨论要点。

范围必须具体到哪个会话 + 哪个时间段 + 读来干什么。你没指定群时,它会先把群列出来让你选, 不会「先全都拉下来再说」——不会为了省一次交互就批量遍历好几个群。

它不做人物画像。 拉下来的原文只用于回答你当前这个问题,不主动扩散、不统计 「谁说话最多」「谁最晚下班」这类对个人的行为分析,除非你明确要求且目的正当。

敏感信息会被略去。 聊天记录里出现身份证号、银行卡号、家庭住址、健康状况这类能识别到具体个人的信息, 助手不摘录、不转述、不写进总结,即使你要求。它会说明「记录中含敏感个人信息,已略去」。

只有最近 7 天,而且越界时是「静默返回空」不是报错。 这是最容易误判的一条:查 7 天以前的内容,企业微信不会告诉你「超范围了」, 而是给你一个空列表。所以——

  • 你说「上个月群里那个事」时,助手会先告诉你只能查最近 7 天,而不是拉一次空结果再回你「没找到」。 这两句话对你的意义完全不同。
  • 拿到空结果时,它会先自查时间范围是不是越界了,再下「这段时间没有消息」的结论。
  • 它不会用多次分段查询去凑 7 天以前的数据——服务端不给就是不给。

只有群聊,没有单聊。 「最近有哪些会话」这个列表目前只返回群聊。 你要看「我和张三的私聊记录」时,助手会先去通讯录把张三解析出来,再按人去拉,不会在群列表里找。

图文混排的消息容易被漏掉。 群里那种「一段文字配几张图」的消息,正文藏在嵌套结构里。 助手知道要去里面取,不会把它当成空消息漏掉——这一点在总结里最容易出现「消息凭空消失」。

不会无限翻页。 一个群一段时间的消息可能很多,助手会设一个页数上限,拉够了就停下来做总结, 并告诉你「还有更多历史消息,需要的话可以继续拉」。

能读的群 ≠ 能发消息的会话。 这两个是不同的集合,内部标识也不能互相搬运。 要往群里发东西,走 03 消息与会话,那边有它自己的一套限制。

三条通用边界在本域怎么体现

  1. 只能改它自己建的东西——这一域完全只读,本来就不写任何东西。 助手不能替你在群里发言、不能撤回别人的消息、也不能编辑聊天记录。
  2. 能力按品类逐项开通——本域正是这条规则最直接的受害者:群聊会话品类未开通, 整个能力就是黑的。助手会把官方开通指引原样转给你,然后停下。
  3. 危险动作先问你——这里没有「危险写入」,但有隐私读取的说明义务 读之前必须讲清读哪个会话、什么时间段、读来干什么。这条不因为「只是读一下」而放宽。

相关