@deep-eye/core 0.5.1 → 0.7.0

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 (94) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +116 -11
  3. package/dist/index.cjs +48 -64
  4. package/dist/index.js +8142 -14685
  5. package/dist/style.css +1 -1
  6. package/package.json +3 -2
  7. package/dist/components/chat/AiConversation.vue.d.ts +0 -22
  8. package/dist/components/chat/AiConversation.vue.d.ts.map +0 -1
  9. package/dist/components/chat/builtInToolRenderers.d.ts +0 -2
  10. package/dist/components/chat/builtInToolRenderers.d.ts.map +0 -1
  11. package/dist/components/chat/components/ChartToolRenderer.vue.d.ts +0 -7
  12. package/dist/components/chat/components/ChartToolRenderer.vue.d.ts.map +0 -1
  13. package/dist/components/chat/components/CodeToolRenderer.vue.d.ts +0 -9
  14. package/dist/components/chat/components/CodeToolRenderer.vue.d.ts.map +0 -1
  15. package/dist/components/chat/components/EmptyState.vue.d.ts +0 -11
  16. package/dist/components/chat/components/EmptyState.vue.d.ts.map +0 -1
  17. package/dist/components/chat/components/MessageBubble.vue.d.ts +0 -24
  18. package/dist/components/chat/components/MessageBubble.vue.d.ts.map +0 -1
  19. package/dist/components/chat/components/MindMapToolRenderer.vue.d.ts +0 -7
  20. package/dist/components/chat/components/MindMapToolRenderer.vue.d.ts.map +0 -1
  21. package/dist/components/chat/components/OpenGenUIToolRenderer.vue.d.ts +0 -7
  22. package/dist/components/chat/components/OpenGenUIToolRenderer.vue.d.ts.map +0 -1
  23. package/dist/components/chat/components/OpenGenerativeUiChartRenderer.vue.d.ts +0 -9
  24. package/dist/components/chat/components/OpenGenerativeUiChartRenderer.vue.d.ts.map +0 -1
  25. package/dist/components/chat/components/OpenGenerativeUiPlanRenderer.vue.d.ts +0 -9
  26. package/dist/components/chat/components/OpenGenerativeUiPlanRenderer.vue.d.ts.map +0 -1
  27. package/dist/components/chat/components/OpenGenerativeUiScheduleRenderer.vue.d.ts +0 -9
  28. package/dist/components/chat/components/OpenGenerativeUiScheduleRenderer.vue.d.ts.map +0 -1
  29. package/dist/components/chat/components/OpenGenerativeUiThemeRenderer.vue.d.ts +0 -7
  30. package/dist/components/chat/components/OpenGenerativeUiThemeRenderer.vue.d.ts.map +0 -1
  31. package/dist/components/chat/components/SearchToolRenderer.vue.d.ts +0 -7
  32. package/dist/components/chat/components/SearchToolRenderer.vue.d.ts.map +0 -1
  33. package/dist/components/chat/components/TextPartRenderer.vue.d.ts +0 -14
  34. package/dist/components/chat/components/TextPartRenderer.vue.d.ts.map +0 -1
  35. package/dist/components/chat/components/ToolCallPart.vue.d.ts +0 -11
  36. package/dist/components/chat/components/ToolCallPart.vue.d.ts.map +0 -1
  37. package/dist/components/chat/components/index.d.ts +0 -14
  38. package/dist/components/chat/components/index.d.ts.map +0 -1
  39. package/dist/components/chat/composables/index.d.ts +0 -3
  40. package/dist/components/chat/composables/index.d.ts.map +0 -1
  41. package/dist/components/chat/composables/useConversation.d.ts +0 -8
  42. package/dist/components/chat/composables/useConversation.d.ts.map +0 -1
  43. package/dist/components/chat/composables/useConversationStream.d.ts +0 -3
  44. package/dist/components/chat/composables/useConversationStream.d.ts.map +0 -1
  45. package/dist/components/chat/index.d.ts +0 -17
  46. package/dist/components/chat/index.d.ts.map +0 -1
  47. package/dist/components/chat/mdoc/AskUserForm.vue.d.ts +0 -33
  48. package/dist/components/chat/mdoc/AskUserForm.vue.d.ts.map +0 -1
  49. package/dist/components/chat/mdoc/ContentNodes.vue.d.ts +0 -11
  50. package/dist/components/chat/mdoc/ContentNodes.vue.d.ts.map +0 -1
  51. package/dist/components/chat/mdoc/builtInRegistry.d.ts +0 -7
  52. package/dist/components/chat/mdoc/builtInRegistry.d.ts.map +0 -1
  53. package/dist/components/chat/mdoc/extractAskForms.d.ts +0 -6
  54. package/dist/components/chat/mdoc/extractAskForms.d.ts.map +0 -1
  55. package/dist/components/chat/mdoc/index.d.ts +0 -8
  56. package/dist/components/chat/mdoc/index.d.ts.map +0 -1
  57. package/dist/components/chat/mdoc/parser.d.ts +0 -41
  58. package/dist/components/chat/mdoc/parser.d.ts.map +0 -1
  59. package/dist/components/chat/mdoc/prompt.d.ts +0 -6
  60. package/dist/components/chat/mdoc/prompt.d.ts.map +0 -1
  61. package/dist/components/chat/mdoc/registry.d.ts +0 -15
  62. package/dist/components/chat/mdoc/registry.d.ts.map +0 -1
  63. package/dist/components/chat/mdoc/sanitize.d.ts +0 -2
  64. package/dist/components/chat/mdoc/sanitize.d.ts.map +0 -1
  65. package/dist/components/chat/mdoc/textContent.d.ts +0 -30
  66. package/dist/components/chat/mdoc/textContent.d.ts.map +0 -1
  67. package/dist/components/chat/openGenerativeUi.d.ts +0 -25
  68. package/dist/components/chat/openGenerativeUi.d.ts.map +0 -1
  69. package/dist/components/chat/toolRenderers.d.ts +0 -8
  70. package/dist/components/chat/toolRenderers.d.ts.map +0 -1
  71. package/dist/components/chat/types.d.ts +0 -317
  72. package/dist/components/chat/types.d.ts.map +0 -1
  73. package/dist/components/index.d.ts +0 -3
  74. package/dist/components/index.d.ts.map +0 -1
  75. package/dist/components/visualization/D3MindMap.vue.d.ts +0 -83
  76. package/dist/components/visualization/D3MindMap.vue.d.ts.map +0 -1
  77. package/dist/components/visualization/index.d.ts +0 -5
  78. package/dist/components/visualization/index.d.ts.map +0 -1
  79. package/dist/components/visualization/themes.d.ts +0 -40
  80. package/dist/components/visualization/themes.d.ts.map +0 -1
  81. package/dist/components/visualization/types.d.ts +0 -291
  82. package/dist/components/visualization/types.d.ts.map +0 -1
  83. package/dist/components/visualization/utils.d.ts +0 -44
  84. package/dist/components/visualization/utils.d.ts.map +0 -1
  85. package/dist/composables/index.d.ts +0 -3
  86. package/dist/composables/index.d.ts.map +0 -1
  87. package/dist/composables/useMindMapLayout.d.ts +0 -16
  88. package/dist/composables/useMindMapLayout.d.ts.map +0 -1
  89. package/dist/composables/useMindMapTheme.d.ts +0 -43
  90. package/dist/composables/useMindMapTheme.d.ts.map +0 -1
  91. package/dist/index.d.ts +0 -5
  92. package/dist/index.d.ts.map +0 -1
  93. package/dist/types/index.d.ts +0 -12
  94. package/dist/types/index.d.ts.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,49 @@
