├── .DS_Store ├── LICENSE ├── README.md └── dual-ai-chat ├── .gitignore ├── App.tsx ├── README.md ├── components ├── AlertBanner.tsx ├── App.tsx ├── AppSettingsDialog.tsx ├── ChatInput.tsx ├── ChatPanel.tsx ├── Header.tsx ├── MessageBubble.tsx ├── ModelSelector.tsx ├── Notepad.tsx ├── ResizeHandle.tsx ├── SettingsModal.tsx └── settings │ ├── AboutSettings.tsx │ ├── ApiSettings.tsx │ ├── AppearanceSettings.tsx │ ├── DiscussionSettings.tsx │ ├── PersonaSettings.tsx │ └── ThinkingControl.tsx ├── constants.ts ├── hooks ├── useAppController.ts ├── useAppUI.ts ├── useChatLogic.ts ├── useChatProcessing.ts ├── useChatState.ts ├── useDiscussionLoop.ts ├── useNotepadLogic.ts ├── useRetryLogic.ts ├── useSettings.ts └── useStepExecutor.ts ├── index.html ├── index.tsx ├── metadata.json ├── package.json ├── services ├── geminiService.ts └── openaiService.ts ├── tsconfig.json ├── types.ts ├── utils ├── aiResponseParser.ts ├── appUtils.ts ├── commonUtils.ts ├── markdownUtils.ts ├── messageUtils.ts ├── notepadUtils.ts └── promptBuilder.ts └── vite.config.ts /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/.DS_Store -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/README.md -------------------------------------------------------------------------------- /dual-ai-chat/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/.gitignore -------------------------------------------------------------------------------- /dual-ai-chat/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/App.tsx -------------------------------------------------------------------------------- /dual-ai-chat/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/README.md -------------------------------------------------------------------------------- /dual-ai-chat/components/AlertBanner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/AlertBanner.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/App.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/AppSettingsDialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/AppSettingsDialog.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/ChatInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/ChatInput.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/ChatPanel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/ChatPanel.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/Header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/Header.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/MessageBubble.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/MessageBubble.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/ModelSelector.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/ModelSelector.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/Notepad.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/Notepad.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/ResizeHandle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/ResizeHandle.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/SettingsModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/SettingsModal.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/settings/AboutSettings.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/settings/AboutSettings.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/settings/ApiSettings.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/settings/ApiSettings.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/settings/AppearanceSettings.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/settings/AppearanceSettings.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/settings/DiscussionSettings.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/settings/DiscussionSettings.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/settings/PersonaSettings.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/settings/PersonaSettings.tsx -------------------------------------------------------------------------------- /dual-ai-chat/components/settings/ThinkingControl.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/components/settings/ThinkingControl.tsx -------------------------------------------------------------------------------- /dual-ai-chat/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/constants.ts -------------------------------------------------------------------------------- /dual-ai-chat/hooks/useAppController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/hooks/useAppController.ts -------------------------------------------------------------------------------- /dual-ai-chat/hooks/useAppUI.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/hooks/useAppUI.ts -------------------------------------------------------------------------------- /dual-ai-chat/hooks/useChatLogic.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/hooks/useChatLogic.ts -------------------------------------------------------------------------------- /dual-ai-chat/hooks/useChatProcessing.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/hooks/useChatProcessing.ts -------------------------------------------------------------------------------- /dual-ai-chat/hooks/useChatState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/hooks/useChatState.ts -------------------------------------------------------------------------------- /dual-ai-chat/hooks/useDiscussionLoop.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/hooks/useDiscussionLoop.ts -------------------------------------------------------------------------------- /dual-ai-chat/hooks/useNotepadLogic.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/hooks/useNotepadLogic.ts -------------------------------------------------------------------------------- /dual-ai-chat/hooks/useRetryLogic.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/hooks/useRetryLogic.ts -------------------------------------------------------------------------------- /dual-ai-chat/hooks/useSettings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/hooks/useSettings.ts -------------------------------------------------------------------------------- /dual-ai-chat/hooks/useStepExecutor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/hooks/useStepExecutor.ts -------------------------------------------------------------------------------- /dual-ai-chat/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/index.html -------------------------------------------------------------------------------- /dual-ai-chat/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/index.tsx -------------------------------------------------------------------------------- /dual-ai-chat/metadata.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/metadata.json -------------------------------------------------------------------------------- /dual-ai-chat/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/package.json -------------------------------------------------------------------------------- /dual-ai-chat/services/geminiService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/services/geminiService.ts -------------------------------------------------------------------------------- /dual-ai-chat/services/openaiService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/services/openaiService.ts -------------------------------------------------------------------------------- /dual-ai-chat/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/tsconfig.json -------------------------------------------------------------------------------- /dual-ai-chat/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/types.ts -------------------------------------------------------------------------------- /dual-ai-chat/utils/aiResponseParser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/utils/aiResponseParser.ts -------------------------------------------------------------------------------- /dual-ai-chat/utils/appUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/utils/appUtils.ts -------------------------------------------------------------------------------- /dual-ai-chat/utils/commonUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/utils/commonUtils.ts -------------------------------------------------------------------------------- /dual-ai-chat/utils/markdownUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/utils/markdownUtils.ts -------------------------------------------------------------------------------- /dual-ai-chat/utils/messageUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/utils/messageUtils.ts -------------------------------------------------------------------------------- /dual-ai-chat/utils/notepadUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/utils/notepadUtils.ts -------------------------------------------------------------------------------- /dual-ai-chat/utils/promptBuilder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/utils/promptBuilder.ts -------------------------------------------------------------------------------- /dual-ai-chat/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yeahhe365/Dual-AI-Chat/HEAD/dual-ai-chat/vite.config.ts --------------------------------------------------------------------------------