gitextract_0flj9ssv/ ├── ChatGPT/ │ ├── .gitattributes │ ├── .gitignore │ ├── .husky/ │ │ └── pre-commit │ ├── .npmrc │ ├── .prettierignore │ ├── .prettierrc │ ├── .vscode/ │ │ └── extensions.json │ ├── Cargo.toml │ ├── LICENSE │ ├── README-ZH_CN.md │ ├── README.md │ ├── UPDATE_LOG.md │ ├── casks/ │ │ └── chatgpt.rb │ ├── index.html │ ├── package.json │ ├── rustfmt.toml │ ├── src/ │ │ ├── components/ │ │ │ ├── FilePath/ │ │ │ │ └── index.tsx │ │ │ ├── Markdown/ │ │ │ │ ├── Editor.tsx │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ │ ├── SwitchOrigin/ │ │ │ │ └── index.tsx │ │ │ └── Tags/ │ │ │ └── index.tsx │ │ ├── hooks/ │ │ │ ├── useChatModel.ts │ │ │ ├── useColumns.tsx │ │ │ ├── useData.ts │ │ │ ├── useInit.ts │ │ │ ├── useJson.ts │ │ │ └── useTable.tsx │ │ ├── icons/ │ │ │ └── SplitIcon.tsx │ │ ├── layout/ │ │ │ ├── index.scss │ │ │ └── index.tsx │ │ ├── main.scss │ │ ├── main.tsx │ │ ├── routes.tsx │ │ ├── utils.ts │ │ ├── view/ │ │ │ ├── about/ │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ │ ├── awesome/ │ │ │ │ ├── Form.tsx │ │ │ │ ├── config.tsx │ │ │ │ └── index.tsx │ │ │ ├── dashboard/ │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ │ ├── download/ │ │ │ │ ├── config.tsx │ │ │ │ └── index.tsx │ │ │ ├── markdown/ │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ │ ├── model/ │ │ │ │ ├── SyncCustom/ │ │ │ │ │ ├── Form.tsx │ │ │ │ │ ├── config.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── SyncPrompts/ │ │ │ │ │ ├── config.tsx │ │ │ │ │ ├── index.scss │ │ │ │ │ └── index.tsx │ │ │ │ ├── SyncRecord/ │ │ │ │ │ ├── config.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── UserCustom/ │ │ │ │ ├── Form.tsx │ │ │ │ ├── config.tsx │ │ │ │ └── index.tsx │ │ │ ├── notes/ │ │ │ │ ├── config.tsx │ │ │ │ └── index.tsx │ │ │ └── settings/ │ │ │ ├── General.tsx │ │ │ ├── LangHelper.tsx │ │ │ ├── MainWindow.tsx │ │ │ ├── Speakers.ts │ │ │ ├── TrayWindow.tsx │ │ │ └── index.tsx │ │ └── vite-env.d.ts │ ├── src-tauri/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── icons/ │ │ │ └── icon.icns │ │ ├── src/ │ │ │ ├── app/ │ │ │ │ ├── cmd.rs │ │ │ │ ├── cors.rs │ │ │ │ ├── fs_extra.rs │ │ │ │ ├── gpt.rs │ │ │ │ ├── menu.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── setup.rs │ │ │ │ └── window.rs │ │ │ ├── conf.rs │ │ │ ├── main.rs │ │ │ ├── scripts/ │ │ │ │ ├── chat.js │ │ │ │ ├── cmd.js │ │ │ │ ├── core.js │ │ │ │ ├── dalle2.js │ │ │ │ ├── export.js │ │ │ │ ├── markdown.export.js │ │ │ │ └── popup.core.js │ │ │ ├── utils.rs │ │ │ └── vendors/ │ │ │ ├── floating-ui-core.js │ │ │ ├── floating-ui-dom.js │ │ │ ├── html2canvas.js │ │ │ ├── jspdf.js │ │ │ ├── turndown-plugin-gfm.js │ │ │ └── turndown.js │ │ └── tauri.conf.json │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts ├── LICENSE ├── LangHelper/ │ ├── Assess/ │ │ ├── IflytekAssessment.py │ │ ├── SpeechSuper.py │ │ └── __init__.py │ ├── Recognition/ │ │ ├── IflytekRec.py │ │ └── __init__.py │ ├── Resource/ │ │ ├── cn/ │ │ │ ├── read_sentence_cn.pcm │ │ │ ├── read_sentence_cn.txt │ │ │ ├── read_syllable_cn.pcm │ │ │ └── read_syllable_cn.txt │ │ ├── en/ │ │ │ ├── oral_translation_en.pcm │ │ │ ├── oral_translation_en.txt │ │ │ ├── picture_talk_en.pcm │ │ │ ├── picture_talk_en.txt │ │ │ ├── read_choice_en.pcm │ │ │ ├── read_choice_en.txt │ │ │ ├── read_sentence_en.pcm │ │ │ ├── read_sentence_en.txt │ │ │ ├── read_word_en.pcm │ │ │ ├── read_word_en.txt │ │ │ ├── retell_en.pcm │ │ │ ├── retell_en.txt │ │ │ ├── topic_en.pcm │ │ │ └── topic_en.txt │ │ ├── rec/ │ │ │ └── realtime.pcm │ │ ├── speaker-info.txt │ │ └── tts_models--en--vctk--vits/ │ │ ├── config.json │ │ └── speaker_ids.json │ ├── main.py │ └── recoder.py └── README.md