Files
AndroidStudioSettings/ChatGPTConversations_170.xml
T

6 lines
274 KiB
XML
Raw Normal View History

<application>
<component name="ee.carlrobert.codegpt.state.conversations.ConversationsState">
<option name="currentConversation" value="{&quot;id&quot;:&quot;e41d9cfc-3e75-4f88-808f-8562e8c5d517&quot;,&quot;title&quot;:null,&quot;messages&quot;:[{&quot;prompt&quot;:&quot;改造成 ConsumerStatefulWidget&quot;,&quot;id&quot;:&quot;cb457424-391b-4177-acb0-20e6c0fc6f6f&quot;,&quot;response&quot;:&quot;可以。下面把 [SRAuthorizationPasswordWidget](file:///home/debuggerx/StudioProjects/aim_master_workspace/packages/agi_aim_master/lib/modules/setting/widgets/authorization_password/sr_authorization_password_widget.dart) 从 `ConsumerWidget` 改造成 `ConsumerStatefulWidget`。\n\n实现计划:\n1. 将 [SRAuthorizationPasswordWidget](file:///home/debuggerx/StudioProjects/aim_master_workspace/packages/agi_aim_master/lib/modules/setting/widgets/authorization_password/sr_authorization_password_widget.dart) 继承改为 `ConsumerStatefulWidget`。\n2. 新增对应的 `State` 类 `_SRAuthorizationPasswordWidgetState`,把 [editPwd](file:///home/debuggerx/StudioProjects/aim_master_workspace/packages/agi_aim_master/lib/modules/setting/widgets/authorization_password/sr_authorization_password_widget.dart#editPwd) 移入 `State` 中,直接使用 `ref`。\n3. 将原来的 [build](file:///home/debuggerx/StudioProjects/aim_master_workspace/packages/agi_aim_master/lib/modules/setting/widgets/authorization_password/sr_authorization_password_widget.dart#build) 挪到 `State` 类中,保持原有 UI 和逻辑不变。\n\n下面是完整修改后的文件。第 1、2、3 步一起完成了组件类型迁移,并保留了 [settingAuthorizationPasswordProvider](file:///home/debuggerx/StudioProjects/aim_master_workspace/packages/agi_aim_master/lib/modules/setting/providers/setting_authorization_password_provider.dart) 的 `watch/read` 用法。\n\n```dart:/home/debuggerx/StudioProjects/aim_master_workspace/packages/agi_aim_master/lib/modules/setting/widgets/authorization_password/sr_authorization_password_widget.dart\nimport 'package:agi_aim_master/common/constants/app_configs.dart';\nimport 'package:agi_aim_master/common/extensions/error_extension.dart';\nimport 'package:agi_aim_master/generated/assets/r.dart';\nimport 'package:agi_aim_master/modules/setting/providers/setting_authorization_password_provider.dart';\nimport 'package:agi_aim_master/modules/setting/widgets/authorization_password/sr_auth_pwd_edit_widget.dart';\nimport 'package:agi_common/agi_common.dart';\nimport 'package:agi_i18n/agi_i18n.dart';\nimport 'package:agibot/agibot.dart';\nimport 'package:flutter/cupertino.dart';\nimport 'package:flutter_riverpod/flutter_riverpod.dart';\n\nclass SRAuthorizationPasswordWidget extends ConsumerStatefulWidget {\n const SRAuthorizationPasswordWidget({super.key});\n\n @override\n ConsumerState&lt;SRAuthorizationPasswordWidget&gt; createState() =&gt;\n _SRAuthorizationPasswordWidgetState();\n}\n\nclass _SRAuthorizationPasswordWidgetState\n extends ConsumerState&lt;SRAuthorizationPasswordWidget&gt; {\n void editPwd() {\n Widget w = SRAuthPwdEditWidget(\n old: ref.read(settingAuthorizationPasswordProvider),\n onChange: (pwd) async {\n AGILoading.show();\n var res = await ref\n .read(settingAuthorizationPasswordProvider.notifier)\n .setAuthorizationPassword(pwd);\n if (res.isSuccess) {\n AGIDialog.dismiss();\n } else {\n AGIToast.error(res.error!.tr);\n }\n AGILoading.dismiss();\n },\n onCancel: () {\n AGIDialog.dismiss();\n },\n );\n AGIDialog.show(w);\n }\n\n @override\n Widget build(BuildContext context) {\n return Container(\n padding: EdgeInsets.symmetric(horizontal: 20.w),\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n 16.vGap,\n Container(\n decoration: BoxDecoration(\n borderRadius: BorderRadius.all(Radius.circular(8.r)),\n ),\n child: SizedBox(\n height: 76.h,\n child: Row(\n children: [\n 24.hGap,\n
<option name="conversations" value="[{&quot;id&quot;:&quot;2ea372bf-f79d-4805-a228-8cd51bf07dc9&quot;,&quot;title&quot;:null,&quot;messages&quot;:[{&quot;prompt&quot;:&quot;我在适用ProxyAI这个Intellij插件,想要实现代码自动补全,gemini系列的哪个模型最适合?为什么?另外配置里有个“FIM”模板选项,我应该选什么?&quot;,&quot;id&quot;:&quot;ab4b92a6-8055-4844-85d6-57ffd6339399&quot;,&quot;response&quot;:&quot;对于在 IntelliJ IDEA 使 ProxyAI **Inline Code Completion** Gemini FIM \n\n### Gemini 1.5 Flash Gemini 2.0 Flash\n\n**使 `gemini-1.5-flash` `gemini-2.0-flash`** API \n\n** Pro **\n1. **Latency** 300-500 `gemini-1.5-pro` Flash \n2. ****Flash 1M 2M ProxyAI \n3. ****Flash API Pro \n\n* `gemini-1.5-pro`****Flash *\n\n---\n\n### FIM \n\n**FIM (Fill-In-the-Middle)** PrefixSuffixMiddle\n\n**Gemini **\n DeepSeek CoderQwen Coder CodeLlama 使 FIM Token `&lt;|fim_prefix|&gt;``&lt;|fim_suffix|&gt;` **Gemini FIM ** ProxyAI Gemini `DeepSeek` `Qwen` FIM Gemini \n\n****\n\n1. ** Prompt / Instruction **\n ProxyAI FIM `Prompt``Instruction` `Gemini/OpenAI` \n\n2. **CustomFIM **\n FIM 使 XML Gemini XML \n ```text\n You are an expert programmer. Please complete the missing code between &lt;prefix&gt; and &lt;suffix&gt;. \n Output ONLY the missing code, without any markdown formatting, explanations, or repeating the prefix/suffix.\n \n &lt;prefix&gt;\n {prefix}\n &lt;/prefix&gt;\n &lt;suffix&gt;\n {suffix}\n &lt;/suffix&gt;\n ```\n *( `{prefix}` `{suffix}` ProxyAI )*\n\n3. ** FIM**\n FIM Gemini ProxyAI ** FIM ** None/Default退 Gemini &quot;,&quot;referencedFilePaths&quot;:null,&quot;conversationsHistoryIds&quot;:null,&quot;imageFilePath&quot;:null,&quot;
</component>
</application>