Skip to content
/ PAI Public

打造一款運行於個人裝置(PC/手機)的離線 AI 助理。此專案旨在透過 AI 技術提升個人生產力,並為未來的企業級 AI 應用奠定基礎

Notifications You must be signed in to change notification settings

lintsai/PAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

個人化 AI 助理系統

一款運行於個人裝置的離線 AI 助理,透過 RAG 技術提供個人化的工作總結與建議。

🎯 專案目標

打造一款運行於個人裝置(PC/手機)的離線 AI 助理,透過 AI 技術提升個人生產力,並為未來的企業級 AI 應用奠定基礎。

🏗️ 技術架構

  • 輕量級 LLM:使用 Ollama 運行本地開源模型
  • 向量資料庫:ChromaDB 實現 RAG 檢索增強生成
  • 用戶介面:支援命令列和 GUI 兩種模式
  • 資料隱私:完全離線運行,確保資料安全

✨ 核心功能

第一階段功能 ✅

  • 離線 AI 模型運行
  • 每日行為記錄分析
  • 個人化待辦事項建議
  • 用戶反饋學習機制
  • 週期性數據總結(週/月/季)
  • 圖形化使用者介面
  • 自動化排程系統
  • 自動行為收集 🆕
  • 智能活動分類 🆕
  • 自動日誌生成 🆕
  • 智能日誌管理 🆕

第二階段規劃 🚧

  • 上傳工作狀態至 AI Server 分析 KPI
  • 企業內部模型同步部署
  • 異常告警系統

第三階段願景 🔮

  • 角色化 AI 工作模式
  • PM AI、工程師 AI、測試員 AI 等專業角色
  • 無限 AI 工作流程

📁 專案結構

personal-ai-assistant/
├── main.py                     # 🚀 主入口檔案
├── pyproject.toml             # 專案配置檔案
├── requirements.txt           # Python 套件需求
├── README.md                  # 專案說明文件
├── .gitignore                # Git 忽略檔案
├── src/                      # 📦 原始碼目錄
│   └── personal_ai/          # 主套件
│       ├── config.py         # 🆕 統一配置管理
│       ├── core/             # 核心模組
│       │   ├── ai_engine.py  # AI 引擎 (原 personal_ai.py)
│       │   └── reporter.py   # 報告生成器
│       ├── collectors/       # 收集器模組
│       │   ├── behavior_collector.py  # 行為收集器
│       │   └── auto_logger.py         # 自動日誌生成器
│       ├── managers/         # 管理器模組
│       │   ├── log_manager.py    # 日誌管理器
│       │   └── scheduler.py      # 排程管理器
│       ├── gui/              # GUI 模組
│       │   └── main_window.py    # 主視窗 (原 personal_ai_gui.py)
│       └── utils/            # 工具模組
│           └── system_checker.py # 系統檢查器
├── scripts/                  # 📜 腳本目錄
│   ├── launcher.py          # 🆕 新版啟動器
│   ├── start.py             # 舊版啟動器
│   ├── start.bat            # Windows 批次檔
│   └── setup.py             # 安裝設定腳本
├── tests/                    # 🧪 測試目錄
│   ├── test_behavior_collector.py
│   └── test_scheduler.py
├── config/                   # ⚙️ 配置目錄
│   └── log_config.json      # 日誌管理配置
├── data/                     # 💾 資料目錄
│   ├── logs/                 # 日誌檔案
│   │   ├── daily_log.txt     # 每日活動記錄
│   │   ├── learning_log.csv  # AI 學習記錄
│   │   └── behavior_data.json # 行為數據儲存
│   ├── reports/              # 生成的報告檔案
│   ├── archive/              # 日誌歷史歸檔
│   └── chroma_db/            # 向量資料庫
└── docs/                     # 📚 文檔目錄
    ├── QUICK_START.md       # 🚀 快速啟動指南
    ├── WINDOWS_BATCH_GUIDE.md # 🪟 Windows 批次檔指南
    ├── AUTOMATION_GUIDE.md  # 🤖 自動化功能指南
    ├── USER_GUIDE.md        # 📖 完整使用指南
    ├── INSTALL.md           # 🔧 安裝指南
    ├── API.md               # 📋 API 文檔
    └── PROJECT_STRUCTURE.md # 📁 專案結構說明

🚀 快速開始

1. 環境準備

# 安裝 Python 依賴
pip install -r requirements.txt

# 安裝 Ollama(AI 模型服務)
# 請至 https://ollama.ai/ 下載安裝

# 執行自動安裝腳本(可選)
python scripts/setup.py

2. 一鍵啟動自動化功能 ⭐

🎯 Windows 用戶(最推薦):

start.bat

雙擊 start.bat 檔案,選擇 "1. 自動化系統" 即可開始使用所有功能!

🐍 Python 命令方式:

python scripts/auto_launcher.py  # 完整自動化系統
python main.py                   # 互動選單
python scripts/cli.py auto       # 命令列自動化模式
python scripts/launcher.py       # 功能選單

📋 Windows 批次檔快捷方式:

scripts\start_automation.bat     # 自動化系統
scripts\start_main.bat          # 主程式選單
scripts\start_gui.bat           # GUI 模式
scripts\check_status.bat        # 系統狀態檢查

3. 系統檢查

python scripts/cli.py status    # 檢查系統狀態
python scripts/run_tests.py     # 執行測試

📚 文檔指南

3. 日常工作流程

