sg-paisou 0.0.0 → 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 (79) hide show
  1. package/README.npm.md +322 -0
  2. package/dist/ai-chat-sdk.es.js +22610 -0
  3. package/dist/ai-chat-sdk.es.js.map +1 -0
  4. package/dist/ai-chat-sdk.umd.js +300 -0
  5. package/dist/ai-chat-sdk.umd.js.map +1 -0
  6. package/dist/style.css +1 -0
  7. package/dist/types/index.d.ts +48 -0
  8. package/package.json +58 -11
  9. package/.idea/GitCommitMessageStorage.xml +0 -8
  10. package/.idea/modules.xml +0 -8
  11. package/.idea/sg-paisou-web.iml +0 -12
  12. package/.idea/vcs.xml +0 -6
  13. package/.vscode/settings.json +0 -2
  14. package/auto-imports.d.ts +0 -10
  15. package/components.d.ts +0 -18
  16. package/index.html +0 -21
  17. package/src/App.vue +0 -38
  18. package/src/assets/images/Camera-icon.png +0 -0
  19. package/src/assets/images/anger.png +0 -0
  20. package/src/assets/images/answer-icon.png +0 -0
  21. package/src/assets/images/back.png +0 -0
  22. package/src/assets/images/bg-img.png +0 -0
  23. package/src/assets/images/collect.png +0 -0
  24. package/src/assets/images/collected.png +0 -0
  25. package/src/assets/images/empty-bookmark.png +0 -0
  26. package/src/assets/images/empty-history.png +0 -0
  27. package/src/assets/images/feedback-thinkie-img.png +0 -0
  28. package/src/assets/images/history.png +0 -0
  29. package/src/assets/images/image 5.png +0 -0
  30. package/src/assets/images/insolubility.png +0 -0
  31. package/src/assets/images/key-points.png +0 -0
  32. package/src/assets/images/photograph-icon.png +0 -0
  33. package/src/assets/images/praise-icon.png +0 -0
  34. package/src/assets/images/praiseing-icon.png +0 -0
  35. package/src/assets/images/question.png +0 -0
  36. package/src/assets/images/smiling.png +0 -0
  37. package/src/assets/images/solution-icon.png +0 -0
  38. package/src/assets/images/star-icon.png +0 -0
  39. package/src/assets/images/trample-icon.png +0 -0
  40. package/src/assets/images/trampleing-icon.png +0 -0
  41. package/src/assets/images/volume-icon.png +0 -0
  42. package/src/assets/images/volumeing-icon.png +0 -0
  43. package/src/components/AIChatSDK/AIChatComponent.vue +0 -963
  44. package/src/components/AIChatSDK/component/Dialogs.vue +0 -340
  45. package/src/components/AIChatSDK/component/SpecialQuestions.vue +0 -208
  46. package/src/components/AIChatSDK/index.ts +0 -146
  47. package/src/components/AIChatSDK/style.scss +0 -432
  48. package/src/components/AIChatSDK/utils/imageUtils.ts +0 -61
  49. package/src/components/AIChatSDK/utils/latex.ts +0 -34
  50. package/src/components/AIChatSDK/utils/mergeConfig.ts +0 -125
  51. package/src/components/ImagePreview.vue +0 -62
  52. package/src/components/PageHeader/index.vue +0 -121
  53. package/src/config.ts +0 -11
  54. package/src/env.d.ts +0 -11
  55. package/src/main.ts +0 -12
  56. package/src/router.ts +0 -20
  57. package/src/style.css +0 -33
  58. package/src/type.ts +0 -106
  59. package/src/utils/TTS_README.md +0 -232
  60. package/src/utils/bridge.ts +0 -42
  61. package/src/utils/index.ts +0 -8
  62. package/src/utils/listenOsEvent.ts +0 -3
  63. package/src/utils/messageToast.ts +0 -43
  64. package/src/utils/render.ts +0 -81
  65. package/src/utils/request.ts +0 -87
  66. package/src/utils/tts.ts +0 -319
  67. package/src/utils/typewriter.ts +0 -61
  68. package/src/utils/useSSE.ts +0 -113
  69. package/src/views/History/index.vue +0 -419
  70. package/src/views/QuestionChatPage/index.vue +0 -480
  71. package/src/vite-env.d.ts +0 -1
  72. package/tsconfig.app.json +0 -24
  73. package/tsconfig.json +0 -7
  74. package/tsconfig.node.json +0 -22
  75. package/vite.config.ts +0 -41
  76. /package/{public → dist}/mathjax/all-packages.js +0 -0
  77. /package/{public → dist}/mathjax/talEditorConfig.js +0 -0
  78. /package/{public → dist}/mathjax/tex-svg.js +0 -0
  79. /package/{src/components/AIChatSDK/types.ts → dist/types/types.d.ts} +0 -0
