Skip to content
Back to skills

Weaver E10 Yimiaoban

ASecurity

泛微 E10 易秒办即时通讯能力(单聊/群聊消息、发送与必达、群组管理、会话与系统消息),通过 weaver-work-cli im 命令执行。

  • 417 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added November 8, 2026
toolsshellbashapi

Works with

  • cli
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 14 files and shows the line behind each finding

Scanned November 8, 2026

npx -y skills add infometa/workbuddyskills --skill weaver-e10-yimiaoban --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Weaver E10 Yimiaoban?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Weaver E10 Yimiaoban
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/infometa-weaver-e10-yimiaoban/badge)](https://www.skillsdirectory.com/skills/infometa-weaver-e10-yimiaoban)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: weaver-e10-yimiaoban
display_name: 泛微易秒办
display_name_en: Weaver E10 Yimiaoban IM
description: 泛微 E10 易秒办即时通讯能力(单聊/群聊消息、发送与必达、群组管理、会话与系统消息),通过 weaver-work-cli im 命令执行。
description_zh: 泛微 E10 易秒办即时通讯能力:拉取单聊/群聊/系统消息、发送与撤回消息、发必达、群组管理(建群/邀人/踢人/退群/解散/公告)、会话列表、文件上传下载与人员解析,全部通过 weaver-work-cli im 命令执行,写操作走 prepare→apply 确认链。
description_en: Weaver E10 Yimiaoban (IM) capabilities - fetching single/group/system messages, sending, withdrawing and ding messages, group management, sessions, file upload/download and people resolution, executed through the weaver-work-cli im command with a prepare-then-apply confirmation chain for writes.
version: 1.1.0
author: 泛微网络科技股份有限公司
agent_created: true
requires:
  bins: ["weaver-work-cli"]
dependencies:
  - weaver-e10-shared
cliHelp: "weaver-work-cli im --help"
---

# 泛微易秒办(im)

**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若共享规则不存在、CLI 未安装或读取失败,说明本技能的必需依赖缺失,必须调用宿主提供的提问/确认弹框,向用户说明必须补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`(不补齐本技能无法执行)及补齐计划,并把下面两条待执行命令原样完整展示在确认信息中;Agent 不能在未确认时自行安装。用户明确确认后,Agent 必须直接代为按顺序执行且每条仅执行一次,不得要求或引导用户手动执行:① 缺 CLI 时执行 `npm install -g weaver-work-cli`;② 再执行 `weaver-work-cli skills install shared --target-dir <SKILLS_ROOT>` 装回共享 skill,`<SKILLS_ROOT>` 取本 SKILL.md 所在目录的上一级绝对目录(即与本技能同级的 skills 根目录),不要省略 `--target-dir`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。**
**`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)。

共享规则覆盖命令可用性检查、E10 认证、JSON 输出契约、大结果渲染和高风险写入确认链,本技能不再重复。

本技能覆盖易秒办(E10 即时通讯)业务域:**消息(msg)**、**必达(ding)**、**群组(group)**、**会话(session)**、**系统消息(sysmsg)**,以及支撑能力**人员解析(person)**、**文件上传/预览/下载(file)**、**用户状态与免打扰设置(user)**、**i18n 标签(i18n)**。所有写操作走 prepare→apply 确认协议。

## 认证与请求头契约

**登录与会话一律由 `weaver-e10-shared` 共享规则和 `weaver-work-cli auth ...` 命令体系托管**(小 E 宿主环境优先 `weaver-work-cli auth xiaoe`,其它环境由用户提供自有域名后走 `weaver-work-cli auth login`)。本技能**不自建登录**:禁止扫码/账号密码/自建 OAuth 取 token,禁止使用浏览器自动化登录,也不接触、打印、转存任何认证文件。

`weaver-work-cli im` 发往 E10 的每个请求都由 CLI 统一注入请求头三件套,业务入参里不要传这些字段,也不要手工拼装请求头;唯一权威声明见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md) 的「请求头契约」章节。每个 operation 都已在请求头中带齐,缺任一服务端都无法识别操作者或会判定登录失效。

业务输入只描述业务对象与意图,凭证与请求头由 CLI 托管;需要诊断登录态时只用 `weaver-work-cli auth` / `doctor --e10` 与业务命令返回的 JSON 错误。

## 命令入口

```text
weaver-work-cli im --help
weaver-work-cli im schema
weaver-work-cli --json im run <operation> --input-json '{"key":"value"}'
```

