設計確定日: 2026-02-23 | 担当: Antigravity
1. システム全体構成
graph TB
USER["👤 ユーザー<br/>(唯一の指示元)"]
subgraph LOCAL["ローカルPC (Windows)"]
AG["🧠 Antigravity<br/>司令塔 / Hub<br/>(Google Gemini Ultra)"]
CC["✍️ Claude Code v2.1.50<br/>制作 / Generator<br/>(Anthropic Pro)"]
WD["🔄 watchdog.ps1<br/>プロセス常駐管理"]
R2D["📡 r2_digest.py<br/>フィードバック巡回<br/>(1時間ごと)"]
VW["📝 vault_writer.py<br/>Vault自動書き込み"]
VC["📚 vault_context.py<br/>コンテキスト抽出"]
subgraph VAULT["Obsidian Vault (絶対DB)"]
V00["00_System<br/>運用ルール・絶対DB宣言"]
V02["02_Practical<br/>Skills / Guides"]
V03["03_Interface<br/>連携仕様 × 9システム"]
V04["04_Knowledge<br/>知識・調査結果"]
V05["05_Daily<br/>日記・タスク・週次ログ"]
V06["06_Projects<br/>プロジェクト管理"]
V07["07_Media<br/>画像・動画・資料"]
V08["08_Product<br/>プロダクト管理"]
end
GIT["⚡ quartz_auto_deploy.py<br/>Git監視→自動Push"]
end
subgraph CLOUD["クラウド"]
subgraph CF["Cloudflare"]
OC["🦅 OpenClaw Worker<br/>実行 / Executor<br/>(Cron: 5分ごと)"]
R2["🗄️ R2 anticrow-r2<br/>queue/ feedback/"]
QW["🌐 Quartz Wiki<br/>quartz-wiki.pages.dev"]
end
GH["📦 GitHub<br/>quartz-wiki (Private)"]
DISCORD["💬 Discord<br/>aiログ|ai-log"]
end
USER -->|"指示"| AG
AG -->|"-Task 指示"| CC
CC -->|"content/ 直接保存"| VAULT
AG -->|"vault_context.py で<br/>コンテキスト抽出"| VC
VC -->|"Vaultスナップショット注入"| R2
AG -->|"task JSON + vault_context"| R2
OC -->|"queue/ をポーリング"| R2
OC -->|"実行結果 feedback/"| R2
R2D -->|"feedback/ 巡回"| R2
R2D -->|"vault_writer呼び出し"| VW
VW -->|"Obsidian運用ルール準拠<br/>適切フォルダへ保存"| VAULT
R2D -->|"ダイジェスト通知"| DISCORD
VAULT -->|"ファイル変更検知"| GIT
GIT -->|"git push"| GH
GH -->|"自動デプロイ"| QW
WD -->|"常駐監視・自動再起動"| R2D
2. エージェント役割定義
| エージェント | 役割 | 実行場所 | 認証 |
|---|
| Antigravity | 司令塔・意思決定・オーケストレーション | ローカルPC | Google AI Ultra |
| Claude Code | コード生成・ドキュメント作成・ファイル操作 | ローカルPC | Anthropic Pro |
| OpenClaw | ブラウザ操作・外部監視・24/7実行 | Cloudflare Worker | R2トークンのみ |
3. データフロー詳細
Antigravity が指示を受信
→ vault_context.py でVaultの関連ルールを抽出
→ start_claude_in_vault.ps1 -Task "[指示内容]" を実行
→ Claude Code が content/ 内で作業
→ 成果物はVaultに直接保存
→ quartz_auto_deploy.py が変更検知 → Git Push → Quartz Wiki更新
Antigravity が外部実行タスクを判断
→ vault_context.py でコンテキスト抽出
→ task JSON(vault_context含む)を R2 queue/ に配置
→ [Cloudflare Cron: 5分ごと]
→ OpenClaw が queue/ をポーリング → タスク実行
→ feedback JSON(vault_save_target・content_md含む)を R2 feedback/ に保存
→ [1時間ごと]
→ r2_digest.py が feedback/ を巡回
→ vault_writer.py がObsidian運用ルールに従いVault保存
→ Discord aiログ|ai-log にダイジェスト通知
4. Vault保存ルール(全エージェント共通)
flowchart TD
FB["OpenClaw feedback"]
VW["vault_writer.py"]
FB --> VW
VW -->|"常時"| LOG["05_Daily/03_Log/<br/>週次ログ.md"]
VW -->|"vault_save_target=knowledge"| K["04_Knowledge/"]
VW -->|"vault_save_target=skill"| SK["02_Practical/skills/"]
VW -->|"vault_save_target=interface"| IF["03_Interface/"]
VW -->|"vault_save_target=media"| M["07_Media/"]
VW -->|"vault_save_target=product"| P["08_Product/"]
VW -->|"operation_manual あり"| MN["02_Practical/skills/<br/>手順書.md"]
5. 主要ファイル一覧
| ファイル | パス | 役割 |
|---|
vault_context.py | C:\ai_work\ | Vault→エージェントへのコンテキスト注入 |
vault_writer.py | C:\ai_work\ | feedback→Vault自動書き込み |
r2_digest.py | C:\ai_work\ | R2巡回・digest生成・Vault保存 |
start_claude_in_vault.ps1 | C:\ai_work\ | Claude Code Vaultランチャー |
openclaw_worker.js | C:\ai_work\ | Cloudflare Workerコード |
wrangler.toml | C:\ai_work\ | Worker設定(R2バインド・Cron) |
watchdog.ps1 | C:\ai_work\ | プロセス常駐管理 |
quartz_auto_deploy.py | C:\ai_work\ | Vault変更→Git自動Push |
[[Obsidian運用ルール]].md | 00_System/ | 全エージェントの絶対ルール |
自律運用プロトコルv1.md | 03_Interface/Shared/ | JSON仕様・フロー定義 |
6. 外部サービス連携
7. セキュリティ設計
- OpenClawはR2トークンのみ保有(Antigravityのメイン認証を持たない)
- 指示JSONに
expires_atを設定(期限切れタスクは実行しない)
- 同時実行上限:
max_concurrent=3
- feedbackの
task_id照合(未発行IDは破棄)
.envはGit管理外
関連リンク