Skip to content
Prev Previous commit
Next Next commit
update announcement
  • Loading branch information
AAswordman committed Dec 13, 2025
commit 873212ebfa876c87c142d3aaea94d07b61f497cf
2 changes: 2 additions & 0 deletions README(E).md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# 首款直接接入autoglm api的移动端app

<div align="center">
<a href="README.md">中文版</a> | <span>English</span>
</div>
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# 首款直接接入AutoGLM API的移动端app

<div align="center">
<span>中文</span> | <a href="README(E).md">English</a>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ object AIServiceFactory {

return when (config.apiProviderType) {
// OpenAI格式,支持原生和兼容OpenAI API的服务
ApiProviderType.OPENAI -> OpenAIProvider(config.apiEndpoint, apiKeyProvider, config.modelName, httpClient, customHeaders, config.apiProviderType, supportsVision, enableToolCall)
ApiProviderType.OPENAI,
ApiProviderType.OPENAI_GENERIC -> OpenAIProvider(config.apiEndpoint, apiKeyProvider, config.modelName, httpClient, customHeaders, config.apiProviderType, supportsVision, enableToolCall)

// Claude格式,支持Anthropic Claude系列
ApiProviderType.ANTHROPIC -> ClaudeProvider(config.apiEndpoint, apiKeyProvider, config.modelName, httpClient, customHeaders, config.apiProviderType, enableToolCall)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ object ModelListFetcher {

val modelsUrl =
when (apiProviderType) {
ApiProviderType.OPENAI -> "${extractBaseUrl(apiEndpoint)}/v1/models"
ApiProviderType.OPENAI,
ApiProviderType.OPENAI_GENERIC -> "${extractBaseUrl(apiEndpoint)}/v1/models"
ApiProviderType.ANTHROPIC -> "${extractBaseUrl(apiEndpoint)}/v1/models"
ApiProviderType.GOOGLE,
ApiProviderType.GEMINI_GENERIC -> {
Expand Down Expand Up @@ -212,6 +213,7 @@ object ModelListFetcher {
try {
when (apiProviderType) {
ApiProviderType.OPENAI,
ApiProviderType.OPENAI_GENERIC,
ApiProviderType.DEEPSEEK,
ApiProviderType.MOONSHOT,
ApiProviderType.SILICONFLOW,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import kotlinx.serialization.Serializable
@Serializable
enum class ApiProviderType {
OPENAI, // OpenAI (GPT系列)
OPENAI_GENERIC, // OpenAI通用(自定义端点)
ANTHROPIC, // Anthropic (Claude系列)
GOOGLE, // Google (Gemini系列)
GEMINI_GENERIC, // Gemini通用(自定义端点)
Expand All @@ -25,7 +26,7 @@ enum class ApiProviderType {
LMSTUDIO, // LM Studio本地模型服务
MNN, // MNN本地推理引擎
PPINFRA, // 派欧云
OTHER // 其他提供商(OpenAI通用,自定义端点)
OTHER // 其他提供商(自定义端点)
}

object ModelConfigDefaults {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class ChatAnnouncementPreferences(context: Context) {
private const val PREFS_NAME = "chat_announcement_preferences"
private const val KEY_CHAT_BINDING_ANNOUNCEMENT_VERSION =
"chat_binding_announcement_version"
private const val CURRENT_CHAT_BINDING_ANNOUNCEMENT_VERSION = 2
private const val CURRENT_CHAT_BINDING_ANNOUNCEMENT_VERSION = 3
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ fun ModelApiSettingsSection(
fun getDefaultModelName(providerType: ApiProviderType): String {
return when (providerType) {
ApiProviderType.OPENAI -> "gpt-4o"
ApiProviderType.OPENAI_GENERIC -> ""
ApiProviderType.ANTHROPIC -> "claude-3-opus-20240229"
ApiProviderType.GOOGLE -> "gemini-2.0-flash"
ApiProviderType.GEMINI_GENERIC -> "gemini-2.0-flash"
Expand Down Expand Up @@ -123,7 +124,7 @@ fun ModelApiSettingsSection(
var enableDeepseekReasoningInput by remember(config.id) { mutableStateOf(config.enableDeepseekReasoning) }

// 保存设置的通用函数
val saveSettings = {
val saveSettings: () -> Unit = {
scope.launch {
// 允许用户自定义模型名称,即使使用默认API密钥
val modelToSave = modelNameInput
Expand Down Expand Up @@ -210,6 +211,7 @@ fun ModelApiSettingsSection(
ApiProviderType.LMSTUDIO -> "http://localhost:1234/v1/chat/completions"
ApiProviderType.MNN -> "" // MNN本地推理不需要endpoint
ApiProviderType.PPINFRA -> "https://api.ppinfra.com/openai/v1/chat/completions"
ApiProviderType.OPENAI_GENERIC -> ""
ApiProviderType.OTHER -> ""
}
}
Expand All @@ -222,7 +224,7 @@ fun ModelApiSettingsSection(
// 当API提供商改变时更新端点
LaunchedEffect(selectedApiProvider) {
AppLogger.d("ModelApiSettingsSection", "API提供商改变")
if (selectedApiProvider == ApiProviderType.OPENAI || selectedApiProvider == ApiProviderType.GOOGLE
if (selectedApiProvider == ApiProviderType.OPENAI || selectedApiProvider == ApiProviderType.OPENAI_GENERIC || selectedApiProvider == ApiProviderType.GOOGLE
|| selectedApiProvider == ApiProviderType.GEMINI_GENERIC
|| selectedApiProvider == ApiProviderType.ANTHROPIC || selectedApiProvider == ApiProviderType.MISTRAL) {
val inChina = LocationUtils.isDeviceInMainlandChina(context)
Expand Down Expand Up @@ -295,8 +297,9 @@ fun ModelApiSettingsSection(
SettingsInfoBanner(text = stringResource(R.string.overseas_provider_warning))
}

// 仅 OpenAI通用(OTHER) 和 Gemini通用(GEMINI_GENERIC) 允许自定义端点
// 仅 OpenAI通用(OPENAI_GENERIC)、其他供应商(OTHER) 和 Gemini通用(GEMINI_GENERIC) 允许自定义端点
val isGenericProvider =
selectedApiProvider == ApiProviderType.OPENAI_GENERIC ||
selectedApiProvider == ApiProviderType.OTHER ||
selectedApiProvider == ApiProviderType.GEMINI_GENERIC

Expand Down Expand Up @@ -848,6 +851,7 @@ fun ModelApiSettingsSection(
private fun getProviderDisplayName(provider: ApiProviderType, context: android.content.Context): String {
return when (provider) {
ApiProviderType.OPENAI -> context.getString(R.string.provider_openai)
ApiProviderType.OPENAI_GENERIC -> context.getString(R.string.provider_openai_generic)
ApiProviderType.ANTHROPIC -> context.getString(R.string.provider_anthropic)
ApiProviderType.GOOGLE -> context.getString(R.string.provider_google)
ApiProviderType.GEMINI_GENERIC -> context.getString(R.string.provider_gemini_generic)
Expand Down Expand Up @@ -1373,6 +1377,7 @@ private fun ApiProviderDialog(
private fun getProviderColor(provider: ApiProviderType): androidx.compose.ui.graphics.Color {
return when (provider) {
ApiProviderType.OPENAI -> MaterialTheme.colorScheme.primary
ApiProviderType.OPENAI_GENERIC -> MaterialTheme.colorScheme.primary.copy(alpha = 0.85f)
ApiProviderType.ANTHROPIC -> MaterialTheme.colorScheme.tertiary
ApiProviderType.GOOGLE -> MaterialTheme.colorScheme.secondary
ApiProviderType.GEMINI_GENERIC -> MaterialTheme.colorScheme.secondary.copy(alpha = 0.9f)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ fun OperitApp(initialNavItem: NavItem = NavItem.AiChat, toolHandler: AIToolHandl
ChatBindingAnnouncementDialog(
onNavigateToChatManagement = {
dismissChatBindingAnnouncement()
navigateTo(Screen.Help)
navigateTo(Screen.AutoGlmOneClick)
},
onDismiss = { dismissChatBindingAnnouncement() }
)
Expand Down
6 changes: 3 additions & 3 deletions app/src/main/res/values-en/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3204,9 +3204,9 @@
<string name="dialog_button_dismiss">Cancel</string>

<!-- Chat binding announcement -->
<string name="chat_binding_announcement_title">Chats Are Now Linked to Character Cards</string>
<string name="chat_binding_announcement_body">Starting with this update, every conversation is linked to a character card.\n\nAll of your previous chats have been mapped to the &quot;Default character card&quot; automatically. Head to Settings &gt; Chat Management if you need to edit, regroup, or rename them.</string>
<string name="chat_binding_announcement_primary_button">Review</string>
<string name="chat_binding_announcement_title">AutoGLM One-Click Setup</string>
<string name="chat_binding_announcement_body">Model performance has been improved again. You can configure it via Toolbox - AutoGLM One-Click Setup.</string>
<string name="chat_binding_announcement_primary_button">Configure Now</string>
<string name="chat_binding_announcement_acknowledge">Got it</string>
<string name="chat_binding_announcement_acknowledge_countdown">Got it (%1$ds left)</string>

Expand Down
9 changes: 5 additions & 4 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2614,7 +2614,8 @@
<string name="provider_alipay_bailing">支付宝百灵大模型</string>
<string name="provider_lmstudio">LM Studio</string>
<string name="provider_ppinfra">派欧云</string>
<string name="provider_other">OpenAI通用</string>
<string name="provider_openai_generic">OpenAI通用</string>
<string name="provider_other">其他供应商</string>
<string name="select_api_provider_title">选择API提供商</string>
<string name="search_providers">搜索提供商</string>
<!-- ModelParametersSection strings -->
Expand Down Expand Up @@ -3234,9 +3235,9 @@
<string name="dialog_button_dismiss">取消</string>

<!-- Chat binding announcement -->
<string name="chat_binding_announcement_title">autoglm 自动操作兼容说明</string>
<string name="chat_binding_announcement_body">现已完成 autoglm 自动操作的兼容,前往用户手册查看具体教程。</string>
<string name="chat_binding_announcement_primary_button">前往用户手册</string>
<string name="chat_binding_announcement_title">autoglm 一键配置</string>
<string name="chat_binding_announcement_body">版本已再次提升效果,可前往工具箱-autoglm一键配置进行配置。</string>
<string name="chat_binding_announcement_primary_button">前往一键配置</string>
<string name="chat_binding_announcement_acknowledge">我知道了</string>
<string name="chat_binding_announcement_acknowledge_countdown">我知道了(%1$ds后可点击)</string>

Expand Down