主要な用語
| 用語 | 定義 | 例 |
|---|---|---|
| Organization | ToolSetを所有するチームまたは企業。ユーザーはロール(owner、admin、member)を持つ1つ以上のOrganizationに所属します。 | acme-corp — AIツールのコレクションを共有するチーム |
| ToolSet | 共有の実行環境を持つ関連ツールのコレクション。npmパッケージやDockerイメージに相当します。Organizationに属します。 | slack-tools — Slack連携ツールのセット |
| Tool | ToolSet内の個別の実行可能ユニット。入出力スキーマとTypeScriptまたはPythonで記述されたコードを持ちます。 | post-message — Slackチャンネルにメッセージを送信 |
| Run | Toolの1回の実行レコード。入力、出力、ログ、ステータス、実行時間を保存します。 | チャンネルとテキストのパラメータでpost-messageを実行 |
| Version | ある時点のToolSetの不変スナップショット。セマンティックバージョニング(semver)を使用します。 | 1.2.0 — slack-toolsの公開リリース |
| Sandbox | ツールのコードが実行される隔離されたコンテナ環境。安全でない操作がホストシステムに影響するのを防ぎます。 | PythonツールをRunするE2Bコンテナ |
ドメインの関係性
Jinba Toolbox のエンティティは明確な階層で構成されています:- Organizationは1つ以上のToolSetを含みます。
- ToolSetは1つ以上のToolを含み、複数の公開済みVersionを持てます。
- 各RunはToolSet内のToolの1回の実行を記録します。
- ユーザーはロールが割り当てられたメンバーシップを通じてOrganizationに所属します。
エンティティ関係図
Organization
Organization はトップレベルの所有単位です。すべてのToolSet、APIキー、課金はOrganizationに属します。- ユーザーは複数のOrganizationのメンバーになれます。
- 各メンバーシップにはロールがあります:
owner、admin、member。 - APIキーはOrganizationにスコープされ、
read、write、execute、adminの権限スコープを持ちます。
ToolSet
ToolSetは、共有のSandbox設定を持つ関連ツールをグループ化します。主なプロパティは以下の通りです:| プロパティ | 説明 |
|---|---|
| Slug | Organization内で一意の、URLフレンドリーな識別子 |
| Sandbox設定 | 実行環境の定義:プロバイダー(E2BまたはDaytona)、言語(TypeScriptまたはPython)、パッケージ、リソース制限 |
| Visibility | アクセス制御:private(Organization内のみ)、public(誰でも)、restricted(特定のOrganizationのみ) |
| Tags | カタログでの検索に使用可能なラベル |
Tool
Toolは最小の実行可能ユニットです。各Toolは以下を定義します:| プロパティ | 説明 |
|---|---|
| Slug | ToolSet内で一意の、URLフレンドリーな識別子 |
| 入力スキーマ | 実行前に入力を検証するJSON Schema |
| 出力スキーマ | 期待される出力構造を記述するJSON Schema |
| Code | 実行可能なソースコード(TypeScriptまたはPython) |
| Entrypoint | オプションのカスタムエントリポイント関数名 |
Version
Versionは、ToolSetの不変スナップショットです。公開されたVersionは変更できません。- Versionはセマンティックバージョニングに従います(例:
1.0.0、1.2.3)。 - Versionの公開時に、その時点のすべてのTool、スキーマ、コードがキャプチャされます。
- ToolSetの
latestVersionフィールドは、最新の公開Versionを常に指します。 - AIエージェントや外部の利用者は、安定性のために特定のVersionにピン留めすることを推奨します。
Run
Runは1回のツール実行を表し、その詳細をすべて記録します:| フィールド | 説明 |
|---|---|
| Status | pending、running、success、failed、timeout |
| Input | バリデーション済みの入力パラメータ |
| Output | ツールが返す構造化された結果 |
| Logs | Sandboxからキャプチャされたstdoutとstderr |
| Duration | ミリ秒単位の実行時間 |
| Error | Runが失敗した場合のエラー詳細 |
Sandbox実行
すべてのツールは隔離されたSandboxコンテナ内で実行されます。Sandboxシステムはプラグイン可能なプロバイダーアーキテクチャで構築されています:| プロバイダー | 説明 |
|---|---|
| E2B | 高速起動と幅広い言語サポートを持つクラウドベースのSandbox |
| Daytona | オンプレミス実行が必要なチーム向けのセルフホスト型Sandboxオプション |
アクセス制御
Jinba Toolbox は複数のレイヤーでアクセス制御を提供します:- Organizationメンバーシップにより、ToolSetの管理やRunの閲覧権限を管理します。
- ToolSetのVisibility(
private、public、restricted)により、ツールの検索・実行権限を制御します。 - APIキースコープ(
read、write、execute、admin)により、プログラムからのアクセスに対するきめ細かな権限制御を提供します。
Jinba Toolbox