1
+ # Changelog
2
+
3
+ 此文件记录 `@deep-eye/core` 的用户可见变更。新版本采用语义化版本,并按 `Added`、`Changed`、`Fixed`、`Removed` 分类记录。
4
+
5
+ ## [0.7.0] - 2026-07-23
6
+
7
+ ### Added
8
+
9
+ - `ChatSender` 组件新增文件附件功能,支持多文件上传和预览。
10
+ - 图片文件以 120x120 缩略图卡片显示,非图片文件显示文件名、类型标签和大小信息。
11
+ - 文件卡片支持悬浮显示删除按钮,支持累加上传多个文件。
12
+ - 新增截图功能,使用浏览器原生 `getDisplayMedia` API 支持屏幕、窗口或标签页截图,截图后自动添加到附件列表。
13
+ - `ChatSender` 导出 `AttachmentMenuItem` 类型,支持自定义附件菜单项。
14
+
15
+ ### Changed
16
+
17
+ - 附件菜单从直接触发文件选择改为弹出菜单模式,与主流 AI 产品交互一致。
18
+ - 文件预览采用卡片化设计,统一尺寸和样式,提升视觉一致性。
19
+
20
+ ## [0.6.0] - 2026-07-22
21
+
22
+ ### Added
23
+
24
+ - 公开导出 `ChatMessage` 与 `ChatActionbar`,并提供 `ChatMessageProps`、`ChatActionbarCopyPayload` 类型。
25
+ - 已完成的助手消息默认显示复制操作。`AiConversation` 的 `#assistant-actionbar`、`ChatMessage` 的 `#actionbar` 和 `ChatActionbar` 默认插槽均可追加自定义操作。
26
+ - AI Conversation 文档新增基于标准 SSE 的可交互渲染预览,覆盖 Markdown、公式、图片组、视频、音频和 AskUserForm。
27
+
28
+ ### Changed
29
+
30
+ - 图片组改为可展开的图片堆叠,并支持查看原图。
31
+ - “返回最新消息”操作调整至会话右下角。
32
+ - 助手默认使用内置标识,并将标识尺寸调整为 26px。
33
+
34
+ ### Fixed
35
+
36
+ - 流式回复在首个可见内容到达前显示加载状态;尾行扫光在高频 chunk 下保持可见。
37
+ - 混合流中的 `LLM Running`、`🛠️` 和 `<summary>` 运行标记不再进入正文或默认复制内容。
38
+ - 会话列表不再渲染结构化工具调用和工具结果。
39
+
40
+ ## [0.2.0]
41
+
42
+ ### Minor Changes
43
+
44
+ - Initial release of deepeye-core with D3MindMap component
45
+ - Add D3MindMap visualization component with theme support
46
+ - Add composables for layout and theme management
47
+ - Support for multiple themes (default, dark, colorful, minimal)
48
+ - Interactive features: zoom, pan, node collapse/expand
49
+ - Export functionality (PNG, SVG, JSON)
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @deep-eye/core
2
2
 
