1 つの Go コア、薄い型付きクライアント
認証、ストリーミング、リトライ、エラー対応は Go で一度だけ実装され、各クライアントで再利用されます。新しい言語は薄い型付きレイヤーであり、完全な移植ではありません。
1つの製品システム
1台のマシンから始めて、フリートへ拡張します。
フリート全体をコードから操作。1 つのコア、薄い型付き Python/Node クライアント、組み込みバイナリで、machines.ask() からマシンの AI エージェントをストリームできます。
フリート全体をコードから操作。1 つのコア、薄い型付き Python/Node クライアント、組み込みバイナリで、machines.ask() からマシンの AI エージェントをストリームできます。
あらゆるプラットフォームが 1 つの wheel と 1 つの npm パッケージに収まっています — cmdop エージェントのインストールも、公証も、プラットフォームごとのダウンロードも不要です。起動時にリゾルバがホストに合ったビルドを選びます。
Python — PyPI
Node — npm
cmdop 1.1.1 on PyPI · @cmdop/sdk 1.1.0 on npm
主要な操作は、リレー経由でマシンの AI エージェントをストリームし、ライブ出力、完了、エラー、承認プロンプトを持つクリーンな async iterator として扱えます。
認証、ストリーミング、リトライ、エラー対応は Go で一度だけ実装され、各クライアントで再利用されます。新しい言語は薄い型付きレイヤーであり、完全な移植ではありません。
5 つのプラットフォーム用バイナリはすべて、1 つの fat wheel と 1 つの npm パッケージの中に同梱されます。エンドユーザーは pip install または npm i するだけ——cmdop エージェントも、optionalDependencies も、Gatekeeper の公証も不要です。
フリート全体をコードから操作。1 つのコア、薄い型付き Python/Node クライアント、組み込みバイナリで、machines.ask() からマシンの AI エージェントをストリームできます。
マシンの AI エージェントを型付き async iterator としてストリームし、作業に確認が必要なときは承認プロンプトを受け取れます。アプリと同じ操作モデルをスクリプトから使えます。
Telegram、Discord、Slack のボットは、今や完全に SDK コアの中でホストされます。client.bots.run(...) で 1 つ起動すると、Go バイナリがチャネルループを実行し、メッセージごとに machines.ask() を駆動します。SDK がボットを吸収しました。
すべてのリレーオペレーションは両方のクライアントにミラーされ、言語間のパリティチェックでゲートされます——片方の言語にあって、もう片方にないメソッドは CI で失敗します。
machineslist · get · info · spend · ask · messages · active_sessionfleetscrud · members · attach · detachtunnelsopen · close · list · get · sessionsschedulescrud · trigger · runskeyslist · issue · revokeskillslist · install · publishbotsrun · management (Telegram · Discord · Slack)他のすべての cmdop 製品が構築されるプログラマブルなコア。インストールし、インポートし、出荷しましょう。
import asynciofrom cmdop import Clientasync def main():async with Client() as client: # 環境変数の API トークンstream = client.machines.ask(machine="work-mbp",prompt="What's eating disk on /var?",)async for frame in stream:if frame.kind == "event":print(frame.text, end="", flush=True)elif frame.kind == "done":breakasyncio.run(main())