MASAYABrainは、会話・予定・案件・財務・SNSを同じevidence graphへ集約し、observed factsとderived decisionsを分離したまま、検索・通知・案件管制へ流すシステムです。
MASAYABrain.
14種類・17.6万件のイベントを、immutable RAW、SQLite/FTS5、confidence gate、LLM-assisted control planeで「次の一手」に変換する、NAS上のPersonal AI OS。
根拠
検索エンジンではなく、
event-drivenな経営補佐。
検索、共有Dashboard、realtime ingest、poller、promoter、brief、botを疎結合で運用。
realtime queueからknowledge DBへのpromotion cycle。briefは15分、外部APIは6時間。
14 source kindsを、
ひとつのevidence面へ。
会話の全文、AIとの対話、投稿履歴、財務原資料などを共通形式へ揃え、ソースや日付をまたいで探せるようにしています。
実データベース実測値|2026年8月18日時点
原文から、判断まで。
5段階で信頼を守る。
AIがいきなり原文を書き換えることはありません。事実、整理、推測、判断を別レイヤーに分けます。
受け取る
API、Webhook、エクスポートZIP、CSV・PDFなどからデータを取得。
原本を保全
受け取ったデータは変更せず保存。再処理できる正本にする。
整える
ソースごとの形式を共通化し、重複排除・日時・送信者・本文を整理。
候補を抽出
タスク、人物、案件、期限、金額、意思決定を根拠付きで候補化。
人が確定
低信頼なものは質問へ。確認後に日次提案と案件管理へ反映。
Data planeと
deployment planeを分離。
実データはNAS共有へ、Compose・worker・secretはDockerプロジェクトへ。前者は正本、後者は再デプロイ可能なランタイムです。
Data / Knowledge plane
immutable import、正規化JSONL、SQLite/FTS5、control plane、daily briefを保持。
/Volumes/MASAYA/MASAYABrainDeployment / Secret plane
11サービスのCompose、poller、API、OAuth token、realtime WAL queueを保持。
/Volumes/docker/masaya-brain01. 原本レイヤー
各サービスから受け取ったZIP、JSON、CSV、PDFを変更せず保管。
imports/inbox/02. 正規化レイヤー
検索や再構築に使う共通JSONLと展開済みデータ。いつでも作り直せる。
imports/processed_nas/03. 検索・知識DB
SQLite + FTS5。原文、スレッド、財務、運用メタデータを高速検索。
database/staging_nas.sqlite04. ワーカーレイヤー
差分取得、キュー昇格、再構築、日次ブリーフをスクリプトとDockerで実行。
scripts/ · docker/05. 出力レイヤー
検索画面、API、日次ブリーフ、確認キュー、案件コックピットを提供。
search API · daily_brief.json06. 判断・統制レイヤー
優先順位、公開範囲、資金・納期影響、未確定事項を人とAIで管理。
control_plane · clarification_queueNAS上で動く、
小さな専門チーム。
検索係
全文検索、統計、人物・案件・タスク候補、日次ブリーフを読み取り専用APIで返す。
READ ONLY共有UI
Cloudflare Access identityを要求し、機密語を除外した経営Dashboardと確認回答APIを提供。
ZERO-TRUST UIイベントGateway
LINE署名検証、shared-secret ingest、push通知を担当。WAL queueへidempotent insert。
PORT 8788Chatwork connector
全参照可能ルームを5分間隔でAPI pollingし、共通event envelopeへ変換。
API CONNECTEDPromotion gate
1分ごとに最大100件を評価。現在はChatworkのみauto-promoteし、LINEはqueue保持。
SINGLE WRITERMaterialized view builder
案件、返信、90日資金、SNS、確認キューを15分ごとにatomic replaceで再生成。
15 MINYouTube connector
RSS + Data API v3 + Analytics API v2。OAuth tokenをチャンネルIDへ自動mapping。
OAUTH ACTIVEX connector
X API v2のread-only incremental poller。since_idを保持し、public metricsもupsert。
API ENABLEDControl bot
Chatwork指示をDeepSeekで構造化し、進捗・事実・訂正・期限・確認回答を管制。
LLM ENABLEDSnapshot watcher
Google JSONL inboxを5分監視。mtime + sizeで変更検知し、source別にidempotent upsert。
5 MINPrivate edge
公開ポートを直接晒さず、Cloudflare TunnelとAccess headerで共有Dashboardを保護。
TUNNEL「実装済み」と「稼働中」を
分けて見る。
コードが存在するだけではなく、credentialの設定状態、DBのlineage、直近import runまで突合した現在地です。
YouTube AnalyticsはAPI連携済み。ただし最新runは5ch中3chがOAuth authorization済みで、run statusはpartial。
Chatworkは自動昇格、LINEは現在queue保持。connector接続とknowledge採用を意図的に分離している。
GoogleはAPI直同期だけを「連携」と見なさず、レビュー済みJSONLを再現可能なingestion contractとして扱う。
API連携、
終わっています。
公開メタデータはRSS、所有確認はData API v3の channels?mine=true、非公開KPIはAnalytics API v2。Brand Accountごとのrefresh tokenを列挙し、channel IDへbearerをmappingします。
scopes = [ "yt-analytics.readonly", "youtube.readonly" ] bearers = map_tokens_by_channel_id(token_dir) rows = analytics.reports.query( dimensions="video", metrics="views, watchTime, AVD, AVP, likes, comments, shares, subscribers" ) upsert(raw_items, checksum_sha256) replace(search_fts[rowid]) merge(content_items.kpi_actual_json) append(import_runs, per_channel_status)
RSSは (source_kind, external_id)、Analytics snapshotは channel:video:period_end を一意キーにupsert。
公開日と集計期間から analyticsActiveDays と viewsPerDay を計算し、チャンネル間比較を正規化。
client_secret.json と token*.json は専用volumeをread-only mount。DB・Git・共有資料に入れない。
標準ライブラリ中心の、
小さなAPI surface。
検索系はread-only、ingest系はshared secretまたはLINE署名、共有DashboardのwriteはCloudflare Access identity必須です。
/healthz · /statshealth / source counts / first-last seen/searchq, source, after, before, limit / source_url lineage/viewspeople | projects | tasks | decisions のcandidate view/brief · /dashboardmaterialized daily brief / management projection/operations · /financecontent operations / review-status filtered transactions:8788/v1/eventsX-Ingest-Token / 2MB上限 / 202 Accepted:8788/v1/line/webhookraw-body HMAC verify / webhookEventId dedupe/api/clarifications/{id}/answerAccess identity / 16KB上限 / atomic JSON writeSQLiteを、event storeと
read modelの中間に使う。
RAW lineageを残しつつ、検索・財務・コンテンツ運用のprojectionを同一DBへ置く現実的なlocal-first設計です。
sourcesthreadsraw_itemsimport_runstakeout_filesmessageschatgpt_messagesgemini_turnssearch_fts [FTS5]finance_documentsfinance_transactionscalendar_eventscontent_itemsoperation_projectsoperation_channelsoperation_actionsdaily_brief.jsonrealtime_queue.sqlite はWAL。UNIQUE(source_kind, external_id) とchecksumでduplicate deliveryを吸収。
staging_nas.sqlite は約527MB。検索readerはread-only、promotion / pollerだけがwrite可能。
daily_brief.json とcontrol planeはatomic temp-file replacement。UIを複雑なjoinから切り離す。
欲しいのは情報量ではなく、今日の一手。
横断検索
ソース・日付・人物・案件をまたいで原文まで戻れる。
案件コックピット
進行状況、期限、担当、停滞、未完了アクションを一望。
90日資金繰り
既知の収入・支出と未確認前提を分けてシナリオ化。
受信トリアージ
今日対応、返信待ち、期限、意思決定、アイデアに整理。
コンテンツ運用
YouTube / Xの目的、CTA、制作段階、次の投稿を管理。
確認質問
納期・金額など曖昧な項目を、根拠付きで最大3問ずつ確認。
賢さより先に、
壊さない設計。
個人データを扱うため、「AIなら何でも自動化」ではなく、誤統合・誤判断・情報流出を避ける仕組みを優先しています。
Lineage
候補はsource_kind / external_id / source_urlへ遡れる。AI outputだけを孤立保存しない。
Confidence gate
explicit / candidate / confirmedを分離。低信頼はclarification queueへ送る。
Immutable RAW
訂正は派生projection側で行い、元データとchecksumを上書きしない。
Privacy projection
共有Dashboardはblocked termsを除外し、検索機能そのものを公開しない。
Single-writer bias
検索readerはread-only。WAL queueを挟み、SMB上SQLiteのmulti-writerを避ける。
Human commit
送金、契約、会計確定、公開投稿はproposal止まり。人間の確定をcommit pointにする。
動いている部分と、
これから育てる部分。
現在できていること
- 主要な会話・AI対話・X履歴のNAS移行と全文検索
- Chatwork REST API / LINE Webhook・Push / X API v2の連携
- YouTube RSS + Data API v3 + Analytics API v2のOAuth連携
- 検索API、共有Dashboard、人物・案件・タスクのcandidate view
- 財務原資料の保全、取引候補化、検索用インデックス
- 案件・返信・資金・SNSを含む日次ブリーフ生成
- Chatwork + DeepSeekによる案件bot、事実・訂正・進捗の構造化
次に育てること
- YouTube残り2チャンネルのBrand Account OAuth認証
- Google Drive / Sheets / CalendarのAPI cursor型差分同期
- 人物・案件・アイデアの精度高い自動関連付け
- YouTube Analyticsの長期時系列・CTR・retention分析の拡充
- 90日資金繰りの前提入力と月次精度の向上
- 低信頼候補のreview UXとfeedback loopの強化
- NASとは別拠点への暗号化バックアップ
Python stdlib、SQLite、Docker Composeを中心に、運用可能性と可搬性を優先。
正本はNAS。外部API・Cloudflare・LLMは交換可能なconnectorとして境界化。
派手なSaaS構成より、idempotency、lineage、failure isolationを先に実装。
過去を保存する箱から、
未来を選ぶ補佐役へ。
MASAYABrainの価値は、データを大量に持つことではありません。忘れていた根拠を必要な瞬間に呼び戻し、いま確認すべきことと、次に動くべきことを明確にする点にあります。