CLIと構造化された出力
open-science を使用して、アプリケーションの状態を調べ、タスクを実行し、コネクタと認証情報を管理し、ローカルサービスを実行します。 インストールされたランチャーで起動し、接続するローカルインスタンスを確認します。
アプリケーション・アップデートャーは取除かれました: v1.0.0は--jsonの形態を含むopen-science updateを、もはや受け入れません。 デスクトップの更新制御または元のインストーラ/パッケージマネージャを使用してください。 5 と 6 は、現在の CLI のテーブルの一部ではありません。 アップグレードガイド を参照してください。
ターミナルからセットアップ
デスクトップランチャーをインストールし、v1.0.5スタンドアローンのアーカイブを使用して、またはフォローしてください。 npmインストール手順お問い合わせ スタンドアローンは、バンドルノード、バックエンド、Web UI をアーカイブします。以下の抽出手順は、これらのアーカイブに適用されます。
- macOS または Linux アーム64/x64 または Windows x64 を選択し、ホストにマッチします。
- 完全なアーカイブを書き込み可能な場所に抽出します。
backendとnode-runtimeを一緒に保持してください。 起動者のみをコピーすると起動が解除されます。 - そのディレクトリから、macOS/Linux で
./open-science --helpを実行し、PowerShell で./open-science.cmd --helpを実行します。 PATH にそのディレクトリを追加した後、新しいターミナルを開き、次としてopen-scienceを使用します。 - ローカルのバックエンドを開始し、準備を確かめます。 単独で起動するとモデルを構成しません。
open-science init
open-science start --no-open
open-science runtime list --json
open-science doctor --json
init は、アプリケーションを起動せずに設定ディレクトリを作成します。 --profile は --config-root をポータブル CLI プロファイルにエイリアスします。 init、start、およびその後のコマンドと同じ絶対設定ディレクトリを使用します。 別のプロファイルは、独自のセットアップを持っています。 runtime listは、実行可能パスを提示することなく、検出されたフレームワークの信頼性、バージョンおよび管理/外部ソースを示しています。
未設定のCodex設定の場合:
open-science runtime install codex --json
open-science codex login
open-science doctor --json
ログインフローに従ってください。 これは、管理されたCodexランタイムを準備または修理し、アプリケーションを介してサブスクリプションを登録します。 外部のCodexログインファイルをインポートしません。 実行中のブートストラップは現在、実行中のリストには他のフレームワークが含まれているにもかかわらず、Codexをターゲットにします。 不正なコンフィギュレーションをサイレントに置換するのではなく、既存のコンフィギュレーションが報告されます。
代わりにOpenAI APIキーを使用する場合は、provider add --type official --vendor openai --model MODEL_ID --api-key-env OPENAI_API_KEY --jsonを使用して、サポートされているモデルIDと、既に秘密管理環境によって供給されたキーを使用します。 OpenAlex では、connector configure literature --openalex-key-env OPENALEX_API_KEY --json を使用します。 open-science で両方のコマンドをプレフィックスします。 コマンド引数にキー自体を置かないでください。 巧妙なクレデンシャルチェックは、研究クエリが完了したか、そのクオータが残っていることを確立しません。
準備完了、個々のチェックを読んで、doctorから次へアクションを提案しました。 ready が false である間、レポートは正常に終了できます。 バックエンドが不在の場合、医師はそれを報告し、3を終了します。 報告された前提条件を完成させ、再度確認し、意図したプロジェクトでタスクを実行するを検証します。
Homebrew または Linux .deb/.rpm のインストールは、パッケージの指示 に従って下さい。 Linuxの配電パッケージはopen-science-cliを提供します; 別のデスクトップランチャーを選択することを避けるために、このページ上の例でそのコマンドを置換します。
エントリーポイント
| エントリーフォーム | 必須条件 | コマンド |
|---|---|---|
| インストールされたアプリケーションランチャー | Settings → General → Command line tool → Install command | open-science --help |
| ソースチェックアウト | 組み込みアプリケーションとリポジトリの依存関係 | node packages/open-science/cli.mjs --help |
| スタンドアローンCLIアーカイブ | マッチングOS/アーキテクチャ; 完全な抽出されたディレクトリを保持する | ./open-science --help や ./open-science.cmd --help |
| npmクライアント/SDK | Node.js 22.13+ および実行中の互換性のあるバックエンド。 インストール前にパッケージの要件をチェック | パッケージ識別子 @aipoch/open-science |
インストールされたランチャーは、アプリケーションのバンドルされたランタイムを使用します。 PATH からディレクトリが存在しない場合は、一般パネルの指示に従って、新しいターミナルを開きます。 表示ブランディングと一致させるために実行可能の名前を変更しないでください。
Install command の後、新しい PowerShell ウィンドウを開き、次のコマンドを実行します。
Get-Command open-science | Select-Object Name, Source
open-science --help
open-science status --json
Source は、通常、ユーザプロファイルの下の open-science.cmd で表示されるランチャーにポイントします。 成功したヘルプ出力は、ランチャーが実行されていることを確認します。 ステータスが {"running":false} を返すと、 CLI は実行中のバックエンドが報告されていない。 これはデスクトップウィンドウが閉じられているという意味ではありません。 タスクの送信やファイルのダウンロードの前に、サーバーモードを使用して意図したインスタンスを確認してください。
小さなコマンドラインタスクを完了
例 コマンドラインからメモを保存
- 上記のエントリを使用してコマンドをインストールします。 デスクトップまたは
start --no-openを介して、作業モデルでバックエンドを実行してください。 open-science status --jsonを実行し、open-science project list --jsonを実行します。 意図したインスタンスを確認し、返されたプロジェクト ID をコピーします。task.mdで保存: 簡単な接続チェックノートを含む project-note.md を保存します。 他のファイルを読み込むか、ネットワークを利用しないでください。- 入力を実行し、フラグを制御する でコマンドを実行します。 前回からIDを取得した後に、各プレースホルダを交換してください。
- 許可の実行停止がない場合、対応するデスクトップまたは認証されたブラウザの会話で応答します。
--waitはタスクが続いたときにタイムアウトすることができます。run status RUN_ID --jsonを再度送信する前に検査します。 - 返されたMarkdownアーティファクトIDを選択し、それを新しいローカルファイル名にダウンロードし、開きます。 リクエストされたアーティファクトのない完了した実行には、そのセッションのフォローアップが必要です。 遺物が存在してもダウンロードが失敗した場合は、アーティファクトのダウンロードの回復 に従ってください。
プランファーストのタスクでは、--return-on-attention を利用し、返されたプランを調べて、下記のプランコマンドで対応します。 JSON の統合のために、実行、完了、失敗し、終了するタスクとしてすべての成功した HTTP 応答を処理するのではなくキャンセルを区別して下さい。
コマンドファミリー
| コマンド | 引数/フラグ | エフェクト |
|---|---|---|
project list | --json | 利用可能なプロジェクトを読む |
project create | 名前、任意 --description, の 1 つ --agent-context / --agent-context-file | プロジェクトを作成する |
project update | ID または正式な名前、メタデータ/コンテキストフィールド | 供給された分野だけを変更して下さい; --clear-agent-context 明示的にコンテキストをクリアする |
project session-defaults show | プロジェクトIDまたは正式名称 | 新しいセッションのデフォルトを読む |
project session-defaults update | プロジェクトプラスセッションオプション | 同時編集保護でデフォルトを更新する |
run | --project、任意プロンプト入力 --session, --wait | 作業を開始または継続する |
run status / run cancel | ID の実行 | 実行を点検または明示的に解除する |
session status | セッションID | セッション状態を読む |
session config show | セッションID | 持続的な/有効な構成および修正を読んで下さい |
session config update | セッションID、 --revision、供給された選択 | セッションが更新を受け入れることができるとき、将来のターンを変更します |
settings agent-routing show/update | フレームワークとレビュアー/サブエージェントのルーティングオプション | グローバルルーティングを読み取りまたはアトミックに更新する |
plan show/approve/reject/revise | セッションID; 決定は、正確なアーティファクトバージョンとリビジョンを必要とします | アクティブプランへの読み込みまたは対応 |
artifacts list | セッションID | 保存されたアーティファクトを読む |
artifacts download | アーティファクトID、 --output | 外部コピーを保存 |
スクリプトでプロジェクト ID を使用します。 CLI は、ユニークなプロジェクト名を解決できます。 重複する名前はあいまいです。 SDK/HTTP ルーティングは、直接 ID が必要です。 プロジェクトのコンテキストは、16,000 文字まで受け付けており、リスト/作成/更新結果は、プライベートコンテクストボディではなく hasAgentContext を公開します。
artifacts download が HTTP 500 で失敗した場合、古いアプリケーションを更新し、同じ返されたアーティファクト ID を再試行します。 ダウンロードの回復ステップ は、ファイル転送が失敗したことから、完了したタスクを区別します。 既存の出力を得るために研究タスクを再実行しないでください。
コネクターおよび資格情報の管理
これらのコマンドは、実行中のバックエンドと保存された設定を使用します。 編集前に意図したインスタンスを確認します。 カスタムConnectorとクレデンシャル書き込みは、ローカル認証接続が必要です。 サーバーでは、SSH を含むサーバー上で CLI を実行します。
| コマンド | 入力/結果 |
|---|---|
| open-science コネクタリスト --json | 利用可能なコネクタの安全な設定ビュー |
| open-science コネクタは CONNECTOR_ID --json を表示します。 | 返された ID の構成/ステータス |
| open-science コネクタは CONNECTOR_ID を有効にします。 | 有効な設定を設定する |
| open-science コネクターは CONNECTOR_ID を無効にします | 有効な設定をクリアする |
| open-science コネクタは --json を追加 | JSON stdin から新しいカスタム MCP 定義を読みます |
| open-science コネクタ更新 CONNECTOR_ID --json | JSON stdin から構成の更新を読んで下さい |
| open-scienceコネクタはCONNECTOR_IDを削除します。 | カスタム MCP 定義を削除します。 |
| open-scienceコネクタテスト CONNECTOR_ID --json | 別の接続を介してツールを発見し、それを閉じます |
| open-science クレデンシャルリスト --json | 生の秘密なしでクレデンシャルメタデータを読みます |
| open-science クレデンシャル --json を追加 | JSON stdinから新しい資格情報を読む |
| open-scienceクレデンシャル更新 CREDENTIAL_ID --json | JSONのstdinからのdisplayNameおよび/または秘密を更新して下さい |
例 ローカルConnector設定を提出する
準備されたローカル設定ファイルを以下に提出してください。
open-science connector add --json < connector.json
| 構成フィールド | 必須条件 |
|---|---|
| 名前/ displayName | 新しいカスタムConnectorのために要求される; 名前/ID は更新の間に安定します |
| トランスポート | stdio、streamable_httpまたはsse; 更新の必要もあります。 |
| コマンド / args | ローカル実行可能かつオプションの引数 stdio |
| ログアウト | HTTP/SSEのエンドポイント |
| envCredentialIds/ヘッダCredentialIds | 埋め込まれた環境/ヘッダー名で、認証 ID を保存 |
| oauthCredentialId(オウス・クレデンシャル・アイド) | 既存の共有 OAuth 認証を結合 |
| Omitted 認証結合 | 保存した値を更新に保存します。 空の環境/ヘッダーの結合オブジェクトは、マップをクリアします |
カスタムのMCP定義のみを追加、編集または削除できます。 Enabledは、Specialistアクセスのコネクティビティやグローバルリボケーションの証明ではなく、選択の好みです。
試験結果 は、Connector を有効にしたり、ビジネスツールを実行したりしません。 成功、オプションのツールカウント、メッセージを返します。 発見は10秒に分岐し、失敗はnonzeroを出ます。 束ねられたConnectorの生きている診断は支えません。 テストは既存の OAuth トークンをリフレッシュできますが、初回のブラウザーのサインインを実行しません。
クレデンシャルは、JSON stdin を通して秘密を受け入れます。 コマンド引数とシェルの履歴からそれらを保存します。 トークンの入力は displayName、kind: トークンとシークレットを使用します。 api_keyも対応しています。 返された createCredential.id を Connector に結合しました。 これらのエンドポイントなしで古いバックエンドは、Settings-file を直接編集するのではなく、エラーを返します。
入力を実行し、フラグを制御する
open-science project list --json
open-science run --project PROJECT_ID --prompt-file ./task.md --wait --json
open-science artifacts list SESSION_ID --json
open-science artifacts download ARTIFACT_ID --output ./result.csv --json
資本調達先を返却IDに置き換えます。 たとえば、インストールに存在しなければならない発明されたSkillまたはプロバイダの名前は名前を付けません。
| ログイン | 契約条件 |
|---|---|
--prompt / --prompt-file | インラインテキストまたはUTF-8ファイル; stdinは省略されたときプロンプトを提供できます |
--session | 指定したセッションを続けてください |
--cwd | 外部の作業ディレクトリ; CLI は相対パスを解決し、サーバーはそれをcanonicalizesし、そして検証します |
--approval-profile | ask, auto, full; デフォルト ask |
--provider + --model / --provider-default-model | 設定されたプロバイダと明示的またはプロバイダ所有のデフォルトモデルを選択します。 |
--reasoning-effort | CLIヘルプリスト default, low, medium, high, xhigh, max; UIモデルの選択肢は異なる |
--skill | 再インストール可能なSkill ID; Skill を欠落させないインストールはしない |
--plan-first | 実行前のプラン応答が必要です |
--auto-review / --no-auto-review | セッション自動レビューを設定する |
--memory / --no-memory | セッションメモリを設定します。 相互に排他的な |
--specialist | UUIDまたは安定したプロファイル名で新しいセッションを結合しました。 プレゼンテーション表示名はルーティングIDではありません |
--delegation allow/deny | 新しい委任された仕事の制御の入学; denyは既存の子供をキャンセルしません |
--compute-host | 繰り返し構成されたホストID; 実行対象を選択し、SSH を構成しません |
--enable-compute-host / --clear-compute-hosts | 新しいセッションアクセス/デフォルト制御; 既存のセッションアクセスの変更は、設定の更新を使用します |
外部のcwdは、発信者所有を維持します。 --cwd で --session を再利用すると、同じキャノンディレクトリが必要です。 実行は、セッションの再配置を要求しません。 ホストオプションを省略すると、既存の選択が保存されます。 意図した時に明示的なクリア操作を使用します。
待ち時間、注意、キャンセル
| オプション/状態 | 結果 |
|---|---|
なし --wait | 退去後退去。 保存する id そして、 sessionId 後で投票する |
--wait | ターミナルの操業状態を待って下さい |
--wait --return-on-attention | また、構造化計画の承認が必要な場合も返送します。 許可のプロンプトは同じ注意の状態ではないです |
--timeout-ms | 期限を過ぎるとクライアントの待機を停止します。 サーバの実行は継続します |
--cancel-on-timeout | タイムアウト後に明示的にキャンセル; コマンドはまだタイムアウトを報告します |
run cancel RUN_ID | キャンセル/finalization を待って下さい; すでに最終成果物を保持する |
計画承認のために、まずplan showを読んで、--artifact-versionと--revisionの両方を供給します。 階段プランの決定は、新しいプランには適用されません。 セッション構成の更新は、session config show で返されたリビジョンを要求するのと同じくらいです。 階段更新はsession_revision_conflictを戻します。 アクティブルートエージェント、サブエージェント、Notebook ワークは、session_busy で更新をブロックできます。
構造化された出力および出口コード
--jsonは1つの結果を出します。 --jsonl は run --wait で利用できます。イベントをストリームし、実行結果で終了します。 2つを結合しないでください。 要求される場合のstderr でエラーが構成されます。 プロセス終了コードだけでなく、error.code を解析します。
以下の無効なオプション応答をローカルで再現しました。
{"error":{"code":"invalid_cli_usage","message":"Use only one of --json or --jsonl."},"exitCode":2}
| 終了コード | 意味する |
|---|---|
| 0 | コマンドが成功しました。 該当する場合、返された実行/保持状態を調べます。 |
| 1 | 一般/実行障害、タイムアウト、競合、またはステータスレポートの実行サービスなし |
| 2 | 無効な CLI の使用 |
| 3 | ローカルデーモンは利用できません |
| 4 | リクエストされたプロジェクト/実行/セッション/アーティファクト/Specialistが見つかりませんでした |
run.progress と stream.resync-required を含むことができます。 再接続後再再生が利用できなくなった場合、権限のある実行状態を再読み込みします。 イベントストリームは永続的な歴史であると仮定しません。 ライフサイクルコマンドは、ヘッドレスサービス で説明されている別のフラグ制限を持っています。
技術的な参照: CLI契約.
無人走行
--permission-prompts none を run に追加して、無期限に待機する代わりに、未解決の人間の相互作用を低下させます。 選択した承認プロファイルと記憶された助成金はまだ適用されます。 ユーザの質問が拒否され、ヒューマンレビューが必要な計画は拒否されます。 これは、すべてのアクションを承認しません。
open-science run --project "Sequence and PDF Research" \
--prompt "Summarize the existing public-data result. Do not request user input." \
--approval-profile ask --permission-prompts none --wait --jsonl
オプションは、この呼び出しにのみ適用され、セッションの設定として保存されません。 --plan-firstと併用できません。 最終的なステータスとエラーを調べる: 人間の待ちを避けてタスクの完了を保証するものではありません。 ホスト機能permission-prompts-noneのクライアントチェック。 古いホストがunsupported_capabilityを返す場合、マッチングクライアントとアプリを更新します。
Windowsランチャーパス
v0.37.1は、非ASCII文字を含むデスクトップランチャーパスを修正しました。 更新後、新しいターミナルを開き、Get-Command open-scienceとopen-science --helpを確認してください。 コマンドがまだ古いインストールに解決しない場合は、Settings → General で示されているパスを使用します。 スタンドアローンのアーカイブディレクトリをそのまま保持します。 成功するヘルプコマンドはモデルの信頼性を確立しません。 doctor --json を次点検して下さい。
サービスを起動せず CLI の情報を確認する
open-science version --json
open-science help run
open-science paths --json
open-science paths --profile /ABSOLUTE/PATH/TO/PROFILE --json
これらのコマンドはバックエンドが停止していても使えます。 version が表示するのは実行したインストールのバージョンであり、接続先サービスのバージョンではありません。 paths が表示するのは cliPath, nodePath, startupConfigRoot および discoveryConfigRootsです。実行中のサービスや研究データの保存先を特定するものではありません。プロファイルの明示指定は起動・検出先を選びますが、作成はしません。パスにはローカルユーザー名が含まれる場合があるので、共有前に確認してください。
外部 MCP クライアントを接続する
v1.0.4 の独立 CLI は stdio で研究ツールを提供します。対象プロファイルのサービスを先に起動してください。アダプターは自動起動しません。設定内の二つの絶対パスを実際のパスに置き換えます。
open-science start --no-open --config-root /absolute/path/to/profile
open-science mcp --help
{
"mcpServers": {
"open-science": {
"command": "/absolute/path/to/open-science",
"args": ["mcp", "--config-root", "/absolute/path/to/profile"]
}
}
}
クライアントからアダプターを起動します。list_projects で得たプロジェクト ID を start_run に渡し、get_run で進捗を確認して list_artifacts でファイルを調べます。ツール一覧を取得できてもサービスへの接続成功とは限りません。実行には稼働中の認証済みローカルサービスが必要で、リモート HTTP MCP 入口ではありません。
クライアントはプロファイルの既存権限で動作し、プロジェクトの保存、設定変更、ファイル書込みやモデル利用料を伴う研究を開始できます。Open-Science で承認が必要な場合もあります。タイムアウト後は状態を確認してから書込みを再試行します。クライアント終了や要求の取消しでは受理済み研究は止まりません。明示的に cancel_run を使ってください。公式 MCP ツール・権限リファレンスも参照してください。
パッケージの操作は CLI インポート・エクスポートを参照してください。
自動処理のためにサービスを維持する
デスクトップ終了後も CLI、ブラウザー、SDK の処理を続ける場合、対象プロファイルで open-science start --no-open --json を実行します。v1.0.5 では継続設定を一つ作り、繰り返しても増えません。通常の stop は設定を解除しますが、App 接続中はサービスが残ります。ライフサイクルの結果を読み、成功終了コードだけで停止済みと判断しないでください。