session-peer 0.9.2__tar.gz → 1.0.0__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.
Files changed (205) hide show
  1. session_peer-1.0.0/.gitattributes +3 -0
  2. {session_peer-0.9.2 → session_peer-1.0.0}/PKG-INFO +79 -38
  3. session_peer-1.0.0/README.ja.md +148 -0
  4. session_peer-1.0.0/README.ko.md +148 -0
  5. session_peer-1.0.0/README.md +154 -0
  6. session_peer-1.0.0/README.zh-CN.md +144 -0
  7. session_peer-1.0.0/deploy/README.md +25 -0
  8. session_peer-1.0.0/deploy/examples/authenticated-control/README.md +44 -0
  9. session_peer-1.0.0/deploy/examples/authenticated-control/session-peer-control.service +61 -0
  10. session_peer-1.0.0/deploy/examples/static-account/README.md +34 -0
  11. {session_peer-0.9.2/deploy → session_peer-1.0.0/deploy/examples/static-account}/session-peer-relay.service +1 -1
  12. session_peer-1.0.0/docs/README.md +30 -0
  13. session_peer-1.0.0/docs/ai-assistant-guide.md +136 -0
  14. {session_peer-0.9.2 → session_peer-1.0.0}/docs/antigravity.md +10 -4
  15. {session_peer-0.9.2 → session_peer-1.0.0}/docs/architecture/agent-transports.md +12 -9
  16. session_peer-1.0.0/docs/assets/session-peer-live-codex-claude.gif +0 -0
  17. {session_peer-0.9.2 → session_peer-1.0.0}/docs/cli-reference.md +58 -69
  18. session_peer-1.0.0/docs/compatibility-v1.md +113 -0
  19. session_peer-1.0.0/docs/diagnostics.md +178 -0
  20. session_peer-1.0.0/docs/download-metrics.md +60 -0
  21. session_peer-1.0.0/docs/i18n-manifest.json +49 -0
  22. session_peer-1.0.0/docs/ja/README.md +29 -0
  23. session_peer-1.0.0/docs/ja/agent-adapters.md +38 -0
  24. session_peer-1.0.0/docs/ja/ai-assistant-guide.md +125 -0
  25. session_peer-1.0.0/docs/ja/antigravity.md +59 -0
  26. session_peer-1.0.0/docs/ja/architecture/agent-transports.md +43 -0
  27. session_peer-1.0.0/docs/ja/cli-reference.md +830 -0
  28. session_peer-1.0.0/docs/ja/compatibility-v1.md +96 -0
  29. session_peer-1.0.0/docs/ja/diagnostics.md +136 -0
  30. session_peer-1.0.0/docs/ja/download-metrics.md +26 -0
  31. session_peer-1.0.0/docs/ja/mcp.md +49 -0
  32. session_peer-1.0.0/docs/ja/multi-home-list.md +55 -0
  33. session_peer-1.0.0/docs/ja/paired-devices.md +192 -0
  34. session_peer-1.0.0/docs/ja/relay-auth.md +409 -0
  35. session_peer-1.0.0/docs/ja/relay-development-plan.md +33 -0
  36. session_peer-1.0.0/docs/ja/relay-edge-policy.md +37 -0
  37. session_peer-1.0.0/docs/ja/relay-google-bootstrap.md +24 -0
  38. session_peer-1.0.0/docs/ja/relay-lifecycle.md +128 -0
  39. session_peer-1.0.0/docs/ja/relay-public-pilot-2026-09-17.md +31 -0
  40. session_peer-1.0.0/docs/ja/relay-watchdog.md +24 -0
  41. session_peer-1.0.0/docs/ja/releases/v0.6.1.md +39 -0
  42. session_peer-1.0.0/docs/ja/releases/v0.6.2.md +38 -0
  43. session_peer-1.0.0/docs/ja/releases/v0.7.0.md +43 -0
  44. session_peer-1.0.0/docs/ja/releases/v0.8.0.md +31 -0
  45. session_peer-1.0.0/docs/ja/releases/v0.9.0.md +33 -0
  46. session_peer-1.0.0/docs/ja/releases/v1.0.0-alpha.1.md +49 -0
  47. session_peer-1.0.0/docs/ja/releases/v1.0.0-beta.1.md +51 -0
  48. session_peer-1.0.0/docs/ja/releases/v1.0.0-rc.1.md +51 -0
  49. session_peer-1.0.0/docs/ja/releases/v1.0.0-rc.2.md +50 -0
  50. session_peer-1.0.0/docs/ja/releases/v1.0.0-rc.3.md +49 -0
  51. session_peer-1.0.0/docs/ja/releases/v1.0.0-rc.4.md +39 -0
  52. session_peer-1.0.0/docs/ja/releases/v1.0.0.md +26 -0
  53. session_peer-1.0.0/docs/ja/validation/69-rc.md +349 -0
  54. session_peer-1.0.0/docs/ja/validation/85-antigravity.md +24 -0
  55. session_peer-1.0.0/docs/ja/wake.md +42 -0
  56. session_peer-1.0.0/docs/ko/README.md +29 -0
  57. session_peer-1.0.0/docs/ko/agent-adapters.md +38 -0
  58. session_peer-1.0.0/docs/ko/ai-assistant-guide.md +131 -0
  59. session_peer-1.0.0/docs/ko/antigravity.md +65 -0
  60. session_peer-1.0.0/docs/ko/architecture/agent-transports.md +43 -0
  61. session_peer-1.0.0/docs/ko/cli-reference.md +826 -0
  62. session_peer-1.0.0/docs/ko/compatibility-v1.md +102 -0
  63. session_peer-1.0.0/docs/ko/diagnostics.md +126 -0
  64. session_peer-1.0.0/docs/ko/download-metrics.md +26 -0
  65. session_peer-1.0.0/docs/ko/mcp.md +49 -0
  66. session_peer-1.0.0/docs/ko/multi-home-list.md +55 -0
  67. session_peer-1.0.0/docs/ko/paired-devices.md +192 -0
  68. session_peer-1.0.0/docs/ko/relay-auth.md +408 -0
  69. session_peer-1.0.0/docs/ko/relay-development-plan.md +33 -0
  70. session_peer-1.0.0/docs/ko/relay-edge-policy.md +37 -0
  71. session_peer-1.0.0/docs/ko/relay-google-bootstrap.md +24 -0
  72. session_peer-1.0.0/docs/ko/relay-lifecycle.md +128 -0
  73. session_peer-1.0.0/docs/ko/relay-public-pilot-2026-09-17.md +32 -0
  74. session_peer-1.0.0/docs/ko/relay-watchdog.md +24 -0
  75. session_peer-1.0.0/docs/ko/releases/v0.6.1.md +39 -0
  76. session_peer-1.0.0/docs/ko/releases/v0.6.2.md +38 -0
  77. session_peer-1.0.0/docs/ko/releases/v0.7.0.md +43 -0
  78. session_peer-1.0.0/docs/ko/releases/v0.8.0.md +31 -0
  79. session_peer-1.0.0/docs/ko/releases/v0.9.0.md +33 -0
  80. session_peer-1.0.0/docs/ko/releases/v1.0.0-alpha.1.md +49 -0
  81. session_peer-1.0.0/docs/ko/releases/v1.0.0-beta.1.md +52 -0
  82. session_peer-1.0.0/docs/ko/releases/v1.0.0-rc.1.md +52 -0
  83. session_peer-1.0.0/docs/ko/releases/v1.0.0-rc.2.md +50 -0
  84. session_peer-1.0.0/docs/ko/releases/v1.0.0-rc.3.md +49 -0
  85. session_peer-1.0.0/docs/ko/releases/v1.0.0-rc.4.md +39 -0
  86. session_peer-1.0.0/docs/ko/releases/v1.0.0.md +26 -0
  87. session_peer-1.0.0/docs/ko/validation/69-rc.md +355 -0
  88. session_peer-1.0.0/docs/ko/validation/85-antigravity.md +23 -0
  89. session_peer-1.0.0/docs/ko/wake.md +42 -0
  90. {session_peer-0.9.2 → session_peer-1.0.0}/docs/paired-devices.md +117 -7
  91. session_peer-1.0.0/docs/relay-auth.md +420 -0
  92. {session_peer-0.9.2 → session_peer-1.0.0}/docs/relay-development-plan.md +2 -0
  93. session_peer-1.0.0/docs/relay-edge-policy.md +85 -0
  94. session_peer-1.0.0/docs/relay-google-bootstrap.md +63 -0
  95. session_peer-1.0.0/docs/relay-lifecycle.md +235 -0
  96. session_peer-1.0.0/docs/relay-watchdog.md +58 -0
  97. session_peer-1.0.0/docs/releases/v0.6.1.md +58 -0
  98. session_peer-1.0.0/docs/releases/v0.6.2.md +64 -0
  99. session_peer-1.0.0/docs/releases/v0.7.0.md +84 -0
  100. session_peer-1.0.0/docs/releases/v0.8.0.md +72 -0
  101. session_peer-1.0.0/docs/releases/v1.0.0-alpha.1.md +73 -0
  102. session_peer-1.0.0/docs/releases/v1.0.0-beta.1.md +52 -0
  103. session_peer-1.0.0/docs/releases/v1.0.0-rc.1.md +52 -0
  104. session_peer-1.0.0/docs/releases/v1.0.0-rc.2.md +50 -0
  105. session_peer-1.0.0/docs/releases/v1.0.0-rc.3.md +49 -0
  106. session_peer-1.0.0/docs/releases/v1.0.0-rc.4.md +39 -0
  107. session_peer-1.0.0/docs/releases/v1.0.0.md +48 -0
  108. session_peer-1.0.0/docs/validation/69-rc.md +625 -0
  109. session_peer-1.0.0/docs/zh-CN/README.md +28 -0
  110. session_peer-1.0.0/docs/zh-CN/agent-adapters.md +38 -0
  111. session_peer-1.0.0/docs/zh-CN/ai-assistant-guide.md +123 -0
  112. session_peer-1.0.0/docs/zh-CN/antigravity.md +112 -0
  113. session_peer-1.0.0/docs/zh-CN/architecture/agent-transports.md +43 -0
  114. session_peer-1.0.0/docs/zh-CN/cli-reference.md +480 -0
  115. session_peer-1.0.0/docs/zh-CN/compatibility-v1.md +93 -0
  116. session_peer-1.0.0/docs/zh-CN/diagnostics.md +177 -0
  117. session_peer-1.0.0/docs/zh-CN/download-metrics.md +26 -0
  118. session_peer-1.0.0/docs/zh-CN/mcp.md +49 -0
  119. session_peer-1.0.0/docs/zh-CN/multi-home-list.md +55 -0
  120. session_peer-1.0.0/docs/zh-CN/paired-devices.md +257 -0
  121. session_peer-1.0.0/docs/zh-CN/relay-auth.md +404 -0
  122. session_peer-1.0.0/docs/zh-CN/relay-development-plan.md +33 -0
  123. session_peer-1.0.0/docs/zh-CN/relay-edge-policy.md +37 -0
  124. session_peer-1.0.0/docs/zh-CN/relay-google-bootstrap.md +24 -0
  125. session_peer-1.0.0/docs/zh-CN/relay-lifecycle.md +128 -0
  126. session_peer-1.0.0/docs/zh-CN/relay-public-pilot-2026-09-17.md +31 -0
  127. session_peer-1.0.0/docs/zh-CN/relay-watchdog.md +24 -0
  128. session_peer-1.0.0/docs/zh-CN/releases/v0.6.1.md +39 -0
  129. session_peer-1.0.0/docs/zh-CN/releases/v0.6.2.md +38 -0
  130. session_peer-1.0.0/docs/zh-CN/releases/v0.7.0.md +43 -0
  131. session_peer-1.0.0/docs/zh-CN/releases/v0.8.0.md +31 -0
  132. session_peer-1.0.0/docs/zh-CN/releases/v0.9.0.md +33 -0
  133. session_peer-1.0.0/docs/zh-CN/releases/v1.0.0-alpha.1.md +49 -0
  134. session_peer-1.0.0/docs/zh-CN/releases/v1.0.0-beta.1.md +46 -0
  135. session_peer-1.0.0/docs/zh-CN/releases/v1.0.0-rc.1.md +48 -0
  136. session_peer-1.0.0/docs/zh-CN/releases/v1.0.0-rc.2.md +50 -0
  137. session_peer-1.0.0/docs/zh-CN/releases/v1.0.0-rc.3.md +49 -0
  138. session_peer-1.0.0/docs/zh-CN/releases/v1.0.0-rc.4.md +39 -0
  139. session_peer-1.0.0/docs/zh-CN/releases/v1.0.0.md +26 -0
  140. session_peer-1.0.0/docs/zh-CN/validation/69-rc.md +326 -0
  141. session_peer-1.0.0/docs/zh-CN/validation/85-antigravity.md +23 -0
  142. session_peer-1.0.0/docs/zh-CN/wake.md +42 -0
  143. session_peer-1.0.0/plugins/session-peer/README.ja.md +5 -0
  144. session_peer-1.0.0/plugins/session-peer/README.ko.md +5 -0
  145. session_peer-1.0.0/plugins/session-peer/README.zh-CN.md +5 -0
  146. {session_peer-0.9.2 → session_peer-1.0.0}/pyproject.toml +22 -4
  147. {session_peer-0.9.2 → session_peer-1.0.0}/session_peer.py +318 -57
  148. session_peer-1.0.0/session_peer_core/README.md +24 -0
  149. session_peer-1.0.0/session_peer_core/adapters.py +209 -0
  150. session_peer-1.0.0/session_peer_core/antigravity.py +400 -0
  151. session_peer-1.0.0/session_peer_core/claude.py +226 -0
  152. session_peer-1.0.0/session_peer_core/cli.py +200 -0
  153. session_peer-1.0.0/session_peer_core/codex.py +992 -0
  154. session_peer-1.0.0/session_peer_core/commands.py +130 -0
  155. session_peer-1.0.0/session_peer_core/common.py +95 -0
  156. session_peer-1.0.0/session_peer_core/diagnostics.py +312 -0
  157. session_peer-1.0.0/session_peer_core/messages.py +21 -0
  158. session_peer-1.0.0/session_peer_core/output.py +118 -0
  159. session_peer-1.0.0/session_peer_core/registry.py +161 -0
  160. session_peer-1.0.0/session_peer_core/relay.py +12 -0
  161. session_peer-1.0.0/session_peer_core/replies.py +449 -0
  162. session_peer-1.0.0/session_peer_core/sending.py +126 -0
  163. session_peer-1.0.0/session_peer_core/ssh.py +262 -0
  164. session_peer-1.0.0/session_peer_core/updates.py +476 -0
  165. {session_peer-0.9.2 → session_peer-1.0.0}/session_peer_relay/app.py +149 -18
  166. session_peer-1.0.0/session_peer_relay/auth.py +207 -0
  167. session_peer-1.0.0/session_peer_relay/cli.py +437 -0
  168. session_peer-1.0.0/session_peer_relay/control.py +243 -0
  169. {session_peer-0.9.2 → session_peer-1.0.0}/session_peer_relay/identity.py +5 -0
  170. session_peer-1.0.0/session_peer_relay/lifecycle.py +137 -0
  171. session_peer-1.0.0/session_peer_relay/native.py +208 -0
  172. session_peer-1.0.0/session_peer_relay/recovery.py +340 -0
  173. session_peer-1.0.0/session_peer_relay/relay.py +339 -0
  174. session_peer-1.0.0/session_peer_relay/rotation.py +218 -0
  175. session_peer-1.0.0/session_peer_relay/store.py +301 -0
  176. session_peer-1.0.0/session_peer_relay/transport_errors.py +64 -0
  177. {session_peer-0.9.2 → session_peer-1.0.0}/session_peer_relay/wire.py +51 -11
  178. {session_peer-0.9.2 → session_peer-1.0.0}/session_peer_relay/worker.py +4 -2
  179. session_peer-1.0.0/tools/generate_session_peer.py +114 -0
  180. session_peer-0.9.2/README.ja.md +0 -109
  181. session_peer-0.9.2/README.ko.md +0 -109
  182. session_peer-0.9.2/README.md +0 -113
  183. session_peer-0.9.2/README.zh-CN.md +0 -109
  184. session_peer-0.9.2/docs/releases/v0.9.1.md +0 -26
  185. session_peer-0.9.2/docs/releases/v0.9.2.md +0 -42
  186. session_peer-0.9.2/session_peer_relay/cli.py +0 -239
  187. session_peer-0.9.2/session_peer_relay/native.py +0 -95
  188. session_peer-0.9.2/session_peer_relay/relay.py +0 -140
  189. session_peer-0.9.2/session_peer_relay/store.py +0 -156
  190. {session_peer-0.9.2 → session_peer-1.0.0}/.agents/plugins/marketplace.json +0 -0
  191. {session_peer-0.9.2 → session_peer-1.0.0}/.gitignore +0 -0
  192. {session_peer-0.9.2 → session_peer-1.0.0}/LICENSE +0 -0
  193. {session_peer-0.9.2 → session_peer-1.0.0}/SECURITY.md +0 -0
  194. {session_peer-0.9.2 → session_peer-1.0.0}/docs/agent-adapters.md +0 -0
  195. {session_peer-0.9.2 → session_peer-1.0.0}/docs/mcp.md +0 -0
  196. {session_peer-0.9.2 → session_peer-1.0.0}/docs/multi-home-list.md +0 -0
  197. {session_peer-0.9.2 → session_peer-1.0.0}/docs/relay-public-pilot-2026-09-17.md +0 -0
  198. {session_peer-0.9.2 → session_peer-1.0.0}/docs/releases/v0.9.0.md +0 -0
  199. {session_peer-0.9.2 → session_peer-1.0.0}/docs/validation/85-antigravity.md +0 -0
  200. {session_peer-0.9.2 → session_peer-1.0.0}/docs/wake.md +0 -0
  201. {session_peer-0.9.2 → session_peer-1.0.0}/plugins/session-peer/.codex-plugin/plugin.json +0 -0
  202. {session_peer-0.9.2 → session_peer-1.0.0}/plugins/session-peer/.mcp.json +0 -0
  203. {session_peer-0.9.2 → session_peer-1.0.0}/plugins/session-peer/README.md +0 -0
  204. {session_peer-0.9.2 → session_peer-1.0.0}/session_peer_mcp.py +0 -0
  205. {session_peer-0.9.2 → session_peer-1.0.0}/session_peer_relay/__init__.py +0 -0