package/README.npm.md ADDED
@@ -0,0 +1,322 @@
1
+ # AI Chat SDK
2
+
3
+ 一个功能强大的 Vue 3 AI 聊天组件,支持流式消息、TTS 语音播放、反馈系统等功能。
4
+
5
+ ## ✨ 特性
6
+
7
+ - 🎨 **完全可配置** - 所有图片、样式、文本都可以自定义
8
+ - 🔊 **TTS 支持** - 内置文本转语音功能,支持流式播放
9
+ - 💬 **流式消息** - 支持 AI 消息的流式接收和打字机效果
10
+ - 📱 **响应式设计** - 适配各种屏幕尺寸
11
+ - 🎭 **反馈系统** - 支持点赞、不喜欢、长按反馈等交互
12
+ - 🖼️ **图片支持** - 支持消息中的图片显示和预览
13
+ - 🎯 **TypeScript** - 完整的类型定义支持
14
+
15
+ ## 📦 安装
16
+
17
+ ```bash
18
+ npm install @tal/ai-chat-sdk
19
+ # 或
20
+ pnpm add @tal/ai-chat-sdk
21
+ # 或
22
+ yarn add @tal/ai-chat-sdk
23
+ ```
24
+
25
+ ## 🚀 快速开始
26
+
27
+ ### 基础使用
28
+
29
+ ```vue
30
+ <template>
31
+ <AIChatComponent :config="chatConfig" :questionInfo="questionInfo" />
32
+ </template>
33
+
34
+ <script setup lang="ts">
35
+ import { AIChatComponent, createAIChatConfig } from '@tal/ai-chat-sdk'
36
+ import '@tal/ai-chat-sdk/style.css'
37
+
38
+ const chatConfig = createAIChatConfig({
39
+ aiInfo: {
40
+ name: 'AI Assistant',
41
+ title: 'Your helpful assistant'
42
+ }
43
+ })
44
+
45
+ const questionInfo = {
46
+ sessionId: 'session-123',
47
+ questionType: 1,
48
+ imgUrl: 'https://example.com/question.jpg'
49
+ }
50
+ </script>
51
+ ```
52
+
53
+ ### 自定义配置
54
+
55
+ ```typescript
56
+ import { createAIChatConfig, IMAGE_ASSETS } from '@tal/ai-chat-sdk'
57
+
58
+ const config = createAIChatConfig({
59
+ // AI 头像配置
60
+ avatar: {
61
+ src: 'https://your-domain.com/avatar.png', // 或使用内置: IMAGE_ASSETS.maskGroup
62
+ width: '48px',
63
+ height: '48px',
64
+ borderRadius: '50%'
65
+ },
66
+
67
+ // AI 信息配置
68
+ aiInfo: {
69
+ name: 'ChatGPT',
70
+ title: 'AI Assistant',
71
+ nameStyle: {
72
+ color: '#333',
73
+ fontSize: '16px',
74
+ fontWeight: 'bold'
75
+ },
76
+ titleStyle: {
77
+ color: '#666',
78
+ fontSize: '12px'
79
+ }
80
+ },
81
+
82
+ // 静音按钮配置
83
+ muteButton: {
84
+ soundOnIcon: IMAGE_ASSETS.soundOn, // 使用内置图标
85
+ soundOffIcon: IMAGE_ASSETS.soundOff,
86
+ width: '24px',
87
+ height: '24px'
88
+ },
89
+
90
+ // 反馈按钮配置
91
+ feedback: {
92
+ show: true,
93
+ buttons: [
94
+ {
95
+ id: 'helpful',
96
+ text: 'Helpful',
97
+ icon: IMAGE_ASSETS.smile
98
+ }
99
+ ]
100
+ },
101
+
102
+ // 输入框配置
103
+ input: {
104
+ placeholder: 'Type your message...',
105
+ sendIcon: IMAGE_ASSETS.voiceTube,
106
+ borderRadius: '24px'
107
+ },
108
+
109
+ // 样式配置
110
+ styles: {
111
+ container: {
112
+ background: '#ffffff',
113
+ borderRadius: '16px',
114
+ boxShadow: '0 2px 12px rgba(0,0,0,0.1)'
115
+ },
116
+ header: {
117
+ background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
118
+ padding: '16px',
119
+ borderRadius: '16px 16px 0 0'
120
+ },
121
+ messages: {
122
+ aiMessage: {
123
+ background: '#f5f5f5',
124
+ color: '#333',
125
+ borderRadius: '12px',
126
+ padding: '12px 16px'
127
+ },
128
+ userMessage: {
129
+ background: '#667eea',
130
+ color: '#ffffff',
131
+ borderRadius: '12px',
132
+ padding: '12px 16px'
133
+ },
134
+ messageGap: '12px'
135
+ }
136
+ },
137
+
138
+ // 自定义类名
139
+ customClasses: {
140
+ container: 'my-chat-container',
141
+ header: 'my-chat-header',
142
+ chatContent: 'my-chat-content',
143
+ inputContainer: 'my-input-container'
144
+ }
145
+ })
146
+ ```
147
+
148
+ ## 📚 API 文档
149
+
150
+ ### Props
151
+
152
+ #### `config` (IAIChatConfig)
153
+
154
+ 聊天组件的配置对象,包含所有可自定义的选项。
155
+
156
+ #### `questionInfo` (Object)
157
+
158
+ 题目信息对象,包含以下字段:
159
+
160
+ ```typescript
161
+ {
162
+ sessionId: string; // 会话ID
163
+ sessionDetailId?: string; // 会话详情ID
164
+ questionType: number; // 题目类型 (0: 普通题, 1: 其他)
165
+ imgUrl?: string; // 题目图片URL
166
+ imagePath?: string; // 题目图片路径
167
+ orcText?: string; // OCR识别的文本
168
+ }
169
+ ```
170
+
171
+ ### Events
172
+
173
+ ```typescript
174
+ // 消息发送事件
175
+ @messageSend="(message: string) => void"
176
+
177
+ // 反馈事件
178
+ @feedback="(feedbackId: string) => void"
179
+
180
+ // 静音切换事件
181
+ @muteToggle="(isMuted: boolean) => void"
182
+
183
+ // "不是我的问题"事件
184
+ @not-my-question="() => void"
185
+
186
+ // "拍另一张"事件
187
+ @snap-another="() => void"
188
+ ```
189
+
190
+ ### 内置图片资源
191
+
192
+ SDK 提供了一组内置的 Base64 编码图片,可以直接使用:
193
+
194
+ ```typescript
195
+ import { IMAGE_ASSETS } from '@tal/ai-chat-sdk'
196
+
197
+ IMAGE_ASSETS.maskGroup // AI 头像
198
+ IMAGE_ASSETS.soundOn // 声音开启图标
199
+ IMAGE_ASSETS.soundOff // 声音关闭图标
200
+ IMAGE_ASSETS.smile // 笑脸图标
201
+ IMAGE_ASSETS.confused // 困惑图标
202
+ IMAGE_ASSETS.lightbulb // 灯泡图标
203
+ IMAGE_ASSETS.voiceTube // 发送图标
204
+ IMAGE_ASSETS.userAvatar // 用户头像
205
+ ```
206
+
207
+ ### 预设配置
208
+
209
+ SDK 提供了几个预设配置供快速使用:
210
+
211
+ ```typescript
212
+ import { PRESET_CONFIGS } from '@tal/ai-chat-sdk'
213
+
214
+ // 默认配置
215
+ PRESET_CONFIGS.default
216
+
217
+ // 简洁模式
218
+ PRESET_CONFIGS.minimal
219
+
220
+ // 暗色主题
221
+ PRESET_CONFIGS.dark
222
+
223
+ // 紧凑模式
224
+ PRESET_CONFIGS.compact
225
+ ```
226
+
227
+ 使用示例:
228
+
229
+ ```typescript
230
+ const config = PRESET_CONFIGS.dark
231
+ // 或者在预设基础上自定义
232
+ const customConfig = createAIChatConfig({
233
+ ...PRESET_CONFIGS.dark,
234
+ aiInfo: {
235
+ name: 'My AI'
236
+ }
237
+ })
238
+ ```
239
+
240
+ ## 🎨 样式定制
241
+
242
+ ### 使用 CSS 变量
243
+
244
+ ```css
245
+ :root {
246
+ --ai-chat-primary-color: #667eea;
247
+ --ai-chat-secondary-color: #764ba2;
248
+ --ai-chat-text-color: #333;
249
+ --ai-chat-bg-color: #ffffff;
250
+ }
251
+ ```
252
+
253
+ ### 覆盖默认样式
254
+
255
+ ```css
256
+ /* 自定义消息样式 */
257
+ .ai-message {
258
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
259
+ color: white;
260
+ }
261
+
262
+ /* 自定义输入框样式 */
263
+ .chat-input {
264
+ border: 2px solid #667eea;
265
+ border-radius: 24px;
266
+ }
267
+ ```
268
+
269
+ ## 🔧 高级功能
270
+
271
+ ### TTS 语音播放
272
+
273
+ 组件内置了 TTS 功能,支持:
274
+
275
+ - 自动播放 AI 消息
276
+ - 手动播放/停止
277
+ - 按段落播放
278
+ - 播放状态显示
279
+
280
+ ### 流式消息
281
+
282
+ 支持 SSE (Server-Sent Events) 流式消息接收,实现打字机效果。
283
+
284
+ ### 反馈系统
285
+
286
+ - 点赞/不喜欢
287
+ - 长按消息显示反馈弹窗
288
+ - 自定义反馈选项
289
+
290
+ ## 📝 类型定义
291
+
292
+ 完整的 TypeScript 类型定义:
293
+
294
+ ```typescript
295
+ import type {
296
+ IAIChatConfig,
297
+ IAIChatSDKProps,
298
+ IMessage,
299
+ IAvatarConfig,
300
+ IAIInfoConfig,
301
+ IMuteButtonConfig,
302
+ IFeedbackButton,
303
+ IFeedbackConfig,
304
+ IInputConfig,
305
+ IStyleConfig,
306
+ IMessageStyle
307
+ } from '@tal/ai-chat-sdk'
308
+ ```
309
+
310
+ ## 🤝 贡献
311
+
312
+ 欢迎提交 Issue 和 Pull Request!
313
+
314
+ ## 📄 License
315
+
316
+ MIT
317
+
318
+ ## 🔗 相关链接
319
+
320
+ - [GitHub Repository](https://github.com/tal-tech/ai-chat-sdk)
321
+ - [Issue Tracker](https://github.com/tal-tech/ai-chat-sdk/issues)
322
+ - [Changelog](https://github.com/tal-tech/ai-chat-sdk/blob/main/CHANGELOG.md)