3
- Vue 3 组件库,提供思维导图和 AI 会话组件。
3
+ 深瞳前端团队企业级 Vue 3 组件库,提供 AI 会话、思维导图等可视化组件。
4
4
 
5
5
  ## 安装
6
6
 
@@ -8,37 +8,142 @@ Vue 3 组件库,提供思维导图和 AI 会话组件。
8
8
  pnpm add @deep-eye/core
9
9
  ```
10
10
 
11
- ## 使用
11
+ ## 组件
12
12
 
13
- ### AiConversation
13
+ ### AI Conversation
14
14
 
15
- ```ts
15
+ 完整的 AI 会话渲染方案,支持流式输出、多模态内容、用户交互表单等。
16
+
17
+ #### AiConversation
18
+
19
+ 渲染完整的会话列表,内置自动滚动、流式动画和操作栏。
20
+
21
+ ```vue
22
+ <script setup lang=”ts”>
16
23
  import { ref } from 'vue'
17
- import { AiConversation, type ConversationMessage } from '@deep-eye/core'
24
+ import {
25
+ AiConversation,
26
+ type ChatActionbarCopyPayload,
27
+ type ConversationMessage,
28
+ } from '@deep-eye/core'
18
29
  import '@deep-eye/core/style.css'
19
30
 
20
31
  const messages = ref<ConversationMessage[]>([
21
32
  { id: 'user-1', role: 'user', content: '你好' },
22
33
  { id: 'assistant-1', role: 'assistant', content: '你好,有什么可以帮你?' },
23
34
  ])
35
+
36
+ function saveReply(message: ConversationMessage): void {
37
+ console.log('保存消息', message)
38
+ }
39
+
40
+ function onCopy(payload: ChatActionbarCopyPayload): void {
41
+ console.log('复制内容', payload.text)
42
+ }
43
+ </script>
44
+
45
+ <template>
46
+ <AiConversation :messages=”messages” auto-scroll=”smart” @copy=”onCopy”>
47
+ <template #assistant-actionbar=”{ message }”>
48
+ <button type=”button” @click=”saveReply(message)”>保存</button>
49
+ </template>
50
+ </AiConversation>
51
+ </template>
24
52
  ```
25
53
 
