@aws/chat-client

中文文档
0.1.58发布于 2026/10/09Apache-2.0TypeScriptCommonJS构建来源已验证近 30 天下载 3053

AWS 聊天客户端

中文使用文档
文档目录6 节
  1. 通讯
  2. 主办环境
  3. 使用量
  4. 入境事件
  5. 外部事件
  6. 配置

QChat 客户端

此软件包包含一个Q语言服务器的聊天客户端,可以嵌入到网页视图中. 用这个 迈纳维 生成基于网络的聊天界面.

通讯

聊天客户端通过主机应用程序( 如 IDE 扩展) 进行通信 postMessage 访问网页视图的请求 :

  • 当主机应用程序发送请求时,客户端会处理消息并发送给UI
  • 当一个事件在 UI 中被触发时,客户端会通过 postMessage 创建聊天客户端的主机应用程序

主办环境

网页视图由不同的IDE主机所嵌入,它们使用不同的浏览器引擎并不同地加载聊天资产. 因此 event.origin 在入境时观察到 postMessage 事件为 没有 整个主机的制服 :

东道主渲染引擎资产计划window.location.origin / 输入 event.origin信件传送桥
VS 代码铬网络视图vscode-webview://vscode-webview://<id> (非HTTP) (韩语)acquireVsCodeApi().postMessage
喷气管常设理事会https://toolkitassethttps://toolkitasset (同样来源)JCEF JS查询桥+ postMessage
视觉工作室边缘 Webview2服务主机依赖主机window.chrome.webview.postMessage
Eclipse (窗户)边缘 Webview2HTML 通过 Browser.setText()空 "" 或者说 "null" (不透明来源)输入主机 window.postMessage
Eclipse (macOS / Linux) (英语)WebKit / WebKitGTK 网络设备本地资产服务器HTTP( S) 同源输入主机 window.postMessage
SageMaker 尤皮特拉布浏览器(铬 / Firefox / Safari)同域线框架原产地window.postMessage

由于来源不统一,入境消息处理器在防御上验证它:它只拒绝一个真实的HTTP(S)交叉发端消息并允许空出, "null",以及 file:// 来源,由合法主机生产(例如Windows上的Eclipse,其中) Browser.setText()-被注射的HTML有不透明的来源). 对入境信件处理或来源验证的任何更改 必须对上面每个主机环境进行验证 ——见: handleInboundMessage JSDoc 输入 src/client/chat.ts。 。 。 .

使用量

要使用聊天客户端, 将它嵌入您的应用程序中的网页视图并处理 postMessage 视需要进行沟通。 聊天客户端基于入境(从目的地到聊天客户端)和出境事件(从聊天客户端到目的地). 活动包括: command 财务报告和审定财务报表 params数字 :

interface SomeEvent {
    command: string;
    params: SomeOptions;
}

入境事件

名称说明命令段落
发送ChatPrompt 响应为发送ChatPrompt请求提供响应aws/chat/sendChatPrompt聊天结果
打开 Tab 请求请求打开标签( 如果没有则创建标签) tabId (已提供)aws/chat/openTab请求ID - 在网页视图和 vscode 客户端之间共享的ID, 打开TabParams
发送到Prompt请求将选中内容发送到快速sendToPrompt发送到PromptParams
一般命令请求执行通用命令genericCommand通用指挥
错误请求显示聊天 UI 错误errorMessage错误
聊天选项配置聊天启动选项chatOptions聊天选项
聊天更新日期更新已存在的聊天信息aws/chat/sendChatUpdate聊天更新
上下文命令向 UI 发送上下文命令aws/chat/sendContextCommands上下文指挥
列表集合响应向UI提供历史对话列表aws/chat/listConversations列表汇编
对话 Click 响应对对话框点击或动作提供响应, 指定动作执行结果aws/chat/conversationClick对话 ClickResult
获得序列化 聊天请求请求进行串行聊天aws/chat/getSerializedChat获取序列化的ChatParams
聊天选项更新从服务器发送聊天选项更新请求aws/chat/chatOptionsUpdate聊天选项更新图片
规则响应向UI提供工作空间规则清单aws/chat/listRules列表规则
规则点击的响应提供规则点击或动作的响应,指定动作执行结果aws/chat/ruleClick规则克结果
添加选中的 Files 连接请求将选中的文件添加到上下文aws/chat/openFileDialogOpenFileDialog 最终版本
发送 Pinned 连接向用户界面发送已绑定的上下文信息aws/chat/sendPinnedContext剪接连接

