@clisbot/channels-googlechat

中文文档
2.2.3发布于 2026/11/05TypeScriptES Module近 30 天下载 3408

In-repo Google Chat频道垂直(目标分类账切片14). 由扩展/googlechat/src@5d8067a4483端口: Chat API REST客户端,服务账户 uth + 令牌缓存,markdown Google 聊天渲染器,目标/空间分辨率和webhook再取

中文使用文档
文档目录7 节
  1. 现场测试需要什么
  2. 谷歌云/ 工作空间设置
  3. 试验表面
  4. 最小账户配置
  5. 今天获得支持
  6. 尚未支持
  7. 版式

@clisbot/channels-googlechat (英语)

在repo Google Chat频道垂直(目标分类账切片14). 从 extensions/googlechat/src@5d8067a4483 看到了吗 upstream-sync.json 联 合 国 逐个文件映射, 偏差( n)D-GC-0xx)和省略的内容.

第三方的SDK是上游的, 在上游的版本: google-auth-library 11.0.2。上游手卷其 Chat API 客户端结束 fetch 而不是说 取决于 googleapis; 该客户端( e)api.ts页:1.

枢纽接线器在后续片中落地. HUB-WIRING.MD (英语) 这是 交接文件是用Hub方面拥有的东西制作的,并保留着记录; ../../../docs/features/channels/README.md 描述平台为已建. 入境 通过 Cloud Pub/ Sub 拉出, 不需要公共 URL; 移植的 HTTP webhook 被 Hub 拒绝, 直至结束 (单位:千美元)HUB-WIRING.md 第6节a) (中文(简体) ). 运算符设置地址 public-docs/hub/channels/googlechat.md。 。 。 .

现场测试需要什么

自己提供这些,放回原地 .env。这个软件包永远不会 读取 .env 而这里没有价值是真正的证明——只有名字.

谷歌云/ 工作空间设置

  1. 在谷歌云项目中,创建 服务账户 并下载其 JSON 键。 该文件是完整的证书;没有博特标志.
  2. 启用 谷歌聊天 API 在项目.
  3. 下 谷歌聊天 API — 配置,创建 Chat 应用程序:设置名称并 avatar, 启用 接收 1:1 个消息 财务报告和审定财务报表 加入空格和组合 对话选择 应用 URL 作为与您的连接设置 公共HTTPS终点.
  4. 说明 观众 请求核查:
    • audienceType: "app-url" → audience 同一个应用程序 URL,和 appPrincipal 是该应用程序的数值 OAuth 2.0 客户端 id (21 位数,而不是一个) email),所以添加的符号可以被绑入.
    • audienceType: "project-number" → audience 是 Cloud 项目编号.
  5. 将该应用程序发布到您的工作空间域( 或特定测试者) — a 工作空间管理员必须先批准后才能加入空间.
  6. 将应用程序添加到测试空间,并用它启动一个DM.

试验表面

新闻 var一定是这样
GOOGLECHAT_SERVICE_ACCOUNT_JSON_PATH服务账户 JSON 密钥的路径 。 从不提交文件.
GOOGLECHAT_SUBSCRIPTIONprojects/<project>/subscriptions/<name>,拉订阅,用于Pub/Sub快递.
GOOGLECHAT_PROJECT_NUMBER云项目号,用于 audienceType: "project-number"。 。 。 .
GOOGLECHAT_APP_URL在 Chat app 上配置的公共 HTTPS 端点, 用于 audienceType: "app-url"。 。 。 .
GOOGLECHAT_APP_PRINCIPAL该应用的数值为OAuth 2.0客户端id (21位数). 仅限 app-url。 。 。 .
GOOGLECHAT_PUBLIC_URL公开的 URL Google 贴出(通常与 GOOGLECHAT_APP_URL) (中文(简体) ).
GOOGLECHAT_TEST_SPACE_IDspaces/<id> 的空格.
GOOGLECHAT_TEST_DM_USER_IDusers/<id> 人类测试者 应用打开一个DM.
GOOGLECHAT_TEST_BOT_USER_IDusers/<id> 在应用程序本身,用于引用标记和自带信息过滤器.
GOOGLECHAT_DRIVER_ACCOUNTA 类 人类 用作外部发送器的工作空间账户 。 从不开车带应用程序本身.

驱动程序 / app- under- test 拆分是相同的规则 (CLAUDE.md,"需要的Slack和Telegram E2E角色"):一个直接的 sendText 是一个 仅限外出抽烟测试. 所需要的证明是外部发送者 + 网页hook → 代理翻转 ~ 在同一空格中回复, 然后读取 REST (单位:千美元)GET /v1/spaces/{space}/messages)匹配返回的消息资源名称.

Pub/Sub不需要公共端点,所以E2E在dev Hub上运行 GOOGLECHAT_SUBSCRIPTION (单位:千美元)projects/<project>/subscriptions/<name>) 上 时 间 连接。 网路在公共端点上被屏蔽 (单位:千美元)HUB-WIRING.md 第6节) (中文(简体) ).

最小账户配置

channel: googlechat
accountId: main
connectionId: <hub connection id>
transport: { mode: pubsub }
config:
  botUser: "<GOOGLECHAT_TEST_BOT_USER_ID>"
routes:
  - audience: [{ who: { anyone: true }, where: { dm: true } }]
    agent: <agent>
    environment: <environment>

服务账户文件和订阅在Hub连接的现场 全权证书serviceAccount 或者说 serviceAccountFile,以及 subscription(没有) 在此文件中。 网页浏览账户的使用 transport: { mode: webhook } 与 audienceType, (中文(简体) ), audience 财务报告和审定财务报表 webhookUrl 下级 config。 。 。 .

