From 793e64bfbc820100d1af11bc1a7c1148341b85c6 Mon Sep 17 00:00:00 2001 From: john Date: Sat, 25 Jul 2026 20:26:20 +0800 Subject: [PATCH] fix: preserve page skill user input --- chat-skills.mjs | 1 + chat-skills.test.mjs | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/chat-skills.mjs b/chat-skills.mjs index 1b2198f..fa4de70 100644 --- a/chat-skills.mjs +++ b/chat-skills.mjs @@ -240,6 +240,7 @@ export const CHAT_SKILL_DEFINITIONS = [ icon: 'page', skillName: PUBLISH_SKILL_NAME, requiresPublish: true, + prefillOnly: true, promptKey: 'generate-page', }, ]; diff --git a/chat-skills.test.mjs b/chat-skills.test.mjs index 7368487..1fac23a 100644 --- a/chat-skills.test.mjs +++ b/chat-skills.test.mjs @@ -130,7 +130,16 @@ test('buildChatSkillPrompt includes skill name for platform skills', () => { test('prefillOnly is set for open-ended chat skills', () => { assert.equal(CHAT_SKILL_DEFINITIONS.find((item) => item.id === 'web-search')?.prefillOnly, true); - assert.equal(CHAT_SKILL_DEFINITIONS.find((item) => item.id === 'generate-page')?.prefillOnly, undefined); + assert.equal(CHAT_SKILL_DEFINITIONS.find((item) => item.id === 'generate-page')?.prefillOnly, true); +}); + +test('generate-page selection preserves an existing news-page request for the next submit', () => { + const skill = CHAT_SKILL_DEFINITIONS.find((item) => item.id === 'generate-page'); + const prompt = buildChatSkillPrompt(skill?.promptKey, skill?.skillName); + const task = '帮我整理今天的新闻做成页面'; + + assert.equal(skill?.prefillOnly, true); + assert.equal(mergeChatSkillPromptWithInput(prompt, task), `${prompt}${task}`); }); test('buildAutoChatSkillPrefix enables web for news-like queries', () => {