ucsandman/DashClaw
Remote approvals, policy checks, and execution evidence for unattended AI agents.
DashClaw とは?
DashClaw は、AI ドリブンのコーディングエージェント(例:Claude Code、Codex、Hermes、OpenClaw など)と実行したいツールの間に配置される ランタイムガード です。エージェントが破壊的または高コストな操作(例:ディレクトリの削除、リポジトリへの強制プッシュ、資格情報の漏出など)を実行しようとした場合、DashClaw はツールが実際に実行される 前に 要求をインターセプトします。その後、人間が許可・拒否、または一時的な「一度だけ許可」の権限を付与できる承認インボックス(Web UI、CLI、Telegram、Discord など)にリダイレクトします。すべての判断は署名付きのロジックレジストリに記録され、後で監査可能になります。
なぜ必要か?
- 未監視のエージェント実行 – 夜間のCIジョブ、バックグラウンドのエージェント群、または長時間稼働する自律エージェントは、監視していないときに危険なコマンドを発行する可能性があります。
- 安全最優先のポリシー強制 –
rm -rfのブロック、本番環境でのDROP TABLEの防止など、ルールを定義し、システムが違反を自動的に停止します。 - 監査証跡 – 各判断は Ed25519 で署名され、許可またはブロックされた内容が改ざんされていないことを証明できます。
- リモート承認 – ターミナルが起動している必要なく、Webインボックス、スマートフォンのPWA、チャットボットから承認できます。
動作方法(コアループ)
- エージェントがアクションを提案(例:シェルコマンド)。
- エージェントランタイム(Claude Code、Codex、Hermes、OpenClaw、または
dashclaw_invokeヘルパー)にインストールされた フック が DashClaw のガードAPIを呼び出します。 - ガードはポリシーに従ってリクエストをスコアリングし、以下のいずれかを返します:
allow/warn– 実行が継続(警告付きで)。require_approval– 呼び出しが一時停止され、承認インボックスに保留項目が表示されます。block– フックはコード2で終了;ツールは実行されません。
- 承認が必要な場合、リモートで対応します。判断結果(署名付き受領証付き)は 判断レジストリ に保存されます。
- 承認後、DashClaw は 原子的実行クレーム を発行し、エージェントのコールバックが実行されます。このクレームはレジストリ上で「一度だけ実行」のセマンティクスを保証します。クレームが失われた場合、SDK は自動的に再試行しません。
このシステムは、機械的強制(フェイルクローズドフック)と 協調的強制(ガードの判断を尊重する必要がある通常のSDK/API呼び出し)の両方をサポートしています。
主な機能(READMEに記載)
| 機能 | 何を提供するか |
|---|---|
| フェイルクローズドインターセプト | Claude Code、Codex、Hermes、OpenClaw、dashclaw_invoke にフックを設置し、実行前に呼び出しを中止できます。 |
| ワンクリックリモート承認 | Webインボックス、CLI、スマートフォンPWA、Telegram、Discordから承認/拒否できます。 |
| 平易な英語要約 | 保留中の項目には、コマンドが何を実行するかの簡潔な説明と、元に戻せない操作の警告が表示されます。 |
| 「許可、次からは尋ねない」 | 将来の一致するアクションを自動承認するスコープ付きの常設権限を作成できます。 |
| 署名付き判断記録 | Ed25519の受領証により、判断が変更されていないことを検証できます。 |
| 調整可能な中断 | ポリシーの閾値が適応され、誤ったプロンプトを減らすことができます。中断頻度を調整可能です。 |
| 自律性スコア | エージェントは自信度を報告;過剰に自信のあるアクションはレジストリで強調表示されます。 |
| ライブネスプローブ | インストールされたフックが正常に機能しているかテストでき、バージョン/フィンガープリント情報を報告できます。 |
| プロンプトインジェクションスキャン | ガードを回避しようとする悪意のあるプロンプトパターンを内蔵で検出します。 |
| マルチランタイム対応 | Node & Python SDK、REST API、Claude Code、Codex、Hermes、OpenClaw 用ネイティブプラグインを提供。 |
| 自己ホスティング可能(MITライセンス) | ローカルまたは独自クラウドインスタンスにデプロイ可能;npm と PyPI パッケージも利用可能。 |
クイックスタート
# CLI のインストール(npm)とローカルインスタンスの起動
npm i -g @dashclaw/cli
npx dashclaw up # PostgreSQL をプロビジョニング、鍵を生成、3000番ポートでサーバーを起動
- コマンドは
~/.dashclaw/instance.jsonにAPIキーを出力します。 - サーバーの稼働確認:
GET http://localhost:3000/api/healthまたはnpx dashclaw doctor。 - 画面の指示に従って Claude Code フックを接続(または Codex、Hermes などには
dashclaw install <agent>コマンドを使用)。
クラウドデプロイには、提供された Vercel ボタンを使用できます。Neon 上の PostgreSQL インスタンスをセットアップし、Web UI のビルド前にマイグレーションを実行します。
エージェントの接続方法
| エージェント | インテグレーションポイント | 強制タイプ |
|---|---|---|
| Claude Code | プラグイン + PreToolUse フック | 機械的(フェイルクローズド) |
| Codex | プラグイン | 機械的 |
| Hermes | プラグイン(ライフサイクルフック) | 機械的 |
| OpenClaw | ゲートウェイプラグイン | 機械的 |
dashclaw_invoke(MCP) |
ガード付き呼び出し | 機械的 |
| Claude Desktop(チャット) | OAuthコネクタ | 協調的 |
| LangChain / CrewAI / AutoGen | Python SDK | 協調的 |
| 任意のHTTPクライアント | REST API + Webhooks | 協調的 |
各インテグレーションには、小さなSDK(Nodeでは runGoverned、Pythonでは run_governed)が付属しており、危険な呼び出しをラップし、承認を待って結果を記録します。
DashClaw が ではない もの
- 一般的なトレーシングや観測プラットフォームではありません – 実行前のみを管理します。
- すべてを備えたエージェントフレームワークではありません – 単一で明確なガード表面を提供します。
- 万能のハード強制を保証するものではありません;フックがインストールされた場所でのみ機械的強制が有効です。それ以外は呼び出し側が協力する必要があります。
- 悪意あるエージェントがフック自体を変更できる場合、完全に改ざんされない保証はありません – インストールは隔離されたコンテナまたは別OSユーザーで実行する必要があります。
- 非常に新しいプロジェクト(初回コミット:2026年2月)であり、大規模な実戦テストはまだ行われていません。
メンテナンス担当者
このリポジトリは、人間が保持するチャーターのもとで AIエージェントによってメンテナンス されています。チャーターは5つの不変性を強制します(ブロックは絶対、自己承認禁止、ポリシー緩和の承認は人間、資格情報ゲート付きアクションは人間が制御、チャーター自体も人間が制御)。すべての主要な設計決定は docs/maintainer-log.md に記録されています。
詳細情報の入手先
- ウェブサイト & ドキュメント – https://dashclaw.io と https://dashclaw.io/docs
- 完全なAPI仕様 –
docs/openapi/critical-stable.openapi.json - アーキテクチャ & ベースモデル –
docs/architecture/enforcement-boundary.md - 例プロジェクト –
examples/ - ライセンス – MIT(
LICENSEを参照)
TL;DR
DashClaw は、AIコーディングエージェントのための フェイルクローズドゲート を提供し、長時間の未監視ジョブを実行しながら、リスクの高い操作に対して人間が関与できるようにします。すべての判断を暗号化された受領証で記録し、リモート承認に対応し、Node、Python、および複数の人気あるLLMエージェントランタイムで動作します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト