node-ops について
node-opsは、分散通信クラスターのノードを操作するスキルです。認証付きのペアリング、リモートコマンドの実行、デバイス機能へのアクセス、System76の管理に対応し、クラスターや機器群の運用に使えます。
主な機能
- 01ノードのペアリング承認・拒否
- 02ペアリング済みノードでのコマンド実行
- 03画面録画とカメラスナップショット
- 04GPSまたはネットワーク位置情報の取得
- 05System76のファームウェア管理と診断
- 06暗号化されたクラスター操作
活用シーン
- 01通信クラスターへのノード参加を承認
- 02ペアリング済みリモートノードでコマンドを実行
- 03画面、カメラ、位置情報の取得
- 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 管理スキルとデータを共有します。