{"id":15055265,"url":"https://github.com/cheanus/aiveryday","last_synced_at":"2026-02-13T13:41:24.931Z","repository":{"id":255991855,"uuid":"854060350","full_name":"cheanus/AIveryday","owner":"cheanus","description":"Let LLMs understand your desktop activities and send you interesting desktop messages from time to time!","archived":false,"fork":false,"pushed_at":"2024-10-01T03:17:41.000Z","size":581,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-20T23:26:12.384Z","etag":null,"topics":["activitywatch","ai","chatbot","gpt","llm","ollama","openai","privacy"],"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/cheanus.png","metadata":{"files":{"readme":"README.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-09-08T09:54:37.000Z","updated_at":"2024-10-01T03:17:44.000Z","dependencies_parsed_at":"2024-11-19T19:46:13.411Z","dependency_job_id":"686f4ac4-8426-4748-ab43-e5d9abe8a621","html_url":"https://github.com/cheanus/AIveryday","commit_stats":{"total_commits":9,"total_committers":1,"mean_commits":9.0,"dds":0.0,"last_synced_commit":"1e0a82b84aa13920fbb81e830f8fa8a80e7d40ff"},"previous_names":["cheanus/aiveryday"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheanus%2FAIveryday","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheanus%2FAIveryday/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheanus%2FAIveryday/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheanus%2FAIveryday/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cheanus","download_url":"https://codeload.github.com/cheanus/AIveryday/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243523193,"owners_count":20304552,"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":["activitywatch","ai","chatbot","gpt","llm","ollama","openai","privacy"],"created_at":"2024-09-24T21:39:36.160Z","updated_at":"2026-02-13T13:41:24.856Z","avatar_url":"https://github.com/cheanus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AIveryday\n让**LLMs**读懂你的**桌面活动**，时不时发个有趣的**桌面消息**！\n\nLet **LLMs** understand your **desktop activities** and send you interesting **desktop messages** from time to time!\n\n![AIveryday](assets/AIveryday.jpg)\n\n## 项目简介\nAIveryday是一个基于LLMs的项目，它可以让LLMs读懂你的桌面活动，时不时发个有趣的桌面消息，让你的电脑体验变得更有趣。\n\n本项目的主要特点有：\n- **个性化**：AIveryday可以调用开源项目[ActivityWatch](https://github.com/ActivityWatch/activitywatch)所收集的数据，获取你的**浏览应用、窗口标题和活动类别**等信息，读懂你的桌面活动，然后给你发送有趣的通知。\n- **性格定制**：AIveryday的性格可以通过prompt定制，你可以自由选择AIveryday的性格和角色，比如选择一个可爱的小猫咪，或者选择一位幽默的**虚拟女友**作为AIveryday的形象。\n- **消息推送**：AIveryday可以通过**桌面通知**的方式向你推送消息，时间间隔随机，就像你真实的朋友一样，给你发消息或者分享一些有趣的事情。\n- **多平台支持**：AIveryday支持**Windows**、**MacOS**和**Linux**等多个平台，你可以在不同的操作系统上使用AIveryday。\n- **隐私保护**：AIveryday不会收集你的任何隐私数据，所有的数据都可以在本地进行处理的。同时，在本地内存不足时，也能自动调用远程LLMs处理。\n- **LLMs支持**：AIveryday是基于LLMs的项目，你可以使用任何一款支持openAI格式的LLMs来运行AIveryday。\n\n## 快速开始\n### 安装\n```bash\npip install requests pyyaml pytz psutil openai\n```\n对于Windows/MacOS用户，还需要安装`plyer`库：\n```bash\npip install plyer\n```\n对于显卡推理用户，确保能够使用`nvidia-smi`命令。\n\n另外，你还需要安装ActivityWatch，具体安装方法请参考[ActivityWatch](https://github.com/ActivityWatch/activitywatch)。注意以下几点：\n- 如果你是Linux Wayland用户，需要使用[awatcher](https://github.com/2e3s/awatcher)\n- 如果你想用ActivityWatch跟踪网页记录并据此分类活动，[官方文档](https://github.com/ActivityWatch/aw-watcher-web)会建议使用[aw-watcher-web](https://github.com/ActivityWatch/aw-watcher-web)，但实测有些问题，建议使用浏览器拓展*URL in title*以在浏览器窗口标题上添加网页地址\n- 尽可能完善你的ActivityWatch设置，特别是**类别规则**的设置\n- 请尽可能确保ActivityWatch的类别和你所使用的LLMs的**语言**一致，以便AIveryday能够更好地读懂你的桌面活动\n\n### 配置\n创建属于自己的`config.yaml`文件：\n```bash\ncp example.config.yaml config.yaml\n```\n然后参照注释填写`config.yaml`文件中的必要信息：\n\n- 首先填写`openai`，包括`api_key`和`model`等信息。`min_memory`是使用本地LLMs的内存占用阈值，当检测到本地内存不足时，会调用远程LLMs处理。此外，这里还有几种常见的配置方式：\n    1. 如果你只想使用远程LLMs，可以将`min_memory`设置为很大的值，比如`1.e+12`。\n    2. 如果你只想使用本地LLMs，可以将`min_memory`设置为很小的值，比如`0`。\n    3. 如果你只想使用本地LLMs，但是在本地内存不足时，也不想调用远程LLMs，只是跳过这次处理，可以将`remote-base_url`设置为`None`。\n\n- 然后填写`ActivityWatch`，特别注意bucket的名称，确保与你所使用的ActivityWatch中的名称一致。\n\n- 之后设定你专属的`prompts`，发挥你的想象力，定制AIveryday的性格和角色。目前支持以下数据的引用：\n    - `scope_hour`：该prompt所查询的过去事件的时间范围，单位为小时\n    - `duration_min`：在`scope_hour`时间范围内，你在线的时间，单位为分钟\n    - `datetime`：当前日期时间\n    - `top_app`：你最常用的几个应用名称，由ActivityWatch提供\n    - `top_title`：你最常浏览的几个窗口标题，由ActivityWatch提供\n    - `top_cat`：你最常活动的类别，由ActivityWatch提供\n\n- 最后填写`notify`，其中`platform`是你所使用的操作系统，支持`windows`、`macos`和`linux`。并注意设置`icon_path`为你想使用的通知图标路径。\n\n其他配置项可以根据自己的需求进行调整。\n\n### 运行\n在确保ActivityWatch服务正常运行的情况下，运行`startAD.py`，AIveryday将会每隔一段时间运行1次：\n```bash\npython startAD.py\n```\n或者，你也可以暂时先尝试1次AIveryday的运行效果：\n```bash\npython startAD.py --test\n```\n注：为了让弹窗消息消失后能够保存在通知历史中，某些Linux用户可能需要单独设置。例如KDE用户需要在`设置-通知-应用程序设置-其他应用`中勾选“在通知历史中显示”。\n\n### 开机自启\n**Linux**\n\nlinux用户可以将AIveryday添加到开机启动项中，具体操作如下：\n1. 将`timer/AIveryday.service`拷贝到`~/.config/systemd/user/`目录下。\n2. 运行`systemctl --user enable AIveryday.service`以开机自启AIveryday服务。\n3. 运行`systemctl --user start AIveryday.service`以启动AIveryday服务。\n\n**Windows**\n\n对于Windows用户，可以将AIveryday添加到开机启动项中，具体操作如下：\n1. 按下`Win + R`，输入`shell:start`，打开启动文件夹。\n2. 将`timer/AIveryday.bat`拷贝到启动文件夹中。\n3. 重启电脑，AIveryday将会自动启动。\n\n**MacOS**\n\nMacOS用户可以将AIveryday添加到开机启动项中，具体操作如下：\n1. 打开`系统偏好设置`，选择`用户与群组`。\n2. 选择`登录项`，点击`+`，选择`AIveryday.app`。\n3. 重启电脑，AIveryday将会自动启动。\n\n## 计划\n- [ ] 对通知中的消息继续聊天\n- [ ] 保存通知记录\n- [ ] 多种输出方式，如生成日记等\n\n## 相关项目\n- [ActivityWatch](https://github.com/ActivityWatch/activitywatch)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheanus%2Faiveryday","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcheanus%2Faiveryday","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheanus%2Faiveryday/lists"}