今天获得支持

入境 (Cloud Pub/Sub拉出或HTTP webhook:) MESSAGE 空格、 分组聊天和模式模式; 领先 /verb 分类为a command· ; CARD_CLICKED 作为 callback 携带 按钮的动作代号、其参数值和点击用户; ADDED_TO_SPACE 编号 : REMOVED_FROM_SPACE 作为 member 事件。 提及检测 读取 USER_MENTION 说明 反对 users/app 并配置 botUser。瓶装和被应用信件被过滤,除非 allowBots 已经设定.

请求认证为上游, 不变: 无记名 JWT 被验证 对所配置的听众——用于 app-url (包括工作空间加注的发行者 appPrincipal)和a 数据 与 Google 聊天证书进行认证 project-number —— 说 在此之前 请求的正文读取在 auth 前大小 盖. 两百块是久已入会的 进取队列; 失败的录取回答 503 所以Google 重新删除, a 错误的信封回答400 所以它不会.

出境:带有上游Google Chat标记下渲染器(粗体/斜体/)的文本 罢工/代码, <href|label> 页:1 和它的字节键;线条响应 倒转到新线程选项; 消息编辑( n)cardsV2 支持更新 路径); 删除消息; DM 打开通过 spaces:findDirectMessage; 空间 检查和账户探针.

信件工具动作数字 : send, (中文(简体) ), edit, (中文(简体) ), delete。 。 。 .

尚未支持

命名于此, 上面没有比它更多的内容 .

  • 附件上传 – Google Chat的媒体上传端点为用户-Outh ; 服务账户应用程序不能使用 . sendMedia 显示 通知和报告 mediaPosted: false (D-GC-016),和 send 行动大声拒绝附着物,而不是放弃附着物.
  • 进入媒体下载 - 信封的吗 attachment 阵列已解析,但 未获取此文件, 因此拒绝只保存附件的信件 空无体相. 上游的下载生活于省略 monitor.ts。 。 。 .
  • 本地核准卡 - 整个 approval-* 家庭被忽略( 它坐落于 openClaw的审批网关运行时间). 纸牌 点击 仍然到达枢纽 入境 callback 由Hub自己的批准政策采取行动.
  • 打字指标 上游员额a _… is typing…_ 信件并编辑其内容 进入答案 monitor.ts。反应模式 上游也提供需要的用户 OAuth 而不为服务账户工作 完全应用.
  • 反应、针头、回放、情感发现、民调 没有服务账户 API 在这个频道. supportsAction 拒绝他们,所以枢纽回答 unsupported_action 而不是运输错误.
  • Pub/Sub推送 ——推再需要公共URL;垂直拉.
  • Auth 传输的代理支持 - 上游路线 -- -- 谷歌 -- -- 通过 OpenClaw 的被绑放的堆栈,它尊重明确/env代理和 客户端 TLS 证书 。 联合警卫接受 dispatcherPolicy 却无视它 (D-GC-005) (中文(简体) ).
  • 设置/ 医生表面 — OpenClaw 向导和 doctor 树是 省略; Hub 拥有上载.

版式

src/
  api.ts auth.ts google-auth.runtime.ts   ← upstream Chat REST + service-account auth
  accounts.ts targets.ts format.ts        ← upstream account/target/format closure
  actions.ts message-tool-api.ts          ← upstream message-tool adapter
  monitor-event.ts monitor-webhook.ts     ← upstream envelope parser + request handler
  channel-actions.ts outbound.ts          ← Fusion: Hub drive surface
  lifecycle/start-account.ts              ← Fusion: L4 account lifecycle
  fusion/                                 ← Fusion: every boundary, one per D-GC-0xx
    account-config.ts   Hub account carrier → upstream account resolution
    admission.ts        durable admission before the webhook 200
    inbound-adapter.ts  envelope → ChannelInboundEvent (kind + facts)
    webhook-session.ts  the owned node:http listener
    ssrf-fetch.ts       the guarded-fetch boundary
    secret-file.ts      the credential-file reader
    runtime.ts          HostRuntime → the ported PluginRuntime

版本与发布记录

@clisbot/channels-googlechat 共发布 18 个版本,首次发布于 2026/10/10;过去 12 个月发布了 18 个版本。

版本发布日期距今
2.2.3latest2026/11/055 天前
2.2.22026/11/037 天前
2.2.12026/11/019 天前
2.2.02026/10/2714 天前
2.1.82026/10/2218 天前
2.1.72026/10/2219 天前

关于 @clisbot/channels-googlechat 的常见问题

@clisbot/channels-googlechat 是什么?

In-repo Google Chat频道垂直(目标分类账切片14). 由扩展/googlechat/src@5d8067a4483端口: Chat API REST客户端,服务账户 uth + 令牌缓存,markdown Google 聊天渲染器,目标/空间分辨率和webhook再取

如何安装 @clisbot/channels-googlechat?

在项目目录运行 npm install @clisbot/channels-googlechat,或使用 pnpm add / yarn add / bun add。

@clisbot/channels-googlechat 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@clisbot/channels-googlechat 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@clisbot/channels-googlechat 可以商用吗?

@clisbot/channels-googlechat 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@clisbot/channels-googlechat 的下载量有多少?

根据 npm 官方下载统计,@clisbot/channels-googlechat 在 2026/10/10 – 2026/11/08 这 30 天内被下载 3,408 次,日均约 114 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@clisbot/channels-googlechat 还在维护吗?

最新版本 2.2.3 发布于 2026/11/05(5 天前);至今共发布 18 个版本,其中过去 12 个月发布了 18 个;首次发布于 2026/10/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。