2.5 KiB
2.5 KiB
PRD:统一语言设置
1. 背景
当前存在两个独立语言设置:interface_language(界面语言)和 ai_language(AI 回复语言),用户需分别设置。本任务将其统一为单一 language 字段。
2. 目标
- 合并
interface_language+ai_language→language - 后端 AI 统一使用
language作为回复语言 - 前端移除 AI 语言 UI,设置界面只保留一个"语言"选项
- 文案从"界面语言"改为"语言"
3. 变更内容
3.1 Schema 变更
变更前:
{
"preferences": {
"interface_language": "zh-CN",
"ai_language": "zh-CN"
}
}
变更后:
{
"preferences": {
"language": "zh-CN"
}
}
3.2 UI 变更
变更前: 两个独立选项
界面语言 简体中文 >
AI回复语言 简体中文 >
变更后: 一个选项
语言 简体中文 >
4. 文件变更清单
后端 (7 文件)
| 文件 | 变更 |
|---|---|
backend/src/schemas/shared/user.py |
字段重命名 |
backend/src/core/agentscope/runtime/runner.py |
读取 language |
backend/src/core/agentscope/prompts/system_prompt.py |
参数重命名 |
backend/src/core/agentscope/prompts/worker_rules.py |
参数重命名 |
backend/src/core/agentscope/prompts/agent_prompt.py |
参数重命名 |
backend/tests/unit/test_parse_profile_settings.py |
测试更新 |
backend/tests/unit/test_agentscope_prompts.py |
测试更新 |
数据库 (SQL 直接执行)
| 操作 | 说明 |
|---|---|
| Supabase MCP SQL | 更新现有 profiles.settings JSON 结构 |
前端 (6 文件)
| 文件 | 变更 |
|---|---|
apps/lib/features/settings/data/models/profile_settings.dart |
字段重命名 |
apps/lib/features/settings/data/apis/profile_api.dart |
序列化字段 |
apps/lib/features/settings/presentation/screens/general_settings_screen.dart |
移除 AI 语言 UI |
apps/lib/l10n/app_zh.arb |
删除旧文案,添加新文案 |
apps/lib/l10n/app_en.arb |
删除旧文案,添加新文案 |
apps/lib/l10n/app_zh_hant.arb |
删除旧文案,添加新文案 |
协议文档 (2 文件)
| 文件 | 变更 |
|---|---|
docs/protocols/profile/profile-protocol.md |
更新字段定义 |
docs/protocols/divination/divination-run-protocol.md |
更新语言规则 |
5. 验收标准
- 后端 API 只返回
language字段 - 前端设置界面只有一个语言选项
- AI 回复语言跟随
language设置 - 所有测试通过