Skip to content

Latest commit

 

History

History
407 lines (338 loc) · 14.3 KB

File metadata and controls

407 lines (338 loc) · 14.3 KB

VISION.md - New Browse 統合ビジョン

Notion + Obsidian + Chrome + NotebookLM を統合した次世代の知識管理ブラウザ

🎯 統合コンセプト

4つのツールの強みを組み合わせた、**「知識を集約・整理・活用する統合プラットフォーム」**を目指します。

さらに、外部サービスとの統合を当たり前にできるようにし、すべての情報を一元管理できるようにします。

📊 各ツールの特徴分析

Notion(データベース・構造化)

  • ブロックベースエディタ: 柔軟なコンテンツ構造
  • データベースビュー: テーブル、ボード、カレンダー、ギャラリー
  • リレーション: ページ間の関連付け
  • テンプレート: 再利用可能な構造
  • 埋め込み: 動画、画像、コードブロックなど

Obsidian(知識グラフ・双方向リンク)

  • マークダウン: シンプルで強力な記法
  • 双方向リンク: [[ページ名]] による自動リンク
  • グラフビュー: 知識の関係性を可視化
  • ローカルファイル: データの完全な所有権
  • プラグイン: 拡張可能なアーキテクチャ

Chrome(ブラウザ・Web統合)

  • タブ管理: 複数のページを同時に管理
  • 拡張機能: 機能の拡張性
  • ブックマーク: お気に入りの保存
  • 履歴: 閲覧履歴の管理
  • 検索: 強力な検索機能

NotebookLM(AI統合・ソース管理)

  • AI要約: 複数ソースの自動要約
  • ソース管理: 情報の出所を追跡
  • 質問応答: 保存したコンテンツへの質問
  • 引用: ソースへの正確な引用
  • 統合分析: 複数ソースの統合理解

外部サービス統合(Googleカレンダー等)

  • Googleカレンダー: イベントの同期・作成・編集
  • カレンダービュー: 統合カレンダー表示
  • イベント連携: ToDo・メモ・ページとの自動連携
  • 拡張性: 他のサービス(Outlook、Apple Calendar等)への対応
  • 双方向同期: リアルタイム同期

🚀 統合機能設計

1. Notion風: ブロックベースエディタ + データベースビュー

ブロックエディタ

- テキストブロック
- 見出し(H1-H6)
- リスト(箇条書き、番号付き)
- チェックボックス
- コードブロック
- 引用
- 区切り線
- 埋め込みブラウザビュー(Chrome統合)
- 埋め込みメモ(Obsidian統合)
- 埋め込みAIチャット(NotebookLM統合)

データベースビュー

  • テーブルビュー: スプレッドシート形式
  • ボードビュー: カンバン形式(既存のToDoボードを拡張)
  • カレンダービュー: 日付ベースの表示(Googleカレンダー統合)
  • ギャラリービュー: カード形式
  • リストビュー: シンプルなリスト

2. Obsidian風: 双方向リンク + グラフビュー

双方向リンク

  • [[ページ名]] 記法で自動リンク生成
  • バックリンク(逆参照)の自動表示
  • リンクの未作成ページ検出
  • リンクの関係性可視化

グラフビュー

  • ノード(ページ)とエッジ(リンク)の可視化
  • カテゴリ別の色分け
  • ズーム・パン操作
  • フィルタリング(タグ、カテゴリ、日付)

3. Chrome風: ブラウザ統合 + 拡張機能

ブラウザ統合

  • ページ内ブラウザ: メモやノート内にブラウザを埋め込み
  • タブ管理: 複数のブラウザタブを管理
  • ブックマークバー: クイックアクセス
  • 履歴検索: 過去の閲覧履歴を検索
  • 拡張機能API: カスタム機能の追加

Webページの直接編集

  • Webページをメモとして保存
  • Webページの一部をハイライトして引用
  • Webページとメモの双方向リンク

4. NotebookLM風: AI統合 + ソース管理

AI機能

  • 自動要約: 保存したコンテンツの自動要約
  • 質問応答: 保存したコンテンツへの質問
  • キーワード抽出: 重要なキーワードの自動抽出
  • 関連性分析: コンテンツ間の関連性を分析
  • 引用生成: ソースへの正確な引用

ソース管理

  • 情報の出所を追跡(URL、日付、タイトル)
  • ソースごとの信頼性評価
  • ソースのバージョン管理
  • 複数ソースの統合分析

5. 外部サービス統合: Googleカレンダー + その他

