mcpField
N
node-ops

node-ops

github.com/alphaonedevクラウド・DevOps42 回インストール
リポジトリ

node-ops について

node-opsは、分散通信クラスターのノードを操作するスキルです。認証付きのペアリング、リモートコマンドの実行、デバイス機能へのアクセス、System76の管理に対応し、クラスターや機器群の運用に使えます。

主な機能

  1. 01ノードのペアリング承認・拒否
  2. 02ペアリング済みノードでのコマンド実行
  3. 03画面録画とカメラスナップショット
  4. 04GPSまたはネットワーク位置情報の取得
  5. 05System76のファームウェア管理と診断
  6. 06暗号化されたクラスター操作

活用シーン

  1. 01通信クラスターへのノード参加を承認
  2. 02ペアリング済みリモートノードでコマンドを実行
  3. 03画面、カメラ、位置情報の取得
  4. 04機器群のSystem76デバイスを管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill node-ops

インストール後、Claude Code で/node-opsを入力して読み込まれたか確認します。

詳細

node-ops

目的

このスキルは、分散通信環境でのノード操作を扱います。ノードのペアリング(承認/拒否)、コマンドの実行、画面録画、カメラでのスナップショット撮影、位置追跡、System76 デバイスの管理などのハードウェア操作に重点を置いています。distributed-comms などの環境で、安全なクラスター内のやり取りを行うために設計されています。

使用するタイミング

クラスター内でノードのペアを設定または管理するときに使用します。たとえば、新しいノードの通信を承認する場合、リモートコマンドを実行する場合、またはデバイスの機能にアクセスする場合です。IoT デバイス、リモート監視、System76 ハードウェアの統合(フリート管理やリアルタイムのデータ取得など)に関わるシナリオで適用してください。

主な機能

  • 認証済みリクエストを使ってノードのペアリングを承認または拒否します。
  • ペアリング済みノードでコマンドを呼び出す、または実行します。非同期実行にも対応しています。
  • 対象ノードの画面セッションを録画する、またはカメラでスナップショットを撮影します。
  • GPS またはネットワークベースの方法を使って、ノードの位置データを取得します。
  • ファームウェアの更新やハードウェア診断など、System76 デバイスを管理します。
  • すべての操作を暗号化し、distributed-comms クラスター内の安全な通信を処理します。

使用パターン

操作の前に、必ず $NODE_OPS_API_KEY 環境変数を使って認証してください。まずノードをペアリングし、その後コマンドの実行やハードウェアへのアクセスに進みます。簡単なタスクには CLI を、プログラムからの統合には API を使用します。たとえば、最初にノードのステータスを確認してから操作を実行します。コードではスキルをモジュールとしてインポートし、必要なパラメーターを指定してメソッドを呼び出します。スクリプトでは、コマンドを連結できるように出力をパイプします。

一般的なコマンド/API

CLI ツール node-ops または https://api.distributed-comms.com/v1/node-ops の REST API を使用します。認証するには、環境内に $NODE_OPS_API_KEY を設定する必要があります。

  • ペアリング用の CLI:node-ops pair approve --node-id 123 --reason "Verified"。拒否する場合:node-ops pair reject --node-id 123 --reason "Unauthorized"。
  • コマンドを実行する CLI:node-ops run --node-id 123 --command "ls -la" --async。出力例:コマンドのステータスを含む JSON。
  • 画面録画用の API エンドポイント:POST /api/screen_record。本文:{"node_id": "123", "duration": 30}。応答:録画 URL を含む 200 OK。
  • カメラのスナップショット用 API:GET /api/camera_snap?node_id=123。ヘッダーに Authorization: Bearer $NODE_OPS_API_KEY が必要です。
  • コマンドを呼び出すコードスニペット:
    const nodeOps = require('node-ops-sdk');
    nodeOps.invoke({ nodeId: '123', command: 'echo Hello' })
      .then(result => console.log(result));
    
  • 位置情報を取得するコードスニペット:
    import node_ops
    location = node_ops.get_location(node_id='123')
    print(location)  # Returns dict: {'lat': 37.7749, 'lon': -122.4194}
    
  • 設定形式:ノードプロファイルには JSON ファイルを使用します。例:{"node_id": "123", "pair_status": "approved", "api_key": "$NODE_OPS_API_KEY"}。

統合に関する注意

アプリケーションで $NODE_OPS_API_KEY を環境変数として設定し、統合してください。クラスターとのやり取りでは、コードが distributed-comms エンドポイントを参照するようにします。Node.js 用の node-ops-sdk や Python ラッパーなどの SDK を使用してください。他のスキルと組み合わせる場合、クラスター ID を前置してクラスター間の呼び出しを処理します。例:distributed-comms:node-ops run ...。キーをハードコーディングせず、安全なボールトまたは env ファイルを使用してください。

エラー処理

よくあるエラーには、認証失敗(HTTP 401)、ノードが見つからない(404)、コマンドのタイムアウトなどがあります。応答コードを確認し、try-catch ブロックで処理してください。CLI では、--verbose フラグを使ってエラーを解析します。例:ペアリングに失敗した場合は、$NODE_OPS_API_KEY を確認してから再試行します。コードでは次のようにします。

try {
  await nodeOps.pairApprove({ nodeId: '123' });
} catch (error) {
  if (error.code === 'AUTH_ERROR') console.error('Invalid API key');
}

スキルに組み込まれたロギングを使って詳細なエラーを記録します。ロギングは --debug フラグで有効にできます。

グラフの関連性

このスキルは、distributed-comms クラスター(親)およびタグが付いたスキルと関連しています。nodes(ピア)、pairing(関連)、system76(依存)、screen と camera(統合されたハードウェア機能)。関連:ノードの検出には distributed-comms を使用し、system76 管理スキルとデータを共有します。

コメント