Files
beaver_project/app-instance/frontend/lib/i18n/provider.tsx
steven_li cdfc222c9f feat: 添加swarms团队编排功能并优化agent委派系统
- 引入AgentTeamOrchestrator支持多agent协同任务执行
- 增加第三方swarms库依赖并配置git协议替换以改善包管理
- 扩展DelegationManager支持团队任务调度和进度跟踪
- 实现中文bigram分词算法提升中文任务检索准确性
- 调整A2AClient和DelegationManager超时时间从30秒增至600秒
- 优化AgentRunResult状态判断逻辑增加有意义摘要检测
- 修改Dockerfile配置npm仓库镜像地址和git协议映射
- 更新CLI命令行接口支持网关端口配置传递
- 调整提供者超时配置机制增强请求稳定性
- 移除过时的support_group字段简化agent描述符结构
- 增强错误处理和进度事件报告机制改进用户体验
2026-04-14 14:34:23 +08:00

58 lines
1.2 KiB
TypeScript

'use client';
import React from 'react';
import {
type AppLocale,
persistAppLocale,
readBrowserAppLocale,
} from '@/lib/i18n/core';
type AppI18nContextValue = {
locale: AppLocale;
setLocale: (locale: AppLocale) => void;
};
const AppI18nContext = React.createContext<AppI18nContextValue | null>(null);
export function AppI18nProvider({
initialLocale,
children,
}: {
initialLocale: AppLocale;
children: React.ReactNode;
}) {
const [locale, setLocaleState] = React.useState<AppLocale>(initialLocale);
React.useEffect(() => {
const browserLocale = readBrowserAppLocale();
if (browserLocale !== locale) {
setLocaleState(browserLocale);
return;
}
persistAppLocale(locale);
}, []);
React.useEffect(() => {
persistAppLocale(locale);
}, [locale]);
const value = React.useMemo<AppI18nContextValue>(
() => ({
locale,
setLocale: setLocaleState,
}),
[locale]
);
return <AppI18nContext.Provider value={value}>{children}</AppI18nContext.Provider>;
}
export function useAppI18n(): AppI18nContextValue {
const value = React.useContext(AppI18nContext);
if (!value) {
throw new Error('useAppI18n must be used within AppI18nProvider');
}
return value;
}