用途
gws-events-subscribe 用于订阅 Google Workspace 事件,并将事件以 NDJSON(换行分隔 JSON)形式流式输出。它属于 gws-claude-plugin 中的事件相关技能,命令入口为 gws events +subscribe。
前置条件
使用前需阅读 ../gws-shared/SKILL.md,以了解认证方式、全局标志和安全规则。如果该文件缺失,可运行 gws generate-skills 生成。
主要能力
- 订阅 Workspace 事件并流式输出为 NDJSON。
- 可指定 Workspace 资源 URI(例如
//chat.googleapis.com/spaces/SPACE_ID)。 - 可指定以逗号分隔的 CloudEvents 事件类型。
- 可指定用于 Pub/Sub 资源的 GCP 项目 ID,或使用已有的 Pub/Sub 订阅名称跳过初始化。
- 可控制每次拉取的最大消息数(默认 10)、拉取间隔秒数(默认 5)。
- 支持单次拉取后退出、退出时删除创建的 Pub/Sub 资源、不自动确认消息、将每个事件写入指定目录下的独立 JSON 文件。
使用方式
基本用法:
gws events +subscribe
标志说明:
| 标志 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| --target | — | — | Workspace 资源 URI(例如 //chat.googleapis.com/spaces/SPACE_ID) |
| --event-types | — | — | 以逗号分隔的 CloudEvents 类型 |
| --project | — | — | 用于 Pub/Sub 资源的 GCP 项目 ID |
| --subscription | — | — | 已有 Pub/Sub 订阅名称(跳过初始化) |
| --max-messages | — | 10 | 每次拉取批次的最大消息数(默认:10) |
| --poll-interval | — | 5 | 拉取之间的秒数(默认:5) |
| --once | — | — | 拉取一次后退出 |
| --cleanup | — | — | 退出时删除创建的 Pub/Sub 资源 |
| --no-ack | — | — | 不自动确认消息 |
| --output-dir | — | — | 将每个事件写入此目录下的独立 JSON 文件 |
示例:
gws events +subscribe --target '//chat.googleapis.com/spaces/SPACE' --event-types 'google.workspace.chat.message.v1.created' --project my-project
gws events +subscribe --subscription projects/p/subscriptions/my-sub --once
gws events +subscribe ... --cleanup --output-dir ./events
提示与注意事项
- 不使用
--cleanup时,Pub/Sub 资源会保留以便重新连接。 - 按 Ctrl-C 可优雅停止。
- 注意:当提供
--project(创建新的 Pub/Sub 资源)时,这是写命令,执行前需与用户确认。当提供--subscription(使用已有订阅)时,不会创建资源。
相关技能
- gws-shared:全局标志与认证。
- gws-events:所有订阅 Google Workspace 事件的命令。