`schema` 是可用能力的唯一事实来源(含每个 operation 的 `inputSchema`、`risk`、`requiresConfirmation`、`deprecatedInputAliases`)。禁止把本技能或源文档里的接口路径当成可直接调用的地址,也禁止把未出现在 `schema` 中的能力当作可用 operation。

## Reference 路由表

命中任一条件时,执行下一步前读取对应 reference。

| 触发条件 | Reference |
| --- | --- |
| 按姓名/工号/手机/邮箱解析人员,uid 批量解析 | [`references/person.md`](references/person.md) |
| 名称 → ID 解析规则、同名消歧、未匹配处理、接口间上下文传递契约 | [`references/field-resolution.md`](references/field-resolution.md) |
| 拉单聊/群聊消息、群置顶消息、消息阅读状态(只读) | [`references/msg-read.md`](references/msg-read.md) |
| 发送单聊/群聊消息(文本/图片/文件)、撤回、群消息置顶(写) | [`references/msg-write.md`](references/msg-write.md) |
| 必达消息:普通必达、已有消息转必达、仅未读/指定接收人(写) | [`references/ding-write.md`](references/ding-write.md) |
| 搜群、群信息、群成员、群主/管理员、群存在性、群公告(读) | [`references/group-read.md`](references/group-read.md) |
| 建群、邀请、踢人、退群、解散、申请入群、改群属性/群名、群公告增改删(写) | [`references/group-write.md`](references/group-write.md) |
| 会话列表、系统消息分组/类型/消息查询 | [`references/session-sysmsg.md`](references/session-sysmsg.md) |
| 文件上传/预览/下载到本地、用户在线状态、i18n 标签翻译 | [`references/file-user-i18n.md`](references/file-user-i18n.md) |
| 把某个群/某个人/某个系统会话设为免打扰或恢复提醒 | [`references/user-remind.md`](references/user-remind.md) |
| 易秒办红线(操作人字段、本人身份取用、人名解析、id 边界、分页与全量、展示完整)、写链停止条件、已知禁用边界 | [`references/safety-boundaries.md`](references/safety-boundaries.md) |
| 业务错误码含义与处理建议(群 12xx / 消息 15xx / 数据 13xx + CLI 校验错误) | [`references/error-codes.md`](references/error-codes.md) |
| 源资料清单、chunk 与 operation 影响索引、产物基线(源资料更新检测用) | [`references/source-manifest.json`](references/source-manifest.json) |

## 关键差异(必须先知道)

- **消息以 `msg` JSON 字符串 + `datas[].datas[]` 行结构返回**:CLI 的 `msg.sync.*`/`msg.top.sync` 已把每条消息解析成结构化行(`msgid/sender/time/typeName/content/media/must/fileName/...`),`content` 是可读文本(@ 提及已还原、媒体显示为 `[图片]名称`/`[视频]名称`/`[文件]名称`、必达内容带 `[必达]` 前缀)。解析结果直接使用,不要再本地拼装。
- **分页口径(与源 skill 一致)**:消息类每页默认 **50** 条、单页上限 **50**;**有界区间(指定了时间范围、默认当天、或显式 `end`/`endId`)自动循环翻页把区间拉完再返回**(最多 100 页,触及上限时返回 `hasMore:true` + `nextStart`);**无界区间(`latest:true`)只拉一页**,需要更早数据时用 `nextStart` 继续。**会话列表(`session.list`)不参与自动翻页**(默认 20、上限 50,用 `msgid`/`nextMsgid` 翻页)。
- **时间范围强制收敛到 7 天**:单聊/群聊/系统消息的 `from`/`to` 跨度 > 7 天时,CLI 自动缩短为该范围**最后 7 个自然日**,并在 `data.rangeShrink` 返回 `notice`。**展示结果时必须把这条收敛提示原样转述给用户**,不要静默省略,也不要替用户改小范围。
- **展示顺序**:消息按消息 id 从新到旧(最新在前)返回;`content` 完整不截断,表格化时自行转义 `|`、保留换行与 `[必达]` 前缀、媒体保持可点击链接。
- **发送者「我」由 CLI 判定**:`sender` 与当前登录人 IM uid 比对,自己发的消息返回「我」;他人优先消息内 `sname`、其次 hrm 姓名、最后回退 uid。
- **人名一律由 CLI 走 hrm 解析**(`/api/hrm/common/getEmployeeByIds`),本技能不展示也不依赖 IM 群成员 `name` 字段;群成员接口返回的 `name` 不可信。
- **本人 IM 身份(cid/uid)只用于本机组装**:`group.search` 的 `members/owner/creator` 条件、撤回消息体、必达消息体、建群自检、消息展示「我」都用 CLI 通过 `teamsCheck` 取得的本人 `imCid`/`imUid`;**它绝不作为请求体操作人字段,也不接受调用方传入**(传 `user`/`sender`/`operator` 会被拒绝:`forbidden_key`)。
- **uid/cid/群 id 都是 uint64**:JSON 中必须按字符串传(`"1788334281700000004"`),`0` 一律拒绝;`num` 超过 50 会被截断为 50。
- **时间范围不是服务端过滤条件**:单聊/群聊历史按**消息 id 区间**定位,CLI 把 `from/to` 换算成 `[minId,maxId]`;缺省取当天。`actionMsg.code=1303`(无聊天记录)按**成功空列表**返回(`empty:true` + `emptyReason`),不报错。
- **媒体需要登录态**:`media[].previewUrl/downloadUrl` 需登录态访问,直接嵌 Markdown 会 401;要真正查看图片/视频或取回附件,用 `im.file.download` 落地到本地(`output` 为明确本地路径、父目录须存在、已存在则拒绝覆盖,图片会按文件头纠正扩展名)。
- **超时与空白消息**:普通请求 15 秒超时即失败且不重试(上传 15/60 秒);全空白文本不算内容,禁止发送空白消息(`content_required`)。

