withoneai/cli
A command-line tool to give your agents access to any app, create workflows and manage your One account.
One CLI – AIエージェントが任意のウェブサービスと通信できるコマンドラインブリッジ
何であるか – 600以上のSaaSプラットフォーム(Gmail、Slack、Stripe、Shopify、HubSpotなど)のAPIを一元的に呼び出せるNodeベースのCLI(one)。認証、OAuthフロー、レート制限、リクエストフォーマットをすべて自動処理するため、エージェントは「何をしたいか」だけを知ればよく、各サービスとのやり取りの「方法」を学ぶ必要がない。
動作方法
- セットアップ –
one initでWithOne APIキーを保存(またはブラウザでログイン)し、使用するAIエージェント(Claude、Cursorなど)に小さな「MCP」サーバーをインストール。 - プラットフォーム接続 –
one add <platform>で一度だけOAuthフローを実行し、認証済みの資格情報を表す connection key を作成。 - アクション発見 –
one actions search <platform> "send email"で自然言語クエリに一致するAPIアクション(actionIdで識別)のリストを取得。 - ドキュメント確認 –
one actions knowledge <platform> <actionId>でリクエストスキーマ、必須パラメータ、例を表示。 - 実行 –
one actions execute <platform> <actionId> <connectionKey> -d '{…}'でリクエストを送信。CLIが適切なトークンを注入し、レスポンスを正規化。 - フローの構成 –
one flow create …を使って複数のアクション(例:Stripeの顧客を検索してメールを送信)を条件付きで連結し、再利用可能なワークフローを作成。単一コマンドで実行可能。 - メモリストア –
one mem …はローカルのPostgreSQLバックエンドストアを起動し、ユーザーのメモや接続済みプラットフォームからのデータを保持。エージェントが高速なハイブリッドフルテキスト+意味的検索を実行可能。 - 同期 –
one syncでプラットフォームデータをメモリストアに取得し、エージェントが外部APIを毎回呼び出さずにクエリできるようにする。
主なコマンド
| コマンド | 目的 |
|---|---|
one init |
認証、MCPサーバーのインストール、グローバルまたはプロジェクトスコープの設定 |
one add <platform> |
OAuthを実行し、接続キーを作成 |
one list |
すべての有効な接続とアクセスポリシーを表示 |
one actions search … |
自然言語による記述でAPIアクションを検索 |
one actions knowledge … |
特定のアクションの完全ドキュメントを取得 |
one actions execute … |
JSONデータ、パス変数、クエリパラメータなどを含めてアクションを呼び出し |
one flow create … |
複数ステップのワークフロー(条件、ループ、並列ステップ)を定義 |
one flow execute … |
保存済みのワークフローを実行 |
one mem … |
ローカル統合メモリストアを管理(追加、検索、一覧表示、インポートなど) |
one sync |
プラットフォームデータをメモリストアに取得し、即時クエリ可能にする |
one cache … |
CLIのアクションメタデータキャッシュを確認またはクリア |
AIエージェントにとっての重要性
- APIキーの管理不要 – エージェントは単一の connection key だけが必要。CLIが裏でOAuthトークンを注入。
- 一貫したインターフェース – すべてのプラットフォームが同じ形(メソッド、パス、JSONスキーマ)でアクションを公開。1つのLLMプロンプトテンプレートがどこでも利用可能。
- セキュリティ – アクセスポリシーをスコープ(完全、メソッドレベル、明示的許可リスト)で設定可能。エージェントは呼び出し前に権限を把握。
- 組み合わせ可能なワークフロー – 複雑なビジネスロジック(例:「新しいStripe顧客が登録されたらウェルカムメールを送信」)をフローファイルとして表現でき、エージェントがプログラム的にトリガー可能。
- ローカルメモリ – PostgreSQLストアにデータを同期することで、エージェントが高速で検索可能なコンテキストを得られ、リモート呼び出しを繰り返さずに済む。OpenAI埋め込みによるオプションの意味的検索もサポート。
インストール
# 一時的インストール
npx @withone/cli@latest init
# またはグローバルインストール
npm install -g @withone/cli
one init # その後、インタラクティブなプロンプトに従う
Node 18+が必要。one sync はNode 20が必要(プリビルドのSQLiteバイナリを使用)。
一般的な使用例
one add gmail # OAuthを一度実行し、接続キーを取得
one actions search gmail "send email" -t execute
# 仮に返されたaction IDが12345の場合
one actions execute gmail 12345 <key> -d '{"to":"jane@example.com","subject":"Hi","body":"Hello"}'
数回のコマンドで、エージェントはOAuthトークンを扱ったりGmailのREST仕様を学んだりすることなく、認証済みのメールを送信できた。
結論 – One CLIは、数百ものSaaS APIの実装を抽象化する実用的なツールであり、AIエージェントに現実世界のサービスに対してクリーンで安全かつプログラム可能な方法を提供する。
関連
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト