Skip to content

RasyaAndrean/DAXX-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿค– DAXX AI - Advanced AI Assistant Interface

A modern AI assistant application built with React, Vite, and Tailwind CSS. This application features a complete chat interface with multi-chat support, file attachments, AI model selection, deep research tools, and API key management.

License React Vite Tailwind


โœจ Key Features

๐Ÿ’ฌ Chat Management

  • โœ… Multi-chat support with unlimited conversations
  • โœ… Rename chats with double-click or edit button
  • โœ… Delete individual chats
  • โœ… Clear all history with confirmation
  • โœ… Auto-save chat history using localStorage
  • โœ… Automatic chat titles from first message

๐Ÿ“Ž File Attachments

  • โœ… Upload various file types:
    • ๐Ÿ“ท Images (JPG, PNG, GIF)
    • ๐Ÿ“„ Documents (PDF, DOC, TXT)
    • ๐ŸŽฌ Videos (MP4, MOV, AVI)
    • ๐ŸŽต Audio (MP3, WAV, OGG)
    • ๐Ÿ“ Other files (All types)
  • โœ… Multi-file upload
  • โœ… File preview with icons and sizes
  • โœ… Remove attached files before sending

๐ŸŽฏ Mode & Model Selection

  • โœ… 6 Chat Modes:
    • ๐Ÿ“ General Mode - General conversation
    • ๐Ÿ’ป Coding Mode - Programming focused
    • โœ๏ธ Writing Mode - Creative writing and content
    • ๐Ÿ” Research Mode - Academic research
    • ๐ŸŒ Translation Mode - Language translation
    • ๐Ÿ“Š Analysis Mode - Data analysis
  • โœ… 12 AI Models:
    • GPT-4 (OpenAI)
    • GPT-3.5 Turbo (OpenAI)
    • Claude 3 (Anthropic)
    • Claude 2 (Anthropic)
    • Gemini Pro (Google)
    • Llama 2 (Meta)
    • Mistral 7B (Mistral AI)
    • Mixtral 8x7B (Mistral AI)
    • PaLM 2 (Google)
    • Llama 3 (Meta)
    • Command R (Cohere)
    • Command R+ (Cohere)

๐Ÿ” Deep Research Tools

  • โœ… Research Assistant - Advanced query tool
  • โœ… Data Analysis - Research data processing
  • โœ… Knowledge Base - Information repository
  • โœ… Ideas Generator - Creative brainstorming

๐Ÿ”‘ API Keys Management

  • โœ… Store up to 10 API keys
  • โœ… Support for multiple providers (OpenAI, Anthropic, Google, etc)
  • โœ… API key masking for security
  • โœ… Add/Delete API keys
  • โœ… Display creation date

โš™๏ธ Settings & Customization

  • โœ… Theme selector (Dark/Light/Auto)
  • โœ… Font size adjustment (Small/Medium/Large)
  • โœ… Stream response toggle
  • โœ… Sound effects toggle

๐Ÿš€ Installation

Prerequisites

Make sure you have installed:

  • Node.js (v14 or newer)
  • npm or yarn

Installation Steps

  1. Clone Repository
git clone https://github.com/yourusername/daxx-ai.git
cd daxx-ai
  1. Install Dependencies
npm install
# or
yarn install
  1. Run the Development Server
npm run dev
# or
yarn dev

The application will be available at http://localhost:5173


๐Ÿ“ Project Structure

daxx-ai/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ modals/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ApiKeysModal.jsx
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ SettingsModal.jsx
โ”‚   โ”‚   โ”œโ”€โ”€ Sidebar.jsx
โ”‚   โ”‚   โ”œโ”€โ”€ ChatArea.jsx
โ”‚   โ”‚   โ””โ”€โ”€ ChatInterface.jsx
โ”‚   โ”œโ”€โ”€ context/
โ”‚   โ”‚   โ””โ”€โ”€ ChatContext.jsx
โ”‚   โ”œโ”€โ”€ hooks/
โ”‚   โ”‚   โ””โ”€โ”€ useAttachedFiles.js
โ”‚   โ”œโ”€โ”€ utils/
โ”‚   โ”‚   โ””โ”€โ”€ helpers.js
โ”‚   โ”œโ”€โ”€ styles/
โ”‚   โ”‚   โ””โ”€โ”€ index.css
โ”‚   โ”œโ”€โ”€ App.jsx
โ”‚   โ””โ”€โ”€ main.jsx
โ”œโ”€โ”€ public/
โ”‚   โ””โ”€โ”€ index.html
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ vite.config.js
โ”œโ”€โ”€ tailwind.config.js
โ”œโ”€โ”€ postcss.config.js
โ””โ”€โ”€ README.md

