treg — あなたのエージェントのためのツールカタログ
ツールではなく、タスクで指定してください。 外部データやライブデータ(バックリンク、キーワードボリューム、TikTokプロフィール、仕事用メール、競合の広告クリエイティブなど)が必要な場合、カタログを検索し、価格を確認し、呼び出します。
同じトークンで、同じプロキシを通じて、2種類のツールが応答します。プロキシはクレデンシャルをサーバーサイドで注入するため、あなたがそれを保持することはありません。
- カタログ — tregが代わりに呼び出せるキュレーションされた外部エンドポイント。
- あなた自身のツール — チームメイトが登録し、この組織と共有したもの:APIアカウント、OAuth接続、スキル。 注意:tregのアプリを通じて作成されたX(Twitter)接続は、呼び出しごとに従量課金されます(Xはアプリの所有者に使用量に応じて請求します)。レスポンスにはその価格が報告されます。チーム自身のX開発者アプリは従量課金されません。
仕組み:
- エンドポイント:
https://treg.to· CLI:treg— CLIはAPIのシンクライアントです。 - 認証: すべての呼び出しで
X-Treg-Token: <your token>を送信します。 - ツール = アップストリームのベースURL + クレデンシャルバインディング。スキル/バンドル = レシピ(SKILL.md)+ そのシークレット + そのツール。プロキシはアップストリームを中継し、モデル化しません。
最初に:インストールとサインイン
curl -fsSL https://treg.to/install.sh | sh # CLIをインストールし、ここを指すように設定
`treg login` # ブラウザでのサインイン(GitHub / Google / メールコード)— 初回ログインで登録
`treg login` --email [email protected] # ターミナルのみの代替(メールで6桁のコードが届く)
`treg login` --token <per-org-token> # 非対話型(エージェント/CI)
すべての操作はアクティブな組織で実行されます(初回ログインで個人用組織が作成されます)。チーム招待はメールで届きます — treg invites で確認し、treg accept(または treg org join <code>)で承諾します。チームの切り替え:treg org switch <slug>。
すでにMCP経由で接続している場合?その場合はCLIではなくツールを使用します
https://treg.to/mcp/ 経由でtregにアクセスしている場合(ChatGPT、Claude Code、Cursorなど)、上記のCLI手順は適用されません。代わりに、5つのツールが利用可能です: catalog_search、 catalog_get、 call、 balance、 my_tools。このドキュメントの内容はすべてこれらにマッピングされます:
- 「カタログを検索」→
catalog_search、次にcatalog_getで正確な価格とパラメータを確認 - 「呼び出す」→
callにエンドポイントIDを指定、またはチーム独自のツールの場合は<tool-name>/<path>を指定 - 「残高を確認」→
balance
以下のルールはどちらの場合も同じです。最も重要なルール — 支出前に価格を言う — はこちらでさらに重要です。なぜなら、call は cost_usd を返し、推定ではなく実際のコストを報告できるからです。
カタログエンドポイントへの call はチームの残高から消費されます。チーム独自のツールへの call は消費されません。そのキーはチームのものです。
タスク — カタログ:tregができること(ここから開始)
約56プロバイダにわたる約2,800のカタログエンドポイント。機能ごとにグループ化されています:キーワード・ランクトラッキング、バックリンク・オーソリティ、AI可視性、トレンド・発見、チームのソーシャルアカウントへの投稿、人物・企業エンリッチメント、広告管理・クリエイティブ、計測。
`treg catalog search` "subreddit posts" # 機能でエンドポイントを検索
`treg catalog get` scrapecreators.reddit.subreddit.posts # パラメータ、価格、提供方法を確認
`treg call` scrapecreators.reddit.subreddit.posts --query subreddit=news
`treg balance` # プリペイド残高と最近の請求
`treg catalog request` "<必要なもの>" # 検索しても見つからない?報告 — 次に追加されるものを決定
注意:
- 各エンドポイントの価格は、呼び出す前に
treg catalog getで確認できます。 - HTTP 402 = 残高不足。機械処理可能なボディ(
balance_micro、estimated_cost_micro、topup_url)が返されます。復旧方法:treg balance→ ダッシュボードでチャージ(Team → Billing)→ または、そのプロバイダの組織独自のキーを保存(独自キーは残高に請求されません — 自動的に優先されます)。 - そのプロバイダの組織ツールまたはシークレットが常にtregのキーよりも優先されます。自動的に適用されます — カタログはフォールバックであり、チームがすでに持っているキーの代わりにはなりません。
- 1つの機能に対して複数のプロバイダがある場合の選択手順。
treg catalog get <id>は、同じジョブを提供するすべてのプロバイダをCOST、WORKS(tregが観測した成功率、サンプルサイズ付き)、SPEED(中央値)、LAST OKとともに一覧表示します。以下の順序で検討します:- 実際に持っている入力に一致するもの。
profile_urlを必要とするエンドポイントは、名前とドメインしか持っていない場合、価格に関係なく代替にはなりません。このルールは常に価格より優先されます。 - 次に信頼性:実際のサンプルに基づく高い
WORKSは、小さなサンプルの丸い数字よりも優れています —99% (121)は100% (8)よりも強力な証拠です。 - 次に価格。1つの機能内で最大200倍の差があるため、通常ここが節約ポイントです。
LAST OKで同点を解決します。単なる経過時間は実際の呼び出しが成功したことを意味します。✓付きの経過時間はカタログ自身の検証スタンプであり、ライブトラフィックではありません。—は誰も検証も呼び出しもしていないことを意味します — 他のものを優先してください。
- 呼び出しが429 / 5xx / タイムアウトで失敗した場合は、次のプロバイダを試してください。 パラメータはわかっているので、リクエストを構築できます。どのプロバイダに切り替えたかを報告してください。
- 他の場所で4xxをリトライしないでください。 4xxは通常、パラメータの問題です。修正が解決策であり、リトライは1つのミスに対してN個のプロバイダでチームの資金を消費します。
- tregはあなたの代わりに選択したりフェイルオーバーしたりしません。 これは意図的です。どの入力を持っているかを知っているのはあなただけであり、tregはリクエストを書き換えずに中継します。
- 実際に持っている入力に一致するもの。
- 価格が公開されていないエンドポイントは、無料で提供されるのではなく拒否されます。独自のキーを接続してください。
2重請求せずに呼び出しをリトライする
呼び出しがタイムアウトした場合や応答が表示されなかった場合は、同じ idempotency_key(MCP経由)または Idempotency-Key ヘッダー(HTTP経由)で再度呼び出します。tregは保存された応答を返し、プロバイダを再度呼び出さず、課金も行いません。結果には replayed: true が含まれます。
これは真のリトライの場合のみ使用してください。同じ質問を再度行って変更点を確認するのは新しい作業です。新しいキーを使用するか、キーを使用しないでください。そうしないと古い応答が返されます。異なるリクエストに同じキーを再利用することは拒否されます。
ほとんどのリトライではこれらは不要です — 失敗した呼び出しは課金されていません。
タスク — あなた自身のツール:チームが登録したものを呼び出す
登録されているものから始め、APIのドキュメント通りに使用します。 tregの語彙や特別なパラメータは不要です:
`treg tool ls` # このチームが登録しているものを確認
`treg call` intercom conversations?per_page=5 # <tool-name> + アップストリームのパス
HTTPの場合は GET https://treg.to/call/<tool-name>/<path> で、X-Treg-Token: <your token> を送信します。tregは指定されたツールを検索し、そのチームのクレデンシャルをサーバーサイドで注入し、すべてを忠実に中継します(メソッド、クエリパラメータ、ヘッダー、ボディ)。あなたの X-Treg-Token はアップストリームに渡される前に除去されます。GET/POST/PUT/PATCH/DELETEに対応しています。
この組織が登録したツールのみが解決されます。treg tool ls · treg skill ls で発見してください。
タスク — キーとスキルを共有し、チームメイトのエージェントが使用できるようにする
一括(高速パス): 人間が指定したディレクトリで実行します。その .env にあるプロバイダキーとサブディレクトリ内のスキルを認識し、チェックされたものだけを登録します:
`treg upload` # cwdの両方を処理;`treg upload env|skills --dir <d>` で制限可能
デフォルト:新しいキーをスキルでラップします。 新しいキー/エンドポイント/CLIを登録する際は、スキルとペアにすることで、クレデンシャル、ツール、レシピが一緒に配置されます(さらに共有可能なページが生成されます)。スキルが存在しない場合は、基本的なものを作成します — 適切なSKILL.md(フロントマターが重要です。エージェントはこれでスキルを発見します)+ 1つのサンプル呼び出し:
mkdir -p ./posthog && cat > ./posthog/SKILL.md <<'MD'
---
name: posthog
description: treg経由でPostHogアナリティクスAPIをクエリします — キーはサーバーサイドで注入されます。イベント、インサイト、プロジェクトクエリに使用します。
---
呼び出し方: `treg call posthog api/projects/@current` (アップストリーム: https://us.posthog.com)
MD
`treg skill init` --dir ./posthog # treg.jsonをドラフト:base_urlはカタログ(フォルダ名)またはSKILL.md内のURLから取得;確認後、キーを追加
`treg skill add` --dir ./posthog # レシピ + シークレット + ツールをアトミックに登録
シークレットを孤立させないでください: バインドされていない保存キーはデッドウェイトです — secret add を直接使用する場合は、同じタイミングでツール(エンドポイント/CLI)にバインドしてください。
ベアエンドポイント、レシピなし(スキルが何も追加しない場合のみ):
`treg secret add` posthog-key --value "$POSTHOG_API_KEY" # または --file ./.secret/token.json
`treg tool add` posthog --base-url https://us.posthog.com --secret posthog-key
# Bearerヘッダーの代わりにクエリキーAPI:
`treg tool add` serpapi --base-url https://serpapi.com --secret <name-or-id> \
--auth-in query --auth-name api_key --auth-format '{secret}'
スキル全体(レシピ + シークレット + ツール、複数クレデンシャル可能):
`treg skill scaffold` ~/.claude/skills/google-ads --out gads.json
# -> ディレクトリを走査:SKILL.mdをレシピとして、.secret/* のすべてをシークレットとして取得。
# -> その後、gads.jsonを編集:base_urlを設定し、各バインディング(場所/名前/形式)を完成させます。
# 例:google-adsは1つのリクエストに2つのバインディングが必要:
# Authorization: Bearer {access_token} (インジェクター: oauth)
# developer-token: {secret} (インジェクター: env)
`treg skill push` gads.json # バンドルをアトミックに登録
組織内で共有:チームメイトにエンドポイント + ツール名を伝えれば、そのエージェントはクレデンシャルを直接渡されずに呼び出すことができます — あなたがアクセスを許可し、tregがシークレットを注入し、呼び出しはそのトークンに対してログ記録されます。
認証形状(バインディングごとの injector、= シークレットの kind):env(プレーン文字列) · secret_file(JSONトークンファイル、secret_field を取得) · oauth(JSONトークン、自動更新) · cli_auth(人間が既にサインインしているCLIからコピーしたトークンで、tregに自ら提供したもの)。複数のバインディングがすべてのリクエストに適用されます。
OAuth、2つのモード(tregが最新を維持): oauthシークレットが refresh_token + client_id + client_secret を持つ場合、tregは期限切れ前に自動更新します(再アップロードは不要)。ベアトークンのみの場合は手動モードで、tregはそのまま注入し、期限切れになったら再アップロードします。ストレージは同じで、クレデンシャルは移行なしで手動から自動にアップグレードできます。
最初のOAuthトークンを取得する2つの方法(選択可能):
- 手動: 自分でローカルでOAuthを実行し、
treg secret add gsc --file token.json --kind oauthを実行します。 - ホスト型接続:
treg oauth connect gsc --client-secret client_secret.json --scopes <scope>を実行 → 同意URLが表示されます。ブラウザで承認すると、tregがトークンを直接取得します。 初回セットアップ:OAuthアプリのリダイレクトURIにhttps://treg.to/oauth/callbackを追加します。
タスク — チームの管理と監視
`treg tool ls` / `secret ls` / `skill ls` / `calls` # インベントリ + 監査ログ — アクティブな組織にスコープ
`treg tool rm` <id> / `secret rm` <id> / `skill rm` <id> # ツールがバインドされている場合、secret rm はブロックされる
`treg health` # この組織内のすべてのクレデンシャルの状態(ok | invalid | unknown)
`treg health` --run # 今すぐ再チェック:oauthトークンをリフレッシュ、各ツールをプローブ、所有者に警告
チーム / 組織(owner > admin > member > viewer;メンバーは自分が作成したもののみ管理可能):
`treg org create` "Team A" # あなたがオーナーになる(自動アクティブ)
`treg org invite` [email protected] --role member # admin+;招待メールを送信(ワンタイムコードはフォールバック)
`treg org members` # admin+;アクティブ組織のメンバー
`treg org ls` / `treg org switch` <slug> # 組織一覧 / アクティブ組織の切り替え
エージェントに自身のIDを付与(admin+)。エージェントは人間のトークンを借用する必要はありません — 専用トークンを発行すれば、そのすべての呼び出しはキャップ、スコープ設定され、自身としてログ記録されます:
`treg org agent-new` ci-bot # トークンを1回だけ出力(再実行でローテーション)
`treg org agent-new` ci-bot --tools stripe,gh --cap 500 # これらのツールのみ、500回/日
`treg org agents` # チームのエージェント + 今日の使用量
`treg org agent-rm` <user_id> # 即時無効化
そのトークンをエージェントの TREG_TOKEN 環境変数に設定します。エージェントトークンはこのチームのツールの呼び出しと読み取りが可能ですが、サインイン、チーム作成、オーナーになることはできません。エージェントであり、自身のトークンが与えられている場合は、マシンオーナーの代わりにそれを使用してください。そうすれば、作業は treg calls で自身の名前の下に表示されます。
招待された人は招待されたメールでサインインし、treg accept を実行します — コードの処理は不要です(コードパスもまだ機能します:treg org join <code>)。新しく招待された人には個人用組織も自動で作成されるため(空の状態はありません)、チームから削除されてもロックアウトされることはありません。ツールにプローブを設定してtregが検証できるようにします:health_check: {method, path, expect_status}(例:intercom {"path":"me"})。
ルール
- シークレットは書き込み専用です — APIは保存された値をあなたや誰にも返しません。
- ツールはチームメイトがこの組織と共有したシークレットをバインドできます(保持せずに使用)。それがポイントです。共有することを選択し、組織にスコープされ、見ることなく使用でき、すべての呼び出しはそれを行ったトークンに帰属します。これは1つのチーム内での委任されたアクセスであり、誰も許可していないクレデンシャルへのアクセスではありません。
- すべてはアクティブな組織にスコープされます。 トークンはそのチームのツールにのみアクセスでき、それ以外にはアクセスできません。
- プロキシはアップストリームを理解しません。呼び出しが失敗した場合、表示されるステータスはアップストリームの真実です。
- 詳細:
https://treg.to/llms.txt(エージェントオンボーディング) ·https://treg.to/tutorial(インタラクティブチュートリアル)。