hcom 0.5.0__py3-none-any.whl → 0.6.0__py3-none-any.whl
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.
Potentially problematic release.
This version of hcom might be problematic. Click here for more details.
- hcom/__init__.py +2 -2
- hcom/__main__.py +3 -3683
- hcom/cli.py +4613 -0
- hcom/shared.py +1036 -0
- hcom/ui.py +2965 -0
- {hcom-0.5.0.dist-info → hcom-0.6.0.dist-info}/METADATA +51 -39
- hcom-0.6.0.dist-info/RECORD +10 -0
- hcom-0.5.0.dist-info/RECORD +0 -7
- {hcom-0.5.0.dist-info → hcom-0.6.0.dist-info}/WHEEL +0 -0
- {hcom-0.5.0.dist-info → hcom-0.6.0.dist-info}/entry_points.txt +0 -0
- {hcom-0.5.0.dist-info → hcom-0.6.0.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hcom
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.6.0
|
|
4
|
+
Summary: Launch multiple Claude Code instances (terminal, headless, or subagents) that communicate together in real time via hooks.
|
|
5
5
|
Author: aannoo
|
|
6
6
|
License-Expression: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/aannoo/claude-hook-comms
|
|
@@ -30,7 +30,7 @@ Description-Content-Type: text/markdown
|
|
|
30
30
|
[](https://pypi.org/project/hcom/)
|
|
31
31
|
[](https://opensource.org/license/MIT) [](https://python.org) [](https://deepwiki.com/aannoo/claude-hook-comms)
|
|
32
32
|
|
|
33
|
-
Launch multiple Claude Code
|
|
33
|
+
Launch multiple Claude Code instances (terminal, headless, or subagents) that communicate together in real time via hooks.
|
|
34
34
|
|
|
35
35
|

|
|
36
36
|
|
|
@@ -48,7 +48,8 @@ pip install hcom # or: uv tool install hcom
|
|
|
48
48
|
|
|
49
49
|
#### Use
|
|
50
50
|
```bash
|
|
51
|
-
|
|
51
|
+
hcom # UI - launch, monitor, message
|
|
52
|
+
claude 'run hcom start' # activate hcom for any claude code
|
|
52
53
|
```
|
|
53
54
|
|
|
54
55
|
|
|
@@ -61,29 +62,34 @@ claude 'run hcom start'
|
|
|
61
62
|
|
|
62
63
|
| Command | Description
|
|
63
64
|
|---------|-------------|
|
|
65
|
+
| `hcom` | Interactive dashboard |
|
|
64
66
|
| `hcom <n>` | Launch `n` instances |
|
|
65
|
-
| `hcom
|
|
66
|
-
| `hcom stop
|
|
67
|
-
| `hcom start [alias]` | Enable participation |
|
|
68
|
-
| `hcom reset [logs\|hooks\|config]` | Safe Cleanup |
|
|
69
|
-
|
|
67
|
+
| `hcom start` | Enable participation |
|
|
68
|
+
| `hcom stop` | Disable participation |
|
|
70
69
|
|
|
71
70
|
|
|
72
71
|
## Examples
|
|
73
72
|
|
|
74
|
-
####
|
|
73
|
+
#### communicate with task tool subagents
|
|
75
74
|
```bash
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
claude 'use 3x task tool with task: say hi in hcom chat'
|
|
76
|
+
# Each subagent gets unique identity and can communicate with siblings
|
|
77
|
+
# Parent resumes after Task completes with full conversation history
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
-
####
|
|
80
|
+
#### persistent headless instances
|
|
81
81
|
```bash
|
|
82
|
-
hcom 1 claude -p # default 30min timeout
|
|
83
|
-
hcom
|
|
82
|
+
hcom 1 claude -p # launch with default 30min timeout
|
|
83
|
+
hcom # See what it's doing from dashboard
|
|
84
84
|
hcom stop # Let it die earlier than timeout
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
+
#### .claude/agents in interactive claude window
|
|
88
|
+
```bash
|
|
89
|
+
HCOM_AGENT=code-writer hcom 1
|
|
90
|
+
HCOM_AGENT=reviewer hcom 1
|
|
91
|
+
```
|
|
92
|
+
|
|
87
93
|
#### @-mention: groups and direct
|
|
88
94
|
```bash
|
|
89
95
|
HCOM_TAG=cooltag hcom 2
|
|
@@ -91,36 +97,36 @@ hcom send '@cooltag hi, you both are cool'
|
|
|
91
97
|
hcom send '@john you are cooler'
|
|
92
98
|
```
|
|
93
99
|
|
|
94
|
-
####
|
|
100
|
+
#### toggle inside claude code
|
|
95
101
|
```bash
|
|
96
102
|
claude # Normal Claude Code
|
|
97
103
|
'run hcom start' # Opt-in to receive messages
|
|
98
104
|
'run hcom stop' # Opt-out, continue as normal claude code
|
|
99
105
|
```
|
|
100
106
|
|
|
107
|
+
---
|
|
101
108
|
|
|
102
109
|
<details>
|
|
103
110
|
<summary><strong>All commands</strong></summary>
|
|
104
111
|
|
|
105
|
-
### `[ENV_VARS] hcom <COUNT> [claude <ARGS>]`
|
|
106
|
-
|
|
107
112
|
|
|
108
113
|
```bash
|
|
109
|
-
Usage:
|
|
114
|
+
Usage: hcom # UI
|
|
115
|
+
[ENV_VARS] hcom <COUNT> [claude <ARGS>...]
|
|
110
116
|
hcom watch [--logs|--status|--wait [SEC]]
|
|
111
117
|
hcom send "message"
|
|
112
|
-
hcom stop [alias|all]
|
|
118
|
+
hcom stop [alias|all]
|
|
113
119
|
hcom start [alias]
|
|
114
120
|
hcom reset [logs|hooks|config]
|
|
115
121
|
|
|
116
122
|
Launch Examples:
|
|
117
123
|
hcom 3 Open 3 terminals with claude connected to hcom
|
|
118
|
-
hcom 3 claude -p +
|
|
124
|
+
hcom 3 claude -p + Headless
|
|
119
125
|
HCOM_TAG=api hcom 3 claude -p + @-mention group tag
|
|
120
126
|
claude 'run hcom start' claude code with prompt will also work
|
|
121
127
|
|
|
122
128
|
Commands:
|
|
123
|
-
watch
|
|
129
|
+
watch messaging/status/launch UI (same as hcom no args)
|
|
124
130
|
--logs Print all messages
|
|
125
131
|
--status Print instance status JSON
|
|
126
132
|
--wait [SEC] Wait and notify for new message
|
|
@@ -131,7 +137,6 @@ Commands:
|
|
|
131
137
|
stop Stop current instance (from inside Claude)
|
|
132
138
|
stop <alias> Stop specific instance
|
|
133
139
|
stop all Stop all instances
|
|
134
|
-
--force Emergency stop (denies Bash tool)
|
|
135
140
|
|
|
136
141
|
start Start current instance (from inside Claude)
|
|
137
142
|
start <alias> Start specific instance
|
|
@@ -142,20 +147,32 @@ Commands:
|
|
|
142
147
|
reset config Clear + backup config.env
|
|
143
148
|
|
|
144
149
|
Environment Variables:
|
|
145
|
-
HCOM_TAG=name
|
|
146
|
-
HCOM_AGENT=type
|
|
147
|
-
HCOM_TERMINAL=mode
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
150
|
+
HCOM_TAG=name Group tag (creates name-* instances)
|
|
151
|
+
HCOM_AGENT=type Agent type (comma-separated for multiple)
|
|
152
|
+
HCOM_TERMINAL=mode Terminal: new|here|print|"custom {script}"
|
|
153
|
+
HCOM_HINTS=text Text appended to all messages received by instance
|
|
154
|
+
HCOM_TIMEOUT=secs Time until disconnected from hcom chat (default 1800s / 30mins)
|
|
155
|
+
HCOM_SUBAGENT_TIMEOUT=secs Subagent idle timeout (default 30s)
|
|
156
|
+
HCOM_CLAUDE_ARGS=args Claude CLI defaults (e.g., '-p --model opus "hello!"')
|
|
151
157
|
|
|
152
|
-
ANTHROPIC_MODEL=opus #
|
|
158
|
+
ANTHROPIC_MODEL=opus # Any env var passed through to Claude Code
|
|
153
159
|
|
|
154
160
|
Persist Env Vars in `~/.hcom/config.env`
|
|
155
|
-
|
|
156
161
|
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### Requirements
|
|
166
|
+
|
|
167
|
+
- Python 3.10+
|
|
168
|
+
- Claude Code
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
157
172
|
</details>
|
|
158
173
|
|
|
174
|
+
---
|
|
175
|
+
|
|
159
176
|
<details>
|
|
160
177
|
<summary><strong> Terminal Options</strong></summary>
|
|
161
178
|
|
|
@@ -170,7 +187,7 @@ Environment Variables:
|
|
|
170
187
|
|
|
171
188
|
- `HCOM_TERMINAL=new` - New terminal windows (default)
|
|
172
189
|
- `HCOM_TERMINAL=here` - Current terminal window
|
|
173
|
-
- `HCOM_TERMINAL="open -a iTerm {script}"` - Custom terminal
|
|
190
|
+
- `HCOM_TERMINAL="open -a iTerm {script}"` - Custom terminal
|
|
174
191
|
|
|
175
192
|
|
|
176
193
|
### Custom Terminal
|
|
@@ -242,16 +259,11 @@ HCOM_TERMINAL="/Applications/WezTerm.app/Contents/MacOS/wezterm cli spawn -- bas
|
|
|
242
259
|
`hcom 2`
|
|
243
260
|
```
|
|
244
261
|
|
|
245
|
-
---
|
|
246
|
-
|
|
247
262
|
</details>
|
|
248
263
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
- Python 3.10+
|
|
252
|
-
- Claude Code
|
|
264
|
+
---
|
|
253
265
|
|
|
254
|
-
|
|
266
|
+
### License
|
|
255
267
|
|
|
256
268
|
MIT
|
|
257
269
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
hcom/__init__.py,sha256=GHkAED8LWM0g1-mfMAE53eTcq88N7Cw60-fwkwDb7uA,59
|
|
2
|
+
hcom/__main__.py,sha256=MHKZ_ae3fSLGTLUUMOx15fWdeOnJSHhq-zslRP5F5Lc,79
|
|
3
|
+
hcom/cli.py,sha256=O3tm_TIERHVSQJ0zmj-vxw3MCK8b1PmeKR0_1bakpcY,188748
|
|
4
|
+
hcom/shared.py,sha256=ybybljQuBtoN7J-fESuEOnAogzkSw0DM7_PmOjHLK-A,32793
|
|
5
|
+
hcom/ui.py,sha256=uEAzSVZz_ly_WdFY6sQp_8kOaW1jLfGNLAXlgZswEDI,132352
|
|
6
|
+
hcom-0.6.0.dist-info/METADATA,sha256=IgtFNC8H5BEzOH7VlGsh0QCKXkyj2TsfL___3XwEPsY,9239
|
|
7
|
+
hcom-0.6.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
8
|
+
hcom-0.6.0.dist-info/entry_points.txt,sha256=cz9K9PsgYmORUxNKxVRrpxLS3cxRJcDZkE-PpfvOhI8,44
|
|
9
|
+
hcom-0.6.0.dist-info/top_level.txt,sha256=8AS1nVUWA26vxjDQ5viRxgJnwSvUWk1W6GP4g6ldZ-0,5
|
|
10
|
+
hcom-0.6.0.dist-info/RECORD,,
|
hcom-0.5.0.dist-info/RECORD
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
hcom/__init__.py,sha256=YYWP0bZUcwoMW8CjuNU8yF2SrvPN1W4NfAbpksyvJPY,96
|
|
2
|
-
hcom/__main__.py,sha256=dM_FCr14HcnRPYVoS9nKunEVxaVrbxTChuAV6RhPfcQ,144592
|
|
3
|
-
hcom-0.5.0.dist-info/METADATA,sha256=SQ-v_iJ6FpP7H5DRL2jDY5XuBbl3x965ocHweh9n5Ok,8902
|
|
4
|
-
hcom-0.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
5
|
-
hcom-0.5.0.dist-info/entry_points.txt,sha256=cz9K9PsgYmORUxNKxVRrpxLS3cxRJcDZkE-PpfvOhI8,44
|
|
6
|
-
hcom-0.5.0.dist-info/top_level.txt,sha256=8AS1nVUWA26vxjDQ5viRxgJnwSvUWk1W6GP4g6ldZ-0,5
|
|
7
|
-
hcom-0.5.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|