├── .editorconfig ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .husky ├── commit-msg └── pre-commit ├── .prettierrc.json ├── .vscode └── settings.json ├── README.md ├── commitlint.config.js ├── config ├── env.js ├── getHttpsConfig.js ├── jest │ ├── babelTransform.js │ ├── cssTransform.js │ └── fileTransform.js ├── modules.js ├── paths.js ├── webpack.config.js ├── webpack │ └── persistentCache │ │ └── createEnvironmentHash.js └── webpackDevServer.config.js ├── files └── welcome.webp ├── package.json ├── pnpm-lock.yaml ├── postcss.config.js ├── public ├── favicon.png ├── getUserMedia.js ├── index.html └── robots.txt ├── scripts ├── build.js ├── start.js └── test.js ├── src ├── App.tsx ├── components │ ├── AssistantConfig │ │ └── index.tsx │ ├── AssistantSelect │ │ └── index.tsx │ ├── EdittableText │ │ ├── index.spec.tsx │ │ └── index.tsx │ ├── Markdown │ │ ├── index.module.css │ │ └── index.tsx │ ├── Message │ │ ├── MessageContent.tsx │ │ ├── index.tsx │ │ └── message.css │ ├── NavHeader │ │ └── index.tsx │ ├── Session │ │ └── index.tsx │ ├── SessionSelect │ │ ├── index.tsx │ │ └── style.css │ ├── Setting │ │ └── index.tsx │ ├── ThemeSwitch │ │ └── index.tsx │ └── Voice │ │ └── index.tsx ├── dbs │ ├── assistantStore.ts │ ├── audioStore.ts │ ├── db.ts │ ├── initAssistant.ts │ ├── messageStore.ts │ └── sessionStore.ts ├── index.css ├── index.tsx ├── pages │ ├── assistant │ │ └── index.tsx │ └── home │ │ └── index.tsx ├── react-app-env.d.ts ├── setupTests.ts ├── styles │ ├── example.scss │ └── globals.css ├── types │ ├── global.d.ts │ └── index.ts └── utils │ ├── chatService.ts │ ├── constant.ts │ ├── context.ts │ ├── device.ts │ ├── event.ts │ ├── hooks.ts │ ├── openAI.ts │ └── utils.ts ├── tailwind.config.js └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/.husky/commit-msg -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx lint-staged # 校验 5 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/.prettierrc.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/README.md -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: ['@commitlint/config-conventional'] }; 2 | -------------------------------------------------------------------------------- /config/env.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/config/env.js -------------------------------------------------------------------------------- /config/getHttpsConfig.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/config/getHttpsConfig.js -------------------------------------------------------------------------------- /config/jest/babelTransform.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/config/jest/babelTransform.js -------------------------------------------------------------------------------- /config/jest/cssTransform.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/config/jest/cssTransform.js -------------------------------------------------------------------------------- /config/jest/fileTransform.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/config/jest/fileTransform.js -------------------------------------------------------------------------------- /config/modules.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/config/modules.js -------------------------------------------------------------------------------- /config/paths.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/config/paths.js -------------------------------------------------------------------------------- /config/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/config/webpack.config.js -------------------------------------------------------------------------------- /config/webpack/persistentCache/createEnvironmentHash.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/config/webpack/persistentCache/createEnvironmentHash.js -------------------------------------------------------------------------------- /config/webpackDevServer.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/config/webpackDevServer.config.js -------------------------------------------------------------------------------- /files/welcome.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/files/welcome.webp -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/postcss.config.js -------------------------------------------------------------------------------- /public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/public/favicon.png -------------------------------------------------------------------------------- /public/getUserMedia.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/public/getUserMedia.js -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/public/index.html -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/public/robots.txt -------------------------------------------------------------------------------- /scripts/build.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/scripts/build.js -------------------------------------------------------------------------------- /scripts/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/scripts/start.js -------------------------------------------------------------------------------- /scripts/test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/scripts/test.js -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/App.tsx -------------------------------------------------------------------------------- /src/components/AssistantConfig/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/AssistantConfig/index.tsx -------------------------------------------------------------------------------- /src/components/AssistantSelect/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/AssistantSelect/index.tsx -------------------------------------------------------------------------------- /src/components/EdittableText/index.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/EdittableText/index.spec.tsx -------------------------------------------------------------------------------- /src/components/EdittableText/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/EdittableText/index.tsx -------------------------------------------------------------------------------- /src/components/Markdown/index.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/Markdown/index.module.css -------------------------------------------------------------------------------- /src/components/Markdown/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/Markdown/index.tsx -------------------------------------------------------------------------------- /src/components/Message/MessageContent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/Message/MessageContent.tsx -------------------------------------------------------------------------------- /src/components/Message/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/Message/index.tsx -------------------------------------------------------------------------------- /src/components/Message/message.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/Message/message.css -------------------------------------------------------------------------------- /src/components/NavHeader/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/NavHeader/index.tsx -------------------------------------------------------------------------------- /src/components/Session/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/Session/index.tsx -------------------------------------------------------------------------------- /src/components/SessionSelect/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/SessionSelect/index.tsx -------------------------------------------------------------------------------- /src/components/SessionSelect/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/SessionSelect/style.css -------------------------------------------------------------------------------- /src/components/Setting/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/Setting/index.tsx -------------------------------------------------------------------------------- /src/components/ThemeSwitch/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/ThemeSwitch/index.tsx -------------------------------------------------------------------------------- /src/components/Voice/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/components/Voice/index.tsx -------------------------------------------------------------------------------- /src/dbs/assistantStore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/dbs/assistantStore.ts -------------------------------------------------------------------------------- /src/dbs/audioStore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/dbs/audioStore.ts -------------------------------------------------------------------------------- /src/dbs/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/dbs/db.ts -------------------------------------------------------------------------------- /src/dbs/initAssistant.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/dbs/initAssistant.ts -------------------------------------------------------------------------------- /src/dbs/messageStore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/dbs/messageStore.ts -------------------------------------------------------------------------------- /src/dbs/sessionStore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/dbs/sessionStore.ts -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/index.css -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/index.tsx -------------------------------------------------------------------------------- /src/pages/assistant/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/pages/assistant/index.tsx -------------------------------------------------------------------------------- /src/pages/home/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/pages/home/index.tsx -------------------------------------------------------------------------------- /src/react-app-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/react-app-env.d.ts -------------------------------------------------------------------------------- /src/setupTests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/setupTests.ts -------------------------------------------------------------------------------- /src/styles/example.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/styles/example.scss -------------------------------------------------------------------------------- /src/styles/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/styles/globals.css -------------------------------------------------------------------------------- /src/types/global.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/types/global.d.ts -------------------------------------------------------------------------------- /src/types/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/types/index.ts -------------------------------------------------------------------------------- /src/utils/chatService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/utils/chatService.ts -------------------------------------------------------------------------------- /src/utils/constant.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/utils/constant.ts -------------------------------------------------------------------------------- /src/utils/context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/utils/context.ts -------------------------------------------------------------------------------- /src/utils/device.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/utils/device.ts -------------------------------------------------------------------------------- /src/utils/event.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/utils/event.ts -------------------------------------------------------------------------------- /src/utils/hooks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/utils/hooks.ts -------------------------------------------------------------------------------- /src/utils/openAI.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/utils/openAI.ts -------------------------------------------------------------------------------- /src/utils/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/src/utils/utils.ts -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/tailwind.config.js -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guojingwen/ai-teacher/HEAD/tsconfig.json --------------------------------------------------------------------------------