From 46f2080894c88de45c191b20dc447c060f3903df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E8=8F=9C=20Cai?= Date: Thu, 20 Aug 2026 16:17:20 +0800 Subject: [PATCH 01/14] refactor(chat): migrate to scoped web components --- .../pro-components/chat/attachments/index.ts | 4 +- .../_example/headless-eventbus.vue | 5 +- .../components/activity/render.tsx | 2 +- .../components/toolcall/render.tsx | 2 +- .../chat/chat-engine/hooks/useAgentState.ts | 2 +- .../chat/chat-engine/hooks/useChat.ts | 22 ++- .../pro-components/chat/chat-engine/index.ts | 2 +- .../pro-components/chat/chat-loading/index.ts | 4 +- .../chat/chat-markdown/index.ts | 4 +- .../chat/chat-message/chat-message-props.ts | 2 +- .../chat/chat-message/chat-message.tsx | 6 +- .../chat/chat-thinking/chat-thinking-props.ts | 2 +- .../chat/chat-thinking/chat-thinking.tsx | 6 +- .../chat/chatbot/_example/sender-config.vue | 6 +- packages/pro-components/chat/chatbot/index.ts | 5 +- packages/pro-components/chat/index.ts | 11 +- packages/pro-components/chat/type.ts | 61 ++++++- packages/tdesign-vue-next-chat/package.json | 3 +- .../site/src/components/stackblitz/content.js | 4 +- pnpm-lock.yaml | 164 +++++++++--------- 20 files changed, 188 insertions(+), 129 deletions(-) diff --git a/packages/pro-components/chat/attachments/index.ts b/packages/pro-components/chat/attachments/index.ts index 5322fc0233..ad9795b639 100644 --- a/packages/pro-components/chat/attachments/index.ts +++ b/packages/pro-components/chat/attachments/index.ts @@ -1,5 +1,5 @@ -import 'tdesign-web-components/lib/attachments'; -import type { TdAttachmentsProps } from 'tdesign-web-components'; +import '@tdesign/web-components-chat/attachments'; +import type { TdAttachmentsProps } from '@tdesign/web-components-chat/attachments'; import type { DefineComponent } from 'vue'; import { omiVueify } from 'omi-vueify'; // 附件 diff --git a/packages/pro-components/chat/chat-engine/_example/headless-eventbus.vue b/packages/pro-components/chat/chat-engine/_example/headless-eventbus.vue index 25b2babd73..4edf6b69a4 100644 --- a/packages/pro-components/chat/chat-engine/_example/headless-eventbus.vue +++ b/packages/pro-components/chat/chat-engine/_example/headless-eventbus.vue @@ -74,11 +74,12 @@ + + diff --git a/packages/tdesign-vue-next-chat/package.json b/packages/tdesign-vue-next-chat/package.json index f073b9ab97..b514701b75 100644 --- a/packages/tdesign-vue-next-chat/package.json +++ b/packages/tdesign-vue-next-chat/package.json @@ -36,8 +36,8 @@ "license": "MIT", "dependencies": { "@babel/runtime": "catalog:deps", - "@tdesign/web-components": "https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@46aedf9", - "@tdesign/web-components-chat": "https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@46aedf9", + "@tdesign/web-components": "https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@94bd84a", + "@tdesign/web-components-chat": "https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@94bd84a", "@types/lodash-es": "catalog:types", "clipboard": "catalog:deps", "highlight.js": "catalog:deps", diff --git a/packages/tdesign-vue-next-chat/site/src/components/stackblitz/content.js b/packages/tdesign-vue-next-chat/site/src/components/stackblitz/content.js index 964c66e237..8ad4f0c82c 100644 --- a/packages/tdesign-vue-next-chat/site/src/components/stackblitz/content.js +++ b/packages/tdesign-vue-next-chat/site/src/components/stackblitz/content.js @@ -87,9 +87,9 @@ export const packageJSONContent = JSON.stringify( '@vitejs/plugin-vue': catalogs.bundle['@vitejs/plugin-vue'], '@vitejs/plugin-vue-jsx': catalogs.bundle['@vitejs/plugin-vue-jsx'], '@tdesign/web-components': - 'https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@46aedf9', + 'https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@94bd84a', '@tdesign/web-components-chat': - 'https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@46aedf9', + 'https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@94bd84a', 'omi-vueify': '^0.0.12', 'tvision-charts-vue-next': '^3.3.13', 'highlight.js': '^11.11.1', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ddddff74af..8d67dbf094 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -756,11 +756,11 @@ importers: specifier: catalog:deps version: 7.27.6 '@tdesign/web-components': - specifier: https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@46aedf9 - version: https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@46aedf9 + specifier: https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@94bd84a + version: https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@94bd84a '@tdesign/web-components-chat': - specifier: https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@46aedf9 - version: https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@46aedf9(@tdesign/web-components@https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@46aedf9)(omi@7.7.13) + specifier: https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@94bd84a + version: https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@94bd84a(@tdesign/web-components@https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@94bd84a)(omi@7.7.13) '@types/lodash-es': specifier: catalog:types version: 4.17.12 @@ -4177,15 +4177,15 @@ packages: '@tdesign/theme-generator@1.2.4': resolution: {integrity: sha512-6K0j9BdVF90dqb11be2CpsgedenhalZRrjZAVaYiMsIXCiH64lAKrytejG3VFoV/OnarDWTdESNqZXLwqDOYog==} - '@tdesign/web-components-chat@https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@46aedf9': - resolution: {integrity: sha512-qnP1E6e14aJr/X6w1SqPH7pRpejsnqLHDt425SHcdGp7xC0juZ1rBx4B+Y1XD3rDn8ZKyEzFfJOJT6yfsaXvnQ==, tarball: https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@46aedf9} + '@tdesign/web-components-chat@https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@94bd84a': + resolution: {integrity: sha512-tRL4A4N/+inCmlNAV65FAzS1hs1tLPJ37CSA24gt/4ByL1u+XzvpFJv7hYSX8uFQdAecbenPyBco3TgWWLDCsw==, tarball: https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@94bd84a} version: 1.3.1-alpha.13 peerDependencies: '@tdesign/web-components': ^1.3.1-alpha.13 omi: ^7.7.13 - '@tdesign/web-components@https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@46aedf9': - resolution: {integrity: sha512-E54kfVbCN0wnSfDxZaH9nq3OmfHf+uYyGfvsMT9wpPOTD8mH8KDc/z69oU4F1T2rWy0CLsNINP2K4VMnOLsBEQ==, tarball: https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@46aedf9} + '@tdesign/web-components@https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@94bd84a': + resolution: {integrity: sha512-IdgjmqsR5pobyJX0vtRlFwcohOmWhjFSmyZkGNRDCt5o/Q3HTVjSPjuELYBd5Oo/iB3e8ZDZKyrIbiJ8AVoNUA==, tarball: https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@94bd84a} version: 1.3.1-alpha.13 '@testing-library/dom@9.3.4': @@ -14962,10 +14962,10 @@ snapshots: tvision-color: 1.6.0 vue: 2.7.14 - '@tdesign/web-components-chat@https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@46aedf9(@tdesign/web-components@https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@46aedf9)(omi@7.7.13)': + '@tdesign/web-components-chat@https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components-chat@94bd84a(@tdesign/web-components@https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@94bd84a)(omi@7.7.13)': dependencies: '@tdesign/ai-chat-engine': 0.0.2(immer@10.2.0) - '@tdesign/web-components': https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@46aedf9 + '@tdesign/web-components': https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@94bd84a cherry-markdown: 0.11.8 clsx: 2.1.1 immer: 10.2.0 @@ -14979,7 +14979,7 @@ snapshots: - supports-color - utf-8-validate - '@tdesign/web-components@https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@46aedf9': + '@tdesign/web-components@https://pkg.pr.new/TDesignOteam/tdesign-web-components/@tdesign/web-components@94bd84a': dependencies: '@popperjs/core': 2.11.8 classnames: 2.5.1 From ce211aaea1641e1d796e528e64871a79f2d0a99c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E8=8F=9C=20Cai?= Date: Tue, 25 Aug 2026 16:45:24 +0800 Subject: [PATCH 05/14] docs(chat): expose AGUI thinking regression demo --- packages/pro-components/chat/chat-engine/chat-engine.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/pro-components/chat/chat-engine/chat-engine.md b/packages/pro-components/chat/chat-engine/chat-engine.md index 7a7058a662..3da2d24c27 100644 --- a/packages/pro-components/chat/chat-engine/chat-engine.md +++ b/packages/pro-components/chat/chat-engine/chat-engine.md @@ -1,5 +1,11 @@ :: BASE_DOC :: +## AG-UI 思考流回归 + +该示例使用本地 `data:text/event-stream` 模拟连续的 `THINKING_*` 事件,用于验证思考内容可以流式更新且不会中断渲染。 + +{{ agui-thinking }} + ## API ### useChat @@ -267,4 +273,3 @@ onUnmounted(() => { | 状态订阅 | ✅ 内置 `subscribeKey` + `agentState` | ❌ 需自行实现 | | 可移植性 | ✅ 配置可跨项目复用 | ❌ 与业务代码耦合 | | 错误边界 | ✅ 内置保护 | ❌ 需自行添加 | - From 1ecec178f339773c6fa2c192e1a2080d73eac365 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E8=8F=9C=20Cai?= Date: Tue, 25 Aug 2026 16:49:17 +0800 Subject: [PATCH 06/14] test(chat): cover thinking stream in AGUI demo --- .../chat/chat-engine/_example/agui-basic.vue | 56 +++++------- .../chat-engine/_example/agui-thinking.vue | 86 ------------------- .../chat/chat-engine/chat-engine.md | 6 -- 3 files changed, 23 insertions(+), 125 deletions(-) delete mode 100644 packages/pro-components/chat/chat-engine/_example/agui-thinking.vue diff --git a/packages/pro-components/chat/chat-engine/_example/agui-basic.vue b/packages/pro-components/chat/chat-engine/_example/agui-basic.vue index edf2b26eba..c0062b800d 100644 --- a/packages/pro-components/chat/chat-engine/_example/agui-basic.vue +++ b/packages/pro-components/chat/chat-engine/_example/agui-basic.vue @@ -1,6 +1,6 @@