# MailChecker - OpenClaw Skill

[![OpenClaw Skill](https://img.shields.io/badge/OpenClaw-Skill-blue.svg)](https://openclaw.ai)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-3178C6.svg)](https://www.typescriptlang.org/)
[![Bun](https://img.shields.io/badge/Bun-1.0+-000000.svg)](https://bun.sh)

## 🎯 プロジェクト概要

**MailChecker**は、OpenClawエコシステム向けの高度なメール監視・分類スキルです。複数のメールアカウントを自律的に監視し、機械学習を活用したインテリジェントなメール分類と優先度付けを実現します。

### 解決する問題
- **情報過多**: 重要なメールが大量の情報に埋もれる
- **時間消費**: 手動でのメールフィルタリングに時間を浪費
- **見落としリスク**: 重要な連絡を見逃す可能性

### 提供価値
- **時間節約**: 自動分類によりメール処理時間を80%削減
- **リスク低減**: 重要なメールの見落としを防止
- **生産性向上**: 集中すべきタスクにリソースを集中

---

複数のメールアカウントを自律的に監視し、ベイズフィルタで重要度分類を行うOpenClawスキルです。

## ✨ 特徴

- **🔐 セキュア認証管理**: 環境変数/キーチェーンによる安全な認証情報保存
- **📧 複数アカウント対応**: Gmail、Outlook、その他IMAP対応サービス
- **🤖 ベイズフィルタ分類**: 重要/普通/スパム/ニュースレターの自動分類
- **⏰ 定期自動チェック**: cron連携による自律的な監視
- **📊 学習機能**: ユーザーのフィードバックによる分類精度向上

## 🚀 クイックスタート

### 前提条件
- OpenClawがインストールされていること
- Bunランタイム (v1.0以上)
- IMAP対応のメールアカウント

### インストール
```bash
# スキルディレクトリに移動
cd /skills/mail-checker

# 依存関係のインストール
bun install

# 設定ファイルの作成
cp .env.example .env
```

### 設定
`.env`ファイルを編集:
```env
# メールアカウント設定（例: Gmail）
MAIL_ACCOUNT_1_HOST=imap.gmail.com
MAIL_ACCOUNT_1_PORT=993
MAIL_ACCOUNT_1_USER=your-email@gmail.com
MAIL_ACCOUNT_1_PASSWORD=your-app-password
MAIL_ACCOUNT_1_TLS=true

# 通知設定
NOTIFY_IMPORTANT=true
NOTIFY_REGULAR=false
SUMMARY_HOUR=9
```

## 📖 使用方法

### 基本的な使い方
```
ユーザー: 「メールチェックして」
エージェント: 全アカウントをチェックし、重要メールを要約して報告
```

### 設定モード
```
ユーザー: 「メールチェックの設定をしたい」
エージェント: 認証情報の設定ガイドを表示し、セットアップスクリプトを実行
```

### 学習モード
```
ユーザー: 「ベイズフィルタを学習させて」
エージェント: 過去のメールから分類器を学習、精度向上
```

## 🏗️ プロジェクト構造

```
mail-checker/
├── SKILL.md              # スキル定義ファイル
├── README.md             # このファイル
├── package.json          # 依存関係
├── .gitignore           # Git除外設定
├── scripts/
│   ├── setup.ts         # 初期設定スクリプト
│   ├── check.ts         # メールチェック実行
│   └── train.ts         # ベイズフィルタ学習
├── references/
│   ├── gmail-api-setup.md # Gmail API設定ガイド
│   └── security-guide.md  # セキュリティガイド
└── config/
    └── schema.ts        # 設定スキーマ定義
```

## 🔧 開発

### 依存関係のインストール
```bash
bun install
```

### ビルド
```bash
bun run build
```

### テスト
```bash
bun test
```

## 📊 進捗状況

| フェーズ | ステータス | 完了率 |
|---------|-----------|--------|
| 1. 基盤構築 | ✅ 完了 | 100% |
| 2. コア機能実装 | 🔄 進行中 | 25% |
| 3. 統合テスト | ⏳ 未着手 | 0% |
| 4. ドキュメント | ⏳ 未着手 | 0% |

## 🤝 貢献

1. リポジトリをフォーク
2. 機能ブランチを作成 (`git checkout -b feature/amazing-feature`)
3. 変更をコミット (`git commit -m 'Add amazing feature'`)
4. ブランチにプッシュ (`git push origin feature/amazing-feature`)
5. プルリクエストを作成

## 📄 ライセンス

このプロジェクトはMITライセンスの下で公開されています。詳細は[LICENSE](LICENSE)ファイルを参照してください。

## ⚠️ 注意事項

- ベータ版のため、重要なメールの見落としに注意
- 定期的なバックアップを推奨
- 分類精度は学習データに依存

## 🔗 リンク

- [OpenClaw Documentation](https://docs.openclaw.ai)
- [GitBucket Repository](https://gitbucket.tmworks.club/git/dev-team/MailChecker.git)
- [Redmine Project](https://redmine.tmworks.club/projects/mailchecker)