## 写操作决策树(prepare → apply)

易秒办所有写操作(发消息/撤回/置顶/必达/群组写操作)统一为两段式,均在 `schema` 中带 `requiresConfirmation`:

1. 调用 `<op>.prepare`(只读校验:解析成员、读源消息、计算接收人),得到 `summary` + `continuation`。
2. 向用户展示 `summary`(动作、目标、数量、差异/风险),请求明确确认。
3. 用户确认后调用 `<op>.apply`,传 `{"confirm":true,"continuation":"<prepare 返回的 token>"}`。
4. `apply` 返回 `partial` / `write_uncertain` 或网络中断时**立即停止,不自动重试**,先做一次只读回查(如群成员、消息是否已存在)再决定。

任何一步出现登录失效/上下文变化(`context_mismatch`/`continuation_expired`/`target_changed`)都回到第一步重新 prepare。

## 失败处理

- 业务失败看 stderr JSON 的 `error.type` / `error.subtype` / `error.message`,不要用退出码 `0` 判断成功。
- `code=302` 或认证类错误(`session_expired`):按共享规则引导用户重新登录,禁止猜域名或手工拼凭证。
- 业务语义错误码:`1303` 表示无聊天记录(成功空列表,看 `emptyReason`);群不存在 `1209`;`members_resolve_failed`/`members_empty` 说明成员解析失败,向用户说明后请其决定是否 `removeFailed:true` 继续;其余码值对照 [`references/error-codes.md`](references/error-codes.md)。
- `alias_conflict`:旧字段(如 `filePath`/`shareGroups`)与新字段同时出现且取值不一致,请只保留一个。
- 展示给用户时保持「完整不截断」红线,参考 [`references/safety-boundaries.md`](references/safety-boundaries.md)。

## 平台兼容

命令示例必须同时兼容 Windows 与 macOS/Linux。简单 JSON 统一用 `--input-json`:

Windows PowerShell:

```powershell
weaver-work-cli --json im run im.msg.sync.group --input-json '{"groupId":"1788334281700000004","num":50,"latest":true}'
```

macOS/Linux(bash/zsh):

```bash
weaver-work-cli --json im run im.msg.sync.group --input-json '{"groupId":"1788334281700000004","num":50,"latest":true}'
```

复杂 JSON 建议保存为 UTF-8 文件后按平台传给 `--input <file>`;Windows PowerShell 下不要使用 `printf`、`~/` 路径或反斜杠续行。

Files in this skill

  • SKILL.md12.4 KB
  • references/ding-write.md4 KB
  • references/error-codes.md6.6 KB
  • references/field-resolution.md3.4 KB
  • references/file-user-i18n.md4.3 KB
  • references/group-read.md3.2 KB
  • references/group-write.md5.5 KB
  • references/msg-read.md5.2 KB
  • references/msg-write.md3.9 KB
  • references/person.md2 KB
  • references/safety-boundaries.md7.6 KB
  • references/session-sysmsg.md3.7 KB
  • references/source-manifest.json74.2 KB
  • references/user-remind.md4.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in tools →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.