Skip to content

fix(bots/cormini): 上下文与交接配置组按请求语言显示 - #381

Open
Phantivia wants to merge 2 commits into
mainfrom
fix/persona-context-group-i18n
Open

Phantivia wants to merge 2 commits into
mainfrom
fix/persona-context-group-i18n

Conversation

@Phantivia

Copy link
Copy Markdown
Member

Persona 页「上下文与交接」这组(阶段预算、交接保留比例、软阈值比例、合成首轮对话)的标题和说明只写了中文,任何界面语言都显示中文。现在按请求语言返回,11 种语言齐全。

改动

  • WebUiContribution.configGroups 改为 (language) => ConfigGroup[],与 World 的 webUi(language).config、coreConfigGroup(language) 同形;组 id 与配置键不随语言变化。Persona 页和 /api/config 都按请求语言取组。
  • contextStageConfigGroup(id, language) 用 pick 取文案;Cormini、CortiV 按请求语言交组。CortiV 的导出常量改为 cortivContextConfigGroup(language)。
  • 说明里的页名从旧的「语言模型」改为现名「模型供应商」,各语言用该页的 navLabel。
  • 新测试 tests/cormini/config.test.ts:每种语言文案各不相同;各语言的组 id、配置键与取值范围一致。

下游要跟的改动

交静态数组的 bot 要改成函数。Coopanion core/companion.ts 现在是 configGroups: [base.contextGroup, settingsGroup],contextStageConfigGroup('cormini') 只调一次;升级 vendor 后改为 configGroups: (language) => [contextStageConfigGroup('cormini', language), companionGroup(language)],原来靠 Object.assign(settingsGroup, …) 换语言的写法可以去掉。

验证

  • pnpm test(288 个文件)、pnpm run typecheck、pnpm typecheck:web 通过。
  • 最小 WebApp(scratch 脚本,挂真实的 Persona 页来源和这组)在浏览器里切英文、德文,这组分别显示英文、德文;/api/config?language=<11 种> 逐一返回对应语言。
  • pnpm dev:webui 没法验:它的 Persona 页不声明配置组,没有配置页签;/api/config 也不看请求语言,所有组只给中文。

没动的

corti-soulmate 的 PERSONA_CONFIG_GROUP 和 CortiV 的 CORTIV_COGNITION_CONFIG_GROUP 仍只有中文,这次只把它们改成函数形式。

🤖 Generated with Claude Code

Phantivia and others added 2 commits November 4, 2026 21:23
- WebUiContribution.configGroups 改为 (language) => ConfigGroup[],与 World 的
  webUi(language).config、Core 的 coreConfigGroup(language) 同形;组 id 与配置键不随语言变化。
- Persona 页按请求语言取组;/api/config 同一份。dry-mount 只查路径,取 en。
- 静态组写成 () => [...];下游 bot 交数组的要改成函数。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 根因:组的标题和说明只写了中文,contextStageConfigGroup 不接语言,任何界面语言都显示中文。
  现在接 language,用 pick 取 11 种语言的文案;Cormini 与 CortiV 都按请求语言交组。
- 说明里的页名从旧的「语言模型」改为现名「模型供应商」,各语言取该页 navLabel。
- tests/cormini/config.test.ts:每种语言文案各不相同,组 id、配置键与取值范围在各语言一致。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Comment thread src/bot.ts
/** 追加的可调配置组(Persona那组;core 与各 World 的由框架收拢) */
configGroups?: ConfigGroup[];
/** 追加的可调配置组(Persona那组;core 与各 World 的由框架收拢),文案使用请求语言;组 id 与配置键不随语言变化。 */
configGroups?(language: Language): ConfigGroup[];

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

文档所有权未更新。src/bot.ts 是 docs/personas.md 与 bots/README.md 的 owner,这个 PR 改了它,两页都没动。

AGENTS.md §8:「The commit that changes the owner changes the page.」docs/personas.md 第一行:Owner: src/core/types.ts (Persona), src/bot.ts。bots/README.md 第一行:Owner: src/paths.ts, src/deploy.ts, src/bot.ts。

WebUiContribution.configGroups 从 ConfigGroup[] 改成 (language: Language) => ConfigGroup[](本行)。请把这一契约写进上述页面,或者在 PR 说明里写明为什么这次不改文档。

— Cortico PR Gate via Cursor Cloud Agent

Comment thread bots/cortiv/index.ts
* 上下文与交接容量配置归Persona,WebUI 表单与 bots/cormini/persona/config.ts 共用。
*/
export const CORTIV_CONTEXT_CONFIG_GROUP: ConfigGroup = contextStageConfigGroup('cortiv');
export function cortivContextConfigGroup(language: Language): ConfigGroup {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Conflicts with #382。textual:src/bot.ts、bots/cormini/persona/config.ts、bots/cortiv/index.ts。本 PR 把 CORTIV_CONTEXT_CONFIG_GROUP 改成 cortivContextConfigGroup(language),#382 仍导出该常量;合入其中一个会让另一个对不上。

— Cortico PR Gate via Cursor Cloud Agent

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant