Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

## クイックスタート

基本的な Python CLI コマンドには session-peer 0.9.1 以降が必要です。公開 Python CLI の機能範囲の基準は session-peer 1.3.0 です。オプションのペアリング済みデバイス転送には、Unix 上で Python 3.11 以降と `session-peer[relay]` が必要です。
基本的な Python CLI コマンドには session-peer 0.9.1 以降が必要です。公開 Python CLI の機能範囲の基準は session-peer 1.3.2 です。オプションのペアリング済みデバイス転送には、Unix 上で Python 3.11 以降と `session-peer[relay]` が必要です。
v1.0.3 のセキュリティ修正を利用するには、Python ランタイム 1.0.3 以降を使用してください。上記の互換バージョンは CLI 機能の条件であり、セキュリティ上の推奨バージョンではありません。

### インストール
Expand Down
2 changes: 1 addition & 1 deletion README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

## 빠른 시작

기본 Python CLI 명령에는 session-peer 0.9.1 이상이 필요합니다. 공개 Python CLI 기능 범위의 기준 버전은 session-peer 1.3.0입니다. 페어링 기기 전송은 선택 기능이며, Unix 환경에서 Python 3.11 이상과 `session-peer[relay]`가 필요합니다.
기본 Python CLI 명령에는 session-peer 0.9.1 이상이 필요합니다. 공개 Python CLI 기능 범위의 기준 버전은 session-peer 1.3.2입니다. 페어링 기기 전송은 선택 기능이며, Unix 환경에서 Python 3.11 이상과 `session-peer[relay]`가 필요합니다.
v1.0.3 보안 수정을 적용하려면 Python 런타임 1.0.3 이상을 사용합니다. 위 호환 버전은 CLI(명령줄 인터페이스) 기능 지원 기준이며 보안 권장 버전과 별개입니다.

### 설치
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The runtime demonstration shows Claude Code and Codex messaging; the skill provi

## Quick Start

Basic Python CLI commands require session-peer 0.9.1 or newer. The published Python CLI coverage reference is session-peer 1.3.0. Paired-device transport is optional and needs `session-peer[relay]` on Unix with Python 3.11+.
Basic Python CLI commands require session-peer 0.9.1 or newer. The published Python CLI coverage reference is session-peer 1.3.2. Paired-device transport is optional and needs `session-peer[relay]` on Unix with Python 3.11+.
For the v1.0.3 security fixes, use Python runtime 1.0.3 or newer. The compatibility versions above are CLI feature thresholds, not security recommendations.

### Install
Expand Down
2 changes: 1 addition & 1 deletion README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

## 快速开始

基本 Python CLI 命令需要 session-peer 0.9.1 或更高版本。已发布 Python CLI 功能的覆盖基准为 session-peer 1.3.0。配对设备传输为可选功能,需要 `session-peer[relay]` 附加依赖项(Unix、Python 3.11 或更高版本)。
基本 Python CLI 命令需要 session-peer 0.9.1 或更高版本。已发布 Python CLI 功能的覆盖基准为 session-peer 1.3.2。配对设备传输为可选功能,需要 `session-peer[relay]` 附加依赖项(Unix、Python 3.11 或更高版本)。
如需获得 v1.0.3 安全修复,请使用 Python 运行时 1.0.3 或更高版本。上述兼容版本是 CLI 功能门槛,并非安全建议版本。

### 安装
Expand Down
36 changes: 32 additions & 4 deletions docs/usage.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ uv、pip、POSIX 向けスタンドアロンインストーラー、およびネ

このスキルでは、session-peer 0.9.1 以降で共通して使える基本コマンドを案内します。`--allow-inactive-codex-home` と `--relay-login` は session-peer 1.0.0 以降でのみ使用できます。macOS/Linux の受信側ポリシーで使う `codexBin` と、`attemptId` で接続試行を関連付けた Relay 診断には session-peer 1.0.1 以降が必要です。オプションのペアリング済みデバイス転送には `session-peer[relay]` extra(Unix、Python 3.11 以降)が必要です。

公開 Python CLI の機能範囲の基準は session-peer 1.3.0 です。
公開 Python CLI の機能範囲の基準は session-peer 1.3.2 です。

## ランタイム 1.0.3 のセキュリティと運用

Expand All @@ -37,7 +37,7 @@ Python 1.1.0 以降では、外部メッセージ本文のすべての行を引

## Python 1.3 の利用手順

