Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 Mind Keeper

AI-Powered Notification Triage for macOS

macOS Swift SwiftUI License Platform

Ollama OpenAI Claude

English | 中文

Status Architecture Data

✨ Features

  • 🔔 Smart Notification Monitoring Auto-poll macOS Notification Center database every 4s

  • 🤖 AI Classification Local Ollama first, cloud API fallback

  • ⚡ Intelligent Prioritization Multi-factor scoring: urgency, importance, context, freshness

  • 👆 Gesture Controls Swipe up → Complete | Left → Defer | Right → Drop

  • ✏️ Manual Tasks Add custom tasks alongside notifications

  • 🧠 Adaptive Learning Learns from your actions to improve suggestions

  • 🗂️ Auto-Cleanup Expired tasks batch management

  • 🎨 Liquid Glass Design Native macOS 26 visual language


🚀 Quick Start

Prerequisites

Installation

# Install XcodeGen
brew install xcodegen

# Install Ollama and pull a model
brew install ollama
ollama pull llama3.2

# Clone and setup
git clone https://github.com/yourusername/mind-keeper.git
cd mind-keeper
xcodegen generate

# Build and run
open MindKeeper.xcodeproj

Required Permissions

Mind Keeper requires Full Disk Access to read the system notification database:

System Settings → Privacy & Security → Full Disk Access → Add Mind Keeper

🏗️ Architecture

┌─────────────────────────────────────────────────────────────┐
│  NotificationMonitor (Actor)                                  │
│  └─→ Polls ~/Library/Group Containers/.../db2/db (SQLite3)  │
└─────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────┐
│  LLMService (Actor)                                          │
│  ├─→ OllamaProvider (Primary)                               │
│  └─→ CloudLLMProvider (Fallback: OpenAI/Claude)             │
└─────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────┐
│  PriorityEngine (Actor)                                      │
│  └─→ Multi-factor scoring (urgency 30%, importance 25%...)  │
└─────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────┐
│  AppState (@Observable)                                      │
│  └─→ SwiftData persistence + UI bindings                    │
└─────────────────────────────────────────────────────────────┘

🛠️ Tech Stack

Layer Technology
Language Swift 6
UI Framework SwiftUI (Liquid Glass)
Persistence SwiftData
Notifications SQLite3
Local AI Ollama
Cloud AI OpenAI / Claude API

📁 Project Structure

MindKeeper/
├── App/
│   ├── MindKeeperApp.swift      # App entry point (MenuBarExtra)
│   ├── AppState.swift           # Observable state container
│   └── AppCoordinator.swift     # Service orchestration
├── Views/
│   ├── PopoverRoot.swift        # Main popover container
│   ├── CardStackView.swift      # Swipeable task cards
│   ├── AddTaskView.swift        # Manual task entry
│   ├── SettingsView.swift       # Preferences & API keys
│   └── CleanupView.swift        # Expired task management
├── Models/
│   ├── TaskItem.swift           # SwiftData @Model
│   ├── NotificationRecord.swift # Parsed notification
│   └── UserMemory.swift         # Learning data
├── Services/
│   ├── NotificationMonitor.swift # SQLite polling
│   ├── LLMService.swift         # AI classification
│   ├── PriorityEngine.swift     # Scoring algorithm
│   ├── MemoryStore.swift        # User behavior learning
│   └── ExpiryManager.swift      # Task lifecycle
└── Resources/
    ├── Info.plist
    ├── MindKeeper.entitlements
    └── Assets.xcassets


🧠 Mind Keeper

macOS 智能通知调度助手

English | 中文

✨ 功能特性

  • 🔔 智能通知监听 每 4 秒自动轮询 macOS 通知中心数据库

  • 🤖 AI 智能分类 本地 Ollama 优先,云端 API 无缝回退

  • ⚡ 多因子优先级 紧急度、重要性、上下文、时效性综合评分

  • 👆 手势交互 上滑完成 | 左滑延迟 | 右滑丢弃

  • ✏️ 手动任务 支持添加自定义任务

  • 🧠 自适应学习 根据操作习惯持续优化推荐

  • 🗂️ 自动清理 过期任务批量管理

  • 🎨 Liquid Glass 设计 原生 macOS 26 设计语言


🚀 快速开始

前置要求

安装步骤

# 安装 XcodeGen
brew install xcodegen

# 安装 Ollama 并拉取模型
brew install ollama
ollama pull llama3.2

# 克隆并设置项目
git clone https://github.com/yourusername/mind-keeper.git
cd mind-keeper
xcodegen generate

# 构建并运行
open MindKeeper.xcodeproj

必要权限

Mind Keeper 需要完全磁盘访问权限来读取系统通知数据库:

系统设置 → 隐私与安全性 → 完全磁盘访问权限 → 添加 Mind Keeper

🏗️ 系统架构

┌─────────────────────────────────────────────────────────────┐
│  NotificationMonitor (Actor)                                  │
│  └─→ 轮询 ~/Library/Group Containers/.../db2/db (SQLite3)   │
└─────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────┐
│  LLMService (Actor)                                          │
│  ├─→ OllamaProvider (主引擎)                                │
│  └─→ CloudLLMProvider (备用: OpenAI/Claude)                 │
└─────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────┐
│  PriorityEngine (Actor)                                      │
│  └─→ 多因子评分 (紧急度30%, 重要性25%...)                   │
└─────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────┐
│  AppState (@Observable)                                      │
│  └─→ SwiftData 持久化 + UI 绑定                             │
└─────────────────────────────────────────────────────────────┘

🛠️ 技术栈

层级 技术
编程语言 Swift 6
UI 框架 SwiftUI (Liquid Glass)
数据持久化 SwiftData
通知读取 SQLite3
本地 AI Ollama
云端 AI OpenAI / Claude API

📄 License

MIT © 2025 Mind Keeper Contributors

Made with ❤️ on macOS

Stars Forks

About

AI-Powered Notification Triage for macOS

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages