From f578c3597a57547f30888109797a8b9fe7a26bc6 Mon Sep 17 00:00:00 2001 From: digua Date: Mon, 8 Jun 2026 22:09:52 +0800 Subject: [PATCH] fix(ai): polish plan generation block --- .../chat/ChatMessage.planValidation.test.ts | 20 +++++++++++++++++++ src/components/AIChat/chat/ChatMessage.vue | 2 +- src/i18n/locales/en-US/ai.json | 2 +- src/i18n/locales/ja-JP/ai.json | 2 +- src/i18n/locales/zh-CN/ai.json | 2 +- src/i18n/locales/zh-TW/ai.json | 2 +- 6 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 src/components/AIChat/chat/ChatMessage.planValidation.test.ts diff --git a/src/components/AIChat/chat/ChatMessage.planValidation.test.ts b/src/components/AIChat/chat/ChatMessage.planValidation.test.ts new file mode 100644 index 00000000..ee9eb4ef --- /dev/null +++ b/src/components/AIChat/chat/ChatMessage.planValidation.test.ts @@ -0,0 +1,20 @@ +import assert from 'node:assert/strict' +import { readFileSync } from 'node:fs' +import { describe, it } from 'node:test' + +describe('ChatMessage plan validation rendering', () => { + it('does not render a manual step number inside the ordered validation list', () => { + const source = readFileSync(new URL('./ChatMessage.vue', import.meta.url), 'utf8') + const validationSection = source.slice( + source.indexOf("block.tag === 'plan_validation'"), + source.indexOf('') + ) + + assert.ok(validationSection.includes('
- {{ stepIndex + 1 }}. {{ step.goal }} + {{ step.goal }}
{{ t('ai.chat.message.plan.evidenceNeeded') }}: {{ step.evidenceNeeded }} diff --git a/src/i18n/locales/en-US/ai.json b/src/i18n/locales/en-US/ai.json index fe04d65f..e08b7fdd 100644 --- a/src/i18n/locales/en-US/ai.json +++ b/src/i18n/locales/en-US/ai.json @@ -127,7 +127,7 @@ "analysis": "Analysis", "reasoning": "Reasoning", "reflection": "Reflection", - "planValidation": "Generate and validate steps", + "planValidation": "Generate plan", "other": "Thinking ({tag})" }, "loading": "Thinking", diff --git a/src/i18n/locales/ja-JP/ai.json b/src/i18n/locales/ja-JP/ai.json index 5f6443b4..6f6ae543 100644 --- a/src/i18n/locales/ja-JP/ai.json +++ b/src/i18n/locales/ja-JP/ai.json @@ -127,7 +127,7 @@ "analysis": "分析", "reasoning": "推論", "reflection": "振り返り", - "planValidation": "手順の生成・検証", + "planValidation": "計画を生成", "other": "思考({tag})" }, "loading": "思考中...", diff --git a/src/i18n/locales/zh-CN/ai.json b/src/i18n/locales/zh-CN/ai.json index 5b1ab93e..d203f23f 100644 --- a/src/i18n/locales/zh-CN/ai.json +++ b/src/i18n/locales/zh-CN/ai.json @@ -127,7 +127,7 @@ "analysis": "分析", "reasoning": "推理", "reflection": "反思", - "planValidation": "生成并校验步骤", + "planValidation": "生成计划", "other": "思考({tag})" }, "loading": "思考中", diff --git a/src/i18n/locales/zh-TW/ai.json b/src/i18n/locales/zh-TW/ai.json index da7a0a49..2cf0a76f 100644 --- a/src/i18n/locales/zh-TW/ai.json +++ b/src/i18n/locales/zh-TW/ai.json @@ -127,7 +127,7 @@ "analysis": "分析", "reasoning": "推理", "reflection": "反思", - "planValidation": "產生並校驗步驟", + "planValidation": "產生計畫", "other": "思考({tag})" }, "loading": "思考中",