以下のオプション手順には Python ランタイム 1.3.0 以降が必要です。基本 CLI の互換性下限は 0.9.1、公開 CLI の機能範囲の基準は 1.3.0 です。実際に選択されたランタイムのバージョンとコマンドのヘルプで対応を確認し、各機能のプラットフォームと権限の要件も確認します。受信機の `codexBin` 固有の最低バージョン 1.0.1 は維持します。実験的 handoff は `runtime-min-version` と `runtime-full-version` が示すコマンドの対応範囲に含めません。[公開済みランタイムのリリース](https://github.com/abruption/session-peer/releases/tag/v1.3.0)を参照してください。
以下のオプション手順には Python ランタイム 1.3.0 以降が必要です。基本 CLI の互換性下限は 0.9.1、公開 CLI の機能範囲の基準は 1.3.2 です。実際に選択されたランタイムのバージョンとコマンドのヘルプで対応を確認し、各機能のプラットフォームと権限の要件も確認します。受信機の `codexBin` 固有の最低バージョン 1.0.1 は維持します。実験的 handoff は `runtime-min-version` と `runtime-full-version` が示すコマンドの対応範囲に含めません。[公開済みランタイムのリリース](https://github.com/abruption/session-peer/releases/tag/v1.3.0)を参照してください。

- [送信説明](https://github.com/abruption/session-peer/blob/v1.3.0/docs/cli-reference.md#delivery-explanation):通常のメッセージ入力を受け取る `send --dry-run --explain` は、ローカル・SSH・ペアリング済み経路に対応し、テキストのみを出力します。`doctor --explain` は診断時点の状態を説明し、選択した対象の受信準備を判定するものではありません。`handoff status --explain` は保存済みの読み取り専用の根拠を説明します。JSON との組み合わせや、handoff SEND の correlation・ACK・observe・wait との組み合わせは拒否します。説明は既存の結果を再利用し、追加の検査・有効化・送信処理・受領確認の権限は生みません。既存の dry-run のバージョン検査は別です。ペアリング経路の追加情報は既存の検査で対応を確認し、許可リストと 8 KiB の上限を適用します。古い受信機では確認済みのネイティブ情報を維持し、不足する情報は unknown のままにします。プレビューは許可・対象の予約・ACK を与えません。終了コード 0 だけで未送信とは判断できず、unknown や想定外の送信処理も自動再送を許可しません。wake には引き続きユーザーの明示的な依頼が必要です。
- [経路プリセット](https://github.com/abruption/session-peer/blob/v1.3.0/docs/cli-reference.md#route-presets)と別個の[受信者アドレス帳](https://github.com/abruption/session-peer/blob/v1.3.0/docs/cli-reference.md#recipient-addressbook-v130)は、macOS・Linux のローカル・SSH Claude・Codex のみを対象とします。項目の管理はユーザーの依頼に基づいて行います。`preset show` は保存済みの経路と revision を読み、`list --preset` は現在のセッションを検索します。実際のプリセット送信には `--to` と `--preset-revision` が必要で、replace/remove は `--expect-revision` を使います。値のハッシュである `dp1` は同じ名前・経路に戻すと同じ値になり、後の変更で展開済みの呼び出しが取り消されることはありません。アドレスの add/reselect 前には、`address resolve` の結果を観測 revision の `as1` とともに確認します。実際の送信には現在の `--address-revision`(`ab1`)と正確な正規対象を示す `--confirm-target` が必要です。reselect/remove は revision を検査し、add/reselect のたびに新しい binding ID を作ります。Claude は `tg1` を維持します。Codex の `aw1` は再検査される writer の観測値であり、世代の識別は未対応で、ストレージ・実行インスタンスの原子的な一貫性も保証しません。SSH は実際の選択接続で検証した鍵を関連付け、送信時に固定します。discover は明示的に選択した最大 16 件のアドレスを検査し、同一の経路・ホーム・鍵の条件をまとめ、一部の失敗も保持します。ネットワークスキャン・ブロードキャスト・自動再選択は追加しません。ラベルや revision は人を認証せず、権限や ACK の証明にもなりません。非公開ストレージ・ACL・マウントの検査で拒否されたら運用者の確認のために中止し、権限の修復や自動的な別経路への切り替えはしません。
Expand All @@ -48,6 +48,34 @@ Python 1.1.0 以降では、外部メッセージ本文のすべての行を引

ランタイムの公開によって、別途管理されるこのスキルが公開・インストールされるわけではありません。別途承認された変更不能なスキルリリースについて、記録されたタグ・ソースコミット・SKILL ハッシュを検証してから採用します。Python ランタイムの互換コピーは、その正確な公開済みスキルソースから別途更新し、既存のランタイムリリースは変更しません。

## Python 1.3.2 の保守に関する案内

この案内は[公開済み Python ランタイム 1.3.2](https://github.com/abruption/session-peer/releases/tag/v1.3.2)、ソース `f5e7c49554ff02771990a151e00b52f2abf3df0a` に基づきます。基本 CLI の互換性下限は 0.9.1 のままです。この改訂では新しい Direct 出力の解釈も案内するため、公開機能範囲の基準は 1.3.2 です。従来の 1.3.0 の利用手順に必要なバージョンと、受信機の `codexBin` 固有の下限 1.0.1 は別に維持します。

### オプションの MCP の導入とアップグレード

基本 CLI は必須の外部依存関係なしで Python 3.9+ に対応します。オプションの MCP には Python 3.10+ と `session-peer[mcp]` extra が必要です。ランタイム 1.3.2 は MCP SDK `mcp>=1.30,<2` を要求します。新しい隔離環境に導入する場合、文書化されている pipx の例は次のとおりです。

```bash
pipx install 'session-peer[mcp]'
```

既存の MCP 環境では、インタープリターと選択済みの extra を維持し、従来の管理ツールで明示的にアップグレードします。新規導入の例で既存環境を置き換えたり、管理ツールを無断で変更したりしないでください。依存関係の宣言を変更しても、導入済みのパッケージは更新されません。`install.sh` や単体スクリプトの更新は MCP の依存関係を導入・更新しません。[固定版 MCP ガイド](https://github.com/abruption/session-peer/blob/v1.3.2/docs/mcp.md)を参照してください。

SDK の下限は上流プロジェクトの 1.x の修正を反映しています。標準入出力(stdio)のみを使うこのアプリケーションで、HTTP/OAuth/client の脆弱性が悪用可能だと確認したものでも、それらの転送方式を有効にするものでもありません。ランタイム CI は macOS/Linux と Python 3.10/3.13 で、SDK の正確な下限 1.30.0 と最新の互換 1.x を組み合わせた 8 環境を検査しました。解決された依存関係のグラフを監査したものであり、依存先がさらに要求するすべてのパッケージの最小バージョンを試験したものではありません。[検証範囲](https://github.com/abruption/session-peer/blob/v1.3.2/docs/mcp.md#validation)を参照してください。

### Direct 受信機の出力と運用者による更新

Python 1.3.2+ では、受信機の起動時出力で `ready:true` を維持し、`directReadyConfirmed:false` を追加します。前者はローカルのリスナーの準備を表し、どちらもリモート接続の受け入れ/TLS、認証済みアクセス、ネイティブ送信処理、消費や ACK を確認するものではありません。旧受信機では新しいフィールドが省略される場合があります。false や失敗を補わず、不明な証拠として扱ってください。実際に動いているバージョン、ヘルプ、出力の契約を確認します。TLS は認証前のペアリング初期処理である可能性があり、認証済み probe は別の証拠です。

既存の明示的な選択肢 `--diagnostic-events` には、`direct_transport` の段階 `accepted` と `peer_tls`、上限付きカウンター `accepted`、`tlsCompleted`、`tlsFailed` が追加されます。各段階は 60 秒当たり 1 記録、60 秒当たり合計 2 記録までを許可し、TLS の成功と失敗は同じ段階の枠を共有します。通常の終了時には、ゼロの値も含む `summary` をさらに 1 回記録しようとします。終了処理を繰り返しても再記録しません。記録の欠落やカウンターの不一致は起こり得ます。これは heartbeat、欠落のない履歴、ACK ではなく、同期 stderr は出力先が詰まった場合の厳密な期限を保証しません。[固定版 Direct リファレンス](https://github.com/abruption/session-peer/blob/v1.3.2/docs/paired-devices.md#macos-direct-listener-checks-341)を参照してください。

報告された 2 台の Mac の事例では、所有者が対象の Python アプリケーションへの着信を許可した後、元の公開版 1.3.1 でペアリングと認証済み probe が復旧しました。診断コードがネットワークを修復したわけではありません。必要に応じて、実際のアプリケーションの権限を所有者に確認してもらいます。ファイアウォールを有効にし、意図したプライベート bind、固定した TLS の識別情報と受信側ポリシーを維持します。`0.0.0.0` への自動拡張、キー/DB の初期化、アクセス方針の変更、結果が不確かなペアリング・送信の再試行は行いません。この事例は、あらゆる環境に当てはまる診断やネイティブ配送・ACK 対応を示すものではありません。

オプションの受信機モジュールは wheel/sdist に含まれ、単体の `session_peer.py` には内蔵されていません。単体ファイルの更新だけでは、既存の受信機環境は変わりません。運用者が承認された展開手順の下で、パッケージ環境を別途アップグレードし、受信機を明示的に再起動する必要があります。Python パッケージの公開によってサービスが展開されるわけではありません。

Node Control の Better Auth/core 1.7.7 の変更は Python 配布物の外にあり、サービスを別途更新する必要があります。検証用名前空間の変更により、進行中の OAuth サインインを最初からやり直す必要が生じる場合がありますが、セッションの一括失効、キーのローテーション、DB の再作成を行う根拠にはなりません。1.0.3 で導入された、アカウントセッションの作成時から 24 時間という制限は引き続き有効です。1 つのスタックでの展開は、すべての導入環境、登録方針、可用性、実際の OAuth やネイティブ ACK を検証するものではありません。[リリースと運用の境界](https://github.com/abruption/session-peer/blob/v1.3.2/docs/releases/v1.3.2.md#incident-and-compatibility-boundaries)を参照してください。

## スキルのインストール

```bash
Expand All @@ -71,11 +99,11 @@ npx -y skills@latest list --global --json
npx -y skills@latest update session-peer --global --yes
```

特定のリリースに固定して導入する場合は、そのタグを使用します(例: `v0.4.0`)。
特定のリリースに固定して導入する場合は、そのタグを使用します(例: `v0.4.1`)。

```bash
npx -y skills@latest add \
https://github.com/abruption/session-peer-skill/tree/v0.4.0/session-peer \
https://github.com/abruption/session-peer-skill/tree/v0.4.1/session-peer \
--skill session-peer --global \
--agent claude-code --agent codex --agent antigravity \
--copy --yes
Expand Down
Loading
Loading