{"id":20738502,"url":"https://github.com/led-mirage/zundagpt2","last_synced_at":"2026-02-15T10:22:37.062Z","repository":{"id":222051161,"uuid":"756109922","full_name":"led-mirage/ZundaGPT2","owner":"led-mirage","description":"簡単に言うとVOICEVOXやA.I.VOICEのキャラの声でChatGPTとチャットできるアプリなのだ","archived":false,"fork":false,"pushed_at":"2025-03-06T13:58:45.000Z","size":18110,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-24T01:47:29.472Z","etag":null,"topics":["aivoice","anthropic-claude","chat-client","chatgpt","claude","claude-3-5-sonnet","coeiroink","gemini","gemini-api","google-gemini","openai","text-to-speech","voicevox"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/led-mirage.png","metadata":{"files":{"readme":"Readme.en.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-02-12T00:28:07.000Z","updated_at":"2025-03-06T13:57:02.000Z","dependencies_parsed_at":"2024-02-13T15:08:03.607Z","dependency_job_id":"7418c97c-89f3-4d12-afde-9846e87a5416","html_url":"https://github.com/led-mirage/ZundaGPT2","commit_stats":null,"previous_names":["led-mirage/zundagpt2"],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/led-mirage%2FZundaGPT2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/led-mirage%2FZundaGPT2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/led-mirage%2FZundaGPT2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/led-mirage%2FZundaGPT2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/led-mirage","download_url":"https://codeload.github.com/led-mirage/ZundaGPT2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250546037,"owners_count":21448255,"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":["aivoice","anthropic-claude","chat-client","chatgpt","claude","claude-3-5-sonnet","coeiroink","gemini","gemini-api","google-gemini","openai","text-to-speech","voicevox"],"created_at":"2024-11-17T06:18:43.115Z","updated_at":"2026-02-15T10:22:37.056Z","avatar_url":"https://github.com/led-mirage.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"assets/ZundaGPT2.ico\" width=\"48\"\u003e ZundaGPT2\n\n[![GitHub All Releases](https://img.shields.io/github/downloads/led-mirage/ZundaGPT2/total?color=blue)](https://github.com/led-mirage/ZundaGPT2/releases)\n[![GitHub release](https://img.shields.io/github/v/release/led-mirage/ZundaGPT2)](https://github.com/led-mirage/ZundaGPT2/releases)\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![OpenAI API](https://img.shields.io/badge/OpenAI-GPT-crimson?logo=openai)](https://platform.openai.com/)\n[![Anthropic Claude](https://img.shields.io/badge/Anthropic-Claude-crimson?logo=anthropic)](https://www.anthropic.com/)\n[![Google Gemini](https://img.shields.io/badge/Google-Gemini-crimson?logo=google)](https://ai.google.dev/)\n\nCopyright (c) 2024-2026 led-mirage\n\n[Japanese](Readme.md)\n\n## 💎 What's ZundaGPT2?\n\nZundaGPT2 is an AI chat client that lets you customize characters and the interface to your liking.\nIt can also work with tools like VOICEVOX and COEIROINK to read questions and answers aloud in real time.\"\n\n## 💎 Screenshot\n\n↓ Customization example (background image generated by AI)  \n\u003cimg src=\"doc/images/screenshot_1.37.0.png\" width=\"600\" /\u003e\u003cbr\u003e\n\n## 💎 Download\n\n🚀 [Get the latest version here](https://led-mirage.github.io/ZundaGPT2Lite/)\n\n\u003cdiv class=\"page\" /\u003e\n\n## 💎 Overview\n\nHere are the key features of this app ✨\n\n- Supports three major AI services (OpenAI, Gemini, Claude) as well as local LLMs\n- Markdown rendering and TeX-style math formula display\n- Character customization\n- UI/theme customization\n- Automatic message text-to-speech\n- Chat history management\n- Printing support\n- Replay feature\n- Multi-platform support (Windows / Linux / Raspberry Pi)\n\n※ Local LLMs must be compatible with the OpenAI API  \n※ Linux Mint supported (Cinnamon / x64, Japanese input via IBus only, printing not supported)  \n※ Raspberry Pi supported (X11 / LXDE, Japanese input via IBus only, printing not supported)\n\n## 💎 Language Support\n\nTo change the language, modify the `language` setting in the `appConfig.json` file:\n\n```json\n\"language\": \"en\"\n```\n\nThe following values can be configured:\n\n| Setting | Language | Character Settings File | Implementation Version |\n|---------|----------|--------------------------|-------------------------|\n| ja      | Japanese | settings.json           | 1.6.0                   |\n| en      | English  | settings.en.json        | 1.6.0                   |\n| fi      | Finnish  | settings.fi.json        | 1.10.0                  |\n| es      | Spanish  | settings.es.json        | 1.10.0                  |\n| de      | German   | settings.de.json        | 1.15.0                  |\n| fr      | French   | settings.fr.json        | 1.25.0                  |\n\n## 💎 Tested Environments\n\n- Windows 11 Pro 23H2, 24H2, 25H2\n- Raspberry Pi OS Bookworm 64bit\n- Linux Mint 22.1 Cinnamon Edition\n- Python 3.10–3.12 (development environment: 3.12.0)\n- VOICEVOX 0.25.0\n- A.I.VOICE Editor 1.4.10.0\n- COEIROINK v.2.3.4\n\n\u003cdiv class=\"page\" /\u003e\n\n## 💎 Requirements\n\nWhile this app itself is free, one of the following API keys is required to operate it. \n\n### ✅ OpenAI Account and API Key\n\nTo use the OpenAI API, you will need an account with [OpenAI](https://platform.openai.com/) and must register for API access (including billing and API key creation).\n\n### ✅ Google Gemini API Key\n\nAs of version 0.7.0, this app also supports the Google Gemini API.\n\nAs of May 19, 2024, the Google Gemini API offers a free plan, making it more accessible compared to the OpenAI API.\n\n### ✅ Anthropic API Key\n\nWith version 1.4.0, support has been added for the Anthropic API (Claude series).\n\nTo use this API, an account on [Anthropic Console](https://console.anthropic.com/) and registration for API access (including billing and API key creation) are required.\n\nAs of December 29, 2024, the latest model is Claude 3.5 Sonnet.\n\n### ✅ Text-to-Speech Software\n\nThis app supports the following text-to-speech software. You need to have at least one of them installed on your PC.\n\n- [VOICEVOX](https://voicevox.hiroshiba.jp/) (Free)\n- [COEIROINK](https://coeiroink.com/) (Free)\n- [A.I.VOICE](https://aivoice.jp/) (Paid / Windows Only)\n- Google Text-to-Speech (Free) ... Requires FFmpeg\n- SAPI5 (Free / Windows Only) ... No installation required\n\nOnce you're ready, move on to the next step for execution.\n\n\u003cdiv class=\"page\" /\u003e\n\n## 💎 Execution Method\n\n### 🛩️ Setup: Add OS Environment Variables\n\nYou need to register the API key for OpenAI, Google Gemini API, or Anthropic API as an environment variable in your OS.\n\n| AI | Variable Name | Value |\n|------|------|------|\n| OpenAI | OPENAI_API_KEY  | The API key obtained from OpenAI |\n| Google Gemini | GEMINI_API_KEY  | The API key obtained from Google |\n| Anthropic Claude | ANTHROPIC_API_KEY | The API key obtained from Anthropic |\n\nFor Windows, search \"Edit environment variables\" in the search bar to open the settings window, where you can add user environment variables.\n\n### 🛩️ Execution Method ①: Using Executable File (EXE File)\n\n#### 1. Create a Project Folder\n\nCreate a folder for the project at a location of your choice.\n\n#### 2. Download the App\n\nDownload ZundaGPT2.ZIP from the following link and extract it into the folder you created.\n\nhttps://github.com/led-mirage/ZundaGPT2/releases/\n\n#### 3. Run\n\nDouble-click ZundaGPT2.exe to launch the app.\n\nIf you prefer not to display the splash screen at startup, use ZundaGPT2.ns.exe instead.\n\n#### 4. Important Notes\n\nThis executable file (EXE) is created using a library called PyInstaller. Unfortunately, it is often mistakenly flagged as malware or a virus by antivirus software. This issue is widely discussed online, indicating it is a common occurrence, but a fundamental solution has not yet been found.\n\nRest assured, there are no malicious programs included in this app. However, if you have concerns, please execute it using the \"Running with Python\" method described below.\n\n\u003cdiv class=\"page\" /\u003e\n\n### 🛩️ Execution Method ②: Running with Python\n\n#### 1. Install Python\n\nFirst, set up an environment where Python 3.12.0 is operational. It might work on other versions, but they haven't been tested yet.\n\nI use `pyenv-win + venv` to create a virtual environment for development, so that method works as well.\n\n#### 2. Create a Project Folder\n\nCreate a folder for the project at a location of your choice.\n\n#### 3. Start the Terminal\n\nOpen a terminal or command prompt, and navigate to the project folder you created.\n\n#### 4. Download Source Files\n\nDownload the ZIP file and extract it into the folder.  \nAlternatively, if you can use Git, run the following command to clone the repository:\n\n```cmd\ngit clone https://github.com/led-mirage/ZundaGPT2.git\n```\n\n#### 5. Install Libraries\n\nRun the following command from the command prompt to install the necessary libraries:\n\n```cmd\npip install -r requirements.txt\n```\n\n#### 6. Run\n\nTo launch the app, execute the following command from the command prompt:\n\n```cmd\npython app\\main.py\n```\n\n\u003cdiv class=\"page\" /\u003e\n\n#### 7. Create a Batch File for Startup (Optional)\n\nIt can be handy to create a startup batch file like the one below:\n\n```bat\nstart pythonw app\\main.py\n```\n\nIf you're using a Python virtual environment, you can set it up like the example below:\n\n```bat\ncall venv\\scripts\\activate\nstart pythonw app\\main.py\n```\n\n\u003cdiv class=\"page\" /\u003e\n\n## 💎 Character Settings\n\nYou can select different AI personalities by clicking the ⚙️ button in the top-right corner of the screen.\n\nWhile there are several default character settings available, you can create your own custom characters by copying and editing the existing setting files.\n\nCharacter setting files (settings_xxx.json) are stored in the `settings` folder. Simply copy an existing file and modify it to create your own character.\n\nFor detailed information about character configuration, please refer to [this guide](Readme_detail.md).\n\n## 💎 Custom CSS Settings\n\nBy creating and adjusting a custom CSS (stylesheet), you can change the app’s color scheme, background image, and other design aspects.\nYou can easily customize the appearance by modifying predefined CSS variables.\n\nThe stylesheet should be named `custom.css` and placed inside the `css` folder.\n※ If you are using the packaged executable, create a `css` folder in the same directory as the executable.\n\nHere is an example of how to write the stylesheet.\nThis sample shows how to set a background image:\n\n```css\n/* custom.css */\n:root {\n    /* Background image */\n    --background-image: url(\"images/cloud.jpg\"); /* Local file path or an online URL */\n    --background-image-opacity: 0.8;\n\n    /* Transparency settings for UI elements */\n    --header-bgcolor: transparent;\n    --chat-messages-bgcolor: transparent;\n    --header-color: ivory; /* Header text color */\n\n    /* Chat message bubble settings */\n    --message-text-bgcolor: rgba(255, 255, 255, 0.7);\n    --message-text-color: #222;\n    --message-text-border-radius: 10px;  \n}\n```\n\nYou can specify either a local file path or an online URL for the background image.\nIf you use a local file, please keep the image size under **1.5MB**, otherwise it will not be displayed.\n\nEven if you are not familiar with CSS, you can still change the background image simply by replacing the path in the sample with the image you want to display.\n\nA full list of available variables can be found at the beginning of `app/html/css/style.css`.\n\n\u003cdiv class=\"page\" /\u003e\n\n## 💎 Important Notes\n\n### ⚡ About OpenAI Usage Fees\n\nThis app is free, but using the OpenAI API incurs additional charges (there is a free trial tier available). So be careful not to overuse it. I recommend regularly checking your current usage on the OpenAI website to manage it yourself.\n\nMoreover, if you don't enable auto-recharge settings, you should only be charged the amount you have precharged, so there shouldn't be too much to worry about. However, on the OpenAI website, you can set a monthly usage limit, so it's a good idea to use those features to avoid unexpected expenses.\n\n### ⚡ About Google Gemini API Usage Fees\n\nAs mentioned in this document, there is currently a free tier available for the Google Gemini API. Therefore, for the most part, you can use the app within this free tier. However, if you want to use it more extensively, consider upgrading to a paid plan. Just like with OpenAI, be cautious of overuse if you switch to a paid plan.\n\n### ⚡ About Anthropic API Usage Fees\n\nUsing the Anthropic API also incurs separate charges (pay-as-you-go). As of December 29, 2024, there seems to be no free tier available. You can use the API by charging any amount you like on your credit card. However, as with other APIs, be cautious of excessive usage.\n\n\u003cdiv class=\"page\" /\u003e\n\n### ⚡ Importance of API Keys\n\nThe API keys for OpenAI, Google Gemini, and Anthropic are for your use only, so don't share them with others. If they leak, they might be used without your permission by malicious parties. If your key is compromised, simply delete the current API key via the OpenAI, Google, or Anthropic portal and create a new one.\n\nHowever, with OpenAI, if you only have one API key, it seems you can't delete it until you create a new one. This is apparently a system limitation with OpenAI, and personally, I wish it was better designed. I hope for improvements in the future, but as a last resort, removing your payment information (credit card details) might be an option.\n\nAbove all, please pay close attention to your API keys and usage fees.\n\n### ⚡ Terms of Use\n\n- This application uses external AI service APIs such as **OpenAI**, **Anthropic**, and **Google**.  \n  **Usage conditions and age restrictions follow the terms of service provided by each API provider.**\n\n- The developer assumes **no responsibility** for any damages or issues arising from the use of this application.  \n  **Please use it at your own discretion and risk.**\n\n### ⚡ Disclaimer\n\nWhile no major issues have been found so far, bugs may still occur.  \nPlease understand that the developer cannot be held responsible for any damages or losses caused by such issues.\n\n\u003cdiv class=\"page\" /\u003e\n\n## 💎 Libraries Used\n\n### 🔖 pywebview 5.3.2\n\nHomepage： https://github.com/r0x0r/pywebview  \nLicense：BSD-3-Clause license\n\n### 🔖 openai 2.17.0\n\nHomepage： https://github.com/openai/openai-python  \nLicense：Apache License 2.0\n\n### 🔖 google-genai 1.62.0\n\nHomepage： https://github.com/googleapis/python-genai  \nLicense：Apache License 2.0\n\n### 🔖 anthropic 0.79.0\n\nHomepage： https://github.com/anthropics/anthropic-sdk-python  \nLicense：MIT license\n\n### 🔖 gTTS 2.5.1\n\nHomepage： https://github.com/pndurette/gTTS  \nLicense：MIT License\n\n### 🔖 requests 2.32.3\n\nHomepage： https://requests.readthedocs.io/en/latest/  \nLicense：Apache License 2.0\n\n### 🔖 PyAudio 0.2.14\n\nHomepage： https://people.csail.mit.edu/hubert/pyaudio/  \nLicense：MIT License\n\n### 🔖 pythonnet 3.0.3\n\nHomepage：https://github.com/pythonnet/pythonnet  \nLicense：MIT License\n\n### 🔖 langdetect 1.0.9\n\nHomepage：https://github.com/Mimino666/langdetect  \nLicense：Apache License 2.0\n\n### 🔖 pyperclip 1.9.0\n\nHomepage： https://github.com/asweigart/pyperclip  \nLicense：BSD 3-Clause \"New\" or \"Revised\" License\n\n### 🔖 pydub 0.25.1\n\nHomepage：https://github.com/jiaaro/pydub  \nLicense：MIT License\n\n### 🔖 pywin32 306\n\nHomepage：https://github.com/mhammond/pywin32  \nLicense：Python Software Foundation License (PSF)\n\n### 🔖 Pillow 12.1.1\n\nHomepage： https://github.com/python-pillow/Pillow  \nLicense：MIT-CMU license\n\n### 🔖 MathJax 3.2.2\n\nHomepage： https://github.com/mathjax/MathJax  \nLicense：Apache License 2.0\n\n### 🔖 Highlight.js 11.9.0\n\nHomepage：https://github.com/highlightjs/highlight.js  \nLicense：BSD-3-Clause license\n\n### 🔖 Marked 12.0.0\n\nHomepage：https://github.com/markedjs/marked  \nLicense：MIT license\n\n### 🔖 mark.js 8.11.1\n\nHomepage：https://github.com/julkue/mark.js  \nLicense：MIT license\n\n### 🔖 Font Awesome Free 6.7.2\n\nHomepage：https://fontawesome.com/  \nLicense：Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License\n\n### 🔖 pyinstaller-versionfile\n\nHomepage：https://github.com/DudeNr33/pyinstaller-versionfile  \nLicense：MIT license\n\n### 🔖 PyInstaller 6.18.0\n\nHomepage： https://github.com/pyinstaller/pyinstaller  \nLicense： GPL 2.0 License / Apache License 2.0  \n\n\u003cdiv class=\"page\" /\u003e\n\n## 💎 License\n\n© 2024-2026 led-mirage\n\nThis application is released under the [MIT License](https://opensource.org/licenses/MIT).   \nFor more details, please refer to the LICENSE file included in the project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fled-mirage%2Fzundagpt2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fled-mirage%2Fzundagpt2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fled-mirage%2Fzundagpt2/lists"}