From 8ce7e7d26d1be96394ab254cb0bd12f92ff8e976 Mon Sep 17 00:00:00 2001 From: matevip Date: Fri, 1 May 2026 10:58:15 +0800 Subject: [PATCH] feat(ui): agent integration of SkillIcon + SkillIconPicker --- .../components/channels/ChannelEditModal.vue | 3 +- .../src/composables/usePixelarticons.ts | 10 +++ mateclaw-ui/src/views/AgentContext.vue | 3 +- mateclaw-ui/src/views/Agents.vue | 69 +++++++++++++++++-- mateclaw-ui/src/views/ChatConsole.vue | 3 +- mateclaw-ui/src/views/Memory/index.vue | 3 +- mateclaw-ui/src/views/Sessions.vue | 3 +- mateclaw-ui/src/views/SkillMarket.vue | 2 +- 8 files changed, 84 insertions(+), 12 deletions(-) diff --git a/mateclaw-ui/src/components/channels/ChannelEditModal.vue b/mateclaw-ui/src/components/channels/ChannelEditModal.vue index e8cfd17c..d419ae77 100644 --- a/mateclaw-ui/src/components/channels/ChannelEditModal.vue +++ b/mateclaw-ui/src/components/channels/ChannelEditModal.vue @@ -42,7 +42,7 @@ @@ -440,6 +440,7 @@ import { useWeixinQrcodePoll } from '@/composables/channels/useWeixinQrcodePoll' import { useWecomBotAuth } from '@/composables/channels/useWecomBotAuth' import { useFeishuAppRegister } from '@/composables/channels/useFeishuAppRegister' import { useDingTalkAppRegister } from '@/composables/channels/useDingTalkAppRegister' +import { plainTextIcon } from '@/composables/usePixelarticons' interface Props { modelValue: boolean diff --git a/mateclaw-ui/src/composables/usePixelarticons.ts b/mateclaw-ui/src/composables/usePixelarticons.ts index 8046745e..eda9aaa8 100644 --- a/mateclaw-ui/src/composables/usePixelarticons.ts +++ b/mateclaw-ui/src/composables/usePixelarticons.ts @@ -54,6 +54,16 @@ export type ParsedIcon = | { kind: 'emoji'; value: string } | { kind: 'empty' } +/** + * Plain-text icon glyph for hosts that can't render components β€” chiefly + * ` @@ -209,6 +209,7 @@ import { ElMessage, ElMessageBox } from 'element-plus' import { agentApi, agentContextApi } from '@/api/index' import type { Agent, WorkspaceFile } from '@/types/index' import { useMarkdownRenderer } from '@/composables/useMarkdownRenderer' +import { plainTextIcon } from '@/composables/usePixelarticons' const { renderMarkdown } = useMarkdownRenderer() diff --git a/mateclaw-ui/src/views/Agents.vue b/mateclaw-ui/src/views/Agents.vue index c48bf950..170f0c51 100644 --- a/mateclaw-ui/src/views/Agents.vue +++ b/mateclaw-ui/src/views/Agents.vue @@ -42,7 +42,9 @@ :class="{ 'agent-card--disabled': !agent.enabled }" >
- {{ agent.icon || 'πŸ€–' }} + + +
+ + +