@baiducloud/qianfan-ai-assistant 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +143 -0
  3. package/dist/628.js +9 -0
  4. package/dist/628.js.LICENSE.txt +5 -0
  5. package/dist/index.d.ts +184 -0
  6. package/dist/index.js +3248 -0
  7. package/dist/index.js.LICENSE.txt +1193 -0
  8. package/dist/static/image/AIAssistant.b813cb55.png +0 -0
  9. package/dist/static/image/IntelligentAssistButtonIcon.54af3c85.png +0 -0
  10. package/dist/static/image/Qianfan-SFT.47e51f85.png +0 -0
  11. package/dist/static/image/agentProduct.414cf560.png +0 -0
  12. package/dist/static/image/agentTip.19abed85.png +0 -0
  13. package/dist/static/image/agentTip_en.bd33769e.png +0 -0
  14. package/dist/static/image/aiSearchIcon.403146d3.png +0 -0
  15. package/dist/static/image/article.89070985.png +0 -0
  16. package/dist/static/image/article_en.8d473ce3.png +0 -0
  17. package/dist/static/image/assistantIcon.18341b85.png +0 -0
  18. package/dist/static/image/audioPlayingIcon.b39ab0c5.png +0 -0
  19. package/dist/static/image/avatar.8f67c10f.png +0 -0
  20. package/dist/static/image/avatarLoading.b030a37a.png +0 -0
  21. package/dist/static/image/background.8dfa7e1e.png +0 -0
  22. package/dist/static/image/baiduLogoImage.bafc6704.png +0 -0
  23. package/dist/static/image/chartParse.a185a82d.png +0 -0
  24. package/dist/static/image/checking.ac4fe451.gif +0 -0
  25. package/dist/static/image/chunk.49ba3a4b.png +0 -0
  26. package/dist/static/image/chunk_en.d81358ed.png +0 -0
  27. package/dist/static/image/componentLoading.22b92664.png +0 -0
  28. package/dist/static/image/configUpdateTip.275b98d1.png +0 -0
  29. package/dist/static/image/contractIcon.d0b5455e.png +0 -0
  30. package/dist/static/image/createAppBtn.162dea9c.png +0 -0
  31. package/dist/static/image/deepResearch.79157720.png +0 -0
  32. package/dist/static/image/defaultModelIcon.7d18a0b4.png +0 -0
  33. package/dist/static/image/diff_baidu_search_component.452252a9.png +0 -0
  34. package/dist/static/image/diff_baidu_search_component_en.abf74260.png +0 -0
  35. package/dist/static/image/diff_web_search_enhanced.0d021ea0.png +0 -0
  36. package/dist/static/image/diff_web_search_enhanced_en.096a08ce.png +0 -0
  37. package/dist/static/image/embedEmpty.f6b9a162.png +0 -0
  38. package/dist/static/image/empty.af8f6414.png +0 -0
  39. package/dist/static/image/errorPageIcon.a178f217.png +0 -0
  40. package/dist/static/image/examplePng.3f9ecee8.png +0 -0
  41. package/dist/static/image/examplePng_en.b2099a85.png +0 -0
  42. package/dist/static/image/expand_chunk_tip.54be78dc.png +0 -0
  43. package/dist/static/image/expand_chunk_tip_en.806e827f.png +0 -0
  44. package/dist/static/image/extract_qaIcon.f5115b31.webp +0 -0
  45. package/dist/static/image/globalLoading.1b0a8588.png +0 -0
  46. package/dist/static/image/graph_retrieval_augment.e323b800.png +0 -0
  47. package/dist/static/image/graphicTextParse.6dca1926.png +0 -0
  48. package/dist/static/image/graphicTextParse_en.ea5dc9e5.png +0 -0
  49. package/dist/static/image/h5.568460d4.png +0 -0
  50. package/dist/static/image/h5_en.73a39513.png +0 -0
  51. package/dist/static/image/h5bg.be9bc2c1.png +0 -0
  52. package/dist/static/image/h5bg_en.d4f72d3a.png +0 -0
  53. package/dist/static/image/h5text.ff0793ad.png +0 -0
  54. package/dist/static/image/h5text_en.0efe8704.png +0 -0
  55. package/dist/static/image/imageParser.698e288c.png +0 -0
  56. package/dist/static/image/imageParser_en.35046e28.png +0 -0
  57. package/dist/static/image/imgBg.7c39c418.png +0 -0
  58. package/dist/static/image/knowledgeGraphExtract.0dae6dec.png +0 -0
  59. package/dist/static/image/knowledgeGraphExtract_en.a35325c4.png +0 -0
  60. package/dist/static/image/knowledgeGraphSearch.49d1a192.png +0 -0
  61. package/dist/static/image/knowledgeGraphSearch_en.109f7e34.png +0 -0
  62. package/dist/static/image/latexParse.8f616793.png +0 -0
  63. package/dist/static/image/layoutParse.e29627b4.png +0 -0
  64. package/dist/static/image/layoutParse_en.e6ffd0d3.png +0 -0
  65. package/dist/static/image/legalIcon.fb783d65.png +0 -0
  66. package/dist/static/image/loading.9269e3d5.png +0 -0
  67. package/dist/static/image/loading_sm.9269e3d5.png +0 -0
  68. package/dist/static/image/mcpServer.268f266b.png +0 -0
  69. package/dist/static/image/modelResourceModal.d977ad06.png +0 -0
  70. package/dist/static/image/networkError.fadb04ee.png +0 -0
  71. package/dist/static/image/notAccessible.c999fa29.png +0 -0
  72. package/dist/static/image/notFile.5575d957.png +0 -0
  73. package/dist/static/image/notResult.adede446.png +0 -0
  74. package/dist/static/image/officialIcon.1ad58cf6.png +0 -0
  75. package/dist/static/image/opticalParse.13696017.png +0 -0
  76. package/dist/static/image/paper.ba668722.png +0 -0
  77. package/dist/static/image/paper_en.a21ea2da.png +0 -0
  78. package/dist/static/image/partialLoading.758ac358.png +0 -0
  79. package/dist/static/image/partialLoading.7a8f72f5.png +0 -0
  80. package/dist/static/image/pc.c17f13b1.png +0 -0
  81. package/dist/static/image/pc_en.77cab601.png +0 -0
  82. package/dist/static/image/pcbg.89dc1640.png +0 -0
  83. package/dist/static/image/pcbg_en.798ccf46.png +0 -0
  84. package/dist/static/image/playing.47d55c3d.gif +0 -0
  85. package/dist/static/image/ppt.270eddd3.png +0 -0
  86. package/dist/static/image/ppt_en.f833a8ac.png +0 -0
  87. package/dist/static/image/proxyConfig.2b425357.jpg +0 -0
  88. package/dist/static/image/publicAppBackground.2284be0d.png +0 -0
  89. package/dist/static/image/publishSuccessBg.743d171a.png +0 -0
  90. package/dist/static/image/publishSuccessIcon.9edabb3d.png +0 -0
  91. package/dist/static/image/qa-pair.0665f2b2.png +0 -0
  92. package/dist/static/image/qa-pair_en.43165f9c.png +0 -0
  93. package/dist/static/image/recording.632e18f7.gif +0 -0
  94. package/dist/static/image/resultBg.27c66907.png +0 -0
  95. package/dist/static/image/resume.9599e721.png +0 -0
  96. package/dist/static/image/resume_en.f1b408b6.png +0 -0
  97. package/dist/static/image/searchEmpty.55856809.png +0 -0
  98. package/dist/static/image/smallEmpty.d2603dd4.png +0 -0
  99. package/dist/static/image/smallErrorPageIcon.511f9769.png +0 -0
  100. package/dist/static/image/smallSearchEmpty.491a7f02.png +0 -0
  101. package/dist/static/image/table.de011169.png +0 -0
  102. package/dist/static/image/tableParse.09be175a.png +0 -0
  103. package/dist/static/image/tableParseError.407be6ec.png +0 -0
  104. package/dist/static/image/tableSeat.6206bbd7.png +0 -0
  105. package/dist/static/image/tableSeat_en.c89c3478.png +0 -0
  106. package/dist/static/image/table_en.ba9b8e46.png +0 -0
  107. package/dist/static/image/tipsIcon.84271250.png +0 -0
  108. package/dist/static/image/toolProduct.74798c6e.png +0 -0
  109. package/dist/static/image/topBg.8802aebc.png +0 -0
  110. package/dist/static/image/tourBack.d0f7662f.png +0 -0
  111. package/dist/static/image/userMaterialTip.da655c4f.png +0 -0
  112. package/dist/static/image/userMaterialTip_en.dd04c77a.png +0 -0
  113. package/dist/static/image/variableLabels.7c370d69.png +0 -0
  114. package/dist/static/image/variableLabels_en.9712ced6.png +0 -0
  115. package/dist/static/image/voice-playing.b39ab0c5.png +0 -0
  116. package/dist/static/image/voiceBroadcastTip.fad23e99.png +0 -0
  117. package/dist/static/image/voiceBroadcastTip_en.be04db17.png +0 -0
  118. package/dist/static/image/voiceCallTip.c8e580b5.png +0 -0
  119. package/dist/static/image/voiceCallTip_en.8e0bea29.png +0 -0
  120. package/dist/static/image/voicePhoneDefaultTip.3c2ac3f1.png +0 -0
  121. package/dist/static/image/voicePhoneDefaultTip_en.d0e56784.png +0 -0
  122. package/package.json +29 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,38 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/lang/zh-CN/).
