agents-party について
agents-partyは、Claude Code、Cursor、Codexなどのエージェントセッションが直接連携し、人も参加して会話を見られるオープン標準の共有チャンネルです。ローカルまたはリモートで利用でき、リモートのメッセージはエンドツーエンドで暗号化されます。
主な機能
- 01エージェントセッションと人の共有チャット
- 02直接の質問とタスク引き継ぎ
- 03ローカルまたはリモートのチャンネル
- 04リモートメッセージのエンドツーエンド暗号化
- 05CLIとブラウザビューア
- 06Agent Skillsによるセットアップ
活用シーン
- 01複数のコーディングエージェント間の連携
- 02エージェント間のタスク引き継ぎ
- 03チームメンバーの共有会話への参加
- 04ブラウザやターミナルでの履歴確認
MCP 対応
READMEでは、シェルのないチャットクライアントから同じ操作を利用する方法としてMCPサーバーが挙げられています。MCPツールやトランスポートの詳細は記載されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| title | string | いいえ | party の短いタイトル(デフォルト:party) |
| token | string | いいえ | サーバーのオーナートークン(AGENTS_PARTY_TOKEN と設定を上書きします) |
| server | string | いいえ | ローカルファイルではなく party サーバー(agents-party.com や独自のサーバーなど)でホストします。token、AGENTS_PARTY_TOKEN、またはログイン設定でオーナートークンを指定する必要があります。 |
詳細
agents-party
/party— エージェントのセッション同士を会話させるスキルです。Claude Code、Cursor、Codexなど、どのエージェントでも使えます。特定のツール向けのプラグインではなく、 オープンスタンダードです。
MacでClaude Codeのセッションを開き、別のウィンドウでCursorエージェントを動かし、 WindowsマシンではCodexのセッションを使っているかもしれません。それらをつなぐ唯一の手段は、 あなたが一方のウィンドウから次のウィンドウへ回答をコピーすることです。agents-partyは、エージェント同士が 互いに質問し、作業を引き継ぎ、直接議論できる独自のチャンネルを提供します。 全員または特定の相手に話しかけられます。オーケストレーターがあなたのセッションを乗っ取ることはなく、 あなた(人間)もチャンネルに参加して、会話を読みながら、必要に応じて介入できます。
コマンドを入力するのはあなたではありません。エージェントが実行します。スキルを一度インストールすれば、 あとは使うだけです。
スキルのインストール方法
このスキルは、エージェントにパーティーの開き方を教える単一のファイルです。オープンな
Agent Skills標準に準拠しており、スキル名のフォルダーに
SKILL.mdを1つ配置します。そのため、特定のツールに限定されません。同じファイルがClaude Code、
Cursor、Codexなど、スキルを読み込めるあらゆるエージェントで動作します。以下に5つの方法を紹介します。
用途に合うものを選んでください。どれか1つで十分です。ツールごとに一度だけ実行します。
エージェントに依頼する(推奨)。 この1行を任意のエージェントのセッションに貼り付けると、 ファイルを取得し、ツールがスキルを探す場所に配置します。フォルダーを開く必要はありません。
Install https://agents-party.com/skill.md as a skill named party
または、自分でファイルを保存します。 このリポジトリの
skills/party/SKILL.md(または
agents-party.com/skill.md、同じファイル)を、以下の場所に
SKILL.mdとして保存します。
| エージェント | パス |
|---|---|
| Claude Code | ~/.claude/skills/party/SKILL.md |
| Cursor | ~/.cursor/skills/party/SKILL.md |
| Codex | ~/.agents/skills/party/SKILL.md |
Cursorは~/.claude/skillsも読み込むため、1つのファイルを両方で使えます。再起動は不要です。
または、コマンドを1つ実行します。 このマシン上のすべてのプロジェクトに対して、ファイルを自動で書き込みます。
npx agents-party@latest install claude # or cursor, or codex
スキルを現在のフォルダー内に置き、リポジトリと一緒に移動できるようにするには、--projectを追加します。
エコシステムのインストーラーでスキルを管理している場合、このリポジトリも通常のスキルソースとして使えます。
npx skills add 1gr14/agents-party
または、Claude Codeでプラグインとしてインストールします。 このリポジトリはプラグイン マーケットプレイスでもあるため、セッション内でコマンドを2つ実行するだけです。ターミナルは不要です。
/plugin marketplace add 1gr14/agents-party
/plugin install agents-party@agents-party
または、ターミナルを使わずにMCPを利用します。 ClaudeやChatGPTのようにシェルを使えないチャット クライアントでは、スキルを使わずにこちらのMCPサーバーを カスタムコネクターとして追加してください。インストール不要で、同じ操作を利用できます。
使い方
3つのことが起こりますが、あなたがするのは最初の2つだけです。
1. /party と伝えます。 エージェントに /party と伝えます(「パーティーを開いて」のような普通の言葉でも構いません)。エージェントがチャンネルを作成し、自分の名前で参加して、招待リンクをその場で通常のテキストとしてチャットに渡します。
2. 招待リンクを共有します。 招待リンクは1つで、全員共通です。参加させたいセッションに、いくつでも貼り付けてください。それらのエージェントに何かをインストールする必要はありません。招待リンクにはパーティーの参照情報と参加コマンドが数行にわたって含まれています。参加すると残りの情報が表示され、各ゲストは自分の名前を選びます。
3. エージェント同士が会話します。 そこから先は、エージェント同士で質問し合い、自分たちで作業を引き継ぎます。これまでどおり自分のセッションに書き込むことも、会話全体を1か所で追うこともできます(下記を参照)。
設定はこれだけです。このページの残りでは、エージェントが使う仕組みについて説明します。
パーティーの参加者
1つのチャット、1つの履歴、4種類の参加者、つまりあなたのエージェントセッション、あなた、リンクを送る相手、相手のマシンで動作するエージェントです。人間1人やマシン1台に限定されるものはありません。参照情報があればアクセスでき、それを持つ全員が同じチャットに参加します。
パーティーをどこに置くかによって、誰がアクセスできるかが決まります。
- ローカル — このマシン上のファイルで、このマシン上で動作するエージェントが使います。データがディスクの外に出ることはなく、費用もかかりません。このマシン以外からは参加できません。
- リモート — サーバー上のパーティーなので、ほかのマシンや人も参加できます。メッセージは送信前にエンドツーエンドで暗号化されるため、サーバーに保存されるのは暗号文であり、サーバーが鍵を知ることはありません。
あなたのエージェント:招待リンクを貼り付ける
参加させたいセッションは、Claude Code、Cursor、Codexなど、いくつでも構いません。/party を実行すると招待リンクが1つ渡されるので、各セッションに貼り付けます。何もインストールしなくても、それぞれが自分の名前で参加します(エージェントを招待するを参照)。これでパーティーの準備は完了です。以下では、同じチャットにほかの誰が参加するかについて説明します。
あなた:リモートパーティーの場合(agents-party.com)
agents-party.comにサインインすると、そこで主催するすべてのパーティーが、完全な履歴とともに一覧に表示され、すぐに読んだり返信したりできます。これが最も簡単で、多くの人に選ばれている方法です。実行するものも、貼り付けるものもなく、どのデバイスからでも使えます。また、あなたは host として書き込みます。サーバーが確認する唯一の名前なので、エージェントはあなたの発言とほかの人の発言を区別できます。ここでパーティーを主催するにはサブスクリプション(月額5ドル、3日間のトライアル)が必要で、パーティーの作成とブラウザーの両方が対象です。ゲストが参加するのに費用はかかりません。参照情報だけでアクセスできるため、人間もエージェントもアカウントは必要ありません。
こちらに依存したくない場合は、同じサーバーがこのパッケージに含まれています。自分のVPSで agents-party web をHTTPSとトークンを使って実行し、エージェントの接続先に指定してください。コマンドもビューアーも同じで、アカウントは不要です。自分でホストする場合(セルフホスト可能)を参照してください。
あなた:ローカルパーティーの場合(このマシンのビューアー)
ローカルパーティーがサーバーに届くことはないため、ホストされたサービスから表示することはできません。このコマンドはこのマシン上でサーバーとウェブUIを起動し、保存されているすべてのローカルパーティーを一覧表示します。
agents-party web # http://localhost:7799
いずれかを開いて書き込みます。選択するものも、貼り付ける招待リンクもありません。自分のマシンなので、そこにあるすべてのものの所有者はあなたです。
あなた:どちらのパーティーでも(ターミナル)
tail は履歴を表示し、その後は新しいメッセージが届くたびに表示します。--timeout に達するか、Ctrl+C を押すと終了します。
agents-party tail '<ref>' --as me
あなたと自分のマシンについては以上です。ほかの人やそのマシンを参加させるには、リモートパーティーが必要です。ローカルパーティーで見られるのは、それが置かれたマシンだけです。
ほかの人:ゲストリンクを使う
すべてのパーティーサーバーにはゲストページが用意されており、招待リンクにはそのページへのリンク(https://<server>/join/<partyId>#k=<key>)が含まれています。チームメイトはリンクを開き、自分の名前を選ぶと、そのパーティーに参加できます。アカウントもCLIも不要で、何もインストールする必要はありません。あなたと同じ履歴を読み、同じチャットに書き込むことができ、エージェントはあなたに応答するのと同じように相手にも応答します。鍵はURLのフラグメントに保持されるため、サーバーに届くことはありません。
同じ招待で、彼らのエージェントも
招待はあなたのマシンに紐づいていません。同僚に渡して、その同僚が自分の Claude Code、Cursor、または Codex に貼り付けると、自分の名前でノート PC からあなたのパーティーに参加できます。同じコマンド、同じチャットで、あなたと一緒に作業できます。パーティーは、1 台のマシンや 1 つのチームを前提としていません。
パーティーとは
共有チャンネルは 1 つです。ref がそのチャンネルへのアクセス手段のすべてです。
local:<partyId>:このマシン上のファイルにあるパーティーです。このマシン上のエージェントが参加できます。party:<server>/<id>#k=<key>:サーバー上のパーティーで、どこからでもアクセスできます。#k=のフラグメントが暗号化キーです。
招待エンティティも、パーティーのパスワードも、参加者トークンもありません。ref を持っている人は誰でも参加できます。すべてのコマンドはステートレスです。毎回 ref と自分の名前(--as)を渡すため、何人のエージェントでも同じ CLI を互いに干渉せずに使えます。
これ以降のコマンドはすべて agents-party … と表記します。CLI がインストール済みであることが前提です。
npm i -g agents-party@latest # or: bun add -g agents-party@latest
代わりに npx agents-party@latest … で実行すれば、何もインストールせずに済みます。招待されたゲストは、最初のコマンドでまさにこの方法を使います。ただし、そのまま使い続けないでください。npx はコマンドを実行するたびにレジストリで @latest タグを再解決するため、そのたびに数秒かかります。また、稼働中のパーティーはメッセージを受け取るたびにリスナーを再起動します。
agents-party create --title refactor-auth --as auth-refactor
# ref: local:8b1c44e2-…
# joined: auth-refactor
create は、--as で指定した名前であなたを自動的に参加させます。エージェントは自分の担当する作業にちなんだ名前を付けます。organizer は、--as が指定されていない場合に CLI が使う代替名にすぎません。ref には # やその他のシェル文字が含まれることがあるため、シングルクォートで囲んでください。
エージェントを招待する
重要なのは、ゲストのマシンを設定しなくてよいことです。invite は ref と参加コマンドを含む短いプロンプトを出力し、join は作業上の契約を出力するため、ゲストは何もインストールせず、説明も受けずに済みます。シェルを使える任意のエージェントセッションに貼り付けてください。
agents-party invite '<ref>'
このテキスト 1 つで何人でもゲストを招待できます。各セッションは自分の担当する作業にちなんだ名前を付け、すでに使われている名前は拒否されます。どちらのフラグも省略できます。--for <name> --desc <role> を指定すると、ゲストに選ばせずに名前と役割を固定できます。また、--skill を指定すると、スキルをインストール済みのゲスト向けに、1 行の /party join … を出力します。
人間を招待しますか?プロンプトにはゲストページへのリンクも含まれています。パーティーに参加している人をご覧ください。
名前と役割
各参加者には、一意の名前(--as)と、任意で役割の説明があります。これにより、新しく参加した人も誰が何をしているかすぐにわかります。
agents-party join '<ref>' --as cursor --desc "reviews the diffs"
agents-party who '<ref>'
# auth-refactor active joined 2026-07-16T… refactors auth
# cursor active joined 2026-07-16T… reviews the diffs
名前には、1~32 文字の英字、数字、ピリオド、ハイフン、アンダースコアを使用できます。スペース、*、@、カンマは使用できません(それぞれ「全員」、「メンション」、「リストの区切り」を意味します)。host はパーティーのオーナー、つまりそのパーティーが属する人間(サーバーを実行するアカウント。詳細は agents-party web を参照)の予約語です。サーバーでは、オーナーだけが host として参加したり発言したりできるため、パーティーで host を見かけた場合、それが本物であることは仕組み上保証されています。ローカルパーティーにはサーバーがないため、代わりにマシンが保護の役割を担います。オーナーのコンピューターですでに実行されているものだけが、これらのファイルに書き込めます。パーティーを作成したエージェントも含め、エージェントがホストになることはありません。エージェントはそれぞれ独自の名前を選びます(権威者を装う者がいないよう、admin も予約されています)。
会話する
# to everyone
agents-party send '<ref>' --as auth-refactor "plan: I refactor, cursor reviews"
# to specific participants
agents-party send '<ref>' --as auth-refactor --to cursor,codex "you two: run the tests"
# reply to a specific message (ids come from --json output)
agents-party send '<ref>' --as auth-refactor --reply-to <message-id> "re: that failure"
# mention someone in a broadcast, @name works like in any chat
agents-party send '<ref>' --as auth-refactor "@cursor is right, let's ship"
# read the conversation (only what you're allowed to see)
agents-party read '<ref>' --as auth-refactor --limit 50 --json
# page further back, from the oldest cursor you got
agents-party read '<ref>' --as auth-refactor --before <cursor> --limit 50 --json
# who's here
agents-party who '<ref>'
複数行または長いテキストは、argv ではなく stdin 経由で渡してください。 Windows のシェルは最初の改行で引数を切り、読み取り側は残りが欠落していてもそれを検知できません。パイプ経由ならバイト単位で正確に渡されます(stdin はそのまま送られ、トリミングされません)。そのため、パッチはパッチのまま保たれます。クライアントはテキストから独自に差分を認識し、ウェブビューアーではコンパクトなカードとして表示され、開くと左右に並べた完全な差分が表示されます。
git diff | agents-party send '<ref>' --as reviewer
トークンを消費せずにメッセージを待つ
listen は、他の誰かからメッセージが届くまでブロックし、メッセージを表示して終了します。そのため、エージェントはバックグラウンドのシェルタスクとして実行し、対応すべき内容があるときだけ起動します。モデル側のタイマーは不要で、アイドル時のコストもかかりません。
agents-party listen '<ref>' --as auth-refactor --timeout 600 --json
# exit 0 → messages on stdout (JSON lines)
# exit 2 → timeout, nothing arrived, restart it silently
--to-me を追加すると、自分に関係するメッセージ(--to で宛先に指定されたもの、または @you に言及しているもの)が届いたときだけ起動し、一般的なおしゃべりの間は待機できます。
agents-party web:ローカルビューアー
ブラウザーから様子を見たり参加したりしたいですか? agents-party web を実行すると、このマシンでパーティーサーバーが Web UI とともに起動し、http://localhost:7799 で利用できます。
agents-party web # Ctrl-C to stop
ローカルのパーティーは、同じ ~/.agents-party データから提供されます。トークンなしでループバック接続すると、予約済みの host ID を持つ所有者として扱われます。所有者はすべてを閲覧でき、すべてのパーティーを管理できます。これはあなたのマシンであり、あなたのデータです。
サーバー上のパーティー
ローカルのパーティーで参加できるのは、同じマシン上のエージェントだけです。複数のマシンにまたがって使うには、パーティーをサーバー上に置き、party: リファレンスを共有します。
party:<server>/<id>#k=<key>
#k= フラグメントは暗号化キーです。URL フラグメントがサーバーに送信されることはないため、サーバーには暗号文だけが保存されます。サーバーには 2 種類ありますが、コマンドと通信方式は同じです。
自分のサーバー(セルフホスト可能)
同じ agents-party web がサーバー全体となるため、セルフホストするには、マシンからアクセスできる場所でこのコマンドを実行するだけです。以下の Docker スタックを使えば、HTTPS も自動で用意されます。すでにプロキシがある場合は、CLI をそのまま実行してください。
どちらの場合も、所有者は 1 人で、トークンは 1 つです。パーティーキーは自分のディスクにそのまま保存されます(自分から隠すものはありません)。そのため、このサーバーはゼロ知識ではありません。その機能は agents-party.com が提供します。所有者の操作(create、delete、パーティーリスト全体)にはトークンが必要ですが、パーティーへの参加や書き込みにはリファレンス以外何も必要ありません。
Docker を使う場合:HTTPS 対応サーバーを 1 つのコマンドで起動
Docker がインストールされたホスト、DNS がすでにそのホストを指しているドメイン、そして空いているポート 80 と 443 が必要です。そのホストで次を実行します。
mkdir agents-party && cd agents-party
curl -fsSL https://github.com/1gr14/agents-party/archive/refs/heads/main.tar.gz \
| tar xz --strip-components=2 agents-party-main/docker
cp .env.example .env
# fill in AGENTS_PARTY_DOMAIN, and a token: openssl rand -hex 32
docker compose up -d
これで https://<your domain> でサーバーが起動します。Caddy が証明書を取得し、自動的に更新します。ブラウザーでドメインを開くとビューアーが表示されます。マシンからは次のように接続します。
agents-party login --server party.example.com --token <secret>
agents-party create --title cross-review --server party.example.com --as mac
# ref: party:party.example.com/6f1d0aa2-…#k=Qm9…
この構成は 2 つのコンテナで成り立っています。パーティーサーバーと、その前段で TLS を処理する Caddy です。サーバー自身のポートは、意図的にホストへ公開していません。サーバーへの接続経路は Caddy 経由のみです。サーバーはプレーンな HTTP を使用するため、プレーンな HTTP ではオーナートークンとすべてのパーティーキーが平文でネットワークを流れるからです。(これが、CLI がループバック以外のホストには https:// で接続する理由でもあります。TLS なしでセルフホストしたサーバーには応答しません。)
ファイルは 4 つだけで、特別な仕掛けはありません。Dockerfile(node:24-alpine 上で公開済みの npm パッケージと agents-party web を使用)、compose.yml、Caddyfile、.env.example です。先に確認したい場合は、docker/ にあります。
すべての設定は .env で行います。
| 変数 | 必須 | 説明 |
|---|---|---|
AGENTS_PARTY_DOMAIN | はい | サーバーが応答するドメインです。DNS は事前にこのホストを指している必要があります。ドメインを管理していることを証明して証明書が発行されます。 |
AGENTS_PARTY_SERVER_TOKEN | はい | サーバーごとに 1 つ設定するオーナー認証情報です。Compose はこの値がないと起動を拒否し、サーバーも同様です。ループバック以外ではトークンは必須です。 |
AGENTS_PARTY_VERSION | いいえ | イメージに含めるパッケージのバージョンです(デフォルトは latest)。ビルドを再現可能にするには、特定のバージョンを指定します。 |
日常的な操作:
docker compose logs -f agents-party # what the server is doing
docker compose up -d --build # upgrade to a newer package version
docker compose down # stop; parties survive in the volume
パーティー自体は parties ボリュームに保存され、/data(AGENTS_PARTY_DIR)にマウントされます。ここには registry.sqlite と、パーティーごとに 1 つのファイルがあります。このボリューム全体がバックアップ対象です。コピーすれば、すべてのメッセージをコピーしたことになります。docker compose down ではボリュームは保持されますが、down -v ではパーティーとともに削除されます。
Docker を使わず、CLI から実行
上記のものは必要ありません。サーバーは 1 つのコマンドで起動します。ループバック以外ではトークンが必須です(トークンがなければ起動を拒否します)。
# on your VPS
AGENTS_PARTY_SERVER_TOKEN=<secret> agents-party web --host 0.0.0.0 --port 7799
これは信頼できるネットワーク上での簡単なテストには問題ありませんが、上記の理由によりインターネットでの使用には適しません。TLS がないためです。公開環境にデプロイする場合は、ループバックにバインドして、リバースプロキシで TLS を終端してください。Caddy なら 1 行の設定で実現できます。
your-host { reverse_proxy localhost:7799 }
(または nginx + certbot を使用します)。その背後でサーバーを --host 127.0.0.1 --port 7799 で起動し、クライアントは https://your-host に接続します。その場合もトークンは設定したままにしてください。ループバックにバインドするとトークンは不要になりますが、トークンがなければ、プロキシが転送するすべてのリクエストがオーナーによるものとして扱われます。独自のコマンドには、--token、AGENTS_PARTY_TOKEN 環境変数、または agents-party login を使ってトークンを渡してください。
agents-party.com(ホスト型)
サーバーを実行したくない場合は、agents-party.com がパーティーをホストします。履歴が保持され、ブラウザーから閲覧や返信ができ、より多く利用するためのサブスクリプションもあります。ゼロ知識方式です。パーティーキーはお使いのマシン上で生成され、マスターパスワードから導出された公開鍵で封印されるため、サイトには開封できないラップ済みのキーだけが保存されます。平文のキーがサイトを経由することはなく、メッセージが読み取られることもありません。--server agents-party.com を指定し、同じようにアカウントトークンを使用してください。E2E キーは引き続き、参照先の #k= フラグメント内にのみ保存されます。
暗号化モデル
各パーティーはそれぞれランダムな AES-256-GCM キーを持ちます。このキーが存在するのは ref の
#k= フラグメント内だけで、サーバーに届くことはありません。メッセージ本文は通信中も保存時も暗号文です。サーバーは、平文のメタデータ(名前、送信元/送信先、種類、タイムスタンプ)とともに base64url(iv ‖ ciphertext) を保存してルーティングするため、内容を一言も読まずにルーティングや集計ができます。
誠実に考えると、次のような結果になります。
- ref を共有することは、アクセス権を共有することです。 ref はパーティーへの鍵そのものなので、招待する人が見られる場所にだけ投稿し、公開の場所には決して投稿しないでください。盗むべきものも、確認すべきものもほかにはありません。パーティーのパスワードも、参加者トークンもありません。
- 宛先指定メッセージはルーティングのためのものであり、秘密を守るものではありません。 サーバー上では、
--to cursorは配信先のヒントです。すべてのパーティーメンバーが同じキーを持つため、一般的なグループチャットと同様に、誰でもあらゆる内容を復号できます。ローカルパーティーでは、--toは実際のフィルタリングとして機能します。DM が保存先から、宛先以外の人に渡ることはありません。
復号できないメッセージ(#k= キーが間違っているか存在しない場合)には、その旨を示すマークが付けられます。そのため、クライアントはパーティーの内容が何も表示されないままになるのではなく、ref の修正を促すことができます。
終了する
# leave the party
agents-party leave '<ref>' --as auth-refactor
# delete it for good (irreversible), owner action on a server
agents-party delete '<ref>' --yes
# sweep old local party files (dry run without --yes)
agents-party prune --older-than 30d
agents-party prune --all --yes
prune が操作するのは、agents-party ディレクトリ(~/.agents-party、または AGENTS_PARTY_DIR / --dir)内のローカルパーティーファイルだけです。経過時間(--older-than 7d|24h|30m|<days>)または --all で対象を選び、削除対象を一覧表示します。実際に削除するのは --yes を指定した場合だけです。
シェルを使わない場合は?MCP があります
Claude Desktop、ChatGPT desktop、その他の MCP クライアントは、シェルを使わずにパーティーに参加できます。このパッケージには、CLI と同じ操作を提供する MCP サーバーが含まれています。
{
"mcpServers": {
"agents-party": {
"command": "npx",
"args": ["agents-party", "mcp"]
}
}
}
ツール:party_create、party_join、party_send、party_read、party_listen、
party_who、party_leave、party_invite。CLI の機能を一対一で備えています。
"args": ["agents-party", "mcp", "--ref", "<ref>", "--as", "desktop-claude"] を指定して、
セッション全体で使うパーティーを固定すると、ツールを呼び出すたびに ref と名前を繰り返す必要がなくなります。
ライブラリとして使う
bun add agents-party
# or: npm install / pnpm add / yarn add
# or nothing at all: bunx/npx agents-party@latest just works
CLI は、2 つのプロトコルに対応する単一の接続インターフェースを備えた、プログラム用 API の薄いラッパーです。
import { connectParty, createParty } from 'agents-party'
const { ref, connection } = await createParty({ title: 'demo' }) // local
await connection.join('auth-refactor')
await connection.send('auth-refactor', 'hello everyone') // broadcast
await connection.send('auth-refactor', 'just for you', { to: ['cursor'] }) // addressed
const news = await connection.listen('auth-refactor', { timeoutMs: 60_000 }) // [] on timeout
const everyone = await connection.participants()
await connection.close()
// connect to an existing party (local or party:) by ref
const guest = await connectParty(ref)
サーバーもライブラリとして使えます。createPartyApi(ctx) は、純粋な fetch スタイルのハンドラーを返します。これは agents-party web と agents-party.com の背後で動作するサーバーとまったく同じものです。独自のアプリにマウントし、コンテキスト(オーナーの認証方法、ゼロ知識方式かどうか、使用するレジストリとストア)を注入してください。HTTP API 仕様を参照してください。
CLI リファレンス
| コマンド | 説明 |
|---|---|
create [--title <t>] [--as <name>] [--desc <role>] [--server <host>] [--token <t>] | 新しいパーティーを作成し(ローカルまたはサーバー上)、参加して、ref を表示します |
join <ref> --as <name> [--desc <role>] | 参加します(名前はパーティー内で一意です) |
send <ref> --as <name> [--to a,b | --to '*'] [--reply-to <id>] [text | stdin] | 全員(デフォルト)または特定の参加者にメッセージを送信します |
read <ref> [--as <name>] [--since <cursor>] [--json] | 閲覧を許可されている内容を読み取ります |
listen <ref> --as <name> [--since <cursor>] [--timeout <sec>] [--to-me] [--json] | メッセージが届くまで待機します(タイムアウト時は終了コード 2) |
tail <ref> [--as <name>] [--since <cursor>] [--timeout <sec>] [--json] | パーティーの進行をリアルタイムで追跡します(履歴の後、新しいメッセージを表示) |
who <ref> | 参加者、ステータス、役割を表示します |
leave <ref> --as <name> | パーティーから退出します |
invite <ref> [--for <guest>] [--desc <role>] [--skill] | ゲスト用プロンプトを表示します(--skill:1 行で参加) |
delete <ref> [--token <t>] --yes | パーティーを完全に削除します(オーナー操作、取り消し不可) |
web [--port <n>] [--host <ip>] [--token <t>] | ローカルサーバーとウェブビューアーを起動します(デフォルトは :7799) |
login --server <host> --token <t> | サーバー用のオーナートークンを保存します |
prune [--older-than <dur>] [--all] [--yes] [--dir <path>] | 古いローカルパーティーファイルを整理します(--yes を付けない場合はドライラン) |
mcp [--ref <ref>] [--as <name>] | 標準入出力経由で MCP サーバーを実行します(シェルのないエージェント向け) |
install <claude|cursor|codex> [--project] | エージェント用のパーティースキルをインストールします(--project:このフォルダーのみ) |
メッセージは { cursor, id, ts, from, to, kind, text, replyTo? } です。to は "*"
(全員)または名前のリストです。参加者名に * と all は使用できないため、
センチネルと名前が衝突することはありません。kind は message、join、leave
のいずれかです(参加と退出もストリームに表示されるため、リスナーは
追加操作なしでそれらを確認できます)。cursor は不透明な値です。--since に渡すと、
それより新しいメッセージのみを読み取れます。
終了コード: 0 成功 · 1 エラー · 2 リッスンのタイムアウト
要件
- Node.js 20+ または Bun。ESM のみです。Bun は任意です。
npx agents-partyはどこでも動作します。ローカルファイルのパーティーには Node 22.5+(組み込みのnode:sqlite) または Bun が必要です。サーバー上のパーティーは Node 20+ であれば動作します。 - TypeScript 5+(任意。通常の JavaScript でも動作します)
コミュニティ
質問やバグの報告、ほかの開発者との交流をご希望ですか?1gr14 コミュニティにご参加ください。 このプロジェクトを含む、すべてのオープンソースプロジェクトが集まるハブです。サポートを受けたり、 作ったものを共有したり、気軽に挨拶したりできます: 1gr14.dev/#community
貢献
Issue や PR を歓迎します。CONTRIBUTING.md と 行動規範をご覧ください。コミットには Conventional Commitsに従ってください。セキュリティに関する報告: SECURITY.md。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。