@framers/agentos-ext-channel-slack

中文文档
0.2.4发布于 2026/11/04Apache-2.0TypeScriptCommonJS构建来源已验证近 30 天下载 2.1万

AgentOS 的 Slack 消息通道适配器: 通过 @ slack/bolt 双向消息, 并张贴到个人自发的webhook 或工作流程链接

中文使用文档
文档目录6 节
  1. 它提供什么
  2. 运行时间状态
  3. 需要的密钥
  4. 张贴给一个人自己的Slack链接( ./outbound (中文(简体) )
  5. 真相来源
  6. 释放

黑频道扩展

通过代理OS的双向黑消息 @slack/bolt。 。 。 .

它提供什么

  • slackChannelSendMessage
  • slackChannelSendMedia
  • slackChannel

运行时间状态

  • 这是全程频道节目.
  • 频道保持选入,因为它们可以连接,民意调查,或接收网络呼声.
  • 打开它 createCuratedManifest({ channels: ['slack'] }) 或自定义扩展列表.

需要的密钥

  • slack.botToken
  • slack.signingSecret
  • slack.appToken

只发布消息的主机,例如一个人选择发送到频道的便笺,会带走 ./outbound 输入。 这个 装入无 Bolt 应用程序, 打开无端口, 不需要上面的任何秘密 : 个人在自己的 Slack 中创建链接 工作空间和主机保持它作为它的秘密.

import { parseSlackLink, postToSlackLink } from '@framers/agentos-ext-channel-slack/outbound';

const link = parseSlackLink(pasted); // null for anything that is not a Slack link
if (link === null) throw new Error('not a Slack incoming webhook or workflow link');

const outcome = await postToSlackLink(link, 'Decisions: ship on Friday.');
if (!outcome.ok && outcome.reason === 'link_gone') {
  // The link was removed, its channel archived or its workspace closed: ask the person for a new link.
}

parseSlackLink 需要两种联系,没有别的了:

  • 进入个人工作空间的应用软件网游, https://hooks.slack.com/services/<workspace>/<B...>/<secret> (单位:千美元)斯莱克的向导(三);
  • 一个工作流程的网钩触发器, https://hooks.slack.com/triggers/<workspace>/<number>/<secret>在工作流程中制作 根据Slack的付费计划建造者(Slack的帮助) (中文(简体) ). 工作流程需要一个 文本变量名称 text,其信息步骤显示.

任何其他方案,主机,端口(包含已写入的默认),用户名,查询,片段,回击或路径是 拒绝,它返回的链接重建于 hooks.slack.com 从选中路径中 kind页:1 workspace id和它的后四个字符(ending(中文(简体) ) 让一个人分辨他们的关联.

postToSlackLink(link, text, { fetch, timeoutMs, signal }) 员额 { "text": ... } 作为JSON, 随着文本逃脱 (单位:千美元)&, (中文(简体) ), < 财务报告和审定财务报表 > 作为 &amp;, (中文(简体) ), &lt; 财务报告和审定财务报表 &gt;无论是哪种联系。 Slack读到一个即将到来的 Webhook 的文本作为它的 消息格式化( e)Slack 格式化指南页:1 由 webhook 启动的工作流程在其变量中采用相同的格式 (单位:千美元)斯拉克的平台博客),所以一个 未回避 <!channel>, (中文(简体) ), <!here>, (中文(简体) ), <@U...> 或者说 <#C...> 会通知人们或显示作者从未写过的链接. escapeSlackText 独自逃跑也是一样 10秒后放弃,除非 timeoutMs 拒绝文本,只保留空格或超过 SLACK_TEXT_LIMIT (40 000美元) 当链接获得时, 字符的长度会缩短信件的长度 (单位:千美元)聊天. postMessage 中标) (中文(简体) ). slackTextLength(kind, text) 这是 长度,隐藏的文本是,一个主机要在文章前显示或检查.

它决定 { ok: true },或 { ok: false, reason, retryAfterSeconds?, slackError? }数字 :

reason斯莱克说的话宿主会做什么
link_gone该链接不再使用员额: no_service, (中文(简体) ), no_active_hooks, (中文(简体) ), invalid_token, (中文(简体) ), channel_is_archived, (中文(简体) ), team_disabled 类似,或404或410询问新链接
refused工作空间拒绝该帖: action_prohibited, (中文(简体) ), posting_to_general_channel_denied,或 403 键告诉当事人; 可能发布到另一个频道的新链接
invalidSlack拒绝留言: invalid_payload, (中文(简体) ), no_text, (中文(简体) ), parameter_validation_failed (一个工作流程的JSON Slack不能接受),或者另一个4xx检查文本,工作流程的一个变量被命名 text
rate_limitedA. 429; retryAfterSeconds 这是它的 Retry-After, 1至3600) (中文(简体) )等待那么长时间;Slack大约每秒一个接通一个连线(费率限额(中文(简体) )
unavailable没有及时回答,一个5xx,一个方向以后再试

slackError 是Slack的出错代码, 当答案带有一个; 没有Slack的答案被返回。 2xx (韩语) 答案是Slack的后缀 除非是JSON对象的顶级 ok 错误的,所以一个帖子从来没有被报告为 失败并两次发送 。 Slack的答案是从它的体流读到最多8,192个字符,然后流就是了 放开我 一个答案 a fetch 仅按其状态阅读: text() 从不叫,因为 无论时间有多长 答案都一成不变 暂停和 signal 结束帖子本身,所以 取出一个答案的身体 等待答案 unavailable 准时.

真相来源

  • manifest.json 定义导出的工具和消息通道描述符.
  • src/ 包含适配器和工具执行.

释放

新版本发表于 架设层/剂-外延 由 GitHub Actions 通过 npm 信任的出版, 并附有出处声明 .

版本与发布记录

@framers/agentos-ext-channel-slack 共发布 9 个版本,首次发布于 2026/02/08;过去 12 个月发布了 9 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.4latest2026/11/0411 天前
0.2.32026/11/0214 天前
0.2.22026/11/0114 天前
0.2.12026/11/0115 天前
0.2.02026/10/2818 天前
0.1.32026/10/111 个月前

关于 @framers/agentos-ext-channel-slack 的常见问题

@framers/agentos-ext-channel-slack 是什么?

AgentOS 的 Slack 消息通道适配器: 通过 @ slack/bolt 双向消息, 并张贴到个人自发的webhook 或工作流程链接

如何安装 @framers/agentos-ext-channel-slack?

在项目目录运行 npm install @framers/agentos-ext-channel-slack,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@framers/agentos(>=0.10.40)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@framers/agentos-ext-channel-slack 支持 TypeScript 吗?

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

@framers/agentos-ext-channel-slack 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@framers/agentos-ext-channel-slack 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@framers/agentos-ext-channel-slack 可以商用吗?

@framers/agentos-ext-channel-slack 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@framers/agentos-ext-channel-slack 的下载量有多少?

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

@framers/agentos-ext-channel-slack 还在维护吗?

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