Googleカレンダー統合

  • 認証: OAuth 2.0による安全な認証
  • イベント同期: 双方向のリアルタイム同期
  • イベント作成: アプリ内から直接イベント作成
  • イベント編集: イベントの編集・削除
  • カレンダー選択: 複数カレンダーの管理
  • 通知: イベント通知の統合

イベント連携機能

  • ToDo連携: ToDoの期限をカレンダーイベントとして自動作成
  • メモ連携: メモに日付を設定するとカレンダーに表示
  • ページ連携: ページにイベントを埋め込み
  • 自動リマインダー: イベント前の自動通知

その他のサービス統合(将来拡張)

  • Outlook Calendar: Microsoft 365統合
  • Apple Calendar: iCloud統合
  • Notion API: Notionデータベースとの同期
  • Slack: 通知・メッセージ統合
  • GitHub: イシュー・PRの管理
  • Twitter/X: ブックマーク・スレッドの保存

🏗️ アーキテクチャ設計

データベーススキーマ拡張

-- ページ(Notion風)
CREATE TABLE pages (
    id INTEGER PRIMARY KEY,
    title TEXT NOT NULL,
    content TEXT, -- ブロックJSON
    type TEXT, -- 'note', 'database', 'template'
    parent_id INTEGER, -- 階層構造
    created_at DATETIME,
    updated_at DATETIME
);

-- ブロック(Notion風)
CREATE TABLE blocks (
    id INTEGER PRIMARY KEY,
    page_id INTEGER,
    type TEXT, -- 'text', 'heading', 'list', 'code', 'embed', etc.
    content TEXT, -- JSON形式
    order_index INTEGER,
    created_at DATETIME
);

-- リンク(Obsidian風)
CREATE TABLE links (
    id INTEGER PRIMARY KEY,
    from_page_id INTEGER,
    to_page_id INTEGER,
    link_text TEXT,
    created_at DATETIME
);

-- ソース(NotebookLM風)
CREATE TABLE sources (
    id INTEGER PRIMARY KEY,
    url TEXT,
    title TEXT,
    content TEXT,
    summary TEXT, -- AI要約
    llm_analysis TEXT, -- AI分析結果
    created_at DATETIME
);

-- ページ-ソース関連
CREATE TABLE page_sources (
    page_id INTEGER,
    source_id INTEGER,
    citation_text TEXT,
    PRIMARY KEY (page_id, source_id)
);

-- データベースビュー
CREATE TABLE database_views (
    id INTEGER PRIMARY KEY,
    database_id INTEGER,
    type TEXT, -- 'table', 'board', 'calendar', 'gallery'
    config TEXT -- JSON形式の設定
);

-- 外部サービス認証情報
CREATE TABLE external_services (
    id INTEGER PRIMARY KEY,
    service_type TEXT, -- 'google_calendar', 'outlook', 'notion', etc.
    service_name TEXT,
    access_token TEXT,
    refresh_token TEXT,
    expires_at DATETIME,
    config TEXT, -- JSON形式の設定
    created_at DATETIME,
    updated_at DATETIME
);

-- カレンダーイベント
CREATE TABLE calendar_events (
    id INTEGER PRIMARY KEY,
    external_event_id TEXT, -- 外部サービスのイベントID
    service_type TEXT, -- 'google_calendar', 'local', etc.
    calendar_id TEXT, -- 外部サービスのカレンダーID
    title TEXT NOT NULL,
    description TEXT,
    start_time DATETIME NOT NULL,
    end_time DATETIME,
    location TEXT,
    attendees TEXT, -- JSON形式
    recurrence TEXT, -- JSON形式
    page_id INTEGER, -- 関連するページ
    todo_id INTEGER, -- 関連するToDo
    created_at DATETIME,
    updated_at DATETIME
);

-- イベント-ページ関連
CREATE TABLE event_pages (
    event_id INTEGER,
    page_id INTEGER,
    PRIMARY KEY (event_id, page_id)
);

UI構造

┌─────────────────────────────────────────────────────┐
│  Header: [📊] [🌐] [📝] [🧠] [🤖] [⚙️]          │
├──────────┬──────────────────────────────────────────┤
│          │                                          │
│ Sidebar  │  Main Content Area                      │
│          │                                          │
│ - Pages  │  ┌──────────────────────────────────┐  │
│ - Links  │  │  Page Editor / Browser / Graph    │  │
│ - Graph  │  │                                    │  │
│ - Search │  │  [Block Editor / Browser View]    │  │
│          │  │                                    │  │
│          │  └──────────────────────────────────┘  │
│          │                                          │
│          │  ┌──────────────────────────────────┐  │
│          │  │  AI Chat / Source Panel          │  │
│          │  └──────────────────────────────────┘  │
└──────────┴──────────────────────────────────────────┘