🤖 自動化模式(強烈推薦)

  1. 一鍵啟動:執行 python scripts/auto_launcher.py 選擇自動化系統
  2. 背景運行:系統自動記錄你的電腦使用行為(應用程式、視窗標題等)
  3. 智能分析:自動分類活動類型(開發工作、技術研究、文件處理等)
  4. 定時總結:每日 18:00(可自訂)自動生成 AI 總結和建議
  5. 週期回顧:定期查看週/月/季報告,獲得深度洞察

📝 手動模式

  1. 記錄活動:在 data/logs/daily_log.txt 中手動記錄日常活動
  2. 獲得總結:執行 python main.py 選擇每日總結功能
  3. 提供反饋:修正 AI 的建議,幫助系統學習
  4. 週期回顧:定期查看報告檔案

🛠️ 使用說明

🤖 自動行為收集 (新功能)

系統可以自動監控並記錄您的電腦使用行為:

監控內容:

  • 應用程式使用時間統計
  • 視窗標題和活動內容
  • 智能活動分類(開發工作、技術研究、文件處理等)
  • 活動時間軸記錄

智能分類:

  • 🔧 開發工作:VS Code、PyCharm、GitHub 等
  • 📚 技術研究:技術文檔、Stack Overflow 等
  • 📄 文件處理:Word、Excel、PowerPoint 等
  • 💬 會議通訊:Teams、Zoom、Slack 等
  • 🌐 網頁瀏覽:一般網站瀏覽
  • 🎮 娛樂休閒:YouTube、社交媒體等

使用方式:

# 啟動自動行為收集
python behavior_collector.py

# 或使用整合版自動日誌生成器
python auto_logger.py

# 日誌管理器
python log_manager.py

📁 智能日誌管理 (新功能)

系統會在每日總結完成後自動管理 daily_log.txt:

自動化流程:

  1. 備份當日日誌:將 daily_log.txt 備份到 logs_archive/ 目錄
  2. 清空日誌檔案:清空 daily_log.txt 準備記錄新的一天
  3. 清理舊歸檔:自動刪除超過保留期限的舊歸檔檔案
  4. 防重複處理:避免同一天重複執行清理

管理功能:

  • 🔄 自動備份:每次總結後自動備份日誌
  • 🗑️ 智能清理:自動清理超過 7 天的舊歸檔
  • 📁 歸檔瀏覽:查看所有歷史日誌備份
  • 🔄 一鍵恢復:從歸檔快速恢復任意日期的日誌
  • ⚙️ 靈活配置:可調整保留天數、備份策略等

📝 手動日誌格式範例

如果您偏好手動記錄,可在 daily_log.txt 中記錄活動:

09:00 - 開始一天的工作,檢查郵件和行事曆
10:30 - 參加團隊會議,討論專案進度
14:00 - 完成報告撰寫,準備下週簡報
16:30 - 研究新技術文件,學習 AI 相關知識
18:00 - 整理今日工作成果,規劃明日任務

AI 模型設定

系統使用以下模型:

  • mxbai-embed-large:文本向量化
  • gpt-oss:20b:對話生成

自動排程

  • 每日 18:30:自動執行每日總結
  • 每週日 19:00:生成週報告
  • 每月1號 20:00:生成月報告
  • 季報告:手動執行

📊 報告類型

每日總結

  • 今日工作重點
  • 重要成果
  • 明日待辦建議
  • 貼心提醒

週報告

  • 本週工作重點總結
  • 完成的主要任務
  • 工作模式分析
  • 下週改進建議

月報告

  • 月度成就總結
  • 專案進展分析
  • 效率模式分析
  • 個人成長亮點

季報告

  • 重大成就與里程碑
  • 核心能力發展
  • 戰略重點建議
  • 長期職涯發展

🔧 進階設定

模型調整

可在程式中修改以下設定:

EMBEDDING_MODEL = 'mxbai-embed-large'  # 向量化模型
CHAT_MODEL = 'gpt-oss:20b'             # 對話模型

資料庫路徑

DB_PATH = "./chroma_db"                # 向量資料庫路徑

🤝 用戶反饋機制

系統會記錄您對 AI 建議的修正,持續改進建議品質:

  1. AI 生成初始建議
  2. 用戶檢視並修正
  3. 系統記錄學習資料
  4. 未來建議更加精準

📈 數據隱私

  • 完全離線:所有處理在本地進行
  • 資料控制:用戶完全掌控自己的資料
  • 無外傳:不會上傳任何個人資訊

🐛 故障排除

系統狀態檢查

# 檢查系統狀態
python check_system.py

常見問題

  1. Ollama 連接失敗

    • 確認 Ollama 服務正在運行
    • 檢查模型是否正確下載
  2. 模型下載緩慢

    • 使用穩定的網路連線
    • 考慮使用較小的模型
  3. GUI 無法啟動

    • 確認 tkinter 已安裝
    • 檢查 Python 版本 >= 3.8
  4. 排程器錯誤

    • 確認 schedule 套件已安裝
    • 檢查系統時間設定

🔄 更新日誌

v1.0.0 (2024-12-XX)

  • ✅ 基礎 AI 助理功能
  • ✅ RAG 檢索增強生成
  • ✅ GUI 使用者介面
  • ✅ 週期性報告系統
  • ✅ 自動排程功能

📝 授權條款

本專案採用 MIT 授權條款。

🙋‍♂️ 支援與貢獻

如有問題或建議,歡迎提出 Issue 或 Pull Request。


讓 AI 成為您最貼心的工作夥伴! 🤖✨

About

打造一款運行於個人裝置(PC/手機)的離線 AI 助理。此專案旨在透過 AI 技術提升個人生產力,並為未來的企業級 AI 應用奠定基礎

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published