外部事件

名称说明命令段落
打开 Tab 响应对打开的Tab 请求提供响应aws/chat/openTab请求ID - 在网页视图和 vscode 客户端之间共享的ID, 微信公众号 与 result 类型 打开标签
已确认通知目的地,法律免责声明得到用户的承认disclaimerAcknowledged不详
发送ChatPrompt向服务器发送聊天提示aws/chat/sendChatPrompt恰克帕拉姆斯语Name
发送快速行动命令发送快速行动命令aws/chat/quickAction快速行动图像
选项卡已添加添加标签时通知aws/chat/tabAdd标签
选项卡已更改更改标签时通知aws/chat/tabChange标签
选项卡已删除删除标签时通知aws/chat/tabRemove移动标签
插入目录选项请求在光标位置插入代码insertToCursorPosition插入主页
复制到剪贴板请求复制代码到剪贴板copyToClipboard复制代码ToClipboardParams
认证后续点击单击认证后续时通知authFollowUpClicked自动跟踪并点出标签
跟踪点击点击后续建议时通知aws/chat/followUpClick后续 ClickParams
发送回信发送用户反馈aws/chat/feedback反馈
链接点击点击链接时通知aws/chat/linkClick链接ClickParams
源代码 LinkClick点击源链接时通知aws/chat/sourceLinkClick源代码 LinkClickParams
信息链接点击点击信息链接时通知aws/chat/infoLinkClickInfoLinkClickParams 信息链接
准备当UI准备好时通知aws/chat/ready不详
聊天 Prompt 选项已确认确认聊天提示选项时通知chatPromptOptionAcknowledgedChatPrompt 选项已确认的Params
创建Prompt请求创建快速aws/chat/createPrompt创建PromptParams 程序
文件点击单击文件时通知aws/chat/fileClick文件 ClickParams 图像
列表汇编请求列出带有过滤器的对话aws/chat/listConversations列表组合标签
对话点击点击对话时通知aws/chat/conversationClick对话 ClickParams
选项卡行动作当需要标签栏动作时通知aws/chat/tabBarActionTab 对话框
获得序列化 聊天响应提供响应以获取序列化 聊天请求aws/chat/getSerializedChat获得序列化 聊天结果
停止聊天响应请求停止当前聊天响应stopChatResponse停止响应
发送按钮ClickEvent发送按钮点击事件aws/chat/buttonClick按钮ClickParams
打开位置打开设置的请求openSettings打开设置
规则点击点击规则时通知aws/chat/ruleClick规则ClickParams
列表规则请求列出工作空间规则aws/chat/listRules列表规则
已打开请求增加标注上下文aws/chat/addPinnedContext剪接连接
已删除请求去除粘贴上下文aws/chat/removePinnedContext剪接连接
在 OpenFile DialogClick 上打开打开文件对话框的请求openFileDialog打开FileDialogParams
已打开文件被丢弃时通知filesDropped文件已删除
提示输入选项变化当快速输入选项更改时通知aws/chat/promptInputOptionChange快速输入选项变化参数

配置

当创建网络视图内部的聊天时, 配置可以作为明确的参数被传递, 例如 :

amazonQChat.createChat(acquireVsCodeApi(), configuration);

配置值 :

// Configures quick actions
quickActionCommands?: QuickActionCommandGroup[]

// Configures chat client not to show legal disclaimer as it has already been acknowledged before
disclaimerAcknowledged?: boolean

版本与发布记录

@aws/chat-client 共发布 63 个版本,首次发布于 2024/10/09;过去 12 个月发布了 17 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.1.58latest2026/10/0929 天前
0.1.572026/10/021 个月前
0.1.562026/08/192 个月前
0.1.552026/07/014 个月前
0.1.542026/05/275 个月前
0.1.532026/05/215 个月前

关于 @aws/chat-client 的常见问题

@aws/chat-client 是什么?

AWS 聊天客户端

如何安装 @aws/chat-client?

在项目目录运行 npm install @aws/chat-client,或使用 pnpm add / yarn add / bun add。

@aws/chat-client 支持 TypeScript 吗?

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

@aws/chat-client 支持 ESM 还是 CommonJS?

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

@aws/chat-client 可以商用吗?

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

@aws/chat-client 的下载量有多少?

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

@aws/chat-client 还在维护吗?

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