54
+ 已完成的助手回复会显示默认复制操作。`#assistant-actionbar`、`ChatMessage` 的 `#actionbar` 与 `ChatActionbar` 默认插槽均为追加插槽,不会替换复制操作;流式输出期间不显示操作栏。
55
+
56
+ **流式渲染**
57
+
58
+ 将后端的 OpenAI 兼容 `chat.completion.chunk` SSE 响应交给 `useConversationStream().consume(response)`,即可得到可传入 `AiConversation` 的消息列表。渲染会隐藏 `LLM Running`、`🛠️` 和 `<summary>` 运行标记,但不改写原始消息。
59
+
60
+ **用户交互表单**
61
+
62
+ AskUserForm 使用 `ASK_USER_FORM_SYSTEM_PROMPT`;单选自动提交,多选点击”确认”,`required=false` 可跳过。
63
+
64
+ #### ChatSender
65
+
66
+ 支持文本输入、文件上传、语音录音和截图的聊天输入框。
67
+
26
68
  ```vue
27
- <AiConversation :messages="messages" auto-scroll="smart" />
69
+ <script setup lang=”ts”>
70
+ import { ref } from 'vue'
71
+ import { ChatSender } from '@deep-eye/core'
72
+
73
+ const message = ref('')
74
+
75
+ function handleSend(content: string, files?: File[]) {
76
+ console.log('发送消息', content, files)
77
+ message.value = ''
78
+ }
79
+ </script>
80
+
81
+ <template>
82
+ <ChatSender
83
+ v-model=”message”
84
+ :show-screenshot=”true”
85
+ placeholder=”输入消息...”
86
+ @send=”handleSend”
87
+ />
88
+ </template>
28
89
  ```
29
90
 
30
- 业务侧调接口后,把结果转换成 `ConversationMessage[]` 即可。原始 runKeep SSE 可选用 `useConversationStream().consume(response)` 自动转换。
91
+ **文件附件功能**
92
+
93
+ - 支持多文件上传,文件累加而不是替换
94
+ - 图片文件显示为 120x120 缩略图卡片
95
+ - 非图片文件显示文件名、扩展名标签和大小
96
+ - 鼠标悬浮显示删除按钮
97
+
98
+ **截图功能**
99
+
100
+ 设置 `show-screenshot` 启用截图选项。使用浏览器原生 `getDisplayMedia` API,支持截取屏幕、窗口或标签页,截图后自动添加到附件列表。
101
+
102
+ **语音录音**
103
+
104
+ 内置语音录音功能,支持点击录音和长按录音两种模式,使用 Web Speech API 自动转换为文本。
31
105
 
32
- AskUserForm 使用 `ASK_USER_FORM_SYSTEM_PROMPT`;单选自动提交,多选点击“确认”,`required=false` 可跳过,结果见 `answers`。
106
+ #### 组件导出
107
+
108
+ | 组件 | 用途 |
109
+ | ---------------- | --------------------------------------------------------- |
110
+ | `AiConversation` | 会话列表、自动滚动、AskUserForm 与 `#assistant-actionbar` |
111
+ | `ChatMessage` | 单条 `ConversationMessage`,支持 `#actionbar` 与 `@copy` |
112
+ | `ChatActionbar` | 默认复制操作,支持默认插槽追加操作与 `@copy` |
113
+ | `ChatSender` | 聊天输入框,支持文本、文件、语音和截图 |
33
114
 
34
115
  ### D3MindMap
35
116
 
117
+ 基于 D3.js 的思维导图可视化组件。
118
+
36
119
  ```vue
37
- <script setup lang="ts">
120
+ <script setup lang=”ts”>
38
121
  import { D3MindMap } from '@deep-eye/core'
122
+ import type { MindMapNode } from '@deep-eye/core'
123
+
124
+ const data: MindMapNode = {
125
+ name: '根节点',
126
+ children: [
127
+ { name: '子节点 1' },
128
+ { name: '子节点 2' },
129
+ ],
130
+ }
39
131
  </script>
40
132
 
41
- <D3MindMap :data="data" height="600px" show-toolbar />
133
+ <template>
134
+ <D3MindMap :data=”data” height=”600px” show-toolbar />
135
+ </template>
42
136
  ```
43
137
 
44
- Node ≥ 22 · Vue ≥ 3.5 · MIT
138
+ ## Changelog
139
+
140
+ 每个功能版本的用户可见变化记录在 [CHANGELOG.md](./CHANGELOG.md)。发布前在文件顶部新增版本,并使用 `Added`、`Changed`、`Fixed` 或 `Removed` 分类。
141
+
142
+ ## 技术要求
143
+
144
+ - Node >= 22
145
+ - Vue >= 3.5
146
+
147
+ ## License
148
+
149
+ MIT