๐ŸŽจ Technologies Used

Technology Version Description
React 18.x UI Framework
Vite 4.x Build Tool
Tailwind CSS 3.x Utility-first CSS
Lucide React Latest Icon library
React Hooks - State & Effect management

๐Ÿ’ก Usage

1. Create New Chat

  • Click the "New Chat" button in the left sidebar
  • A new chat opens automatically with the title "New Chat"

2. Send Message

  • Type your message in the input box
  • Press Enter or click the Send button (โœˆ๏ธ)
  • DAXX will respond in 1 second (simulation)

3. Attach File

  • Click the Paperclip icon (๐Ÿ“Ž)
  • Choose the file type you want to upload
  • Files will appear above the input box
  • Click X to remove files

4. Change Mode

  • Click the mode dropdown (๐Ÿ“ General by default)
  • Select the desired mode
  • Icon and color will change according to mode

5. Select AI Model

  • Click the model dropdown below the input (default: GPT-4)
  • Choose from 12 available AI models
  • Active model is marked with a checkmark โœ“

6. Deep Research Tools

  • Click "Research Assistant" in the sidebar
  • Enter your research query
  • Select data sources and analysis tools

7. Manage API Keys

  • Click "API Keys" in the bottom sidebar
  • Enter provider name and API key
  • Click "Add API Key"
  • Maximum of 10 keys

8. Clear History

  • Click the 3 dots (โ‹ฎ) next to "New Chat"
  • Select "Clear History"
  • Confirm deletion

9. Settings

  • Click "Settings" in the bottom sidebar
  • Adjust theme, font size, and other preferences
  • Click "Save Settings"

๐Ÿ”ง Customization

Changing Theme Colors

Edit in tailwind.config.js:

module.exports = {
  theme: {
    extend: {
      colors: {
        primary: '#yourcolor',
      }
    }
  }
}

Adding New AI Models

Edit the aiModels array in ChatInterface.jsx:

const aiModels = [
  { 
    id: 'new-model', 
    name: 'Model Name', 
    provider: 'Provider', 
    description: 'Description' 
  }
];

Adding New Modes

Edit the modes array in ChatInterface.jsx:

const modes = [
  { 
    id: 'new-mode', 
    name: 'Mode Name', 
    icon: IconComponent, 
    color: 'color-class' 
  }
];

Integrating with Real AI APIs

Replace the handleSend() function in ChatInterface.jsx:

const handleSend = async () => {
  // ... existing code
  
  const response = await fetch('YOUR_API_ENDPOINT', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${apiKey}`
    },
    body: JSON.stringify({ message: input })
  });
  
  const data = await response.json();
  // Handle response
};

๐ŸŽฏ Upcoming Features

  • Markdown support for AI messages
  • Code syntax highlighting
  • Export chat to PDF/TXT
  • Search in chat history
  • Voice input
  • Image generation integration
  • Multi-language support
  • Dark/Light theme auto-switch
  • Keyboard shortcuts
  • Chat folders/categories

๐Ÿ› Known Issues

  1. File Upload - Currently only simulation, files are not actually uploaded
  2. AI Response - Still using dummy/simulation responses
  3. API Keys - Not persistently stored (lost on reload)
  4. Settings - No persistence storage yet

๐Ÿค Contributing

Contributions are welcome! Please:

  1. Fork this repository
  2. Create a new branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add some AmazingFeature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Create a Pull Request

๐Ÿ“ License

Distributed under the MIT License. See LICENSE for more information.


๐Ÿ‘จโ€๐Ÿ’ป Author

Rasya Andrean


๐Ÿ™ Acknowledgments


๐Ÿ“ž Support

If you have questions or issues:


๐Ÿ“Š Stats

GitHub stars GitHub forks GitHub issues


โญ Don't forget to give a star if this project helps you!

Made with โค๏ธ by [Rasya Andrean]

About

modern AI assistant application built with React, Vite, and Tailwind CSS. This application features a complete chat interface with multi-chat support, file attachments, AI model selection, deep research tools, and API key management.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages