Files
beaver_project/app-instance/backend/tests/unit/test_context_builder.py
steven_li fc9fd93c36 feat: 支持多语言提示词本地化和界面优化
- 添加 prompt_locale 参数支持简体中文、繁体中文和英文提示词本地化
- 移除内置 agents 配置以简化系统架构
- 更新 ContextBuilder 使用动态提示词模板而非硬编码内容
- 在 AgentLoop、Web 接口和 AgentService 中传递 locale 参数
- 添加输出语言指令确保用户界面内容按指定语言生成
- 扩展前端 LanguageSwitcher 组件支持三种语言选项
- 优化 Header 和侧边栏组件的响应式布局和文本截断处理
- 更新测试用例验证不同语言环境下的提示词正确性
2026-06-10 16:11:05 +08:00

52 lines
2.4 KiB
Python

from __future__ import annotations
from beaver.engine.context import ContextBuildInput, ContextBuilder, RuntimeContext, SessionContext
def test_context_builder_injects_current_date_and_time() -> None:
result = ContextBuilder().build_messages(
ContextBuildInput(
base_system_prompt="Follow user requests.",
current_user_input="今天几号?",
session_context=SessionContext(session_id="web:alpha", source="web", model="stub-model"),
runtime_context=RuntimeContext(
utc_datetime="2026-05-26T01:10:00+00:00",
local_datetime="2026-05-26T09:10:00+08:00",
timezone="Asia/Shanghai",
utc_offset="+08:00",
),
)
)
system_prompt = result.messages[0]["content"]
assert "# Current Date and Time" in system_prompt
assert "Current UTC time: 2026-05-26T01:10:00+00:00" in system_prompt
assert "Current local time: 2026-05-26T09:10:00+08:00" in system_prompt
assert "Local timezone: Asia/Shanghai" in system_prompt
assert "Local UTC offset: +08:00" in system_prompt
assert '"today", "tomorrow", "now", "this week", and "next month"' in system_prompt
assert result.messages[-1] == {"role": "user", "content": "今天几号?"}
def test_context_builder_uses_simplified_main_agent_prompt_by_default() -> None:
system_prompt = ContextBuilder().build_system_prompt(ContextBuildInput())
assert "你是海狸 (Beaver)" in system_prompt
assert "博维资讯系统有限公司研发的 AI 助手" in system_prompt
assert "使用简体中文进行面向用户的回复" in system_prompt
def test_context_builder_uses_traditional_main_agent_prompt_for_zh_hant() -> None:
system_prompt = ContextBuilder().build_system_prompt(ContextBuildInput(prompt_locale="zh-Hant"))
assert "你是海狸 (Beaver)" in system_prompt
assert "博維資訊系統有限公司研發的 AI 助手" in system_prompt
assert "使用繁體中文進行面向使用者的回覆" in system_prompt
def test_context_builder_uses_english_main_agent_prompt_for_en() -> None:
system_prompt = ContextBuilder().build_system_prompt(ContextBuildInput(prompt_locale="en"))
assert "You are Beaver, an AI assistant developed by Boway Information Systems Co., Ltd." in system_prompt
assert "Use English for user-facing replies" in system_prompt