self-hostable Apache-2.0 core

エージェント界の
SSH

agent-exec は、 マシン自身が使い方を説明し、アクセス制御で操作範囲を絞る入口です。 エージェントにマシンの入口を渡すと、サーバーが許可範囲を守ります。

developer preview の前提: sandbox ではなく、SSH 互換でも SSH の置き換えでもありません。 初期状態で許可されるのはaexec --versionだけです。 実用的な操作は、選択した starterkit または plugin で公開します。 localhost、VPN、firewall、TLS termination された信頼できるネットワークで使ってください。
agent handoff

インストール、起動、共有。あとは貼るだけ。

aexecが正式コマンドです。aeは普段使いの短縮エイリアスです。 初期設定は安全な疎通確認だけです。実用的な操作を公開したい場合は starterkit または plugin を追加します。

bash
# 0. 要件確認: Node.js 20 以上と npm
$ node --version
$ npm --version

# 1. インストール
$ npm install -g @to-agent/agent-exec@latest

# 2. ローカル設定と API キーを作成
$ aexec setup

# 3. サーバー起動
$ aexec start

# 4. AI エージェントに貼るプロンプトを生成
$ aexec share

# 必要に応じて: インストール済み AI ツールを plugin として公開
$ aexec starterkit
$ aexec restart
$ aexec share
AI インストールプロンプト
このマシンに agent-exec をインストールしてください。

実行手順:
1. Node.js 20 以上と npm が使えるか確認してください。
   agent-exec は現在 Markdown rendering に marked@18 を使っており、marked@18 が Node.js 20 以上を要求します。
   node が v20 未満の場合は、そのマシンの OS / package manager がサポートする方法で Node.js 20 以上を入れてから再実行してください。
   node --version
   npm --version
2. グローバルインストール:
   npm install -g @to-agent/agent-exec@latest
3. 初期設定:
   aexec setup
4. サーバー起動:
   aexec start
5. 共有プロンプトを表示:
   aexec share
6. 生成された share prompt を表示してください。

必要な場合を除き、プロジェクトファイルは編集しないでください。
agent-exec をインターネットへ直接公開しないでください。
私が明示的にネットワーク公開を依頼しない限り、--public は使わないでください。
allow "*" のような広すぎる許可ルールは追加しないでください。
初期状態で許可される操作は次だけです:
  aexec --version

実用的な操作は初期状態では公開されません。plugin demo を依頼された場合だけ、次を実行してください:
  aexec starterkit
  aexec restart
  aexec share
続行前に、生成された settings を表示してください。

コマンドが失敗した場合はそこで止まり、エラーと次に推奨するコマンドを表示してください。
aexec share
agent-exec を通じてこのマシンにアクセスできます。

URL:
http://<agent-exec-host>:3333

API_KEY: <API_KEY>

ここから始めてください:
http://<agent-exec-host>:3333/SKILL.md

エージェントに使い方を説明できるマシン。

agent-exec は専用 SDK やモデル別の統合を要求しません。 マシンが小さな HTTP 入口を公開し、エージェントがドキュメントに従って操作します。

01

/SKILL.md を読む

公開入口です。エージェントに、まず何を読めばよいかを伝えます。

02

/api/acl を確認

実行前に、許可されたコマンド範囲を確認します。

03

/api/plugins を発見

必要なときだけ、plugin の追加ドキュメントを読みます。

04

POST /api/exec

サーバーはアクセス制御で許可された操作だけを実行します。

エージェントが受け取る マシンの入口 + API_KEY GET /SKILL.md GET /api/acl GET /api/plugins POST /api/exec 許可された操作がマシン上で実行される

plugin と skill で拡張できます。

plugin はツールごとのドキュメントと任意のコマンド挙動を追加します。 skill は詳細を初期プロンプトから分離し、必要になった時だけエージェントに読ませます。

plugin commands
$ aexec plugin list
$ aexec plugin create --name=mytool --command=mytool
$ aexec plugin doctor

シェル経由ではなく、引数配列で実行します。

/api/execは JSON body のargsで実行します。 GET リクエストやクエリ文字列の command は実行されません。

JSON body のみ

コマンドは{"args":["command","arg"]}として送ります。?cmd=?args=は実行入力ではありません。

シェルとして解釈しない

agent-exec は、送信された引数配列を実行します。&&;、パイプ、リダイレクト、サブシェル構文は agent-exec 自体では解釈されません。

deny が allow より先

許可/拒否ルールはサーバー側で判定されます。通常の文字列ルールは、コマンド名と引数が完全一致した場合だけ一致します。deny rule は allow rule より優先されます。glob / regex の詳細は README にまとめています。

trusted plugin はホスト上のコード

trusted plugin は、agent-exec を起動している OS ユーザーの権限で動くローカルコードとしてレビューしてください。未レビューの trusted plugin は入れないでください。

エージェントは発見する。判断はサーバーが強制する。

agent-exec は、許可されていない操作を実行しません。初期状態ではaexec --versionだけを許可します。 実用的な操作は、starterkit、plugin、レビュー済みの許可ルールで明示的に追加します。 アクセス制御、最小権限の OS ユーザー、ネットワーク制御を併用してください。 これは AI エージェント向けの SSH-like なアクセスであり、SSH互換でも SSH の置き換えでもありません。

plain HTTP の agent-exec をインターネットへ直接公開しないでください。 localhost、VPN、firewall、TLS termination、または 信頼できるネットワーク境界を使ってください。 API_KEY はマシンを操作できる権限として扱い、検証後はローテーションしてください。

HTTP できるエージェントなら、ここから始められます。

agent-exec は、マシンをエージェントが読める形で公開します。