{"id":29619261,"url":"https://github.com/janole/chat-bandit","last_synced_at":"2026-04-29T22:39:42.080Z","repository":{"id":305104639,"uuid":"1008293310","full_name":"janole/chat-bandit","owner":"janole","description":"The friendly and powerful desktop AI chatbot supporting both local and cloud AI models","archived":false,"fork":false,"pushed_at":"2025-07-18T09:31:47.000Z","size":7863,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-18T11:23:04.915Z","etag":null,"topics":["chatbot","electron","llama-cpp","llm","node-llama-cpp","ollama","ollama-api","openai","openai-api"],"latest_commit_sha":null,"homepage":"https://chatbandit.de","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/janole.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-25T10:18:18.000Z","updated_at":"2025-07-18T09:10:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"c55375ab-516d-4c6f-8f60-4edf48179f56","html_url":"https://github.com/janole/chat-bandit","commit_stats":null,"previous_names":["janole/chat-bandit"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/janole/chat-bandit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janole%2Fchat-bandit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janole%2Fchat-bandit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janole%2Fchat-bandit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janole%2Fchat-bandit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/janole","download_url":"https://codeload.github.com/janole/chat-bandit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janole%2Fchat-bandit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266231761,"owners_count":23896472,"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","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":["chatbot","electron","llama-cpp","llm","node-llama-cpp","ollama","ollama-api","openai","openai-api"],"created_at":"2025-07-21T03:01:08.743Z","updated_at":"2025-10-07T19:14:15.734Z","avatar_url":"https://github.com/janole.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Welcome to Chat Bandit\n\n**Chat Bandit** is an open-source, privacy-focused desktop AI assistant supporting both local and cloud AI models. It integrates local LLMs such as Ollama and llama.cpp and connects to cloud providers like OpenAI, Google AI, and OpenRouter, offering a seamless and customizable AI chatbot experience.\n\n![Screenshot of the main interface of Chat Bandit running on a MacBook Pro](https://chatbandit.de/screenshot-light.png)\n\n---\n\n## Repository Structure\n\n- **[`apps`](./apps)**\n  - [`electron`](./apps/electron): Desktop Electron app with React-based UI.\n  - [`landing-page`](./apps/landing-page): Next.js based landing page for the project.\n- **[packages](./packages)**\n  - [`ai-core`](./packages/ai-core): Core AI logic and types.\n  - [`ai-chat`](./packages/ai-chat): React components and hooks for chat UI.\n  - [`ai-electron`](./packages/ai-electron): Electron IPC and backend integration.\n  - [`basic-app`](./packages/basic-app): UI primitives and layout components.\n  - [`try-catch`](./packages/try-catch): Utility for error handling.\n\n---\n\n## Features (in progress)\n\n- Cross-platform Electron desktop app with smooth UI.\n- Support for local AI models (llama.cpp, Ollama).\n- Integration with cloud AI providers (OpenAI, Google AI, OpenRouter).\n- Model management UI and download handling.\n- Rich markdown chat interface with image support.\n- Privacy-first design: all data stored locally.\n- Auto-updates and multi-window support.\n\n---\n\n## Getting Started\n\n### Electron App\n```bash\ncd apps/electron\nnpm install\nnpm run dev\n```\n\n### Landing Page\n```bash\ncd apps/landing-page\nnpm install\nnpm run dev\n```\n\n---\n\n## Notes\n\n- This project is a **work in progress**.\n- APIs, UI, and features may change frequently.\n- Contributions and feedback are welcome!\n\n---\n\n## License\n\nThis project is open-source and licensed under the MIT License.\n\n---\n\nCreated and maintained by Jan Ole Suhr | [https://janole.com](https://janole.com) | info@chatbandit.de","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanole%2Fchat-bandit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanole%2Fchat-bandit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanole%2Fchat-bandit/lists"}