From e42444f50a47c127679cfa27422d8fd85e25a498 Mon Sep 17 00:00:00 2001 From: matevip Date: Tue, 21 Apr 2026 15:28:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(ui):=20batch=202=20=E2=80=94=20Facts=20Tab?= =?UTF-8?q?=20+=20Contradiction=20Inbox=20+=20Trust=20Bar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mateclaw-ui/src/i18n/locales/en-US.ts | 18 ++ mateclaw-ui/src/i18n/locales/zh-CN.ts | 18 ++ .../src/views/Memory/components/FactList.vue | 206 ++++++++++++++++++ .../views/Memory/components/FactTrustBar.vue | 30 +++ mateclaw-ui/src/views/Memory/index.vue | 13 +- 5 files changed, 283 insertions(+), 2 deletions(-) create mode 100644 mateclaw-ui/src/views/Memory/components/FactList.vue create mode 100644 mateclaw-ui/src/views/Memory/components/FactTrustBar.vue diff --git a/mateclaw-ui/src/i18n/locales/en-US.ts b/mateclaw-ui/src/i18n/locales/en-US.ts index 09727652..ddeca4a6 100644 --- a/mateclaw-ui/src/i18n/locales/en-US.ts +++ b/mateclaw-ui/src/i18n/locales/en-US.ts @@ -1832,6 +1832,24 @@ export default { confirmed: 'Confirmed', saved: 'Saved to MEMORY.md', }, + facts: { + searchPlaceholder: 'Search facts…', + empty: 'No facts yet (enable fact projection)', + trust: 'Trust', + used: 'Used {n} times', + helpful: 'Helpful', + unhelpful: 'Not helpful', + forget: 'Forget', + forgotten: 'Forgotten', + resolved: 'Resolved', + contradictions: '{count} contradictions pending', + resolve: { + KEEP_A: 'Keep A', + KEEP_B: 'Keep B', + MERGE: 'Merge', + IGNORE: 'Ignore', + }, + }, focused: { desc: 'Re-organize memories around a specific topic, prioritizing related information.', placeholder: 'Enter a topic, e.g. "architecture decisions"…', diff --git a/mateclaw-ui/src/i18n/locales/zh-CN.ts b/mateclaw-ui/src/i18n/locales/zh-CN.ts index 3928defd..836ee0ad 100644 --- a/mateclaw-ui/src/i18n/locales/zh-CN.ts +++ b/mateclaw-ui/src/i18n/locales/zh-CN.ts @@ -1842,6 +1842,24 @@ export default { confirmed: '已确认', saved: '已保存到 MEMORY.md', }, + facts: { + searchPlaceholder: '搜索事实…', + empty: '暂无事实数据(需启用事实投影)', + trust: '信任度', + used: '使用 {n} 次', + helpful: '有用', + unhelpful: '没用', + forget: '遗忘', + forgotten: '已遗忘', + resolved: '已解决', + contradictions: '{count} 条矛盾待处理', + resolve: { + KEEP_A: '保留 A', + KEEP_B: '保留 B', + MERGE: '合并', + IGNORE: '忽略', + }, + }, focused: { desc: '围绕一个主题让智能体重新整理记忆,优先提炼相关信息。', placeholder: '输入主题,如"项目架构"、"用户偏好"…', diff --git a/mateclaw-ui/src/views/Memory/components/FactList.vue b/mateclaw-ui/src/views/Memory/components/FactList.vue new file mode 100644 index 00000000..9570eae7 --- /dev/null +++ b/mateclaw-ui/src/views/Memory/components/FactList.vue @@ -0,0 +1,206 @@ + + + + + diff --git a/mateclaw-ui/src/views/Memory/components/FactTrustBar.vue b/mateclaw-ui/src/views/Memory/components/FactTrustBar.vue new file mode 100644 index 00000000..a2928649 --- /dev/null +++ b/mateclaw-ui/src/views/Memory/components/FactTrustBar.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/mateclaw-ui/src/views/Memory/index.vue b/mateclaw-ui/src/views/Memory/index.vue index 0a035e21..1c4c5beb 100644 --- a/mateclaw-ui/src/views/Memory/index.vue +++ b/mateclaw-ui/src/views/Memory/index.vue @@ -99,8 +99,15 @@ - +
+ + + + + +
@@ -172,6 +180,7 @@ import { http } from '@/api' import { useAgentStore } from '@/stores/useAgentStore' import { useMemoryStore, type DreamReportItem } from '@/stores/useMemoryStore' import MorningCard from './components/MorningCard.vue' +import FactList from './components/FactList.vue' const { t } = useI18n() const agentStore = useAgentStore() @@ -193,7 +202,7 @@ const dreamRunning = ref(false) const tabs = computed(() => [ { key: 'timeline', label: t('memory.tabTimeline'), disabled: false }, { key: 'memory', label: t('memory.tabMemory'), disabled: true }, - { key: 'facts', label: t('memory.tabFacts'), disabled: true }, + { key: 'facts', label: t('memory.tabFacts'), disabled: false }, ]) onMounted(async () => {