@@ -0,0 +1,3 @@
1
+ /session_peer.py text eol=lf
2
+ /session_peer_core/*.py text eol=lf
3
+ /tools/generate_session_peer.py text eol=lf
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: session-peer
3
- Version: 0.9.2
4
- Summary: Message coding agent sessions locally and over SSH
3
+ Version: 1.0.0
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
5
  Project-URL: Homepage, https://github.com/abruption/session-peer
6
6
  Project-URL: Repository, https://github.com/abruption/session-peer
7
7
  Project-URL: Issues, https://github.com/abruption/session-peer/issues
@@ -28,13 +28,15 @@ Requires-Python: >=3.9
28
28
  Provides-Extra: mcp
29
29
  Requires-Dist: mcp<2,>=1.12; (python_version >= '3.10') and extra == 'mcp'
30
30
  Provides-Extra: relay
31
- Requires-Dist: cryptography<51,>=50; (python_version >= '3.11') and extra == 'relay'
31
+ Requires-Dist: cryptography<51,>=50.0.1; (python_version >= '3.11') and extra == 'relay'
32
32
  Requires-Dist: websockets<18,>=17.1; (python_version >= '3.11') and extra == 'relay'
33
33
  Description-Content-Type: text/markdown
34
34
 
35
35
  # session-peer
36
36
 
37
37
  [![PyPI](https://img.shields.io/pypi/v/session-peer)](https://pypi.org/project/session-peer/)
38
+ [![PyPI downloads per week](https://api.pepy.tech/badge/session-peer/week)](https://pepy.tech/projects/session-peer)
39
+ [![PyPI downloads per month](https://api.pepy.tech/badge/session-peer/month)](https://pepy.tech/projects/session-peer)
38
40
  [![CI](https://github.com/abruption/session-peer/actions/workflows/ci.yml/badge.svg)](https://github.com/abruption/session-peer/actions/workflows/ci.yml)
39
41
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/abruption/session-peer/blob/main/LICENSE)
40
42
 
@@ -43,8 +45,40 @@ Description-Content-Type: text/markdown
43
45
  **Find and message Claude Code and Codex sessions, locally or over SSH, from one CLI.**
44
46
 
45
47
  Ask a session on another machine to review a change, report progress, or pick up
46
- a task. session-peer uses native agent inboxes and queues; the receiving agent
47
- controls how incoming messages are handled.
48
+ a task. For example, ask `api-worker` on SSH host `worker` to review a change.
49
+ session-peer uses native agent inboxes and queues; the receiving agent controls
50
+ how incoming messages are handled.
51
+
52
+ ## See it in action
53
+
54
+ This 26-second recording uses live Codex and Claude Code sessions over the local
55
+ transport—there is no mocked output.
56
+
57
+ 1. Codex discovers the exact Claude Code session.
58
+ 2. Codex posts a review request to the session's native inbox.
59
+ 3. Claude Code follows the structured reply address and sends a response.
60
+ 4. Codex receives the explicit reply in its own session.
61
+
62
+ ```mermaid
63
+ sequenceDiagram
64
+ participant C as Codex session
65
+ participant P as session-peer CLI
66
+ participant I as Claude Code native inbox
67
+ participant H as Claude Code session
68
+ C->>P: Discover exact session
69
+ P-->>C: Return host and session ID
70
+ C->>P: Send request and reply address
71
+ P->>I: Write via local or SSH transport
72
+ I-->>H: Deliver request
73
+ H->>P: Send explicit reply
74
+ P-->>C: Deliver to Codex native inbox
75
+ ```
76
+
77
+ ![Live Codex-to-Claude Code messaging demo](docs/assets/session-peer-live-codex-claude.gif)
78
+
79
+ 26-second looping demo: Codex sends a request to Claude Code and receives an explicit reply.
80
+ A successful post confirms only the inbox write. The explicit reply at the end
81
+ confirms that the receiving session consumed the request and responded.
48
82
 
49
83
  ## Quick start
50
84
 
@@ -56,13 +90,21 @@ pipx install session-peer
56
90
 
57
91
  session-peer list
58
92
  session-peer list --host worker
93
+ ```
94
+
95
+ ## Send your first message
96
+
97
+ The names and UUID below are fictional examples. Discover your destination first,
98
+ then replace them with a session from its listing.
99
+
100
+ ```bash
59
101
  session-peer send --to api-worker --message "Report progress"
60
- session-peer send --host worker --to 'codex:<full-thread-uuid>' --message "Review the change"
102
+ session-peer send --host worker --to 'codex:00000000-0000-4000-8000-000000000001' --message "Review the change"
61
103
  ```
62
104
 
63
105
  Replace `worker` with your SSH host or alias, `api-worker` with a discovered
64
- session name, and `<full-thread-uuid>` with the full ID from the destination's
65
- listing. The destination needs Python and the target agent's inbox or queue;
106
+ session name, and the example UUID with the full ID from the destination's listing.
107
+ The destination needs Python and the target agent's inbox or queue;
66
108
  session-peer itself need not be installed there for SSH list/send.
67
109
 
68
110
  **`posted` / `queued` means submitted, not read or completed.** Saved Codex
@@ -82,57 +124,56 @@ threads may be inactive. Ask for an explicit reply when completion matters.
82
124
 
83
125
  ## Installation options
84
126
 
85
- Install the Python CLI with `pipx` or `uv`, or run
86
- `python -m pip install session-peer` in an activated virtual environment.
87
- Install the agent skill separately for Claude Code, Codex, and Antigravity:
127
+ Install the runtime with `pipx` or `uv`, or run `python -m pip install session-peer`
128
+ in an activated virtual environment. Install the agent skill separately from its
129
+ [dedicated repository](https://github.com/abruption/session-peer-skill):
88
130
 
89
131
  ```bash
90
- npx -y skills@latest add abruption/session-peer \
132
+ npx -y skills@latest add abruption/session-peer-skill \
91
133
  --skill session-peer --global \
92
- --agent claude-code --agent codex --agent antigravity --copy --yes
134
+ --agent claude-code --agent codex --agent antigravity \
135
+ --copy --yes
93
136
  ```
94
137
 
95
- This writes `SKILL.md` to `~/.claude/skills/session-peer/` and the shared
96
- `~/.agents/skills/session-peer/` path used for Codex and Antigravity. Update it
97
- independently with
98
- `npx -y skills@latest update session-peer --global --yes`. The currently
99
- verified `skills@1.7.0` requires Node.js 22.20 or newer.
100
-
101
- For a standalone POSIX installation without the skills CLI:
138
+ For air-gapped or SSH deployment, the POSIX `./install.sh [--host worker]` path
139
+ continues to bundle a compatibility copy of the skill. On native Windows use a
140
+ Python package manager for the runtime. Optional MCP tools require Python 3.10+
141
+ and `session-peer[mcp]`. See [installation details](https://github.com/abruption/session-peer/blob/main/docs/cli-reference.md#install).
102
142
 
103
- ```bash
104
- git clone https://github.com/abruption/session-peer
105
- cd session-peer
106
- ./install.sh
107
- # Remote installation: ./install.sh --host worker
108
- ```
143
+ ## Let an AI assistant help
109
144
 
110
- The shell installer requires POSIX; on native Windows use a Python package
111
- manager. Optional MCP tools require Python 3.10+ and `session-peer[mcp]`.
112
- See [installation details](https://github.com/abruption/session-peer/blob/main/docs/cli-reference.md#install).
145
+ If you would rather describe the goal than work through every document, give your
146
+ coding agent the [AI-assisted setup and operation guide](https://github.com/abruption/session-peer/blob/main/docs/ai-assistant-guide.md).
147
+ It provides a reusable request, approval and secret-handling boundaries,
148
+ validation steps, and a completion-report format. You remain in control of
149
+ account changes, public exposure, payments, reboots, merges, releases, and
150
+ publication.
113
151
 
114
- ## Optional v0.9 features
152
+ ## Optional v1.0 features
115
153
 
116
- The v0.9 candidate adds [Antigravity](https://github.com/abruption/session-peer/blob/main/docs/antigravity.md) through a bridge explicitly started inside an existing TUI; unfiltered `list` also includes live registered bridges.
117
- [Paired devices / encrypted relay](https://github.com/abruption/session-peer/blob/main/docs/paired-devices.md) require Unix, Python 3.11+ and the `[relay]` extra. Device identities are pinned and targets need explicit operator authorization. The self-hosted WSS relay cannot decrypt application messages; no NAT traversal or hosted public service is provided.
118
- These features are not in PyPI v0.8.0: use a reviewed candidate wheel as described in the guides until published. Ordinary local/SSH commands remain dependency-free.
154
+ The stable `1.0.0` package includes authenticated public relay support and keeps the [Antigravity](https://github.com/abruption/session-peer/blob/main/docs/antigravity.md) bridge experimental. Unfiltered `list` also includes live registered bridges.
155
+ [Paired devices / encrypted relay](https://github.com/abruption/session-peer/blob/main/docs/paired-devices.md) require Unix, Python 3.11+ and the `[relay]` extra. Device identities are pinned and targets need explicit authorization on the receiving endpoint. The blind WSS relay cannot decrypt application messages; hosted-service availability remains separate from the package.
156
+ Install the stable release with `pipx install 'session-peer[relay]==1.0.0'`; package-managed upgrades may now select v1.0.0. Start with the [session-peer project page](https://abruption.dev/projects/session-peer/) and the paired-device guide above. Package publication does not guarantee hosted-service availability. Ordinary local/SSH commands remain dependency-free.
119
157
 
120
158
  ## Before you send
121
159
 
122
- - Use the correct destination account and agent home. SSH access and receiver permissions still apply.
123
- - Plain sends do not activate inactive sessions. Explicit wake can start a turn and consume usage.
160
+ - Use the correct destination account and agent home; for custom Codex homes, pass the listed `codexHome` path with `--codex-home`. SSH access and receiver permissions still apply.
161
+ - Plain sends do not activate inactive sessions. Explicit wake can start a turn and consume usage; MCP requires separate wake permission.
124
162
  - Redact secrets, conversation text, session IDs, and personal paths before sharing diagnostics.
125
163
 
126
164
  ## Documentation
127
165
 
166
+ - [Project site](https://abruption.dev/projects/session-peer/): a curated overview, quick start, and documentation entry point.
167
+ - [Repository documentation map](https://github.com/abruption/session-peer/blob/main/docs/README.md): user, integration, operator, development, and historical references.
128
168
  - [CLI reference](https://github.com/abruption/session-peer/blob/main/docs/cli-reference.md): commands, JSON, environment variables, updates, limits, and validation history.
129
169
  - [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)
130
170
  - [Moving from cc-peer](https://github.com/abruption/session-peer/blob/main/docs/cli-reference.md#moving-from-cc-peer) · [Releases](https://github.com/abruption/session-peer/releases)
131
171
  - [Adapter development](https://github.com/abruption/session-peer/blob/main/docs/agent-adapters.md) · [Release process](https://github.com/abruption/session-peer/blob/main/RELEASING.md)
132
172
 
133
- The four README editions cover the same quick start. Detailed docs are currently
134
- in English. Keep translated commands, requirements, and behavior aligned with
135
- the English README. These translations do not change the CLI output language.
173
+ The README and detailed documentation are available in English, Korean, Japanese,
174
+ and Simplified Chinese. English is canonical; CI checks that translated files,
175
+ commands, requirements, and behavior stay aligned. These translations do not
176
+ change the CLI output language.
136
177
 
137
178
  ## Support and security
138
179
 
@@ -0,0 +1,148 @@
1
+ # session-peer
2
+
3
+ [![PyPI](https://img.shields.io/pypi/v/session-peer)](https://pypi.org/project/session-peer/)
4
+ [![PyPIの週間ダウンロード](https://api.pepy.tech/badge/session-peer/week)](https://pepy.tech/projects/session-peer)
5
+ [![PyPIの月間ダウンロード](https://api.pepy.tech/badge/session-peer/month)](https://pepy.tech/projects/session-peer)
6
+ [![CI](https://github.com/abruption/session-peer/actions/workflows/ci.yml/badge.svg)](https://github.com/abruption/session-peer/actions/workflows/ci.yml)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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
+ 例えば、SSHホスト`worker`の`api-worker`セッションに変更のレビューを依頼します。
15
+ 各エージェントの標準の受信箱やキューを使い、受信したメッセージの扱いは受信側が決定します。
16
+
17
+ ## 実際の動作を見る
18
+
19
+ この26秒の動画は、ローカル転送を使う実際のCodexとClaude Codeのセッションを
20
+ 収録したもので、出力の模擬表示はありません。
21
+
22
+ 1. Codexが対象のClaude Codeセッションを正確に見つけます。
23
+ 2. Codexがそのセッションの標準受信箱にレビュー依頼を投稿します。
24
+ 3. Claude Codeが構造化された返信先を使って応答を送ります。
25
+ 4. Codexが自分のセッションで明示的な返信を受け取ります。
26
+
27
+ ```mermaid
28
+ sequenceDiagram
29
+ participant C as Codexセッション
30
+ participant P as session-peer CLI
31
+ participant I as Claude Code標準受信箱
32
+ participant H as Claude Codeセッション
33
+ C->>P: 対象セッションを特定
34
+ P-->>C: ホストとセッションIDを返す
35
+ C->>P: 依頼と返信先を送信
36
+ P->>I: ローカルまたはSSH転送で書き込み
37
+ I-->>H: 依頼を配信
38
+ H->>P: 明示的な返信を送信
39
+ P-->>C: Codex標準受信箱へ配信
40
+ ```
41
+
42
+ ![CodexからClaude Codeへ実際にメッセージを送るデモ](docs/assets/session-peer-live-codex-claude.gif)
43
+
44
+ 26秒のループデモ:CodexがClaude Codeにリクエストを送り、明示的な返信を受け取ります。
45
+ 投稿成功で確認できるのは受信箱への書き込みまでです。最後の明示的な返信により、
46
+ 受信セッションが依頼を処理して応答したことを確認できます。
47
+
48
+ ## クイックスタート
49
+
50
+ Python 3.9以上が必要です。基本CLIにサードパーティーのPython依存パッケージはありません。
51
+
52
+ ```bash
53
+ pipx install session-peer
54
+ # 別の方法: uv tool install session-peer
55
+
56
+ session-peer list
57
+ session-peer list --host worker
58
+ ```
59
+
60
+ ## 最初のメッセージを送る
61
+
62
+ 以下の名前とUUIDは架空の例です。まず接続先を検索し、実際のセッションに置き換えてください。
63
+
64
+ ```bash
65
+ session-peer send --to api-worker --message "進捗を教えてください"
66
+ session-peer send --host worker --to 'codex:00000000-0000-4000-8000-000000000001' --message "変更をレビューしてください"
67
+ ```
68
+
69
+ `worker`をSSHホストまたはエイリアス、`api-worker`を取得したセッション名に置き換えてください。
70
+ 例のUUIDは接続先で取得した完全なスレッドIDに置き換えてください。
71
+ 接続先にはPythonと対象エージェントの受信箱・キューが必要ですが、SSH経由の検索・送信のために
72
+ session-peer自体をインストールする必要はありません。
73
+
74
+ **`posted` / `queued`は送信処理の成功を表し、既読や作業完了を意味しません。**
75
+ 保存されたCodexスレッドは停止中の場合もあります。完了確認が必要なら、明示的に返信を依頼してください。
76
+
77
+ ## よく使う機能
78
+
79
+ | 操作 | コマンド / ガイド |
80
+ |---|---|
81
+ | エージェントで絞り込む | `session-peer list --agent codex` |
82
+ | 接続・設定を診断する | `session-peer doctor --host worker` |
83
+ | 送信せずに宛先を確認する | `session-peer send --to api-worker --dry-run -m "hello"` |
84
+ | JSONで結果を取得する | `session-peer list --output-format json` |
85
+ | ファイルからメッセージを読む | `session-peer send --to api-worker -m - < message.txt` |
86
+ | オプションのMCPツール / Codexプラグイン | [MCP設定](https://github.com/abruption/session-peer/blob/main/docs/ja/mcp.md) |
87
+ | キューに送信したCodexセッションを起動する | [明示的なwake](https://github.com/abruption/session-peer/blob/main/docs/ja/wake.md) |
88
+
89
+ ## インストール方法
90
+
91
+ ランタイムは`pipx`や`uv`、または有効化した仮想環境の`python -m pip install session-peer`で
92
+ インストールします。エージェントスキルは[専用リポジトリ](https://github.com/abruption/session-peer-skill)から
93
+ 別途インストールします。
94
+
95
+ ```bash
96
+ npx -y skills@latest add abruption/session-peer-skill \
97
+ --skill session-peer --global \
98
+ --agent claude-code --agent codex --agent antigravity \
99
+ --copy --yes
100
+ ```
101
+
102
+ エアギャップ環境またはSSH配布では、POSIXの`./install.sh [--host worker]`が移行期間向けの
103
+ スキルコピーを引き続き同梱します。ネイティブWindowsのランタイムにはPythonパッケージ
104
+ マネージャーを使用してください。オプションのMCPツールにはPython 3.10以上と
105
+ `session-peer[mcp]`が必要です。[詳細な手順](https://github.com/abruption/session-peer/blob/main/docs/ja/cli-reference.md#install)を参照してください。
106
+
107
+ ## AIアシスタントに作業を依頼する
108
+
109
+ すべての文書を自分で確認する代わりに目標を伝えたい場合は、コーディングエージェントに
110
+ [AIを利用したセットアップと運用ガイド](https://github.com/abruption/session-peer/blob/main/docs/ja/ai-assistant-guide.md)を渡してください。
111
+ 再利用できる依頼文、承認と秘密情報の境界、検証手順、完了報告の形式を提供します。
112
+ アカウント変更、公開、支払い、再起動、マージ、リリース、公開作業はユーザーが引き続き管理します。
113
+
114
+ ## オプションの v1.0 機能
115
+
116
+ 安定版 `1.0.0` は認証付き公開リレーを含み、[Antigravity](https://github.com/abruption/session-peer/blob/main/docs/ja/antigravity.md) ブリッジは実験段階のままです。フィルターなしの `list` には稼働中の登録済みブリッジも表示されます。
117
+ [デバイスのペアリング・暗号化リレー](https://github.com/abruption/session-peer/blob/main/docs/ja/paired-devices.md)にはUnix、Python 3.11以上、`[relay]`が必要です。デバイスの識別情報を固定し、受信側の端末で接続対象を明示的に許可します。ブラインドWSSリレーはメッセージを復号できず、ホスト型サービスの可用性はパッケージとは別に運用されます。
118
+ 安定版は `pipx install 'session-peer[relay]==1.0.0'` でインストールしてください。通常のパッケージ更新でも v1.0.0 が選択され得ます。[session-peerプロジェクトページ](https://abruption.dev/projects/session-peer/)と上記のデバイスペアリング文書から始めてください。パッケージ公開はホスト型サービスの可用性を保証せず、通常のローカル・SSHコマンドは外部依存なしで使えます。
119
+
120
+ ## 送信前の確認
121
+
122
+ - 正しい接続先アカウントとエージェントのホームを指定してください。独自のCodexホームには検索結果の`codexHome`パスを`--codex-home`で指定します。SSHと受信側の権限が適用されます。
123
+ - 通常の送信は停止中のセッションを起動しません。明示的なwakeはエージェントを実行し、利用枠を消費する場合があります。MCPでは別のwake権限が必要です。
124
+ - 診断結果を共有する前に、秘密情報・会話・セッションID・個人のパスを伏せてください。
125
+
126
+ ## ドキュメント
127
+
128
+ - [プロジェクトガイドサイト](https://abruption.dev/projects/session-peer/): 概要、クイックスタート、ドキュメントへの入口
129
+ - [リポジトリ文書マップ](https://github.com/abruption/session-peer/blob/main/docs/ja/README.md): ユーザー、統合、運用、開発、履歴資料
130
+ - [CLIリファレンス](https://github.com/abruption/session-peer/blob/main/docs/ja/cli-reference.md): コマンド、JSON、環境変数、更新、制約、検証履歴
131
+ - [診断と返信](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)
132
+ - [cc-peerからの移行](https://github.com/abruption/session-peer/blob/main/docs/ja/cli-reference.md#moving-from-cc-peer) · [リリース](https://github.com/abruption/session-peer/releases)
133
+ - [アダプター開発](https://github.com/abruption/session-peer/blob/main/docs/ja/agent-adapters.md) · [リリース手順](https://github.com/abruption/session-peer/blob/main/RELEASING.ja.md)
134
+
135
+ READMEと詳細文書は英語、韓国語、日本語、簡体字中国語で提供しています。
136
+ 英語文書を正本とし、CIで翻訳ファイル、コマンド、要件、動作の整合性を確認します。
137
+ 翻訳によってCLIの出力言語が変わることはありません。
138
+
139
+ ## サポートとセキュリティ
140
+
141
+ バグや機能の提案は[GitHub Issues](https://github.com/abruption/session-peer/issues/new/choose)、
142
+ 脆弱性は[非公開の報告フォーム](https://github.com/abruption/session-peer/security/advisories/new)をご利用ください。
143
+ [セキュリティポリシー](https://github.com/abruption/session-peer/blob/main/SECURITY.ja.md)もご確認ください。
144
+ 非公開のご質問や代替の脆弱性報告窓口は、件名に`[session-peer]`を付けて
145
+ [support@abruption.dev](mailto:support@abruption.dev)へご連絡ください。
146
+ 対応期限は保証していません。メールは手動で確認し、公開Issueへ自動変換しません。報告は英語・韓国語で受け付けています。
147
+
148
+ [MITライセンス](https://github.com/abruption/session-peer/blob/main/LICENSE)。
@@ -0,0 +1,148 @@
1
+ # session-peer
2
+
3
+ [![PyPI](https://img.shields.io/pypi/v/session-peer)](https://pypi.org/project/session-peer/)
4
+ [![PyPI 주간 다운로드](https://api.pepy.tech/badge/session-peer/week)](https://pepy.tech/projects/session-peer)
5
+ [![PyPI 월간 다운로드](https://api.pepy.tech/badge/session-peer/month)](https://pepy.tech/projects/session-peer)
6
+ [![CI](https://github.com/abruption/session-peer/actions/workflows/ci.yml/badge.svg)](https://github.com/abruption/session-peer/actions/workflows/ci.yml)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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
+ 예를 들어 SSH 호스트 `worker`의 `api-worker` 세션에 변경 검토를 요청해요.
15
+ 각 에이전트의 기본 수신함과 큐를 사용하며, 메시지 처리 방식은 수신 에이전트가 결정해요.
16
+
17
+ ## 실제 동작 보기
18
+
19
+ 이 26초 영상은 로컬 전송을 사용하는 실제 Codex·Claude Code 세션을 녹화했으며,
20
+ 연출된 출력은 없어요.
21
+
22
+ 1. Codex가 정확한 Claude Code 세션을 찾아요.
23
+ 2. Codex가 해당 세션의 기본 수신함에 검토 요청을 게시해요.
24
+ 3. Claude Code가 구조화된 회신 주소를 따라 응답을 보내요.
25
+ 4. Codex가 자신의 세션에서 명시적인 회신을 받아요.
26
+
27
+ ```mermaid
28
+ sequenceDiagram
29
+ participant C as Codex 세션
30
+ participant P as session-peer CLI
31
+ participant I as Claude Code 기본 수신함
32
+ participant H as Claude Code 세션
33
+ C->>P: 정확한 세션 탐색
34
+ P-->>C: 호스트와 세션 ID 반환
35
+ C->>P: 요청과 회신 주소 전송
36
+ P->>I: 로컬 또는 SSH 전송으로 기록
37
+ I-->>H: 요청 전달
38
+ H->>P: 명시적 회신 전송
39
+ P-->>C: Codex 기본 수신함으로 전달
40
+ ```
41
+
42
+ ![실제 Codex에서 Claude Code로 메시지를 보내는 데모](docs/assets/session-peer-live-codex-claude.gif)
43
+
44
+ 26초 반복 데모: Codex가 Claude Code에 요청을 보내고 명시적인 회신을 받아요.
45
+ 게시 성공으로 확인되는 것은 수신함 기록뿐이에요. 마지막의 명시적인 회신으로 수신 세션이
46
+ 요청을 처리하고 응답을 보냈음을 확인할 수 있어요.
47
+
48
+ ## 빠른 시작
49
+
50
+ Python 3.9 이상이 필요해요. 기본 CLI는 외부 Python 패키지에 의존하지 않아요.
51
+
52
+ ```bash
53
+ pipx install session-peer
54
+ # 다른 방법: uv tool install session-peer
55
+
56
+ session-peer list
57
+ session-peer list --host worker
58
+ ```
59
+
60
+ ## 첫 메시지 보내기
61
+
62
+ 아래 이름과 UUID는 가상 예시예요. 먼저 목적지를 조회한 뒤 실제 세션으로 바꿔주세요.
63
+
64
+ ```bash
65
+ session-peer send --to api-worker --message "진행 상황을 알려주세요"
66
+ session-peer send --host worker --to 'codex:00000000-0000-4000-8000-000000000001' --message "변경 사항을 검토해주세요"
67
+ ```
68
+
69
+ `worker`는 SSH 호스트 또는 별칭, `api-worker`는 조회한 세션 이름으로 바꿔주세요.
70
+ 예시 UUID는 목적지에서 조회한 전체 스레드 ID로 바꿔주세요.
71
+ 목적지에는 Python과 대상 에이전트의 수신함·큐가 필요하지만, SSH 조회·전송을 위해
72
+ session-peer를 별도로 설치할 필요는 없어요.
73
+
74
+ **`posted` / `queued`는 제출 결과이며 읽음·작업 완료를 뜻하지 않아요.**
75
+ 저장된 Codex 스레드가 실행 중이라는 보장도 없어요. 완료 확인이 필요하면 명시적으로 회신을 요청하세요.
76
+
77
+ ## 자주 쓰는 기능
78
+
79
+ | 작업 | 명령 / 안내 |
80
+ |---|---|
81
+ | 에이전트별 조회 | `session-peer list --agent codex` |
82
+ | 연결·에이전트 설정 진단 | `session-peer doctor --host worker` |
83
+ | 전송 없이 대상 확인 | `session-peer send --to api-worker --dry-run -m "hello"` |
84
+ | JSON 결과 출력 | `session-peer list --output-format json` |
85
+ | 파일에서 메시지 읽기 | `session-peer send --to api-worker -m - < message.txt` |
86
+ | 선택형 MCP 도구 / Codex 플러그인 | [MCP 설정](https://github.com/abruption/session-peer/blob/main/docs/ko/mcp.md) |
87
+ | 큐에 제출한 Codex 세션 활성화 | [명시적 wake](https://github.com/abruption/session-peer/blob/main/docs/ko/wake.md) |
88
+
89
+ ## 설치 방법
90
+
91
+ 실행 프로그램은 `pipx`·`uv` 또는 활성화된 가상 환경의 `python -m pip install session-peer`로
92
+ 설치하세요. 에이전트 스킬은 [전용 저장소](https://github.com/abruption/session-peer-skill)에서
93
+ 별도로 설치합니다.
94
+
95
+ ```bash
96
+ npx -y skills@latest add abruption/session-peer-skill \
97
+ --skill session-peer --global \
98
+ --agent claude-code --agent codex --agent antigravity \
99
+ --copy --yes
100
+ ```
101
+
102
+ 에어갭 또는 SSH 배포에서는 POSIX `./install.sh [--host worker]`가 전환 기간용 스킬
103
+ 사본을 계속 함께 설치합니다. 네이티브 Windows의 실행 프로그램은 Python 패키지 관리자를
104
+ 사용하세요. 선택형 MCP 도구는 Python 3.10 이상과 `session-peer[mcp]`가 필요해요.
105
+ [설치 상세](https://github.com/abruption/session-peer/blob/main/docs/ko/cli-reference.md#install)를 참고하세요.
106
+
107
+ ## AI에게 작업 맡기기
108
+
109
+ 모든 문서를 직접 살피는 대신 목표를 설명하고 싶다면 코딩 에이전트에게
110
+ [AI 지원 설치·운영 가이드](https://github.com/abruption/session-peer/blob/main/docs/ko/ai-assistant-guide.md)를 전달하세요.
111
+ 재사용 가능한 요청문, 승인·비밀정보 경계, 검증 단계와 완료 보고 형식을 제공해요.
112
+ 계정 변경, 공개 노출, 결제, 재부팅, 병합, 릴리스와 게시는 사용자가 계속 통제해요.
113
+
114
+ ## 선택형 v1.0 기능
115
+
116
+ 안정판 `1.0.0`에는 인증된 공개 릴레이 지원이 포함되며, [Antigravity](https://github.com/abruption/session-peer/blob/main/docs/ko/antigravity.md) 브리지는 실험 상태로 유지돼요. 필터 없는 `list`에는 실행 중인 등록 브리지도 표시돼요.
117
+ [기기 페어링·암호화 릴레이](https://github.com/abruption/session-peer/blob/main/docs/ko/paired-devices.md)는 Unix·Python 3.11 이상·`[relay]` 확장이 필요해요. 기기 신원을 고정하며 수신 기기에서 대상을 명시적으로 허용해야 해요. 블라인드 WSS 릴레이는 메시지를 복호화할 수 없으며 호스팅 서비스의 가용성은 패키지와 별도로 운영돼요.
118
+ 안정판은 `pipx install 'session-peer[relay]==1.0.0'`으로 설치하세요. 패키지 관리자의 일반 업그레이드도 v1.0.0을 선택할 수 있어요. [session-peer 프로젝트 페이지](https://abruption.dev/projects/session-peer/)와 위의 기기 페어링 문서부터 확인하세요. 패키지 발행은 호스팅 서비스 가용성을 보장하지 않으며 일반 로컬·SSH 명령은 외부 의존성 없이 유지돼요.
119
+
120
+ ## 전송 전 확인
121
+
122
+ - 올바른 목적지 계정과 에이전트 홈을 사용하세요. 사용자 지정 Codex 홈은 조회 결과의 `codexHome` 경로를 `--codex-home`으로 지정해요. SSH 접근 권한과 수신 세션의 권한이 적용돼요.
123
+ - 일반 전송은 비활성 세션을 깨우지 않아요. 명시적 wake는 에이전트 실행과 사용량 소비를 일으킬 수 있으며, MCP에서는 별도 wake 권한이 필요해요.
124
+ - 진단 결과를 공유하기 전에 비밀정보·대화·세션 ID·개인 경로를 가려주세요.
125
+
126
+ ## 문서
127
+
128
+ - [프로젝트 안내 사이트](https://abruption.dev/projects/session-peer/): 핵심 소개, 빠른 시작과 문서 진입점
129
+ - [저장소 문서 지도](https://github.com/abruption/session-peer/blob/main/docs/ko/README.md): 사용자, 통합, 운영, 개발, 이력 문서 분류
130
+ - [CLI 상세](https://github.com/abruption/session-peer/blob/main/docs/ko/cli-reference.md): 명령, JSON, 환경 변수, 업데이트, 제약, 검증 이력
131
+ - [진단·회신](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)
132
+ - [cc-peer에서 전환](https://github.com/abruption/session-peer/blob/main/docs/ko/cli-reference.md#moving-from-cc-peer) · [릴리스](https://github.com/abruption/session-peer/releases)
133
+ - [어댑터 개발](https://github.com/abruption/session-peer/blob/main/docs/ko/agent-adapters.md) · [릴리스 절차](https://github.com/abruption/session-peer/blob/main/RELEASING.ko.md)
134
+
135
+ README와 상세 문서는 영어, 한국어, 일본어, 중국어 간체로 제공해요. 영어 문서가
136
+ 정본이며 CI가 번역 파일, 명령, 요구 사항, 동작의 정합성을 검사해요. 이 번역은 CLI
137
+ 출력 언어를 바꾸지 않아요.
138
+
139
+ ## 문의·보안 제보
140
+
141
+ 버그·기능 요청은 [GitHub Issues](https://github.com/abruption/session-peer/issues/new/choose),
142
+ 취약점은 [비공개 제보](https://github.com/abruption/session-peer/security/advisories/new)를 이용하세요.
143
+ [보안 정책](https://github.com/abruption/session-peer/blob/main/SECURITY.ko.md)도 확인해주세요.
144
+ 비공개 문의 또는 대체 보안 제보는 제목에 `[session-peer]`를 넣어
145
+ [support@abruption.dev](mailto:support@abruption.dev)로 보내주세요.
146
+ 응답 기한은 보장하지 않으며 메일은 수동 검토하고 공개 Issue로 자동 전환하지 않아요. 영어·한국어 제보를 받아요.
147
+
148
+ [MIT 라이선스](https://github.com/abruption/session-peer/blob/main/LICENSE).