← ドキュメント一覧 · English

AgenTrux プラグイン

ステータス: 実験段階 — API は今後変更される可能性があります。

AgenTrux プラグインを使うと、外部プラットフォームから AgenTrux に接続できます。各プラグインが認証・イベント送信・イベント取得を代行します。

初めての方へ: まず下のセットアップガイドを読んでください。


プラグイン一覧

プラグイン プラットフォーム 言語 インストール 認証 (現状)
MCP (組み込み) Claude Desktop / Cursor / Cline / OAuth 対応 MCP Client 全般 ネイティブ OAuth 2.1 (ブラウザ)
Agent SDK OpenAI、Anthropic、LangChain、CrewAI など Python pip install client_credentials (legacy)
n8n n8n ワークフロー(SSE-Hint + Pull トリガー、publish / read) TypeScript @agentrux/n8n-nodes-agentrux(コミュニティノード) activation_code
OpenClaw OpenClaw 自律エージェント TypeScript openclaw plugins install activation_code (legacy)

認証の仕組み

2 つのパターンがあります。ユーザがブラウザを開ける場所でプラグインが 動くかどうか で選びます。

パターン A — OAuth 2.1 ブラウザフロー (interactive クライアント推奨)

MCP サーバおよび OAuth 対応クライアント (Claude Desktop / Cursor / Cline / etc.) は 標準 OAuth 2.1 authorization_code + PKCE loopback フローを実行します。コピペ作業は一切なし — ユーザは consent 画面で 許可 を 1 回クリックするだけで JWT を取得できます。

[クライアント、初回 1 回]
  POST /oauth/register                                      → client_id
[ユーザ、セッション毎に 1 回]
  ブラウザを /oauth/authorize?...&code_challenge=<pkce_hash> に向ける
  → Console consent 画面 (Script picker + scope チェックボックス)
  → 許可 → loopback redirect で ?code=...
[クライアント、セッション毎]
  POST /oauth/token   grant_type=authorization_code         → access_token (JWT) + refresh_token
[クライアント、コール毎]
  Authorization: Bearer <JWT>

詳細は MCP サーバ doc を参照 (Claude Desktop / Cursor 設定例あり)。

パターン B — Activation code(プラグイン / SDK)

Agent SDK と OpenClaw プラグインは single-use の Activation Code フローを使用します(公開 OAuth callback 不要)。

ステップ 1: redeem(1回だけ)
  Activation Code (act_) → POST /auth/redeem-activation-code → client_id (crd_) + client_secret (aks_)

ステップ 2: トークン取得
  client_id + client_secret → POST /oauth/token (grant_type=client_credentials) → JWT aat_(約10分)

ステップ 3: API 呼び出し
  aat_ → Authorization: Bearer ヘッダーに設定 → API を呼び出す

トークンの更新: client_credentials は refresh token を発行しません。aat_ の有効期限が近づくと、プラグインが保存済みの client_idcrd_)と client_secretaks_)で POST /oauth/token を再度呼びます。

クレデンシャル一覧

クレデンシャル プレフィックス 有効期間 保存方法
OAuth client_id (パターン A) dcr_ 永続(install 単位) OAuth クライアントが永続化
Activation Code (パターン B) act_ 1回限り 保存しない — redeem して使い切り
Script Credential ID (client_id) crd_ 永続 安全に保存(環境変数、設定ファイルなど)
Client Secret (パターン B) aks_ 永続 安全に保存(環境変数、設定ファイルなど)
Access Token (JWT) aat_ 約10分 メモリのみ — client_credentials で再取得
Refresh Token art_ ローテーション(authorization_code / device_code のみ) メモリのみ — client_credentials では発行されない

注(Phase Z、 2026-05-22): 匿名 inv_ invite code は廃止されました。 クロスアカウントアクセスは Console UI(Aliases → Share trust + Grants → Create)で確立します — 後述「クロスアカウントアクセス」 を参照。


