mirror of
https://github.com/Narcooo/inkos.git
synced 2026-09-01 15:08:51 +08:00
a662224308
修复 issue #345 残留缺口:用户用中文对话要求"写一篇英文短篇"时,产出仍然是中文。 根因: - Studio 用 inferLanguage 按 CJK/拉丁字符比例推断会话语言,中文指令推断为 zh; - zh 分支短篇系统提示词硬编码"shortRun 填 language=zh"(en 分支同样硬编码 language=en), 即使用户明确要求另一种产出语言,模型也照抄硬编码值; - propose_action 的 shortRun.language schema description 只写了 "Confirmed short-fiction language.",没有告诉模型产出语言可以和对话语言不同。 修法: - agent-system-prompt.ts 短篇 zh/en 两个分支对称改为:language 填用户要求的产出语言, 用户没提时跟对话语言一致;同时把 charsPerChapter 指引改为按 language 分语言说明 (zh 每章 900-1200 字默认 1000,en 每章 600-800 个英文单词默认 650); - agent-tools.ts 的 shortRun.language description 改为说明按用户要求的产出语言填, 可以和对话语言不同,未指定时默认对话语言。 传参链路本身无需改动:proposedActionPayload 里 { language, ...shortRun } 的展开顺序 保证模型显式填的 language 覆盖会话默认值,且会话默认只注入 language 不注入字数, runner 在未填 charsPerChapter 时按 language 取对应默认(en 650 词),不会把 zh 字数 带给 en 任务。新增测试固定以上行为和提示词/schema 文案。