Thank you for your submission, an automated scan of your plugin code's revealed the following issues:

### Required

[[1](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L46)][[2](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L69)][[3](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L102)][[4](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L190)][[5](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L234)][[6](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L258)][[7](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L484)][[8](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L486)][[9](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L487)][[10](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L488)][[11](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L490)][[12](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L533)][[13](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L535)][[14](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L583)][[15](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L584)][[16](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L590)][[17](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/google_tts.ts#L5)]:You should change all instances of `var` to either `const` or `let`. `var` has function-level scope, so it can easily lead to bugs if you're not careful. Here's a pretty good guide with examples of why not to use `var`: [why `var` is obsolete](https://javascript.plainenglish.io/4-reasons-why-var-is-considered-obsolete-in-modern-javascript-a30296b5f08f)

[[1](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L283)]:Obsidian's configuration directory isn't necessarily `.obsidian`, it can be configured by the user. You can access the configured value from `Vault#configDir`

[[1](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/ms_azure.ts#L39)][[2](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/ms_azure.ts#L55)][[3](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L32)][[4](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L33)][[5](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L34)][[6](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L35)][[7](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L36)][[8](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L91)][[9](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L140)][[10](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L158)][[11](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L297)][[12](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L315)][[13](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L390)][[14](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L400)][[15](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L410)][[16](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L421)][[17](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L432)][[18](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L562)][[19](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L586)][[20](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L592)][[21](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L595)][[22](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/baidu_ai.ts#L45)][[23](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/baidu_ai.ts#L117)][[24](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/baidu_ai.ts#L118)][[25](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/google_tts.ts#L10)]:You should consider limiting the number of `console.log`s in your code, to not pollute the dev console.



---

### Optional

[[1](https://github.com/yingflower/obsidian-stu-repo-helper/blob/da67352e860103627b22e9873f0cc8d95a8f8402/src/main.ts#L577)]:Casting to `any` should be avoided as much as possible.



---



Do <b>NOT</b> open a new PR for re-validation.
Once you have pushed all of the required changes to your repo, the bot will update the labels on this PR within 6 hours.
If you think some of the required changes are incorrect, please comment with `/skip` and the reason why you think the results are incorrect.