セットアップガイド {#setup-guide}

プラグインを使う前に、AgenTrux Console でリソースを作成し、Activation Code を発行する必要があります。

全体の流れ

┌──────────────────────────────────────────────────────────────────┐
│  ステップ 1: 管理者が Console でリソースを作成                      │
│                                                                  │
│    Alias 作成 → Topic 作成 → Script 作成 → Grant 設定              │
│    → Activation Code 発行                                        │
└──────────────────────┬───────────────────────────────────────────┘
                       │  Activation Code をエージェントに渡す
                       ▼
┌──────────────────────────────────────────────────────────────────┐
│  ステップ 2: エージェントが API で接続                              │
│                                                                  │
│    アクティベーション → JWT 取得 → イベント送受信                    │
└──────────────────────────────────────────────────────────────────┘

ステップ 1: Console でリソースを作成する

console.agentrux.com にログインして、以下の手順で進めてください。

1-1. Alias を作成する

Alias はプロジェクトのいちばん大きな単位です。ワークスペースやプロジェクトのようなものです。Topic、Script、Grant はすべて Alias に所属します。

Console → Aliases → 「+ New Alias」
  Display Name: my-project
  → Create

1-2. Topic を作成する

Topic は Alias が所有するメッセージチャネルです。送信されたイベントは設定した期間だけ保持され、その後自動的に削除されます。

Console → Topics → 「+ New Topic」
  Alias: my-project
  Name: sensor-data
  Retention: 24h
  → Create

1-3. Script を作成する

Script はエージェントの認証用アカウントです。エージェント1つにつき Script 1つを作成します。Alias に所属します。

Console → Scripts → 「+ New Script」
  Alias: my-project
  Name: temperature-sensor
  → Create

1-4. Grant を設定する

Grant は「どの Script がどの Topic に何をできるか」を決めるルールです。read(読み取り)、write(書き込み)、またはその両方を指定します。

Console → Grants → 「+ New Grant」
  Script: temperature-sensor
  Topic: sensor-data
  Action: write
  → Create

読み取りも必要な場合は、Action: read でもう1つ Grant を作成してください。

よくある構成例:

Script A (センサー)     → Topic: sensor-data (write)
Script B (ダッシュボード) → Topic: sensor-data (read)
Script C (管理ボット)    → Topic: sensor-data (read + write)

1-5. Activation Code を発行する

Activation Code は Script をアクティベーションして永続的なクレデンシャルを付与する、1回限りのキーです。

Console → Scripts → temperature-sensor → 「Issue Activation Code」
  Expires in: 24h
  → Issue

表示された act_... コードをコピーして、エージェントに渡してください。

コードは1回しか使えません。redeem 後は無効になりますが、いつでも新しいコードを発行できます。

ステップ 2: エージェントを接続する

2-1. Activation Code を redeem(1回だけ)

Activation Code を送信して、永続的な Script credential を取得します。

POST /auth/redeem-activation-code
Body: { "code": "act_..." }

Response:
{
  "client_id": "crd_e5f6a7b8-...",
  "client_secret": "aks_xxxxxxxx...",
  "script_id": "scr_...",
  "issued_at": "2026-03-17T12:00:00"
}

client_idcrd_)と client_secretaks_)を安全に保存してください。 エージェント起動のたびに必要です。aks_ は 1 度だけ表示されます。

2-2. アクセストークンを取得する

POST /oauth/token   (application/x-www-form-urlencoded)
Body: grant_type=client_credentials&client_id=crd_e5f6a7b8-...&client_secret=aks_xxx...

Response:
{
  "access_token": "aat_eyJhbGciOi...",
  "token_type": "Bearer",
  "expires_in": 600
}

2-3. イベントを送受信する

# イベントを送信(Publish)
POST /topics/{topic_id}/events
Headers: Authorization: Bearer eyJhbGciOi...
Body: { "event_type": "sensor.reading", "payload": { "temperature": 22.5 } }

Response: { "event_id": "evt_...", "topic_id": "top_...", "payload_kind": "inline", "next_read_cursor": "..." }

# イベントを取得(Read)
GET /topics/{topic_id}/events?limit=10
Headers: Authorization: Bearer eyJhbGciOi...

Response: { "events": [...], "next": { "after": "..." } }

Topic / Grant Discovery(ワークフロープラグイン向け)

ワークフロープラグイン(MCP, Agent SDK, OpenClaw 等)がトピックセレクタ を表示する際は、スクリプトの JWT で GET /topics を叩いてください。 スクリプトが read / write 可能なすべてのトピックを、人間可読な名前付きで 返します:

GET /topics
Authorization: Bearer <JWT>

{
  "items": [
    {
      "topic_id": "019d5ec8-...",
      "name": "oc-command",
      "display_name": "OpenClaw Command",
      "retention_seconds": 86400,
      "actions": ["read", "write"]
    },
    ...
  ]
}

管理画面や診断 UI で grant の詳細(発行元 Alias、説明、グラント単位の レート制限、作成日時)が欲しい場合は GET /grants を使います:

GET /grants
Authorization: Bearer <JWT>

{
  "items": [
    {
      "grant_id": "aaaaaaaa-...",
      "topic_id": "019d5ec8-...",
      "topic_name": "oc-command",
      "topic_display_name": "OpenClaw Command",
      "action": "read",
      "grantor_alias_id": "...",
      "description": "OpenClaw command bus",
      "rate_limit_per_min": 60,
      "daily_limit": 10000,
      "created_at": "2026-04-08T..."
    },
    ...
  ]
}

両エンドポイントとも JWT の scope クレームから生成されるので追加のラウンド トリップは不要、Console 認証も必要ありません。削除済みの トピック / grant は自動的に除外されるので、古い項目が UI を壊すことは ありません。UUID だけで足りるプラグインは JWT scope の topic:<id>:<action> を自前デコードしても等価ですが、エンドユーザーに表示する UI がある場合は 名前を見せるために GET /topics(管理 UI なら GET /grants も)を優先 してください。


クロスアカウントアクセス(Phase Z、 2026-05-22)

登録済の別 AgenTrux ユーザーのエージェントにあなたの Topic へのアクセスを許可します。 匿名 invite code は廃止され、 双方が Console session でそれぞれ操作する 2 段フローに統一されました(受領者は事前に AgenTrux 登録必須)。

オーナー側(あなた)

Console → Aliases → 対象 alias → 「Share trust」
  Grantee email: partner@example.com
  → 信頼関係(あなた → 相手)が即作成される

受領側(相手)

Console → Grants → 「+ Create」
  Topic: top_<あなたの topic>
  Script: scr_<相手自身の script>
  Action: read
  → Grant が作成される (grantor = あなたの alias、 grantee = 相手の alias)

相手のプラグインは次の /oauth/token 呼出で新しいスコープを取得します。

ライセンス

MIT