ワークスペース統合とウォレット入金監視
ワークスペース統合とウォレット入金監視
OpenClaw ワークスペース統合
エージェントは ~/.minara/workspace/(--workspace で上書き可能)にある ワークスペースディレクトリを読み書きします。このディレクトリには OpenClaw の AGENTS.default スキーマを本にした Markdown ファイルが含まれます: SOUL.md (アイデンティティ)、AGENTS.md (ルール)、IDENTITY.md、USER.md、MEMORY.md (選別された長期記憶)、HEARTBEAT.md (セッション間メモ)、BOOTSTRAP.md (初回実行のみ)、そして memory/YYYY-MM-DD-*.md (日次ログ)。 テンプレートは src/workspace/templates/ の下で提供されます。minara setup が初回実行時にこれらをシードします。シードは冪等で、ユーザーがすでに編集した ファイルを決して上書きしません。
WORKSPACE_HEARTBEAT_ENABLED
ターンごとの HEARTBEAT.md ステートライター。
- 制御対象: オンのとき、毎ターン後に Agent は
<workspace>/HEARTBEAT.mdにlast_seen、session_id、surface、turn_count、last_user_query、および返信から抽出したヒューリスティックなopen_loopsを書き込みます。ライターは、ユーザーが編集した## Scheduleセクションを書き込みをまたいでそのまま保持します。 - When to disable: 読み取り専用の workspace マウント、CI 実行、セッションメモをディスクに残したくないプライバシー重視のコンテキスト。
- 未設定時: オン。
- 形式:
0/false/no/offで無効化します。それ以外(既定)はオンのままにします。 - 設定の所在: 設定 → 環境設定(schema キー)
WORKSPACE_DAILY_LOG_ENABLED
セッションごとの日次ログを追記します。
- 制御対象: オンのとき、各サイクルで、永続的な SQLite ウォーターマーク以降のジャーナル化されていない
chat_turnsの行を、すべて<workspace>/memory/YYYY-MM-DD-<session>.mdにフラッシュします。行は実際のセッション id、surface、ランタイムソースを保持します。相関 id がセッション id として使われることはありません。セッションごとのファイルにより、マルチプロセスの追記競合を回避します。 - When to enable: Agent に作業メモリを蓄積させ、後で MEMORY.md に昇格できるようにしたい長期稼働のデプロイ。
- 未設定時: オフ(明示的にオプトインするまで workspace は小さいままです)。
- 形式:
1/true/yes/onで有効化します。 - 設定の所在: 設定 → 環境設定(schema キー)
WORKSPACE_DAILY_LOG_INTERVAL
日次ログ追記の間隔(ターン数)。
- 制御対象: 上記の
chat_turnsのバックログをフラッシュするサイクル。フラッシュのたびにウォーターマーク以降のすべての行を書き込むため、間隔を増やすと永続化は遅れますが、途中のターンをサンプリングしたり破棄したりすることはありません。 - 未設定時: 5 ターン。
- 形式: 正の整数。
- 設定の所在: ユーザー向け設定ではありません
WORKSPACE_DREAM_ENABLED
WORKSPACE_DREAM_ENABLED: 個人メモリの定期的な書き出し。
- 制御対象: 共有の個人メモリ処理を更新し、選択した有効な事実を最大 20 件、MEMORY.md の生成ブロックに書き出します。上限は 12 KB です。機密情報やウォレットアドレスの候補を除外し、訂正と削除を反映します。ブロック外の手書き内容を保持し、旧形式の生成セクションは置換前に保存します。日次ログの読み取りや有効化は不要です。
- When to enable: ワークスペースでメモリの要約を読みたい場合に有効にします。対象となる新しい会話があれば通常の抽出と審査を実行します。ファイルへの書き出し自体はモデルを呼び出しません。
- 未設定時: OFF。
- 形式:
1/true/yes/onで有効にします。 - 設定の所在: 設定 → 環境設定(schema キー)
WORKSPACE_DREAM_INTERVAL_HOURS
dream 統合のサイクル。
- 制御対象: dreaming 実行の間隔(時間)。スケジューラーは前回の実行がまだ進行中の場合は tick をスキップするため、遅い LLM 呼び出しが積み重なることはありません。
WORKSPACE_DREAM_ENABLEDがオフの場合は効果がありません。 - 未設定時: 24(1 日あたり 1 回の統合パス)。
- 形式: 正の数(時間、小数可)。
- 設定の所在: ユーザー向け設定ではありません
WORKSPACE_DREAM_LOCK_TTL_MS
dream ロックファイルの TTL。
- 制御対象:
<workspace>/.dreaming.lockファイルが、陳腐化して別のプロセスが再利用可能とみなされるまで尊重される期間。パスの間隔ではなく、単一の dream パス(LLM 呼び出し + IO)の妥当な最長時間を反映すべきです。このロックは、tick ウィンドウが重なったときに REPL と HTTP gateway がMEMORY.md の生成ブロックを同時更新するのを防ぎます。NFS の workspace はサポートされません(基盤となるO_EXCLのセマンティクスは、すべての NFS クライアントで原子的であることが保証されていません)。dreaming は単一ホスト上で行ってください。WORKSPACE_DREAM_ENABLEDがオフの場合は効果がありません。 - 未設定時: 1800000(30 分)。
- 形式: 正の整数(ミリ秒)。
- 設定の所在: ユーザー向け設定ではありません
REPORT_BUNDLE_CHART_PNGS
deep-research の HTML / PDF レポートで、インタラクティブな ECharts の代わりに PNG バンドルのチャートにフォールバックします。
- 制御対象: 設定すると、gateway の deep-research ブランチは
renderDeepResearchReportに["html", "pdf", "charts"]を渡すため、bundleChartPngsが実行され、HTML は各chart://<id>を静的な<img src="charts/<id>.png">タグとして埋め込みます(ヘッドレスの playwright でサーバーサイドレンダリング)。未設定の場合(v7 以降の既定)、gateway は["html", "pdf"]のみを渡し、すべての chart:// リンクは正規の ECharts 埋め込みパターン(<div class="echart-host">+ インラインの<script>、echarts CDN からハイドレート)に展開されます。既定ではズーム + ツールチップ + saveAsImage の PNG ダウンロードを備えたインタラクティブなチャートが生成されます。 - これを消費するスキル / ツール: deep-research パイプライン(
src/gateway/api.tsのhandleChatStreamdeep-research ブランチ)。 - When to set it: オフラインでの配布用にレポートをエクスポートするオペレーター(echarts CDN に到達できない場合)、または開いたときに約 120 KB の CDN スクリプトが取得されることを許容できないオペレーター向け。トレードオフ: PNG バンドルのチャートは静的です。ズーム、ツールチップ、PNG ダウンロードボタンはありません。チャートのマテリアライズを実行できるよう、ヘッドレスの playwright がインストールされている必要があります(すでにプロジェクトの依存関係です)。
- 未設定時: インタラクティブな ECharts(CDN ハイドレート)。チャートを見るにはネットワークアクセスのあるブラウザで HTML を開いてください。オフラインのチャートは、埋め込みスクリプトの try/catch により小さな "chart unavailable" プレースホルダーに劣化します。
- 形式: 1 / true(有効化)。それ以外の値、または未設定では無効になります。
- 設定の所在: 設定 → 環境設定(schema キー)
WALLET DEPOSIT WATCH
リアルタイム入金検出の SSE エンドポイント (POST /v1/wallet/deposits/watch)。perps の USDC/Arbitrum アドレスに対して、 Portfolio DepositModal のグリーンフリップを駆動します。 2 つのチェーントランスポートがあり、エージェントがブート時に選択します: 1. Alchemy (推奨) — ALCHEMY_API_KEY を設定。実際の mempool 観測のために alchemy_getAssetTransfers(専用に作られた着信転送クエリ) + alchemy_pendingTransactions の WS サブスクリプションを使用します。 無料枠: 月 300M CU。 2. Public RPC フォールバック — ALCHEMY_API_KEY がないとき。入金アドレスに フィルタリングされた USDC Transfer イベントのために、5 秒ごとに eth_getLogs をポーリングします。mempool の可視性なし(このモードでは pending イベントは放出されません)。 制御対象: WALLET_DEPOSIT_WATCH_ENABLED — SSE エンドポイントのマスター スイッチ。dev ではデフォルト ON で、機能が箱から出してすぐ動作します。 きれいに無効化するには false / 0 に設定します。off のとき、web-ui の DepositStatus pill は "Live updates unavailable" を表示し、ユーザーは 引き続き通常どおりアドレスをコピーできます。 消費するスキル / ツール: apps/agent/src/wallet-watch/* と api.ts の handleWalletDepositsWatch ハンドラー。
WALLET_DEPOSIT_WATCH_ENABLED
WALLET_DEPOSIT_WATCH_ENABLED=true
- 設定の所在: 設定 → 環境設定(schema キー)
ALCHEMY_API_KEY
Arbitrum 用の Alchemy API キー。1 つのキーがすべての Alchemy チェーンで機能します。 任意です。設定しない場合、watcher はパブリックの Arbitrum RPC にフォールバックします(mempool 検知なし)。 ALCHEMY_API_KEY=abc123...
- 設定の所在: 設定 → API キー
ALCHEMY_NETWORK
Alchemy のネットワーク enum 文字列。今日重要なのは arb-mainnet のみです (perps ウォレットの入金 = Arbitrum 上の USDC)。エンドツーエンドの QA のために ALCHEMY_API_KEY をテストネットに向ける場合にのみオーバーライドします。 ALCHEMY_NETWORK=arb-mainnet
- 設定の所在: ユーザー向け設定ではありません
ARBITRUM_RPC_URL
パブリックの Arbitrum RPC URL。ALCHEMY_API_KEY が未設定のときに使われます。
- デフォルト: https://arb1.arbitrum.io/rpc(Arbitrum Foundation)。
- 確認後の検知のみが必要な場合、オペレーターは Alchemy を有効にせずに
- 有料の HTTPS エンドポイントに差し替えることができます。
- ARBITRUM_RPC_URL=https://arb1.arbitrum.io/rpc
- 設定の所在: ユーザー向け設定ではありません
SOLANA_RPC_URL
spot 入金 watcher が Solana チェーンに使うパブリックの Solana RPC URL。非 EVM のため Alchemy は自動配線されません。この URL が最初に試され、次に foundation グレードのパブリックリスト(api.mainnet-beta.solana.com、solana-rpc.publicnode.com、…)が順に試されます。トランスポートはユーザーの USDC トークンアカウントに対して getSignaturesForAddress を 5 秒ごとにポーリングし、confirmed コミットメントで credited に切り替えます。
- デフォルト: https://api.mainnet-beta.solana.com(Solana Foundation)。
- ホスト型 RPC(Helius、QuickNode、Triton、Alchemy
- Solana)を使うオペレーターは、より高いレート制限のためにここで差し替えられます。
- SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
- 設定の所在: ユーザー向け設定ではありません
DEPOSIT_WATCH_TIMEOUT_MS
watch セッションが自動クローズ前にとどまる時間(ミリ秒)。既定は 20 分。 遅いチェーンの確認には十分な長さですが、開いたまま忘れられたモーダルでの リソース使用に上限を設けます。 DEPOSIT_WATCH_TIMEOUT_MS=1200000
- 設定の所在: ユーザー向け設定ではありません