### Required

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L30-L30)[\[2\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L32-L32)[\[3\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L50-L50)[\[4\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L103-L103)[\[5\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L141-L141)[\[6\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/AnthropicProvider.ts#L14-L14)[\[7\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/AnthropicProvider.ts#L47-L47)[\[8\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/GLMProvider.ts#L39-L39)[\[9\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L11-L11)[\[10\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L21-L21)[\[11\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L59-L59)[\[12\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L108-L108)[\[13\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L111-L111)[\[14\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L138-L138)[\[15\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L146-L146)[\[16\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L158-L158)[\[17\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L187-L187)[\[18\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L240-L240)[\[19\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L260-L260)[\[20\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L261-L261)[\[21\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L292-L292)[\[22\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L336-L336)[\[23\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L337-L337)[\[24\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenRouterProvider.ts#L10-L10)[\[25\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/index.ts#L37-L37)[\[26\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L170-L170)[\[27\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L192-L192)[\[28\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L253-L253)[\[29\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L254-L254)[\[30\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L262-L262)[\[31\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L71-L71)[\[32\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L73-L73)[\[33\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/types.ts#L92-L92)[\[34\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L227-L227)[\[35\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L356-L356)[\[36\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L414-L414)[\[37\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L439-L439)[\[38\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L310-L310)[\[39\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L490-L490)[\[40\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L545-L545)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L92-L92)
Unexpected use of 'fetch'. Use the built-in `requestUrl` function instead of `fetch` for network requests in Obsidian.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L145-L145)[\[2\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L147-L147)[\[3\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L149-L149)[\[4\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L151-L151)[\[5\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L153-L153)[\[6\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L155-L155)[\[7\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/AIProvider.ts#L158-L158)
A `require()` style import is forbidden.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/AnthropicProvider.ts#L73-L73)[\[2\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/DeepSeekProvider.ts#L7-L7)[\[3\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/GLMProvider.ts#L64-L64)[\[4\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/KimiProvider.ts#L7-L7)
Async method 'getModels' has no 'await' expression.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L8-L8)[\[2\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L10-L10)[\[3\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L14-L14)[\[4\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L16-L16)[\[5\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L17-L17)[\[6\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L24-L24)[\[7\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L37-L37)[\[8\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L40-L40)[\[9\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L44-L44)[\[10\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L45-L45)[\[11\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L48-L48)[\[12\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L51-L51)[\[13\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L53-L53)[\[14\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L54-L54)[\[15\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L56-L56)[\[16\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L57-L57)[\[17\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L58-L58)[\[18\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L59-L59)[\[19\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L62-L62)[\[20\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L64-L64)[\[21\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L66-L66)[\[22\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L91-L91)[\[23\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L97-L97)[\[24\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L99-L99)[\[25\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L101-L101)[\[26\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L103-L103)[\[27\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/en.ts#L105-L105)[\[28\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L103-L103)[\[29\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L113-L113)[\[30\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L96-L96)[\[31\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L416-L416)[\[32\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L250-L250)[\[33\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L255-L255)[\[34\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L280-L280)[\[35\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L294-L294)[\[36\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L375-L375)[\[37\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L379-L379)
Use sentence case for UI text.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L18-L18)[\[2\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L44-L44)[\[3\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L59-L59)[\[4\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L63-L63)[\[5\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L89-L89)[\[6\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L116-L116)[\[7\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L288-L288)[\[8\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L316-L316)[\[9\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L317-L317)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L105-L105)[\[2\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L111-L111)[\[3\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L145-L145)[\[4\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L349-L349)[\[5\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L357-L357)[\[6\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L377-L377)[\[7\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L237-L237)[\[8\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L291-L291)[\[9\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L340-L340)
Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L107-L107)
Avoid providing a default hotkey. Users should set their own.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L143-L143)
Async method 'openAIModal' has no 'await' expression.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L154-L154)[\[2\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L312-L312)[\[3\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L385-L385)[\[4\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L208-L211)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/main.ts#L272-L272)
Async method 'applyResult' has no 'await' expression.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L21-L21)[\[2\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L39-L39)[\[3\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L81-L81)[\[4\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L305-L305)[\[5\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L405-L405)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L236-L236)[\[2\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L261-L261)[\[3\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L282-L282)[\[4\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L300-L316)[\[5\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L408-L408)[\[6\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L429-L429)[\[7\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L463-L463)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L259-L259)[\[2\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L265-L265)[\[3\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L268-L268)
Avoid setting styles directly via `element.style.display`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L121-L121)[\[2\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L129-L129)
Do not write to DOM directly using innerHTML/outerHTML property

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L151-L151)
Unexpected confirm.



---

### Optional

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ai/providers/OpenAIProvider.ts#L111-L111)[\[2\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/i18n/index.ts#L47-L47)[\[3\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L442-L442)
'error' is defined but never used.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L3-L3)
'AIProviderConfig' is defined but never used.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/settings/SettingsTab.ts#L3-L3)
'BUILTIN_PROVIDERS' is defined but never used.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L1-L1)
'Setting' is defined but never used.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L94-L94)
'templateContainer' is assigned a value but never used.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L247-L247)
'titleEl' is assigned a value but never used.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L274-L274)
'descEl' is assigned a value but never used.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L308-L308)
'opt' is assigned a value but never used.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L323-L323)
'autoOption' is assigned a value but never used.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L404-L404)
'statusIcon' is assigned a value but never used.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L405-L405)
'statusText' is assigned a value but never used.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/InlineAIModal.ts#L408-L408)
'resultContainer' is assigned a value but never used.

[\[1\]](https://github.com/RanceLee233/obsidian-at-ai/blob/55ae11c0a39106d450b6644569482cfa825a3fdc/src/ui/ModelManagerModal.ts#L4-L4)
't' is defined but never used.