7
+
8
+ ## [0.0.1] - 2026-03-26
9
+
10
+ ### Added
11
+
12
+ #### 核心功能
13
+
14
+ - **SSE 流式对话**:支持通过 `agentSpaceRun` 方法进行 SSE 流式对话
15
+ - **文件上传**:支持通过 `uploadFile` 方法上传文件到服务器
16
+ - **用户偏好设置**:支持通过 `getUserPreferences`、`saveUserPreferences` 方法读写用户偏好
17
+ - **AI 能力集成**:集成通用问答、文档问答、深度研究、图像问答、PPT生成能力
18
+ - **历史对话管理**:支持对话列表查询、消息拉取、标题更新、删除等完整历史对话管理
19
+ - **语音转文本**:支持通过 `speechToText` 方法进行语音转文本处理
20
+
21
+ #### SDK 集成
22
+
23
+ - UMD 格式构建,支持通过 `<script>` 标签引入
24
+ - 全局变量 `AIAssistantAgent` 挂载到 `window` 对象
25
+
26
+ #### 接口定义
27
+
28
+ - `IClientService` 接口:定义客户端服务需要实现的所有方法
29
+ - `IFileUploadRes` 接口:文件上传响应类型
30
+ - `IAbortRequestParams` 接口:取消请求参数类型
31
+ - `IUserPreferencesData` 接口:用户偏好数据类型
32
+ - `ISessionHistoryDataReq` 接口:历史对话消息拉取参数类型
33
+ - `IHistoryChatItem` 接口:历史对话消息条目类型
34
+ - `ISessionHistoryFilesRes` 接口:对话文件恢复拉取接口返回类型
35
+ - `IUploadedFileInfo` 接口:已上传文件详情类型
36
+ - `IConversationListReq` 接口:历史会话列表请求参数类型
37
+ - `IConversationItem` 接口:会话列表元素类型
38
+ - `IConversationStatus` 接口:会话状态条目类型
package/README.md ADDED
@@ -0,0 +1,143 @@
1
+ # @baiducloud/qianfan-ai-assistant
2
+
3
+ AI 助手 SDK —— 基于千帆应用开发工作台 agent-space 模块的第三方集成 SDK,提供 UMD 格式的对话能力封装。
4
+
5
+ ## 安装
6
+
7
+ ```bash
8
+ npm install @baiducloud/qianfan-ai-assistant
9
+ ```
10
+
11
+ ## 快速开始
12
+
13
+ ### UMD 方式引入
14
+
15
+ 通过 `<script>` 标签直接引入 SDK,适合在浏览器环境中快速集成:
16
+
17
+ ```html
18
+ <!DOCTYPE html>
19
+ <html>
20
+ <head>
21
+ <meta charset="UTF-8" />
22
+ <title>AI 助手</title>
23
+ <style>
24
+ #app {
25
+ width: 100%;
26
+ height: 100vh;
27
+ }
28
+ </style>
29
+ </head>
30
+ <body>
31
+ <div id="app"></div>
32
+ <script src="path/to/ai-assistant-sdk/dist/index.js"></script>
33
+ <script>
34
+ const clientService = {
35
+ // 实现 IClientService 接口(见下方说明)
36
+ };
37
+
38
+ AIAssistantAgent.init(document.getElementById('app'), clientService);
39
+ </script>
40
+ </body>
41
+ </html>
42
+ ```
43
+
44
+ ## IClientService 接口说明
45
+
46
+ 使用 SDK 前,需要实现 `IClientService` 接口,该接口定义了 SDK 与后端服务的通信方式。
47
+
48
+ ### 核心方法
49
+
50
+ | 方法 | 说明 | 返回类型 |
51
+ | --------------------- | ---------------------- | ---------------------------------- |
52
+ | `agentSpaceRun` | SSE 对话流式接口 | `void` |
53
+ | `recoverChat` | SSE 恢复对话接口 | `void` |
54
+ | `createConversation` | 创建对话 | `Promise<string>` |
55
+ | `uploadFile` | 文件上传 | `Promise<IFileUploadRes>` |
56
+ | `getUserPreferences` | 获取用户偏好 | `Promise<IUserPreferencesData>` |
57
+ | `saveUserPreferences` | 保存用户偏好 | `Promise<void>` |
58
+ | `getUploadFileInfo` | 批量查询已上传文件信息 | `Promise<ISessionHistoryFilesRes>` |
59
+ | `sendAbortRequest` | 取消正在进行的请求 | `Promise<any>` |
60
+ | `speechToText` | 语音识别(ASR) | `Promise<string>` |
61
+
62
+ ### 历史记录方法
63
+
64
+ | 方法 | 说明 | 返回类型 |
65
+ | ---------------------- | -------------------- | --------------------------------------------------------- |
66
+ | `fetchHistoryChatList` | 获取历史记录总列表 | `Promise<{data: IConversationItem[]; has_more: boolean}>` |
67
+ | `fetchChatHistory` | 获取历史对话消息列表 | `Promise<IHistoryChatItem[]>` |
68
+ | `fetchChatStatus` | 批量获取会话状态 | `Promise<{data: IConversationStatus[]}>` |
69
+ | `updateChatTitle` | 更新会话标题 | `Promise<{success: boolean}>` |
70
+ | `deleteHistoryChat` | 删除历史对话 | `Promise<{success: boolean; deleted_count: number}>` |
71
+
72
+ ### SSE 接口签名
73
+
74
+ `agentSpaceRun` 和 `recoverChat` 方法的签名:
75
+
76
+ ```typescript
77
+ (
78
+ param: any,
79
+ callbacks: {
80
+ onMessage: (message: string) => void;
81
+ onCompleted: () => void;
82
+ onError: (error: Error) => void;
83
+ },
84
+ options?: {
85
+ abortController?: AbortController;
86
+ headers?: HeadersInit;
87
+ }
88
+ ) => void
89
+ ```
90
+
91
+ ## 开发调试
92
+
93
+ ### 本地开发
94
+
95
+ ```bash
96
+ # 进入 SDK 目录
97
+ cd packages/sdk/ai-assistant-sdk
98
+
99
+ # 启动开发服务(端口 9005)
100
+ npm run dev
101
+ ```
102
+
103
+ ### 构建 UMD 产物
104
+
105
+ ```bash
106
+ npm run build:umd
107
+ ```
108
+
109
+ ### 测试构建产物
110
+
111
+ ```bash
112
+ # 先构建
113
+ npm run build:umd
114
+
115
+ # 启动 dist 测试服务(端口 9006)
116
+ npm run dev:dist-test
117
+ ```
118
+
119
+ ## 类型声明
120
+
121
+ SDK 提供完整的 TypeScript 类型声明文件(`dist/index.d.ts`),包含:
122
+
123
+ - `IClientService` - 客户端服务接口
124
+ - `IFileUploadRes` - 文件上传响应
125
+ - `IAbortRequestParams` - 取消请求参数
126
+ - `IUserPreferencesData` - 用户偏好数据
127
+ - `ISessionHistoryDataReq` - 历史消息请求参数
128
+ - `IHistoryChatItem` - 历史消息条目
129
+ - `IUploadedFileInfo` - 已上传文件详情
130
+ - `ISessionHistoryFilesRes` - 批量文件查询返回
131
+ - `IConversationListReq` - 会话列表请求参数
132
+ - `IConversationItem` - 会话列表元素
133
+ - `IConversationStatus` - 会话状态条目
134
+ - `init` - SDK 初始化函数
135
+
136
+ ## 注意事项
137
+
138
+ 1. SDK 以 UMD 格式打包,所有依赖(React、MobX 等)均内置
139
+ 2. 全局变量名为 `AIAssistantAgent`
140
+ 3. 初始化函数 `init` 为异步函数,内部会完成国际化等初始化工作
141
+ 4. `IClientService` 中的 SSE 方法需要用户自行处理流式响应的解析
142
+ 5. `speechToText` 方法接收 `Blob` 类型的音频数据,非 `File`
143
+ 6. `getUploadFileInfo` 需要在历史消息恢复时,根据 `attachments` 中的 `fileIds` 批量拉取文件元信息