session-peer 1.0.2__tar.gz → 1.0.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- session_peer-1.0.4/PKG-INFO +155 -0
- session_peer-1.0.4/README.ja.md +121 -0
- session_peer-1.0.4/README.ko.md +121 -0
- session_peer-1.0.4/README.md +121 -0
- session_peer-1.0.4/README.zh-CN.md +121 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/SECURITY.md +16 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/README.md +1 -1
- session_peer-1.0.4/docs/assets/session-peer-live-codex-claude.gif +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/cli-reference.md +30 -5
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/diagnostics.md +12 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/i18n-manifest.json +11 -9
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/README.md +1 -1
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/cli-reference.md +28 -5
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/diagnostics.md +11 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/paired-devices.md +4 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/relay-auth.md +38 -4
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/relay-lifecycle.md +4 -0
- session_peer-1.0.4/docs/ja/releases/v1.0.3.md +49 -0
- session_peer-1.0.4/docs/ja/releases/v1.0.4.md +31 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/README.md +1 -1
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/cli-reference.md +29 -11
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/diagnostics.md +11 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/paired-devices.md +5 -1
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/relay-auth.md +35 -4
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/relay-lifecycle.md +4 -0
- session_peer-1.0.4/docs/ko/releases/v1.0.3.md +49 -0
- session_peer-1.0.4/docs/ko/releases/v1.0.4.md +31 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/paired-devices.md +22 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/relay-auth.md +41 -4
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/relay-lifecycle.md +23 -0
- session_peer-1.0.4/docs/releases/v1.0.3.md +49 -0
- session_peer-1.0.4/docs/releases/v1.0.4.md +31 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/README.md +1 -1
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/cli-reference.md +13 -5
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/diagnostics.md +8 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/paired-devices.md +4 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/relay-auth.md +29 -4
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/relay-lifecycle.md +4 -0
- session_peer-1.0.4/docs/zh-CN/releases/v1.0.3.md +49 -0
- session_peer-1.0.4/docs/zh-CN/releases/v1.0.4.md +31 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer.py +844 -125
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/adapters.py +7 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/antigravity.py +1 -1
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/claude.py +60 -1
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/cli.py +23 -4
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/codex.py +21 -5
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/commands.py +18 -5
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/common.py +1 -1
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/diagnostics.py +2 -1
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/output.py +27 -4
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/registry.py +2 -1
- session_peer-1.0.4/session_peer_core/release_verification.py +187 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/sending.py +1 -1
- session_peer-1.0.4/session_peer_core/ssh.py +635 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/updates.py +69 -38
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_mcp.py +9 -2
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/app.py +142 -30
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/cli.py +22 -6
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/control.py +6 -1
- session_peer-1.0.4/session_peer_relay/framing.py +38 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/native.py +17 -4
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/relay.py +91 -8
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/store.py +16 -3
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/wire.py +17 -4
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/worker.py +6 -2
- {session_peer-1.0.2 → session_peer-1.0.4}/tools/generate_session_peer.py +17 -0
- session_peer-1.0.2/PKG-INFO +0 -188
- session_peer-1.0.2/README.ja.md +0 -148
- session_peer-1.0.2/README.ko.md +0 -148
- session_peer-1.0.2/README.md +0 -154
- session_peer-1.0.2/README.zh-CN.md +0 -144
- session_peer-1.0.2/docs/assets/session-peer-live-codex-claude.gif +0 -0
- session_peer-1.0.2/session_peer_core/ssh.py +0 -275
- {session_peer-1.0.2 → session_peer-1.0.4}/.agents/plugins/marketplace.json +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/.gitattributes +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/.gitignore +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/LICENSE +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/deploy/README.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/deploy/examples/authenticated-control/README.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/deploy/examples/authenticated-control/session-peer-control.service +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/deploy/examples/static-account/README.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/deploy/examples/static-account/session-peer-relay.service +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/agent-adapters.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ai-assistant-guide.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/antigravity.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/architecture/agent-transports.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/compatibility-v1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/download-metrics.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/agent-adapters.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/ai-assistant-guide.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/antigravity.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/architecture/agent-transports.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/compatibility-v1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/download-metrics.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/mcp.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/multi-home-list.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/relay-development-plan.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/relay-edge-policy.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/relay-google-bootstrap.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/relay-public-pilot-2026-09-17.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/relay-watchdog.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v0.6.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v0.6.2.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v0.7.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v0.8.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v0.9.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v1.0.0-alpha.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v1.0.0-beta.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v1.0.0-rc.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v1.0.0-rc.2.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v1.0.0-rc.3.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v1.0.0-rc.4.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v1.0.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v1.0.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/releases/v1.0.2.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/validation/69-rc.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/validation/85-antigravity.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ja/wake.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/agent-adapters.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/ai-assistant-guide.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/antigravity.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/architecture/agent-transports.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/compatibility-v1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/download-metrics.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/mcp.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/multi-home-list.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/relay-development-plan.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/relay-edge-policy.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/relay-google-bootstrap.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/relay-public-pilot-2026-09-17.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/relay-watchdog.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v0.6.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v0.6.2.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v0.7.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v0.8.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v0.9.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v1.0.0-alpha.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v1.0.0-beta.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v1.0.0-rc.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v1.0.0-rc.2.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v1.0.0-rc.3.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v1.0.0-rc.4.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v1.0.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v1.0.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/releases/v1.0.2.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/validation/69-rc.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/validation/85-antigravity.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/ko/wake.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/mcp.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/multi-home-list.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/relay-development-plan.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/relay-edge-policy.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/relay-google-bootstrap.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/relay-public-pilot-2026-09-17.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/relay-watchdog.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v0.6.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v0.6.2.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v0.7.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v0.8.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v0.9.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v1.0.0-alpha.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v1.0.0-beta.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v1.0.0-rc.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v1.0.0-rc.2.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v1.0.0-rc.3.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v1.0.0-rc.4.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v1.0.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v1.0.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/releases/v1.0.2.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/validation/69-rc.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/validation/85-antigravity.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/wake.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/agent-adapters.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/ai-assistant-guide.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/antigravity.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/architecture/agent-transports.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/compatibility-v1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/download-metrics.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/mcp.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/multi-home-list.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/relay-development-plan.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/relay-edge-policy.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/relay-google-bootstrap.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/relay-public-pilot-2026-09-17.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/relay-watchdog.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v0.6.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v0.6.2.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v0.7.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v0.8.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v0.9.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v1.0.0-alpha.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v1.0.0-beta.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v1.0.0-rc.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v1.0.0-rc.2.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v1.0.0-rc.3.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v1.0.0-rc.4.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v1.0.0.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v1.0.1.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/releases/v1.0.2.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/validation/69-rc.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/validation/85-antigravity.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/docs/zh-CN/wake.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/plugins/session-peer/.codex-plugin/plugin.json +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/plugins/session-peer/.mcp.json +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/plugins/session-peer/README.ja.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/plugins/session-peer/README.ko.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/plugins/session-peer/README.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/plugins/session-peer/README.zh-CN.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/pyproject.toml +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/README.md +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/messages.py +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/relay.py +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_core/replies.py +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/__init__.py +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/auth.py +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/guidance.py +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/identity.py +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/lifecycle.py +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/recovery.py +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/rotation.py +0 -0
- {session_peer-1.0.2 → session_peer-1.0.4}/session_peer_relay/transport_errors.py +0 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: session-peer
|
|
3
|
+
Version: 1.0.4
|
|
4
|
+
Summary: Discover and message Claude Code, Codex, and Antigravity sessions locally, over SSH, through MCP, or via an optional end-to-end encrypted relay.
|
|
5
|
+
Project-URL: Homepage, https://github.com/abruption/session-peer
|
|
6
|
+
Project-URL: Repository, https://github.com/abruption/session-peer
|
|
7
|
+
Project-URL: Issues, https://github.com/abruption/session-peer/issues
|
|
8
|
+
Author-email: YEONGUK LEE <hashcode@kakao.com>
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: claude-code,cli,codex,cross-session,messaging,ssh
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Operating System :: MacOS
|
|
17
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
24
|
+
Classifier: Topic :: Software Development
|
|
25
|
+
Classifier: Topic :: System :: Networking
|
|
26
|
+
Classifier: Topic :: Utilities
|
|
27
|
+
Requires-Python: >=3.9
|
|
28
|
+
Provides-Extra: mcp
|
|
29
|
+
Requires-Dist: mcp<2,>=1.12; (python_version >= '3.10') and extra == 'mcp'
|
|
30
|
+
Provides-Extra: relay
|
|
31
|
+
Requires-Dist: cryptography<51,>=50.0.1; (python_version >= '3.11') and extra == 'relay'
|
|
32
|
+
Requires-Dist: websockets<18,>=17.1; (python_version >= '3.11') and extra == 'relay'
|
|
33
|
+
Description-Content-Type: text/markdown
|
|
34
|
+
|
|
35
|
+
# session-peer
|
|
36
|
+
|
|
37
|
+
[](https://pypi.org/project/session-peer/)
|
|
38
|
+
[](https://pepy.tech/projects/session-peer)
|
|
39
|
+
[](https://pepy.tech/projects/session-peer)
|
|
40
|
+
[](https://github.com/abruption/session-peer/actions/workflows/ci.yml)
|
|
41
|
+
[](https://github.com/abruption/session-peer/blob/main/LICENSE)
|
|
42
|
+
|
|
43
|
+
**English** · [한국어](https://github.com/abruption/session-peer/blob/main/README.ko.md) · [日本語](https://github.com/abruption/session-peer/blob/main/README.ja.md) · [简体中文](https://github.com/abruption/session-peer/blob/main/README.zh-CN.md)
|
|
44
|
+
|
|
45
|
+
**Find and message Claude Code and Codex sessions from one CLI, locally or over SSH.**
|
|
46
|
+
|
|
47
|
+
Ask another session to review a change, report progress, or pick up a task.
|
|
48
|
+
session-peer uses native agent inboxes and queues; the receiving agent decides how to respond.
|
|
49
|
+
|
|
50
|
+
<a id="see-it-in-action"></a>
|
|
51
|
+
|
|
52
|
+
## Demo
|
|
53
|
+
|
|
54
|
+

|
|
55
|
+
|
|
56
|
+
A real local request and reply using session-peer 1.0.2: Codex contacts Claude Code
|
|
57
|
+
and receives `ACK DEMO-READY`. CLI and message excerpts are anonymized and re-rendered
|
|
58
|
+
in this ~22-second animation, not a screen recording; send success alone is not an ACK.
|
|
59
|
+
|
|
60
|
+
## Quick Start
|
|
61
|
+
|
|
62
|
+
<a id="installation-options"></a>
|
|
63
|
+
|
|
64
|
+
### Install
|
|
65
|
+
|
|
66
|
+
Python 3.9+. The core local/SSH CLI has no third-party Python dependencies.
|
|
67
|
+
Current stable release: **1.0.4**.
|
|
68
|
+
|
|
69
|
+
Maintenance release dated 2026-10-07; see the [release notes](docs/releases/v1.0.4.md). Package publication and operational deployment are separate.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
pipx install session-peer
|
|
73
|
+
session-peer --version
|
|
74
|
+
session-peer list
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Use `uv tool install session-peer` instead if you prefer uv. Native Windows,
|
|
78
|
+
virtual-environment pip, and standalone/SSH installation variants are in the
|
|
79
|
+
[installation guide](https://github.com/abruption/session-peer/blob/main/docs/cli-reference.md#install).
|
|
80
|
+
|
|
81
|
+
For SSH discovery, replace the example host `worker` with your host or alias.
|
|
82
|
+
Then replace the fictional session name and full UUID with the listed destination:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
session-peer list --host worker
|
|
86
|
+
session-peer send --to api-worker --message "Report progress"
|
|
87
|
+
session-peer send --host worker --to 'codex:00000000-0000-4000-8000-000000000001' --message "Review the change"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
The SSH destination needs Python and the target agent's native inbox or queue,
|
|
91
|
+
but not an installed session-peer CLI. For a custom Codex home, pass the listed
|
|
92
|
+
`codexHome` with `--codex-home`; use `--dry-run` to validate without sending.
|
|
93
|
+
Use the destination account that owns the session (`--host USER@HOST`).
|
|
94
|
+
SSH access and receiver permissions still apply.
|
|
95
|
+
|
|
96
|
+
**`posted` / `queued` confirms submission, not consumption, ACK, or completion.**
|
|
97
|
+
Ask for an explicit reply when needed. Ordinary sends refuse inactive Codex destinations
|
|
98
|
+
by default and do not start them. Never automatically retry an uncertain send.
|
|
99
|
+
|
|
100
|
+
The optional [agent skill](https://github.com/abruption/session-peer-skill) is installed separately
|
|
101
|
+
from the runtime; see the installation guide for its Skills CLI command.
|
|
102
|
+
|
|
103
|
+
### Update
|
|
104
|
+
|
|
105
|
+
Use the same manager that installed the runtime:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
pipx upgrade session-peer
|
|
109
|
+
# or: uv tool upgrade session-peer
|
|
110
|
+
# or, in its virtual environment: python -m pip install --upgrade session-peer
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
For local installations, `session-peer update` replaces standalone runtime files;
|
|
114
|
+
package-managed installs receive upgrade guidance instead. It never updates agent skills:
|
|
115
|
+
use their original installer (Skills CLI, or `install.sh` for its bundled copy).
|
|
116
|
+
See [update details and remote limitations](https://github.com/abruption/session-peer/blob/main/docs/cli-reference.md#updating).
|
|
117
|
+
|
|
118
|
+
<a id="documentation"></a>
|
|
119
|
+
|
|
120
|
+
## Docs
|
|
121
|
+
|
|
122
|
+
- [Documentation map](https://github.com/abruption/session-peer/blob/main/docs/README.md): user, integration, operator, and development guides.
|
|
123
|
+
- [CLI reference](https://github.com/abruption/session-peer/blob/main/docs/cli-reference.md): options, JSON, installation variants, and migration.
|
|
124
|
+
- [Diagnostics and replies](https://github.com/abruption/session-peer/blob/main/docs/diagnostics.md) · [Multiple Codex homes](https://github.com/abruption/session-peer/blob/main/docs/multi-home-list.md).
|
|
125
|
+
- [AI-assisted setup](https://github.com/abruption/session-peer/blob/main/docs/ai-assistant-guide.md) · [Project site](https://abruption.dev/projects/session-peer/) · [Release notes](https://github.com/abruption/session-peer/releases).
|
|
126
|
+
- [Release process](https://github.com/abruption/session-peer/blob/main/RELEASING.md).
|
|
127
|
+
|
|
128
|
+
[Paired devices / encrypted Relay](https://github.com/abruption/session-peer/blob/main/docs/paired-devices.md)
|
|
129
|
+
require Unix, Python 3.11+, and `session-peer[relay]`, with pinned identities and
|
|
130
|
+
explicit receiver policy. Package publication does not guarantee hosted-service availability.
|
|
131
|
+
The blind Relay cannot decrypt application message content.
|
|
132
|
+
[MCP / Codex plugin](https://github.com/abruption/session-peer/blob/main/docs/mcp.md) requires Python 3.10+
|
|
133
|
+
and `session-peer[mcp]`; MCP wake requires both `send` and `wake` capabilities.
|
|
134
|
+
[Wake](https://github.com/abruption/session-peer/blob/main/docs/wake.md) runs only when explicitly requested
|
|
135
|
+
and can start a turn, consume usage, and change project files.
|
|
136
|
+
The [Antigravity bridge](https://github.com/abruption/session-peer/blob/main/docs/antigravity.md) remains experimental.
|
|
137
|
+
|
|
138
|
+
English is canonical; Korean, Japanese, and Simplified Chinese guides are kept aligned.
|
|
139
|
+
Translations do not change the CLI output language.
|
|
140
|
+
|
|
141
|
+
## License
|
|
142
|
+
|
|
143
|
+
[MIT](https://github.com/abruption/session-peer/blob/main/LICENSE).
|
|
144
|
+
|
|
145
|
+
## Support and security
|
|
146
|
+
|
|
147
|
+
Use [GitHub Issues](https://github.com/abruption/session-peer/issues/new/choose) for bugs and features.
|
|
148
|
+
Report vulnerabilities [privately](https://github.com/abruption/session-peer/security/advisories/new)
|
|
149
|
+
under the [security policy](https://github.com/abruption/session-peer/blob/main/SECURITY.md), not in public issues.
|
|
150
|
+
Redact secrets, conversation text, session IDs, and personal paths from shared diagnostics.
|
|
151
|
+
|
|
152
|
+
For private questions or an alternative security contact, email
|
|
153
|
+
[support@abruption.dev](mailto:support@abruption.dev) with `[session-peer]` in the subject.
|
|
154
|
+
Support is best effort, with no guaranteed response time. Emails are reviewed manually, never automatically published as issues.
|
|
155
|
+
English and Korean reports are welcome.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# session-peer
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/session-peer/)
|
|
4
|
+
[](https://pepy.tech/projects/session-peer)
|
|
5
|
+
[](https://pepy.tech/projects/session-peer)
|
|
6
|
+
[](https://github.com/abruption/session-peer/actions/workflows/ci.yml)
|
|
7
|
+
[](https://github.com/abruption/session-peer/blob/main/LICENSE)
|
|
8
|
+
|
|
9
|
+
[English](https://github.com/abruption/session-peer/blob/main/README.md) · [한국어](https://github.com/abruption/session-peer/blob/main/README.ko.md) · **日本語** · [简体中文](https://github.com/abruption/session-peer/blob/main/README.zh-CN.md)
|
|
10
|
+
|
|
11
|
+
**ひとつのCLIでローカルやSSH接続先のClaude Code・Codexセッションを検索し、メッセージを送れます。**
|
|
12
|
+
|
|
13
|
+
別のセッションに変更のレビュー、進捗報告、作業の引き継ぎを依頼できます。
|
|
14
|
+
標準の受信箱やキューを利用し、応答方法は受信側のエージェントが決定します。
|
|
15
|
+
|
|
16
|
+
<a id="see-it-in-action"></a>
|
|
17
|
+
|
|
18
|
+
## デモ
|
|
19
|
+
|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
session-peer 1.0.2による実際のローカル通信です。CodexがClaude Codeに依頼を送り、
|
|
23
|
+
`ACK DEMO-READY`を受け取ります。CLI出力とメッセージの抜粋を匿名化して再描画した
|
|
24
|
+
約22秒のアニメーションで、画面録画ではありません。送信成功だけではACKを意味しません。
|
|
25
|
+
|
|
26
|
+
## クイックスタート
|
|
27
|
+
|
|
28
|
+
<a id="installation-options"></a>
|
|
29
|
+
|
|
30
|
+
### インストール
|
|
31
|
+
|
|
32
|
+
Python 3.9以上が必要です。基本のローカル・SSH CLIに外部Python依存パッケージはありません。
|
|
33
|
+
現在の安定版:**1.0.4**。
|
|
34
|
+
|
|
35
|
+
2026-10-07付のメンテナンス版の[リリースノート](docs/ja/releases/v1.0.4.md)を参照してください。パッケージ公開と本番配備は別です。
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
pipx install session-peer
|
|
39
|
+
session-peer --version
|
|
40
|
+
session-peer list
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
uvを使う場合は `uv tool install session-peer` を選べます。ネイティブWindows、
|
|
44
|
+
仮想環境のpip、単独スクリプト・SSHのインストール方法は
|
|
45
|
+
[インストールガイド](https://github.com/abruption/session-peer/blob/main/docs/ja/cli-reference.md#install)を参照してください。
|
|
46
|
+
|
|
47
|
+
SSH検索では、例のホスト `worker` を実際のホストまたはエイリアスに置き換えてください。
|
|
48
|
+
その後、架空のセッション名と完全なUUIDを検索結果の接続先に置き換えてください。
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
session-peer list --host worker
|
|
52
|
+
session-peer send --to api-worker --message "進捗を教えてください"
|
|
53
|
+
session-peer send --host worker --to 'codex:00000000-0000-4000-8000-000000000001' --message "変更をレビューしてください"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
SSH接続先にはPythonと対象エージェントの標準受信箱・キューが必要ですが、
|
|
57
|
+
session-peer CLIのインストールは不要です。独自のCodexホームは検索結果の
|
|
58
|
+
`codexHome` を `--codex-home` で指定し、`--dry-run` で送信せずに検証できます。
|
|
59
|
+
セッションを所有する接続先アカウントを使ってください(`--host USER@HOST`)。
|
|
60
|
+
SSHと受信側の権限が適用されます。
|
|
61
|
+
|
|
62
|
+
**`posted` / `queued` は受信箱・キューへの提出の確認であり、消費・ACK・作業完了の確認ではありません。**
|
|
63
|
+
必要なら明示的な返信を依頼してください。通常の送信は停止中のCodex接続先をデフォルトで拒否し、
|
|
64
|
+
起動もしません。結果が不確かな送信を自動で再試行しないでください。
|
|
65
|
+
|
|
66
|
+
オプションの [エージェントスキル](https://github.com/abruption/session-peer-skill) はランタイムとは
|
|
67
|
+
別にインストールします。Skills CLIのコマンドはインストールガイドを参照してください。
|
|
68
|
+
|
|
69
|
+
### 更新
|
|
70
|
+
|
|
71
|
+
ランタイムをインストールした管理ツールで更新してください。
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
pipx upgrade session-peer
|
|
75
|
+
# または: uv tool upgrade session-peer
|
|
76
|
+
# または、対象の仮想環境内で: python -m pip install --upgrade session-peer
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
ローカルのインストールでは、`session-peer update` は単独スクリプトのランタイムファイルを置き換えます。
|
|
80
|
+
パッケージ版には更新方法を案内します。このコマンドはスキルを更新しません。
|
|
81
|
+
元のインストールツール(Skills CLI、または同梱コピーの `install.sh`)を使ってください。
|
|
82
|
+
[更新の詳細とリモートでの制約](https://github.com/abruption/session-peer/blob/main/docs/ja/cli-reference.md#updating)を参照してください。
|
|
83
|
+
|
|
84
|
+
<a id="documentation"></a>
|
|
85
|
+
|
|
86
|
+
## ドキュメント
|
|
87
|
+
|
|
88
|
+
- [文書マップ](https://github.com/abruption/session-peer/blob/main/docs/ja/README.md):ユーザー、統合、運用、開発ガイド
|
|
89
|
+
- [CLIリファレンス](https://github.com/abruption/session-peer/blob/main/docs/ja/cli-reference.md):オプション、JSON、インストール方法、移行
|
|
90
|
+
- [診断と返信](https://github.com/abruption/session-peer/blob/main/docs/ja/diagnostics.md) · [複数のCodexホーム](https://github.com/abruption/session-peer/blob/main/docs/ja/multi-home-list.md)
|
|
91
|
+
- [AIを利用したセットアップ](https://github.com/abruption/session-peer/blob/main/docs/ja/ai-assistant-guide.md) · [プロジェクトサイト](https://abruption.dev/projects/session-peer/) · [リリースノート](https://github.com/abruption/session-peer/releases)
|
|
92
|
+
- [リリース手順](https://github.com/abruption/session-peer/blob/main/RELEASING.ja.md)
|
|
93
|
+
|
|
94
|
+
[デバイスのペアリング・暗号化Relay](https://github.com/abruption/session-peer/blob/main/docs/ja/paired-devices.md)には
|
|
95
|
+
Unix、Python 3.11以上、`session-peer[relay]`、固定した識別情報と明示的な受信ポリシーが必要です。
|
|
96
|
+
パッケージの公開はホスト型サービスの可用性を保証しません。
|
|
97
|
+
ブラインドRelayはアプリケーションのメッセージ内容を復号できません。
|
|
98
|
+
[MCP・Codexプラグイン](https://github.com/abruption/session-peer/blob/main/docs/ja/mcp.md)にはPython 3.10以上と
|
|
99
|
+
`session-peer[mcp]` が必要で、MCP wakeには `send` と `wake` の両方の権限が必要です。
|
|
100
|
+
[Wake](https://github.com/abruption/session-peer/blob/main/docs/ja/wake.md)は明示的に依頼した場合だけ実行し、
|
|
101
|
+
ターンの開始、利用枠の消費、プロジェクトファイルの変更を伴う場合があります。
|
|
102
|
+
[Antigravityブリッジ](https://github.com/abruption/session-peer/blob/main/docs/ja/antigravity.md)は実験段階です。
|
|
103
|
+
|
|
104
|
+
英語が正本で、韓国語、日本語、簡体字中国語のガイドとの整合性を保ちます。
|
|
105
|
+
翻訳はCLIの出力言語を変更しません。
|
|
106
|
+
|
|
107
|
+
## ライセンス
|
|
108
|
+
|
|
109
|
+
[MIT](https://github.com/abruption/session-peer/blob/main/LICENSE)。
|
|
110
|
+
|
|
111
|
+
## サポートとセキュリティ
|
|
112
|
+
|
|
113
|
+
バグや機能の提案は [GitHub Issues](https://github.com/abruption/session-peer/issues/new/choose) をご利用ください。
|
|
114
|
+
脆弱性は公開Issueではなく [非公開の報告フォーム](https://github.com/abruption/session-peer/security/advisories/new) から報告し、
|
|
115
|
+
[セキュリティポリシー](https://github.com/abruption/session-peer/blob/main/SECURITY.ja.md)に従ってください。
|
|
116
|
+
共有する診断結果から秘密情報、会話、セッションID、個人のパスを伏せてください。
|
|
117
|
+
|
|
118
|
+
非公開のご質問や代替のセキュリティ窓口には、件名に `[session-peer]` を付けて
|
|
119
|
+
[support@abruption.dev](mailto:support@abruption.dev)へご連絡ください。
|
|
120
|
+
できる限り対応しますが、対応期限は保証しません。メールは手動で確認し、公開Issueへ自動投稿しません。
|
|
121
|
+
英語・韓国語での報告を受け付けています。
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# session-peer
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/session-peer/)
|
|
4
|
+
[](https://pepy.tech/projects/session-peer)
|
|
5
|
+
[](https://pepy.tech/projects/session-peer)
|
|
6
|
+
[](https://github.com/abruption/session-peer/actions/workflows/ci.yml)
|
|
7
|
+
[](https://github.com/abruption/session-peer/blob/main/LICENSE)
|
|
8
|
+
|
|
9
|
+
[English](https://github.com/abruption/session-peer/blob/main/README.md) · **한국어** · [日本語](https://github.com/abruption/session-peer/blob/main/README.ja.md) · [简体中文](https://github.com/abruption/session-peer/blob/main/README.zh-CN.md)
|
|
10
|
+
|
|
11
|
+
**하나의 CLI로 로컬 또는 SSH 원격의 Claude Code·Codex 세션을 찾고 메시지를 보내세요.**
|
|
12
|
+
|
|
13
|
+
다른 세션에 변경 검토, 진행 상황 보고, 작업 인계를 요청할 수 있어요.
|
|
14
|
+
각 에이전트의 기본 수신함과 큐를 사용하며, 응답 방식은 수신 에이전트가 결정해요.
|
|
15
|
+
|
|
16
|
+
<a id="see-it-in-action"></a>
|
|
17
|
+
|
|
18
|
+
## 데모
|
|
19
|
+
|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
session-peer 1.0.2로 실제 로컬 요청과 회신을 주고받았어요. Codex가 Claude Code에
|
|
23
|
+
요청을 보내고 `ACK DEMO-READY`를 받아요. CLI 출력과 메시지 발췌를 익명화해 다시 그린
|
|
24
|
+
약 22초 애니메이션이며 화면 녹화는 아니에요. 전송 성공만으로 ACK를 뜻하지는 않아요.
|
|
25
|
+
|
|
26
|
+
## 빠른 시작
|
|
27
|
+
|
|
28
|
+
<a id="installation-options"></a>
|
|
29
|
+
|
|
30
|
+
### 설치
|
|
31
|
+
|
|
32
|
+
Python 3.9 이상이 필요해요. 기본 로컬·SSH CLI는 외부 Python 패키지에 의존하지 않아요.
|
|
33
|
+
현재 안정판: **1.0.4**.
|
|
34
|
+
|
|
35
|
+
2026-10-07 유지보수 릴리스의 [릴리스 노트](docs/ko/releases/v1.0.4.md)를 참고하세요. 패키지 공개와 운영 배포는 별개입니다.
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
pipx install session-peer
|
|
39
|
+
session-peer --version
|
|
40
|
+
session-peer list
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
uv를 선호하면 `uv tool install session-peer`를 사용하세요. 네이티브 Windows,
|
|
44
|
+
가상 환경의 pip, 독립 스크립트·SSH 설치 방법은
|
|
45
|
+
[설치 가이드](https://github.com/abruption/session-peer/blob/main/docs/ko/cli-reference.md#install)에 있어요.
|
|
46
|
+
|
|
47
|
+
SSH 조회의 예시 호스트 `worker`를 실제 호스트 또는 별칭으로 바꿔주세요.
|
|
48
|
+
그런 다음 가상 세션 이름과 전체 UUID를 조회한 목적지로 바꿔주세요.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
session-peer list --host worker
|
|
52
|
+
session-peer send --to api-worker --message "진행 상황을 알려주세요"
|
|
53
|
+
session-peer send --host worker --to 'codex:00000000-0000-4000-8000-000000000001' --message "변경 사항을 검토해주세요"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
SSH 목적지에는 Python과 대상 에이전트의 기본 수신함·큐가 필요하지만,
|
|
57
|
+
session-peer CLI를 설치할 필요는 없어요. 사용자 지정 Codex 홈은 조회 결과의
|
|
58
|
+
`codexHome`을 `--codex-home`으로 지정하고, `--dry-run`으로 전송 없이 검증하세요.
|
|
59
|
+
세션을 소유한 목적지 계정을 사용하세요(`--host USER@HOST`).
|
|
60
|
+
SSH 접근 권한과 수신 세션의 권한이 적용돼요.
|
|
61
|
+
|
|
62
|
+
**`posted` / `queued`는 제출 확인이며 소비·ACK·작업 완료를 뜻하지 않아요.**
|
|
63
|
+
필요하면 명시적으로 회신을 요청하세요. 일반 전송은 비활성 Codex 목적지를 기본적으로 거부하고,
|
|
64
|
+
해당 세션을 시작하지 않아요. 결과가 불확실한 전송은 자동 재시도하지 마세요.
|
|
65
|
+
|
|
66
|
+
선택형 [에이전트 스킬](https://github.com/abruption/session-peer-skill)은 실행 프로그램과
|
|
67
|
+
별도로 설치해요. Skills CLI 명령은 설치 가이드를 참고하세요.
|
|
68
|
+
|
|
69
|
+
### 업데이트
|
|
70
|
+
|
|
71
|
+
실행 프로그램을 설치했던 관리자를 그대로 사용하세요.
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
pipx upgrade session-peer
|
|
75
|
+
# 또는: uv tool upgrade session-peer
|
|
76
|
+
# 또는, 해당 가상 환경에서: python -m pip install --upgrade session-peer
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
로컬 설치에서 `session-peer update`는 독립 스크립트 실행 파일을 교체하며,
|
|
80
|
+
패키지 설치본에는 업그레이드 안내를 제공해요. 이 명령은 스킬을 갱신하지 않아요.
|
|
81
|
+
스킬에는 원래 설치 도구(Skills CLI 또는 동봉 사본의 `install.sh`)를 사용하세요.
|
|
82
|
+
[업데이트 상세와 원격 제약](https://github.com/abruption/session-peer/blob/main/docs/ko/cli-reference.md#updating)을 참고하세요.
|
|
83
|
+
|
|
84
|
+
<a id="documentation"></a>
|
|
85
|
+
|
|
86
|
+
## 문서
|
|
87
|
+
|
|
88
|
+
- [문서 지도](https://github.com/abruption/session-peer/blob/main/docs/ko/README.md): 사용자·통합·운영·개발 가이드
|
|
89
|
+
- [CLI 참조](https://github.com/abruption/session-peer/blob/main/docs/ko/cli-reference.md): 옵션·JSON·설치 변형·마이그레이션
|
|
90
|
+
- [진단과 회신](https://github.com/abruption/session-peer/blob/main/docs/ko/diagnostics.md) · [여러 Codex 홈](https://github.com/abruption/session-peer/blob/main/docs/ko/multi-home-list.md)
|
|
91
|
+
- [AI 지원 설치](https://github.com/abruption/session-peer/blob/main/docs/ko/ai-assistant-guide.md) · [프로젝트 사이트](https://abruption.dev/projects/session-peer/) · [릴리스 노트](https://github.com/abruption/session-peer/releases)
|
|
92
|
+
- [릴리스 절차](https://github.com/abruption/session-peer/blob/main/RELEASING.ko.md)
|
|
93
|
+
|
|
94
|
+
[기기 페어링·암호화 Relay](https://github.com/abruption/session-peer/blob/main/docs/ko/paired-devices.md)는
|
|
95
|
+
Unix·Python 3.11 이상·`session-peer[relay]`와 고정된 기기 신원·명시적 수신 정책이 필요해요.
|
|
96
|
+
패키지 발행이 호스팅 서비스 가용성을 보장하지는 않아요.
|
|
97
|
+
블라인드 Relay는 애플리케이션 메시지 내용을 복호화할 수 없어요.
|
|
98
|
+
[MCP·Codex 플러그인](https://github.com/abruption/session-peer/blob/main/docs/ko/mcp.md)은 Python 3.10 이상과
|
|
99
|
+
`session-peer[mcp]`가 필요하며, MCP wake에는 `send`와 `wake` 권한이 모두 필요해요.
|
|
100
|
+
[Wake](https://github.com/abruption/session-peer/blob/main/docs/ko/wake.md)는 명시적으로 요청할 때만 실행되며,
|
|
101
|
+
턴을 시작하고 사용량을 소비하거나 프로젝트 파일을 바꿀 수 있어요.
|
|
102
|
+
[Antigravity 브리지](https://github.com/abruption/session-peer/blob/main/docs/ko/antigravity.md)는 실험 상태예요.
|
|
103
|
+
|
|
104
|
+
영어가 정본이며 한국어·일본어·중국어 간체 가이드의 정합성을 유지해요.
|
|
105
|
+
번역은 CLI의 출력 언어를 바꾸지 않아요.
|
|
106
|
+
|
|
107
|
+
## 라이선스
|
|
108
|
+
|
|
109
|
+
[MIT](https://github.com/abruption/session-peer/blob/main/LICENSE).
|
|
110
|
+
|
|
111
|
+
## 지원 및 보안
|
|
112
|
+
|
|
113
|
+
버그·기능 제안은 [GitHub Issues](https://github.com/abruption/session-peer/issues/new/choose)를 사용하세요.
|
|
114
|
+
보안 취약점은 공개 이슈가 아닌 [비공개 보고](https://github.com/abruption/session-peer/security/advisories/new)로 제출하고,
|
|
115
|
+
[보안 정책](https://github.com/abruption/session-peer/blob/main/SECURITY.ko.md)을 따라주세요.
|
|
116
|
+
공유할 진단 결과에서 비밀정보·대화·세션 ID·개인 경로를 가려주세요.
|
|
117
|
+
|
|
118
|
+
비공개 문의나 대체 보안 연락처는 제목에 `[session-peer]`를 넣어
|
|
119
|
+
[support@abruption.dev](mailto:support@abruption.dev)로 이메일을 보내주세요.
|
|
120
|
+
지원은 최선을 다하되 응답 시한을 보장하지 않아요. 이메일은 수동 검토하며 공개 이슈로 자동 게시하지 않아요.
|
|
121
|
+
영어·한국어 보고를 환영해요.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# session-peer
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/session-peer/)
|
|
4
|
+
[](https://pepy.tech/projects/session-peer)
|
|
5
|
+
[](https://pepy.tech/projects/session-peer)
|
|
6
|
+
[](https://github.com/abruption/session-peer/actions/workflows/ci.yml)
|
|
7
|
+
[](https://github.com/abruption/session-peer/blob/main/LICENSE)
|
|
8
|
+
|
|
9
|
+
**English** · [한국어](https://github.com/abruption/session-peer/blob/main/README.ko.md) · [日本語](https://github.com/abruption/session-peer/blob/main/README.ja.md) · [简体中文](https://github.com/abruption/session-peer/blob/main/README.zh-CN.md)
|
|
10
|
+
|
|
11
|
+
**Find and message Claude Code and Codex sessions from one CLI, locally or over SSH.**
|
|
12
|
+
|
|
13
|
+
Ask another session to review a change, report progress, or pick up a task.
|
|
14
|
+
session-peer uses native agent inboxes and queues; the receiving agent decides how to respond.
|
|
15
|
+
|
|
16
|
+
<a id="see-it-in-action"></a>
|
|
17
|
+
|
|
18
|
+
## Demo
|
|
19
|
+
|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
A real local request and reply using session-peer 1.0.2: Codex contacts Claude Code
|
|
23
|
+
and receives `ACK DEMO-READY`. CLI and message excerpts are anonymized and re-rendered
|
|
24
|
+
in this ~22-second animation, not a screen recording; send success alone is not an ACK.
|
|
25
|
+
|
|
26
|
+
## Quick Start
|
|
27
|
+
|
|
28
|
+
<a id="installation-options"></a>
|
|
29
|
+
|
|
30
|
+
### Install
|
|
31
|
+
|
|
32
|
+
Python 3.9+. The core local/SSH CLI has no third-party Python dependencies.
|
|
33
|
+
Current stable release: **1.0.4**.
|
|
34
|
+
|
|
35
|
+
Maintenance release dated 2026-10-07; see the [release notes](docs/releases/v1.0.4.md). Package publication and operational deployment are separate.
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
pipx install session-peer
|
|
39
|
+
session-peer --version
|
|
40
|
+
session-peer list
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Use `uv tool install session-peer` instead if you prefer uv. Native Windows,
|
|
44
|
+
virtual-environment pip, and standalone/SSH installation variants are in the
|
|
45
|
+
[installation guide](https://github.com/abruption/session-peer/blob/main/docs/cli-reference.md#install).
|
|
46
|
+
|
|
47
|
+
For SSH discovery, replace the example host `worker` with your host or alias.
|
|
48
|
+
Then replace the fictional session name and full UUID with the listed destination:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
session-peer list --host worker
|
|
52
|
+
session-peer send --to api-worker --message "Report progress"
|
|
53
|
+
session-peer send --host worker --to 'codex:00000000-0000-4000-8000-000000000001' --message "Review the change"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
The SSH destination needs Python and the target agent's native inbox or queue,
|
|
57
|
+
but not an installed session-peer CLI. For a custom Codex home, pass the listed
|
|
58
|
+
`codexHome` with `--codex-home`; use `--dry-run` to validate without sending.
|
|
59
|
+
Use the destination account that owns the session (`--host USER@HOST`).
|
|
60
|
+
SSH access and receiver permissions still apply.
|
|
61
|
+
|
|
62
|
+
**`posted` / `queued` confirms submission, not consumption, ACK, or completion.**
|
|
63
|
+
Ask for an explicit reply when needed. Ordinary sends refuse inactive Codex destinations
|
|
64
|
+
by default and do not start them. Never automatically retry an uncertain send.
|
|
65
|
+
|
|
66
|
+
The optional [agent skill](https://github.com/abruption/session-peer-skill) is installed separately
|
|
67
|
+
from the runtime; see the installation guide for its Skills CLI command.
|
|
68
|
+
|
|
69
|
+
### Update
|
|
70
|
+
|
|
71
|
+
Use the same manager that installed the runtime:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
pipx upgrade session-peer
|
|
75
|
+
# or: uv tool upgrade session-peer
|
|
76
|
+
# or, in its virtual environment: python -m pip install --upgrade session-peer
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
For local installations, `session-peer update` replaces standalone runtime files;
|
|
80
|
+
package-managed installs receive upgrade guidance instead. It never updates agent skills:
|
|
81
|
+
use their original installer (Skills CLI, or `install.sh` for its bundled copy).
|
|
82
|
+
See [update details and remote limitations](https://github.com/abruption/session-peer/blob/main/docs/cli-reference.md#updating).
|
|
83
|
+
|
|
84
|
+
<a id="documentation"></a>
|
|
85
|
+
|
|
86
|
+
## Docs
|
|
87
|
+
|
|
88
|
+
- [Documentation map](https://github.com/abruption/session-peer/blob/main/docs/README.md): user, integration, operator, and development guides.
|
|
89
|
+
- [CLI reference](https://github.com/abruption/session-peer/blob/main/docs/cli-reference.md): options, JSON, installation variants, and migration.
|
|
90
|
+
- [Diagnostics and replies](https://github.com/abruption/session-peer/blob/main/docs/diagnostics.md) · [Multiple Codex homes](https://github.com/abruption/session-peer/blob/main/docs/multi-home-list.md).
|
|
91
|
+
- [AI-assisted setup](https://github.com/abruption/session-peer/blob/main/docs/ai-assistant-guide.md) · [Project site](https://abruption.dev/projects/session-peer/) · [Release notes](https://github.com/abruption/session-peer/releases).
|
|
92
|
+
- [Release process](https://github.com/abruption/session-peer/blob/main/RELEASING.md).
|
|
93
|
+
|
|
94
|
+
[Paired devices / encrypted Relay](https://github.com/abruption/session-peer/blob/main/docs/paired-devices.md)
|
|
95
|
+
require Unix, Python 3.11+, and `session-peer[relay]`, with pinned identities and
|
|
96
|
+
explicit receiver policy. Package publication does not guarantee hosted-service availability.
|
|
97
|
+
The blind Relay cannot decrypt application message content.
|
|
98
|
+
[MCP / Codex plugin](https://github.com/abruption/session-peer/blob/main/docs/mcp.md) requires Python 3.10+
|
|
99
|
+
and `session-peer[mcp]`; MCP wake requires both `send` and `wake` capabilities.
|
|
100
|
+
[Wake](https://github.com/abruption/session-peer/blob/main/docs/wake.md) runs only when explicitly requested
|
|
101
|
+
and can start a turn, consume usage, and change project files.
|
|
102
|
+
The [Antigravity bridge](https://github.com/abruption/session-peer/blob/main/docs/antigravity.md) remains experimental.
|
|
103
|
+
|
|
104
|
+
English is canonical; Korean, Japanese, and Simplified Chinese guides are kept aligned.
|
|
105
|
+
Translations do not change the CLI output language.
|
|
106
|
+
|
|
107
|
+
## License
|
|
108
|
+
|
|
109
|
+
[MIT](https://github.com/abruption/session-peer/blob/main/LICENSE).
|
|
110
|
+
|
|
111
|
+
## Support and security
|
|
112
|
+
|
|
113
|
+
Use [GitHub Issues](https://github.com/abruption/session-peer/issues/new/choose) for bugs and features.
|
|
114
|
+
Report vulnerabilities [privately](https://github.com/abruption/session-peer/security/advisories/new)
|
|
115
|
+
under the [security policy](https://github.com/abruption/session-peer/blob/main/SECURITY.md), not in public issues.
|
|
116
|
+
Redact secrets, conversation text, session IDs, and personal paths from shared diagnostics.
|
|
117
|
+
|
|
118
|
+
For private questions or an alternative security contact, email
|
|
119
|
+
[support@abruption.dev](mailto:support@abruption.dev) with `[session-peer]` in the subject.
|
|
120
|
+
Support is best effort, with no guaranteed response time. Emails are reviewed manually, never automatically published as issues.
|
|
121
|
+
English and Korean reports are welcome.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# session-peer
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/session-peer/)
|
|
4
|
+
[](https://pepy.tech/projects/session-peer)
|
|
5
|
+
[](https://pepy.tech/projects/session-peer)
|
|
6
|
+
[](https://github.com/abruption/session-peer/actions/workflows/ci.yml)
|
|
7
|
+
[](https://github.com/abruption/session-peer/blob/main/LICENSE)
|
|
8
|
+
|
|
9
|
+
[English](https://github.com/abruption/session-peer/blob/main/README.md) · [한국어](https://github.com/abruption/session-peer/blob/main/README.ko.md) · [日本語](https://github.com/abruption/session-peer/blob/main/README.ja.md) · **简体中文**
|
|
10
|
+
|
|
11
|
+
**通过一个CLI查找本机或SSH远程主机上的Claude Code与Codex会话,并向其发送消息。**
|
|
12
|
+
|
|
13
|
+
请另一会话审查改动、汇报进度或接手任务。
|
|
14
|
+
session-peer使用代理原生的收件箱和队列,由接收方决定如何响应。
|
|
15
|
+
|
|
16
|
+
<a id="see-it-in-action"></a>
|
|
17
|
+
|
|
18
|
+
## 演示
|
|
19
|
+
|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
使用session-peer 1.0.2进行了真实的本地请求与回复:Codex向Claude Code发送请求,
|
|
23
|
+
并收到`ACK DEMO-READY`。这段约22秒的动画对CLI输出和消息摘录进行了匿名化与重新绘制,
|
|
24
|
+
并非屏幕录像;发送成功本身并不代表收到ACK。
|
|
25
|
+
|
|
26
|
+
## 快速开始
|
|
27
|
+
|
|
28
|
+
<a id="installation-options"></a>
|
|
29
|
+
|
|
30
|
+
### 安装
|
|
31
|
+
|
|
32
|
+
需要Python 3.9或更高版本。核心本地与SSH CLI没有第三方Python依赖。
|
|
33
|
+
当前稳定版:**1.0.4**。
|
|
34
|
+
|
|
35
|
+
请参阅2026-10-07维护版本的[发布说明](docs/zh-CN/releases/v1.0.4.md)。包发布与运营部署是独立操作。
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
pipx install session-peer
|
|
39
|
+
session-peer --version
|
|
40
|
+
session-peer list
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
偏好uv时可使用 `uv tool install session-peer`。原生Windows、
|
|
44
|
+
虚拟环境pip、独立脚本与SSH安装方式请参阅
|
|
45
|
+
[安装指南](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/cli-reference.md#install)。
|
|
46
|
+
|
|
47
|
+
SSH查询时,请将示例主机 `worker` 替换为实际主机或别名。
|
|
48
|
+
然后将虚构的会话名称和完整UUID替换为查询结果中的目标:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
session-peer list --host worker
|
|
52
|
+
session-peer send --to api-worker --message "请汇报进度"
|
|
53
|
+
session-peer send --host worker --to 'codex:00000000-0000-4000-8000-000000000001' --message "请审查改动"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
SSH目标需要Python以及目标代理的原生收件箱或队列,
|
|
57
|
+
但无需安装session-peer CLI。自定义Codex主目录请将查询结果中的
|
|
58
|
+
`codexHome` 用 `--codex-home` 指定,可用 `--dry-run` 在不发送消息的情况下验证。
|
|
59
|
+
请使用拥有该会话的目标账户(`--host USER@HOST`)。
|
|
60
|
+
SSH访问权限和接收方权限仍然适用。
|
|
61
|
+
|
|
62
|
+
**`posted` / `queued` 仅确认提交,不代表已消费、ACK或任务完成。**
|
|
63
|
+
需要时请明确要求对方回复。普通发送默认拒绝未运行的Codex目标,
|
|
64
|
+
也不会启动它们。切勿自动重试结果不确定的发送。
|
|
65
|
+
|
|
66
|
+
可选的 [代理技能](https://github.com/abruption/session-peer-skill) 与运行时分开安装,
|
|
67
|
+
其Skills CLI命令请参阅安装指南。
|
|
68
|
+
|
|
69
|
+
### 更新
|
|
70
|
+
|
|
71
|
+
请使用安装运行时的同一管理工具更新:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
pipx upgrade session-peer
|
|
75
|
+
# 或者: uv tool upgrade session-peer
|
|
76
|
+
# 或者,在其虚拟环境中: python -m pip install --upgrade session-peer
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
在本地安装中,`session-peer update` 会替换独立脚本的运行时文件;
|
|
80
|
+
软件包安装版会收到升级指引。此命令不会更新代理技能;
|
|
81
|
+
请使用原安装工具(Skills CLI,或同捆副本的 `install.sh`)。
|
|
82
|
+
请参阅[更新详情与远程限制](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/cli-reference.md#updating)。
|
|
83
|
+
|
|
84
|
+
<a id="documentation"></a>
|
|
85
|
+
|
|
86
|
+
## 文档
|
|
87
|
+
|
|
88
|
+
- [文档导航](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/README.md):用户、集成、运维和开发指南
|
|
89
|
+
- [CLI参考](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/cli-reference.md):选项、JSON、安装变体与迁移
|
|
90
|
+
- [诊断与回复](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/diagnostics.md) · [多个Codex主目录](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/multi-home-list.md)
|
|
91
|
+
- [AI辅助安装](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/ai-assistant-guide.md) · [项目网站](https://abruption.dev/projects/session-peer/) · [发行说明](https://github.com/abruption/session-peer/releases)
|
|
92
|
+
- [发布流程](https://github.com/abruption/session-peer/blob/main/RELEASING.zh-CN.md)
|
|
93
|
+
|
|
94
|
+
[设备配对与加密Relay](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/paired-devices.md)需要
|
|
95
|
+
Unix、Python 3.11以上和 `session-peer[relay]`,并要求固定设备身份及显式接收策略。
|
|
96
|
+
软件包发布不保证托管服务可用性。
|
|
97
|
+
盲转发Relay无法解密应用消息的内容。
|
|
98
|
+
[MCP与Codex插件](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/mcp.md)需要Python 3.10以上及
|
|
99
|
+
`session-peer[mcp]`;MCP wake需要同时具备 `send` 和 `wake` 权限。
|
|
100
|
+
[Wake](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/wake.md)仅在显式请求时运行,
|
|
101
|
+
可能启动一轮任务、消耗使用额度或修改项目文件。
|
|
102
|
+
[Antigravity桥接](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/antigravity.md)仍处于实验阶段。
|
|
103
|
+
|
|
104
|
+
英文为正本,韩文、日文和简体中文指南保持同步。
|
|
105
|
+
翻译不会改变CLI的输出语言。
|
|
106
|
+
|
|
107
|
+
## 许可证
|
|
108
|
+
|
|
109
|
+
[MIT](https://github.com/abruption/session-peer/blob/main/LICENSE)。
|
|
110
|
+
|
|
111
|
+
## 支持与安全
|
|
112
|
+
|
|
113
|
+
错误与功能建议请使用 [GitHub Issues](https://github.com/abruption/session-peer/issues/new/choose)。
|
|
114
|
+
安全漏洞请通过 [私密报告](https://github.com/abruption/session-peer/security/advisories/new) 提交,不要发布到公开Issue,
|
|
115
|
+
并遵循[安全政策](https://github.com/abruption/session-peer/blob/main/SECURITY.zh-CN.md)。
|
|
116
|
+
分享诊断结果前,请隐去敏感信息、对话、会话ID和个人路径。
|
|
117
|
+
|
|
118
|
+
非公开咨询或替代安全联系方式,请发送邮件至
|
|
119
|
+
[support@abruption.dev](mailto:support@abruption.dev),标题注明 `[session-peer]`。
|
|
120
|
+
我们会尽力提供支持,但不保证响应时限。邮件由维护者手动审核,不会自动转为公开Issue。
|
|
121
|
+
欢迎英文与韩文报告。
|