🎨 機能実装の優先順位

Phase 1: 基盤構築(現在)

  • ✅ ダッシュボード
  • ✅ ブラウザ機能(iframe)
  • ✅ メモ機能
  • ✅ ToDo管理
  • ✅ 知識整理(LLM統合)

Phase 2: Notion風機能

  1. ブロックエディタ

    • ブロックタイプの実装
    • ドラッグ&ドロップ
    • ブロックの追加・削除・編集
  2. データベースビュー

    • テーブルビュー
    • ボードビュー(既存のToDoボードを拡張)
    • カレンダービュー
  3. リレーション

    • ページ間の関連付け
    • リレーションフィールド

Phase 3: Obsidian風機能

  1. マークダウンエディタ

    • マークダウン記法のサポート
    • ライブプレビュー
  2. 双方向リンク

    • [[ページ名]] 記法
    • バックリンク表示
    • リンクの自動補完
  3. グラフビュー

    • ノード・エッジの可視化
    • インタラクティブな操作

Phase 4: Chrome統合強化

  1. ページ内ブラウザ

    • メモ内にブラウザを埋め込み
    • Webページの直接編集
  2. 拡張機能API

    • プラグインシステム
    • カスタム機能の追加

Phase 5: NotebookLM風機能

  1. ソース管理

    • ソースの追跡
    • 引用の管理
  2. AI統合強化

    • 複数ソースの統合分析
    • 質問応答の改善
    • 引用生成

Phase 6: 外部サービス統合

  1. Googleカレンダー統合

    • OAuth 2.0認証
    • イベントの同期(双方向)
    • イベントの作成・編集・削除
    • カレンダービューへの統合
  2. イベント連携

    • ToDoとカレンダーの自動連携
    • メモとカレンダーの連携
    • ページへのイベント埋め込み
  3. その他のサービス統合

    • Outlook Calendar
    • Apple Calendar
    • Notion API
    • Slack
    • GitHub

🔄 統合シナリオ例

シナリオ1: Webページをメモとして保存

  1. ブラウザでWebページを閲覧
  2. 「メモとして保存」をクリック
  3. ブロックエディタで編集・追加
  4. 自動的に双方向リンクが生成
  5. AIが自動要約を生成
  6. グラフビューに表示

シナリオ2: 研究ノートの作成

  1. 複数のWebページをソースとして保存
  2. ブロックエディタで研究ノートを作成
  3. ソースを引用して埋め込み
  4. AIに質問して分析
  5. 関連するページに双方向リンク
  6. データベースビューで整理

シナリオ3: プロジェクト管理

  1. データベースビューでプロジェクトを作成
  2. タスクをToDoボードで管理
  3. 関連するWebページを埋め込み
  4. メモとタスクを双方向リンク
  5. AIが進捗を分析・提案

シナリオ4: Googleカレンダー統合

  1. Googleカレンダーに接続(OAuth認証)
  2. カレンダービューでイベントを確認
  3. ToDoの期限を自動的にカレンダーイベントとして作成
  4. メモに日付を設定するとカレンダーに表示
  5. イベントをクリックして関連するメモ・ページを表示
  6. アプリ内から直接イベントを作成・編集
  7. 変更は自動的にGoogleカレンダーに同期

📝 技術的な考慮事項

パフォーマンス

  • 大量のページ・リンクの処理
  • グラフビューのレンダリング最適化
  • ブロックエディタのリアルタイム更新

データ整合性

  • リンクの整合性チェック
  • 削除されたページへのリンク処理
  • データベースのマイグレーション

セキュリティ

  • ローカルデータの保護
  • AI APIキーの管理
  • Webページのサンドボックス
  • OAuth 2.0による安全な外部サービス認証
  • トークンの暗号化保存
  • トークンの自動リフレッシュ

🎯 成功指標

  • 知識の集約: すべての情報が1つのプラットフォームに
  • 知識の整理: 双方向リンクとグラフビューで関係性を可視化
  • 知識の活用: AIによる要約・分析・質問応答
  • ワークフロー: ブラウジング→保存→編集→分析のシームレスな流れ
  • 外部統合: Googleカレンダーなどの外部サービスとのシームレスな連携
  • 一元管理: カレンダー、ToDo、メモ、Webページがすべて統合された環境

最終更新: 2025-01-XX ステータス: 設計フェーズ