[Weekend App Creation] Desktop Chat Mascot (Minor Revision v1.3)
*Code was updated after midnight on 2026/1/6.
It is now possible to retrieve schedules and tasks for any given date.
・"Tell me today's schedule"
・"Tell me the tasks for [Month]/[Day]"
I have made minor revisions to the chat mascot code.
v1.3 Update Details
Implemented context management and memory management
Retrieves events from Google Calendar and To-Do lists (tasks) and displays notifications
Other UI improvements: Mouse-based avatar scaling, movement, rotation, and chat board color changes (light/dark)
Maybe I'll implement motion in the next update...🤔
v1.1 Update Details
Added support for Gemini API
Added memory management functionality
Added context size settings and usage display
Added motion import functionality (vrma format)
Multi-OS support (Any environment where Node.js runs: Windows, Macintosh, Linux)
v1.0 Implemented Features
Chatbot using OpenAI API / OpenAI API-compatible LLMs
3D avatar import functionality using VRM 1.0
Automatic avatar expression switching and lip-syncing based on chat content
Blinking and swaying motions during idle time
Support for custom system prompt settings
System overview diagram for context management and memory management

Google Calendar and To-Do list event notifications
It retrieves events and notifies you with a message.
Click "OK" to close the notification bubble.
⚠️ The user's name and the AI assistant's name are hardcoded in the code.
Please edit lines 364 to 372 of "chat.html" as desired.
あなたはユーザーのパートナー「りん」です。
ユーザーのToDoリストに「今日やるべきタスク」があります。
ユーザーに、このタスクを忘れないよう、可愛らしくリマインドしてください。
タスク: ${data.title}
期限: ${data.timeInfo}
出力例:
「先輩、今日中に『${data.title}』やるんじゃなかった? 応援してるからね!」
⚠️ Important ⚠️
To retrieve events from Google Calendar and To-Do lists (Tasks),
the "Google Calendar API" and "Google Tasks API", as well as "OAuth authentication" must be configured.
I have prepared setup instructions, so please refer to them to configure the settings.
License and Disclaimer
This tool is intended for personal use. Please use it within reasonable limits so as not to violate the note Terms of Service.
The creator assumes no responsibility for any damages resulting from the use of this tool.
Libraries Used
This application uses the following open-source libraries:
- Three.js (MIT License) - Copyright © 2010-2024 three.js authors
- @pixiv/three-vrm (MIT License) - Copyright © 2020 pixiv Inc.
- Electron (MIT License) - Copyright © Electron contributors
- Google APIs Node.js Client (Apache License 2.0) - Copyright © Google LLC
These libraries are provided under the MIT License.
