{"id":30020095,"url":"https://github.com/akdevv/task-automation-assistant","last_synced_at":"2025-09-01T20:11:19.404Z","repository":{"id":301029026,"uuid":"1007804652","full_name":"akdevv/task-automation-assistant","owner":"akdevv","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-24T19:22:03.000Z","size":73,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-24T20:31:10.628Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akdevv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-24T14:54:29.000Z","updated_at":"2025-06-24T19:22:06.000Z","dependencies_parsed_at":"2025-06-24T20:43:07.236Z","dependency_job_id":null,"html_url":"https://github.com/akdevv/task-automation-assistant","commit_stats":null,"previous_names":["akdevv/task-automation-assistant"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/akdevv/task-automation-assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akdevv%2Ftask-automation-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akdevv%2Ftask-automation-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akdevv%2Ftask-automation-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akdevv%2Ftask-automation-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akdevv","download_url":"https://codeload.github.com/akdevv/task-automation-assistant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akdevv%2Ftask-automation-assistant/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269005368,"owners_count":24343377,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-06T01:39:24.420Z","updated_at":"2025-08-06T01:39:29.421Z","avatar_url":"https://github.com/akdevv.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Task Automation Assistant\n\nAn intelligent AI-powered chat application that can automate various tasks through specialized tools. Built with Next.js and powered by Groq's Gemma2-9B model, this assistant can help users with calculations, weather information, file analysis, and more through natural conversation.\n\n## 🤖 About the Project\n\nThe Task Automation Assistant is a conversational AI that intelligently determines when to use specific tools to help users accomplish tasks. Instead of just providing text responses, the assistant can:\n\n- **Analyze user requests** to determine if specialized tools are needed\n- **Execute appropriate tools** automatically based on the conversation context\n- **Provide real-time streaming responses** for a smooth user experience\n- **Handle file uploads** and analyze various file formats\n\n### AI Agents and Tools\n\nThe system uses a sophisticated two-step AI process:\n\n1. **Tool Analysis Agent**: Analyzes incoming messages to determine if any tools are needed and which ones to use\n2. **Response Generation Agent**: Generates natural language responses incorporating tool results\n\n#### Available Tools\n\n🌤️ **Weather Tool**\n- Get current weather information for any location worldwide\n- Provides temperature, humidity, wind speed, and weather conditions\n- Uses OpenWeatherMap API for accurate, real-time data\n\n🧮 **Calculator Tool**\n- Perform mathematical calculations and arithmetic operations\n- Supports basic operations (+, -, *, /, %, parentheses)\n- Safe expression evaluation with input validation\n\n📄 **File Reader Tool**\n- Analyze uploaded files including JSON, CSV, text, and markdown\n- Automatic file type detection and parsing\n- Provides structure analysis, summaries, and content previews\n- Supports various analysis modes (analyze, summarize, extract)\n\n## 🛠️ Technologies Used\n\n### Frontend\n- **Next.js 15** - React framework with App Router\n- **React 19** - UI library with latest features\n- **TypeScript** - Type-safe development\n- **Tailwind CSS 4** - Utility-first CSS framework\n- **shadcn/ui** - Beautiful, accessible UI components\n- **Lucide React** - Icon library\n\n### Backend \u0026 AI\n- **Groq SDK** - AI inference with Gemma2-9B model\n- **Next.js API Routes** - Serverless API endpoints\n- **Edge Runtime** - Fast, lightweight execution environment\n- **Server-Sent Events** - Real-time streaming responses\n\n### Development Tools\n- **ESLint** - Code linting and formatting\n- **PostCSS** - CSS processing\n- **Bun** - Fast package manager and runtime\n\n## 🚀 Running Locally\n\n### Prerequisites\n- Node.js 18+ or Bun\n- A Groq API key (free at [console.groq.com](https://console.groq.com))\n- OpenWeatherMap API key (optional, for weather functionality)\n\n### Installation Steps\n\n1. **Clone the repository**\n   ```bash\n   git clone \u003crepository-url\u003e\n   cd task-automation-assistant\n   ```\n\n2. **Install dependencies**\n   ```bash\n   # Using bun (recommended)\n   bun install\n   \n   # Or using npm\n   npm install\n   ```\n\n3. **Set up environment variables**\n   \n   Create a `.env.local` file in the root directory:\n   ```env\n   # Required: Groq API key for AI functionality\n   GROQ_API_KEY=your_groq_api_key_here\n   \n   # Optional: OpenWeatherMap API key for weather tool\n   OPENWEATHER_API_KEY=your_openweather_api_key_here\n   ```\n\n4. **Start the development server**\n   ```bash\n   # Using bun\n   bun dev\n   \n   # Or using npm\n   npm run dev\n   ```\n\n5. **Open your browser**\n   \n   Navigate to [http://localhost:3000](http://localhost:3000) to start using the assistant.\n\n### Getting API Keys\n\n**Groq API Key (Required)**\n1. Visit [console.groq.com](https://console.groq.com)\n2. Sign up for a free account\n3. Navigate to API Keys section\n4. Create a new API key\n\n**OpenWeatherMap API Key (Optional)**\n1. Visit [openweathermap.org](https://openweathermap.org/api)\n2. Sign up for a free account\n3. Generate an API key from your dashboard\n\n## 📝 Usage\n\n1. **Start a conversation** - Type any message to begin\n2. **Upload files** - Drag and drop or click to upload files for analysis\n3. **Ask for calculations** - Request math operations naturally\n4. **Check weather** - Ask about weather in any location\n5. **Get help** - The AI will automatically determine which tools to use\n\n### Example Interactions\n\n- \"What's the weather like in Tokyo?\"\n- \"Calculate 15% tip on a $45.67 bill\"\n- \"Analyze this CSV file\" (with file upload)\n- \"What's 2^10 + 5 * 3?\"\n\n## 🏗️ Project Structure\n\n```\n├── app/                 # Next.js app directory\n│   ├── api/chat/       # Chat API endpoint\n│   ├── globals.css     # Global styles\n│   ├── layout.tsx      # Root layout\n│   └── page.tsx        # Main chat interface\n├── components/         # React components\n│   ├── ui/            # shadcn/ui components\n│   ├── chat-bubble.tsx\n│   ├── chat-input.tsx\n│   └── welcome-screen.tsx\n├── lib/               # Core library code\n│   ├── ai/           # AI service and prompts\n│   ├── tools/        # Tool definitions and registry\n│   └── utils.ts      # Utility functions\n└── types/            # TypeScript type definitions\n```\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is open source and available under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakdevv%2Ftask-automation-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakdevv%2Ftask-automation-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakdevv%2Ftask-automation-assistant/lists"}