@akshar5/cohall 0.4.7 → 0.4.8
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.
- package/CHANGELOG.md +7 -0
- package/CONTRIBUTING.md +49 -0
- package/README.md +105 -239
- package/bin/cohall.js +5 -5
- package/bin/cohall.js.map +1 -1
- package/docs/install.md +117 -43
- package/docs/integrations.md +21 -28
- package/docs/releasing.md +3 -3
- package/docs/services.md +7 -9
- package/package.json +8 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.8](https://github.com/AksharP5/cohall/compare/v0.4.7...v0.4.8) (2026-08-09)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **docs:** make public onboarding concise and private-safe ([#38](https://github.com/AksharP5/cohall/issues/38)) ([d9bdd8a](https://github.com/AksharP5/cohall/commit/d9bdd8a6b866e3cc659a71c464b3c0580d272dec))
|
|
9
|
+
|
|
3
10
|
## [0.4.7](https://github.com/AksharP5/cohall/compare/v0.4.6...v0.4.7) (2026-08-09)
|
|
4
11
|
|
|
5
12
|
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Contributing to Cohall
|
|
2
|
+
|
|
3
|
+
Issues and focused pull requests are welcome.
|
|
4
|
+
|
|
5
|
+
## Before opening an issue
|
|
6
|
+
|
|
7
|
+
- Search existing issues and confirm the problem still occurs on the latest
|
|
8
|
+
Cohall release.
|
|
9
|
+
- Include the operating system, Node.js version, Cohall version, relevant
|
|
10
|
+
command, expected behavior, and redacted output.
|
|
11
|
+
- Remove relay URLs, device names, workspace paths, tokens, provider session
|
|
12
|
+
IDs, and other private information.
|
|
13
|
+
- Report security vulnerabilities through [GitHub's private vulnerability
|
|
14
|
+
form](https://github.com/AksharP5/cohall/security/advisories/new), not a public
|
|
15
|
+
issue.
|
|
16
|
+
|
|
17
|
+
## Development
|
|
18
|
+
|
|
19
|
+
Requirements:
|
|
20
|
+
|
|
21
|
+
- Node.js 24 or newer
|
|
22
|
+
- [Bun](https://bun.sh/) 1.3.13
|
|
23
|
+
|
|
24
|
+
Install dependencies and run the full local validation suite:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
bun install --frozen-lockfile
|
|
28
|
+
bun run check
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`bun run check` type-checks, lints, builds the npm executable, runs the relay,
|
|
32
|
+
device, CLI, provider, and MCP tests, and validates the package contents.
|
|
33
|
+
|
|
34
|
+
Format changed files with `bunx oxfmt <files>` and verify the patch with `git
|
|
35
|
+
diff --check`. Do not hand-edit generated files in `bin/`.
|
|
36
|
+
|
|
37
|
+
## Pull requests
|
|
38
|
+
|
|
39
|
+
- Keep each pull request focused on one problem.
|
|
40
|
+
- Add high-signal tests for behavior changes and meaningful edge cases.
|
|
41
|
+
- Update relevant documentation when behavior or commands change.
|
|
42
|
+
- Do not include credentials, personal paths, service logs, or unrelated files.
|
|
43
|
+
- Use a Conventional Commit title such as `fix(device): reconnect after sleep`
|
|
44
|
+
or `feat(cli): add task filtering`.
|
|
45
|
+
- Explain the user problem first, then the solution and local validation.
|
|
46
|
+
|
|
47
|
+
Maintainers handle version bumps, changelog entries, tags, and npm publishing
|
|
48
|
+
through the Release Please pull request. Contributors should not edit them for a
|
|
49
|
+
normal change.
|
package/README.md
CHANGED
|
@@ -1,93 +1,104 @@
|
|
|
1
1
|
# Cohall
|
|
2
2
|
|
|
3
3
|
Cohall lets agents on your own devices delegate work to each other. It is a
|
|
4
|
-
headless
|
|
5
|
-
|
|
6
|
-
connect to a stdio MCP server.
|
|
4
|
+
headless bridge, not another agent app: keep using any harness that can run a
|
|
5
|
+
command or connect to a stdio MCP server.
|
|
7
6
|
|
|
8
|
-
One npm package provides
|
|
7
|
+
One npm package provides a durable self-hosted relay, outbound-only device
|
|
8
|
+
workers, a CLI, an installable agent skill, an optional MCP server, and local
|
|
9
|
+
Codex, Claude Code, and OpenCode adapters.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
- an outbound-only device daemon;
|
|
12
|
-
- a human and agent-friendly CLI;
|
|
13
|
-
- one embedded, installable agent skill;
|
|
14
|
-
- an optional stdio MCP server;
|
|
15
|
-
- local Codex, Claude Code, and OpenCode execution adapters.
|
|
16
|
-
|
|
17
|
-
There is no Cohall desktop or web app. Your existing harness remains the UI.
|
|
18
|
-
|
|
19
|
-
## Architecture
|
|
11
|
+
## How it works
|
|
20
12
|
|
|
21
13
|
```text
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
14
|
+
Current agent
|
|
15
|
+
CLI + skill or MCP
|
|
16
|
+
|
|
|
17
|
+
HTTPS / WSS
|
|
18
|
+
|
|
|
19
|
+
Cohall relay + SQLite
|
|
20
|
+
/ \
|
|
21
|
+
Mac agent Linux agent
|
|
22
|
+
Xcode Docker
|
|
23
|
+
browser repositories
|
|
32
24
|
```
|
|
33
25
|
|
|
34
|
-
The relay stores
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
The relay stores tasks, results, thread history, and provider session IDs. Each
|
|
27
|
+
device uses its own files, provider login, tools, skills, permissions, and
|
|
28
|
+
signed-in services. Cohall does not copy credentials or remotely control the
|
|
29
|
+
machine.
|
|
30
|
+
|
|
31
|
+
## What you can do
|
|
32
|
+
|
|
33
|
+
After installing the skill, ask naturally:
|
|
38
34
|
|
|
39
|
-
|
|
35
|
+
- “Ask `@macbook` to build the iOS app and diagnose the signing error.”
|
|
36
|
+
- “Have `@server` reproduce this failure against its Docker services.”
|
|
37
|
+
- “Use `@linux`'s signed-in browser to investigate this deployment.”
|
|
38
|
+
- “Queue the full test suite on `@server`; keep working here and report back.”
|
|
40
39
|
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
When a request depends on your current conversation, the sending agent
|
|
41
|
+
automatically includes a concise brief explaining why you are asking, relevant
|
|
42
|
+
facts and prior findings, constraints, and the decision you need. It does not
|
|
43
|
+
forward the raw transcript or unrelated private material.
|
|
43
44
|
|
|
44
|
-
|
|
45
|
-
- “Have `@devbox` reproduce this failure against its Docker services.”
|
|
46
|
-
- “Use `@archlinux`'s signed-in browser to inspect the failed deployment.”
|
|
47
|
-
- “Queue the full test suite on `@devbox`; keep working here and report back.”
|
|
45
|
+
## Get started with your agent
|
|
48
46
|
|
|
49
|
-
|
|
50
|
-
the result when it returns. `@macbook` is a device selector understood through
|
|
51
|
-
the installed skill, not special chat syntax built into your harness. When the
|
|
52
|
-
request depends on the current conversation, the sending agent automatically
|
|
53
|
-
distills why you are asking, relevant facts and prior findings, constraints, and
|
|
54
|
-
the decision you need into the task's context. Cohall does not copy the raw chat
|
|
55
|
-
or unrelated private material.
|
|
47
|
+
Paste this into an agent on the device you want to configure:
|
|
56
48
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
49
|
+
```text
|
|
50
|
+
Set up Cohall on this device using https://github.com/AksharP5/cohall. Read the current README and installation/service docs first. Detect this OS, package manager, installed provider CLIs, and suitable workspace roots. If no Cohall relay is configured, ask whether this device should host one or join an existing relay; do not guess a relay URL or token. Keep the relay private through Tailscale or HTTPS, never expose plain HTTP publicly, and keep every token out of command arguments, shell history, and logs. Install Cohall, pair or join this device, install its skill for the detected agent harnesses, configure autostart if this device should remain available, run cohall doctor, and report exactly what is working. Ask before making system-wide changes.
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
The agent will ask for the relay address and one-time pairing token only when it
|
|
54
|
+
needs them.
|
|
63
55
|
|
|
64
56
|
## Quick start
|
|
65
57
|
|
|
66
|
-
|
|
67
|
-
|
|
58
|
+
Cohall requires Node.js 24 or newer. Try it with your preferred package runner.
|
|
59
|
+
Each block is independently copyable.
|
|
60
|
+
|
|
61
|
+
**npm**
|
|
68
62
|
|
|
69
63
|
```bash
|
|
70
64
|
npx -y @akshar5/cohall --version
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Bun**
|
|
68
|
+
|
|
69
|
+
```bash
|
|
71
70
|
bunx @akshar5/cohall --version
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**pnpm**
|
|
74
|
+
|
|
75
|
+
```bash
|
|
72
76
|
pnpm dlx @akshar5/cohall --version
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Yarn**
|
|
80
|
+
|
|
81
|
+
```bash
|
|
73
82
|
yarn dlx @akshar5/cohall --version
|
|
74
83
|
```
|
|
75
84
|
|
|
76
|
-
The examples
|
|
85
|
+
The remaining examples use `npx`.
|
|
77
86
|
|
|
78
|
-
Start a
|
|
87
|
+
### 1. Start a relay
|
|
79
88
|
|
|
80
89
|
```bash
|
|
81
90
|
export COHALL_TOKEN="$(openssl rand -hex 32)"
|
|
82
91
|
npx -y @akshar5/cohall relay
|
|
83
92
|
```
|
|
84
93
|
|
|
85
|
-
The relay binds
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
94
|
+
The relay binds to `127.0.0.1` by default. For multiple devices, run it on an
|
|
95
|
+
always-on machine and expose it only through a private network such as Tailscale
|
|
96
|
+
or an HTTPS reverse proxy. See [service setup](docs/services.md).
|
|
97
|
+
|
|
98
|
+
### 2. Pair a device
|
|
89
99
|
|
|
90
|
-
|
|
100
|
+
On an owner-authenticated machine, create a token that expires after ten minutes
|
|
101
|
+
and one exchange:
|
|
91
102
|
|
|
92
103
|
```bash
|
|
93
104
|
COHALL_RELAY_URL=https://cohall.example.com \
|
|
@@ -95,8 +106,7 @@ COHALL_TOKEN="$COHALL_TOKEN" \
|
|
|
95
106
|
npx -y @akshar5/cohall pair --label "MacBook"
|
|
96
107
|
```
|
|
97
108
|
|
|
98
|
-
Transfer the token
|
|
99
|
-
provide it on stdin so it never appears in process arguments or shell history:
|
|
109
|
+
Transfer the token privately. On the device being added:
|
|
100
110
|
|
|
101
111
|
```bash
|
|
102
112
|
read -rsp 'Pairing token: ' pairing_token; printf '\n'
|
|
@@ -104,80 +114,46 @@ printf '%s' "$pairing_token" | npx -y @akshar5/cohall join \
|
|
|
104
114
|
--relay https://cohall.example.com \
|
|
105
115
|
--name macbook \
|
|
106
116
|
--providers codex \
|
|
107
|
-
--workspace "$HOME/dev"
|
|
108
|
-
--workspace "$HOME/.skillsync/repo"
|
|
117
|
+
--workspace "$HOME/dev"
|
|
109
118
|
unset pairing_token
|
|
110
|
-
|
|
111
|
-
npx -y @akshar5/cohall doctor
|
|
112
|
-
npx -y @akshar5/cohall device
|
|
113
119
|
```
|
|
114
120
|
|
|
115
|
-
|
|
116
|
-
then writes a per-user configuration file with Unix mode `0600`. Workspace roots
|
|
117
|
-
must already exist and are resolved to canonical paths.
|
|
118
|
-
|
|
119
|
-
## Availability and restarts
|
|
120
|
-
|
|
121
|
-
The relay must be reachable to accept new tasks or return status. Once accepted,
|
|
122
|
-
a task is stored in SQLite and survives relay or target-device restarts. Work for
|
|
123
|
-
an offline target waits on the relay and starts when that device reconnects.
|
|
124
|
-
Interrupted running work is re-queued with at-least-once delivery, so prompts
|
|
125
|
-
that cause external changes should be safe to retry.
|
|
126
|
-
|
|
127
|
-
The packaged service definitions reconnect automatically:
|
|
128
|
-
|
|
129
|
-
- the Linux relay starts at boot through systemd socket and service units;
|
|
130
|
-
- a Linux device starts with its user service, or at boot when user lingering is
|
|
131
|
-
enabled;
|
|
132
|
-
- a macOS device starts when that user logs in through its LaunchAgent;
|
|
133
|
-
- a Windows device starts at user logon through Task Scheduler.
|
|
134
|
-
|
|
135
|
-
Powered-off devices do not run work. A powered-off relay cannot accept new work,
|
|
136
|
-
but tasks already written to its persistent data directory remain there for its
|
|
137
|
-
next start. See [service setup](docs/services.md) for installation and checks.
|
|
138
|
-
|
|
139
|
-
## Use from an agent
|
|
140
|
-
|
|
141
|
-
Install the same embedded skill for Codex, Claude Code, and OpenCode:
|
|
121
|
+
### 3. Install the skill and connect
|
|
142
122
|
|
|
143
123
|
```bash
|
|
144
124
|
npx -y @akshar5/cohall skill install all
|
|
125
|
+
npx -y @akshar5/cohall doctor
|
|
126
|
+
npx -y @akshar5/cohall device
|
|
145
127
|
```
|
|
146
128
|
|
|
147
|
-
|
|
129
|
+
Use an operating-system service for an unattended relay or device worker. See
|
|
130
|
+
[service setup](docs/services.md).
|
|
131
|
+
|
|
132
|
+
## Delegate work
|
|
148
133
|
|
|
149
134
|
```bash
|
|
150
|
-
npx -y @akshar5/cohall devices
|
|
151
135
|
npx -y @akshar5/cohall delegate \
|
|
152
136
|
--target @macbook \
|
|
153
|
-
--
|
|
154
|
-
--workspace /Users/me/dev/project \
|
|
137
|
+
--workspace "$HOME/dev/project" \
|
|
155
138
|
--prompt 'Inspect the signed-in dashboard and identify why deployment 184 failed.' \
|
|
156
|
-
--context '
|
|
139
|
+
--context 'Why: the deployment failed after local checks passed. Need: root cause, evidence, and recommended next step.'
|
|
157
140
|
```
|
|
158
141
|
|
|
159
|
-
The command waits
|
|
142
|
+
The command waits for a result by default. Queue longer work with `--no-wait`,
|
|
143
|
+
then inspect it later:
|
|
160
144
|
|
|
161
145
|
```bash
|
|
162
|
-
npx -y @akshar5/cohall delegate --target @linux --no-wait \
|
|
163
|
-
--prompt 'Run the test suite and report failures.'
|
|
164
146
|
npx -y @akshar5/cohall wait <task-id> --timeout 1800
|
|
165
|
-
npx -y @akshar5/cohall cancel <task-id>
|
|
166
147
|
npx -y @akshar5/cohall trace <task-id> --follow
|
|
167
|
-
npx -y @akshar5/cohall thread <thread-id>
|
|
168
148
|
```
|
|
169
149
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
that its local process stopped. `trace` reports the durable relay and device
|
|
173
|
-
lifecycle without prompts, results, credentials, or provider session IDs.
|
|
174
|
-
`--follow` emits changed snapshots as newline-delimited JSON until the task is
|
|
175
|
-
terminal.
|
|
150
|
+
Reuse the returned `thread_id` for follow-ups so the target resumes its provider
|
|
151
|
+
session.
|
|
176
152
|
|
|
177
153
|
## Optional MCP
|
|
178
154
|
|
|
179
|
-
|
|
180
|
-
|
|
155
|
+
CLI plus skill is the recommended integration. For a client that accepts the
|
|
156
|
+
common `mcpServers` format, paste:
|
|
181
157
|
|
|
182
158
|
```json
|
|
183
159
|
{
|
|
@@ -190,138 +166,28 @@ For clients that accept the common `mcpServers` JSON shape, paste:
|
|
|
190
166
|
}
|
|
191
167
|
```
|
|
192
168
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
codex mcp add cohall -- npx -y @akshar5/cohall mcp
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
Claude Code, available in every project for the current user:
|
|
200
|
-
|
|
201
|
-
```bash
|
|
202
|
-
claude mcp add --transport stdio --scope user cohall -- \
|
|
203
|
-
npx -y @akshar5/cohall mcp
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
OpenCode `opencode.json`:
|
|
207
|
-
|
|
208
|
-
```json
|
|
209
|
-
{
|
|
210
|
-
"$schema": "https://opencode.ai/config.json",
|
|
211
|
-
"mcp": {
|
|
212
|
-
"cohall": {
|
|
213
|
-
"type": "local",
|
|
214
|
-
"command": ["npx", "-y", "@akshar5/cohall", "mcp"],
|
|
215
|
-
"enabled": true
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
Run `npx -y @akshar5/cohall integrations` to print these command components.
|
|
222
|
-
The MCP server exposes:
|
|
223
|
-
|
|
224
|
-
- `list_devices`
|
|
225
|
-
- `delegate`
|
|
226
|
-
- `task_status`
|
|
227
|
-
- `task_trace`
|
|
228
|
-
- `wait_task`
|
|
229
|
-
- `cancel_task`
|
|
230
|
-
- `thread_context`
|
|
231
|
-
|
|
232
|
-
CLI plus skill and MCP create the same tasks. Configure one or the other in a
|
|
233
|
-
given harness; do not submit the same work through both.
|
|
169
|
+
CLI and MCP create the same tasks; use one entry point per task. See
|
|
170
|
+
[agent integrations](docs/integrations.md) for Codex, Claude Code, and OpenCode
|
|
171
|
+
configuration.
|
|
234
172
|
|
|
235
|
-
|
|
236
|
-
and [service setup](docs/services.md).
|
|
173
|
+
## Reliability and security
|
|
237
174
|
|
|
238
|
-
|
|
175
|
+
- Accepted tasks persist in SQLite while a target is offline.
|
|
176
|
+
- Interrupted work is re-queued with at-least-once delivery; consequential work
|
|
177
|
+
should be safe to retry.
|
|
178
|
+
- The relay must be reachable to submit new work, but persisted tasks survive a
|
|
179
|
+
relay restart.
|
|
180
|
+
- Paired clients can ask a device's local provider to act with that user's normal
|
|
181
|
+
authority. Pair only devices and users you trust.
|
|
182
|
+
- Workspace roots are enforced after resolving symlinks, credentials are
|
|
183
|
+
role-separated, and task traces omit prompts, results, tokens, and provider
|
|
184
|
+
session IDs.
|
|
239
185
|
|
|
240
|
-
|
|
241
|
-
is checked when delegated work starts. Restrict a device to providers you have
|
|
242
|
-
configured locally:
|
|
243
|
-
|
|
244
|
-
```bash
|
|
245
|
-
cohall configure --providers codex,claude-code
|
|
246
|
-
cohall configure --providers auto
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
| Provider | Required command | Session continuation |
|
|
250
|
-
| ----------- | ---------------- | ------------------------ |
|
|
251
|
-
| Codex | `codex` | `codex exec resume` |
|
|
252
|
-
| Claude Code | `claude` | `claude --resume` |
|
|
253
|
-
| OpenCode | `opencode` | `opencode run --session` |
|
|
254
|
-
|
|
255
|
-
Cohall does not bypass provider permissions. A paired client is authorized to
|
|
256
|
-
ask the local provider to act with that user account's normal authority, so do
|
|
257
|
-
not pair mutually untrusted users. Provider output and task backlogs are
|
|
258
|
-
bounded, one task runs at a time per device, and configured workspace roots are
|
|
259
|
-
enforced after resolving symlinks.
|
|
260
|
-
|
|
261
|
-
## Configuration
|
|
262
|
-
|
|
263
|
-
`npx -y @akshar5/cohall config` shows the active stored configuration without
|
|
264
|
-
printing tokens. `npx -y @akshar5/cohall configure` changes relay, name,
|
|
265
|
-
workspaces, enabled providers, model, or Codex sandbox.
|
|
266
|
-
`npx -y @akshar5/cohall doctor` checks relay reachability, this device's relay
|
|
267
|
-
status, provider selection, executable paths, and version information.
|
|
268
|
-
|
|
269
|
-
For a global installation used by services, `cohall upgrade` updates through
|
|
270
|
-
the same npm, Bun, or pnpm installation and restarts only active Cohall relay
|
|
271
|
-
and device jobs. Active jobs restart even when the installed files are already
|
|
272
|
-
current, ensuring an older loaded process is replaced. Cohall refuses to restart
|
|
273
|
-
a service configured to use a different global installation; run that service's
|
|
274
|
-
executable directly or update its service definition first.
|
|
275
|
-
|
|
276
|
-
- `cohall upgrade --dry-run` previews the plan.
|
|
277
|
-
- `cohall upgrade --no-restart` updates files without restarting services.
|
|
278
|
-
|
|
279
|
-
Linux relays can use the packaged systemd socket unit so new connections remain
|
|
280
|
-
available while the relay process is replaced; see [service setup](docs/services.md).
|
|
281
|
-
Environment variables override stored values:
|
|
282
|
-
|
|
283
|
-
| Variable | Purpose |
|
|
284
|
-
| ----------------------------------------- | ---------------------------------------------- |
|
|
285
|
-
| `COHALL_CONFIG` | Configuration file override |
|
|
286
|
-
| `COHALL_RELAY_URL` | Relay URL for CLI, MCP, and device |
|
|
287
|
-
| `COHALL_CLIENT_TOKEN` | Client credential override |
|
|
288
|
-
| `COHALL_DEVICE_TOKEN` | Device credential override |
|
|
289
|
-
| `COHALL_TOKEN` | Relay owner credential |
|
|
290
|
-
| `COHALL_DEVICE_ID` | Stable device ID override |
|
|
291
|
-
| `COHALL_DEVICE_NAME` | Advertised device name |
|
|
292
|
-
| `COHALL_DEVICE_PROVIDERS` | Provider allowlist or `auto` |
|
|
293
|
-
| `COHALL_DEVICE_WORKSPACES` | Comma-separated workspace roots |
|
|
294
|
-
| `COHALL_DEVICE_WORKSPACES_JSON` | JSON workspace roots; supports commas in paths |
|
|
295
|
-
| `COHALL_MODEL` | Target provider model override |
|
|
296
|
-
| `COHALL_SANDBOX` | Codex sandbox override |
|
|
297
|
-
| `COHALL_THREAD_ID` | Inherited Cohall thread for nested delegation |
|
|
298
|
-
| `COHALL_DATA_DIR` | Relay database and owner-token directory |
|
|
299
|
-
| `COHALL_RELAY_HOST` / `COHALL_RELAY_PORT` | Relay listener |
|
|
300
|
-
| `COHALL_RELAY_ALLOW_REMOTE` | Explicit non-loopback binding opt-in |
|
|
301
|
-
|
|
302
|
-
The owner token can create pairing credentials, list sessions, and revoke them.
|
|
303
|
-
`cohall forget <device-id>` removes an offline device from discovery after
|
|
304
|
-
confirming it has no outstanding tasks, revokes its device credential, and
|
|
305
|
-
preserves its completed task history. On the relay host, owner commands read the
|
|
306
|
-
protected local owner-token file automatically; remote owner commands require
|
|
307
|
-
`COHALL_TOKEN`.
|
|
308
|
-
Ordinary client and device credentials are role-separated, device-bound where
|
|
309
|
-
applicable, expiring, and stored only as SHA-256 hashes by the relay.
|
|
310
|
-
|
|
311
|
-
## Development
|
|
312
|
-
|
|
313
|
-
```bash
|
|
314
|
-
bun install
|
|
315
|
-
bun run check
|
|
316
|
-
```
|
|
186
|
+
## Documentation
|
|
317
187
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
188
|
+
- [Installation, pairing, providers, and upgrades](docs/install.md)
|
|
189
|
+
- [Agent skill and MCP integrations](docs/integrations.md)
|
|
190
|
+
- [Linux, macOS, and Windows services](docs/services.md)
|
|
191
|
+
- [Contributing](CONTRIBUTING.md)
|
|
322
192
|
|
|
323
|
-
|
|
324
|
-
terminal events are idempotent; interrupted running tasks are re-queued after a
|
|
325
|
-
device or relay restart. A device accepts at most 100 outstanding tasks and
|
|
326
|
-
executes them one at a time. Thread context returns a byte-bounded recent window
|
|
327
|
-
and sets `truncated` when older content exists.
|
|
193
|
+
Cohall is licensed under the [MIT License](LICENSE).
|
package/bin/cohall.js
CHANGED
|
@@ -17,7 +17,7 @@ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
|
17
17
|
|
|
18
18
|
// packages/protocol/src/index.ts
|
|
19
19
|
import { Schema } from "effect";
|
|
20
|
-
var version = "0.4.
|
|
20
|
+
var version = "0.4.8", bounded = (maxLength) => Schema.String.check(Schema.isMinLength(1), Schema.isMaxLength(maxLength)), optionalText = (maxLength) => Schema.String.check(Schema.isMaxLength(maxLength)), boundedArray = (schema, maxLength) => Schema.Array(schema).check(Schema.isMaxLength(maxLength)), uuid = (name) => Schema.String.check(Schema.isUUID(4)).pipe(Schema.brand(name)), isoTimestamp = (name) => Schema.String.check(Schema.isPattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?Z$/, {
|
|
21
21
|
expected: "an ISO-8601 UTC timestamp"
|
|
22
22
|
})).pipe(Schema.brand(name)), DeviceId, ThreadId, MessageId, TaskId, AuthSessionId, Timestamp, Platform, Provider, DeviceStatus, TaskStatus, TaskTraceEventKind, MessageRole, ConnectionRole, AuthSession, CreatePairingInput, PairingCredential, ExchangePairingInput, SessionCredential, PairingResult, Capability, Workspace, Device, Thread, Message, Task, TaskTraceEvent, TaskTrace, ThreadContext, CreateTaskInput, SocketEvent, ErrorResponse, terminalTaskStatuses, isTerminalTask = (task) => terminalTaskStatuses.has(task.status), now = () => Timestamp.make(new Date().toISOString()), makeDeviceId = () => DeviceId.make(crypto.randomUUID()), makeThreadId = () => ThreadId.make(crypto.randomUUID()), makeMessageId = () => MessageId.make(crypto.randomUUID()), makeTaskId = () => TaskId.make(crypto.randomUUID()), makeAuthSessionId = () => AuthSessionId.make(crypto.randomUUID()), decodeCreatePairingInput, decodeExchangePairingInput, decodeCreateTaskInput, decodeDevice, decodeSocketEvent;
|
|
23
23
|
var init_src = __esm(() => {
|
|
@@ -2215,7 +2215,7 @@ import { dirname as dirname3, join as join4 } from "node:path";
|
|
|
2215
2215
|
// skills/cohall/SKILL.md
|
|
2216
2216
|
var SKILL_default = `---
|
|
2217
2217
|
name: cohall
|
|
2218
|
-
description: Delegate work to an agent on another user-owned device through the Cohall CLI. Use when the user asks to run, research, or check something on another device, names a Cohall target such as @macbook or @
|
|
2218
|
+
description: Delegate work to an agent on another user-owned device through the Cohall CLI. Use when the user asks to run, research, or check something on another device, names a Cohall target such as @macbook or @server, or needs machine-local state or capabilities such as a signed-in browser, Xcode, Docker, deployment access, a repository checkout, or unavailable tools. Carry the relevant current-conversation context into the handoff automatically.
|
|
2219
2219
|
---
|
|
2220
2220
|
|
|
2221
2221
|
# Cohall
|
|
@@ -2230,7 +2230,7 @@ Use the installed \`cohall\` executable when it is available. Fall back to
|
|
|
2230
2230
|
|
|
2231
2231
|
## Recognize cross-device requests
|
|
2232
2232
|
|
|
2233
|
-
Treat phrases such as “run this on my Mac,” “ask \`@
|
|
2233
|
+
Treat phrases such as “run this on my Mac,” “ask \`@server\`,” or “have the Linux
|
|
2234
2234
|
machine check this” as target intent. The \`@name\` form is a Cohall device
|
|
2235
2235
|
selector, not chat syntax supplied by the harness. Resolve it with \`cohall
|
|
2236
2236
|
devices\`, then delegate the smallest useful outcome.
|
|
@@ -2272,7 +2272,7 @@ Do not delegate ordinary local work when the other device provides no advantage.
|
|
|
2272
2272
|
cohall delegate \\
|
|
2273
2273
|
--target @macbook \\
|
|
2274
2274
|
--provider codex \\
|
|
2275
|
-
--workspace /
|
|
2275
|
+
--workspace "$HOME/dev/project" \\
|
|
2276
2276
|
--prompt 'Research whether the deployment failure matches the reported provider outage.' \\
|
|
2277
2277
|
--context 'Why: deployment 184 failed after 15:00 UTC. Known: local checks passed and the provider status page reported elevated errors. Need: determine whether the outage explains our failure, with primary-source links and contrary evidence.'
|
|
2278
2278
|
\`\`\`
|
|
@@ -4044,4 +4044,4 @@ await main().catch((cause) => {
|
|
|
4044
4044
|
process.exitCode = 1;
|
|
4045
4045
|
});
|
|
4046
4046
|
|
|
4047
|
-
//# debugId=
|
|
4047
|
+
//# debugId=DD6CA056CEE6744B64756E2164756E21
|
package/bin/cohall.js.map
CHANGED
|
@@ -19,6 +19,6 @@
|
|
|
19
19
|
"import { RelayClient } from \"@cohall/client\"\nimport { TaskId, ThreadId, version } from \"@cohall/protocol\"\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\"\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\"\nimport { Effect } from \"effect\"\nimport * as z from \"zod/v4\"\nimport type { ClientConfiguration } from \"./config.ts\"\nimport { createDelegation, taskResult, threadContext, waitForTask } from \"./delegation.ts\"\n\nconst output = (value: unknown) => ({\n content: [{ type: \"text\" as const, text: JSON.stringify(value, null, 2) }],\n})\n\nexport const runMcp = async (configuration: ClientConfiguration): Promise<void> => {\n const client = RelayClient.make({\n baseUrl: configuration.relayUrl,\n token: configuration.token,\n })\n const server = new McpServer({ name: \"cohall\", version })\n\n server.registerTool(\n \"list_devices\",\n {\n title: \"List Cohall devices\",\n description:\n \"List devices, their availability, local providers, capabilities, and allowed workspaces.\",\n inputSchema: {},\n },\n async () => output(await Effect.runPromise(client.devices())),\n )\n\n server.registerTool(\n \"delegate\",\n {\n title: \"Delegate work to another device\",\n description:\n \"Send focused work to another Cohall device. When the request depends on the current conversation, distill its motivation, relevant facts, prior findings, constraints, and desired decision into context; Cohall cannot read the host transcript. Never forward unrelated transcript content. Reuse thread_id for related follow-ups.\",\n inputSchema: {\n prompt: z.string().min(1).max(131_072),\n target: z.string().optional().describe(\"Device name, @name, hostname, or ID\"),\n provider: z.enum([\"codex\", \"claude-code\", \"opencode\"]).default(\"codex\"),\n context: z\n .string()\n .max(131_072)\n .optional()\n .describe(\n \"Distilled context the target needs: why the user is asking, relevant facts and prior findings, constraints, and the intended decision. The calling agent must supply this when the prompt depends on its conversation; omit it only for a self-contained task.\",\n ),\n thread_id: z.string().uuid().optional(),\n workspace: z.string().max(4096).optional(),\n wait: z.boolean().default(true),\n timeout_seconds: z.number().int().min(5).max(86_400).default(900),\n },\n },\n async ({ prompt, target, provider, context, thread_id, workspace, wait, timeout_seconds }) => {\n const task = await Effect.runPromise(\n createDelegation(client, configuration, {\n prompt,\n provider,\n ...(target === undefined ? {} : { target }),\n ...(context === undefined ? {} : { context }),\n ...(thread_id === undefined ? {} : { threadId: ThreadId.make(thread_id) }),\n ...(workspace === undefined ? {} : { workspace }),\n }),\n )\n return output(\n taskResult(\n wait ? await Effect.runPromise(waitForTask(client, task, timeout_seconds)) : task,\n ),\n )\n },\n )\n\n server.registerTool(\n \"task_status\",\n {\n title: \"Get delegated task status\",\n description: \"Read the current state and result of a Cohall task.\",\n inputSchema: { task_id: z.string().uuid() },\n },\n async ({ task_id }) =>\n output(taskResult(await Effect.runPromise(client.getTask(TaskId.make(task_id))))),\n )\n\n server.registerTool(\n \"task_trace\",\n {\n title: \"Trace a delegated task\",\n description:\n \"Read the redacted relay and device lifecycle for troubleshooting a Cohall task.\",\n inputSchema: { task_id: z.string().uuid() },\n },\n async ({ task_id }) => output(await Effect.runPromise(client.traceTask(TaskId.make(task_id)))),\n )\n\n server.registerTool(\n \"wait_task\",\n {\n title: \"Wait for delegated work\",\n description: \"Wait for a Cohall task to finish and return its final result.\",\n inputSchema: {\n task_id: z.string().uuid(),\n timeout_seconds: z.number().int().min(5).max(86_400).default(900),\n },\n },\n async ({ task_id, timeout_seconds }) => {\n const task = await Effect.runPromise(client.getTask(TaskId.make(task_id)))\n return output(taskResult(await Effect.runPromise(waitForTask(client, task, timeout_seconds))))\n },\n )\n\n server.registerTool(\n \"cancel_task\",\n {\n title: \"Cancel delegated work\",\n description: \"Request cancellation and return its acknowledged or pending state.\",\n inputSchema: { task_id: z.string().uuid() },\n },\n async ({ task_id }) =>\n output(taskResult(await Effect.runPromise(client.cancelTask(TaskId.make(task_id))))),\n )\n\n server.registerTool(\n \"thread_context\",\n {\n title: \"Read a Cohall thread\",\n description: \"Read shared task prompts and final results for a cross-device thread.\",\n inputSchema: { thread_id: z.string().uuid() },\n },\n async ({ thread_id }) =>\n output(await Effect.runPromise(threadContext(client, ThreadId.make(thread_id)))),\n )\n\n await server.connect(new StdioServerTransport())\n}\n"
|
|
20
20
|
],
|
|
21
21
|
"mappings": "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",
|
|
22
|
-
"debugId": "
|
|
22
|
+
"debugId": "DD6CA056CEE6744B64756E2164756E21",
|
|
23
23
|
"names": []
|
|
24
24
|
}
|
package/docs/install.md
CHANGED
|
@@ -1,26 +1,62 @@
|
|
|
1
1
|
# Install Cohall
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Cohall requires Node.js 24 or newer. It is a standard public npm package with no
|
|
4
|
+
bundled agent harness.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
## Package runners
|
|
7
|
+
|
|
8
|
+
Use one command. The documentation uses `npx` in later examples.
|
|
9
|
+
|
|
10
|
+
**npm**
|
|
7
11
|
|
|
8
12
|
```bash
|
|
9
13
|
npx -y @akshar5/cohall --version
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**Bun**
|
|
17
|
+
|
|
18
|
+
```bash
|
|
10
19
|
bunx @akshar5/cohall --version
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**pnpm**
|
|
23
|
+
|
|
24
|
+
```bash
|
|
11
25
|
pnpm dlx @akshar5/cohall --version
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Yarn**
|
|
29
|
+
|
|
30
|
+
```bash
|
|
12
31
|
yarn dlx @akshar5/cohall --version
|
|
13
32
|
```
|
|
14
33
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
unattended relay or device
|
|
18
|
-
|
|
34
|
+
## Global installation for services
|
|
35
|
+
|
|
36
|
+
An unattended relay or device worker needs a stable executable path. Install it
|
|
37
|
+
globally with the package manager that will own the service.
|
|
38
|
+
|
|
39
|
+
**npm**
|
|
19
40
|
|
|
20
41
|
```bash
|
|
21
42
|
npm install --global @akshar5/cohall
|
|
22
|
-
|
|
23
|
-
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Bun**
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
bun add --global @akshar5/cohall
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**pnpm**
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
pnpm add --global @akshar5/cohall
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Then verify:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
24
60
|
cohall --version
|
|
25
61
|
```
|
|
26
62
|
|
|
@@ -31,23 +67,26 @@ The relay owner creates a token valid for ten minutes and one exchange:
|
|
|
31
67
|
```bash
|
|
32
68
|
COHALL_RELAY_URL=https://cohall.example.com \
|
|
33
69
|
COHALL_TOKEN=owner-token \
|
|
34
|
-
npx -y @akshar5/cohall pair --label "
|
|
70
|
+
npx -y @akshar5/cohall pair --label "Workstation"
|
|
35
71
|
```
|
|
36
72
|
|
|
37
|
-
Transfer it privately
|
|
38
|
-
shell history:
|
|
73
|
+
Transfer it privately. On the machine being added, provide it through stdin so
|
|
74
|
+
it does not appear in process arguments or shell history:
|
|
39
75
|
|
|
40
76
|
```bash
|
|
41
77
|
read -rsp 'Pairing token: ' pairing_token; printf '\n'
|
|
42
78
|
printf '%s' "$pairing_token" | npx -y @akshar5/cohall join \
|
|
43
79
|
--relay https://cohall.example.com \
|
|
44
|
-
--name
|
|
80
|
+
--name workstation \
|
|
45
81
|
--providers codex \
|
|
46
82
|
--workspace "$HOME/dev"
|
|
47
83
|
unset pairing_token
|
|
48
84
|
```
|
|
49
85
|
|
|
50
|
-
|
|
86
|
+
Workspace roots must already exist. Cohall resolves them to canonical paths and
|
|
87
|
+
rejects delegated work outside them.
|
|
88
|
+
|
|
89
|
+
For a client that submits work but never runs a device worker:
|
|
51
90
|
|
|
52
91
|
```bash
|
|
53
92
|
npx -y @akshar5/cohall pair --client-only --label "Automation client"
|
|
@@ -58,9 +97,33 @@ printf '%s' "$pairing_token" | npx -y @akshar5/cohall join \
|
|
|
58
97
|
unset pairing_token
|
|
59
98
|
```
|
|
60
99
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
100
|
+
Automation may use a mode-`0600` token file with `join --token-file
|
|
101
|
+
/path/to/token`.
|
|
102
|
+
|
|
103
|
+
## Providers
|
|
104
|
+
|
|
105
|
+
Target devices advertise provider executables they can find. Authentication is
|
|
106
|
+
checked when delegated work starts.
|
|
107
|
+
|
|
108
|
+
| Provider | Required command | Session continuation |
|
|
109
|
+
| ----------- | ---------------- | ------------------------ |
|
|
110
|
+
| Codex | `codex` | `codex exec resume` |
|
|
111
|
+
| Claude Code | `claude` | `claude --resume` |
|
|
112
|
+
| OpenCode | `opencode` | `opencode run --session` |
|
|
113
|
+
|
|
114
|
+
Limit a device to providers configured for that user:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
cohall configure --providers codex,claude-code
|
|
118
|
+
cohall configure --providers auto
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Configuration
|
|
122
|
+
|
|
123
|
+
`cohall config` shows stored configuration without tokens. `cohall configure`
|
|
124
|
+
changes the relay URL, device name, workspace roots, providers, model, or Codex
|
|
125
|
+
sandbox. `cohall doctor` checks the effective configuration, relay connection,
|
|
126
|
+
provider executables, authentication readiness, and versions.
|
|
64
127
|
|
|
65
128
|
Configuration locations:
|
|
66
129
|
|
|
@@ -68,38 +131,49 @@ Configuration locations:
|
|
|
68
131
|
- macOS: `~/Library/Application Support/Cohall/config.json`
|
|
69
132
|
- Windows: `%APPDATA%\Cohall\config.json`
|
|
70
133
|
|
|
71
|
-
Use `COHALL_CONFIG` to override the path. On Unix, Cohall enforces directory
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
134
|
+
Use `COHALL_CONFIG` to override the path. On Unix, Cohall enforces directory mode
|
|
135
|
+
`0700` and file mode `0600`.
|
|
136
|
+
|
|
137
|
+
Environment variables override stored values:
|
|
138
|
+
|
|
139
|
+
| Variable | Purpose |
|
|
140
|
+
| ----------------------------------------- | ---------------------------------------------- |
|
|
141
|
+
| `COHALL_CONFIG` | Configuration file override |
|
|
142
|
+
| `COHALL_RELAY_URL` | Relay URL for CLI, MCP, and device |
|
|
143
|
+
| `COHALL_CLIENT_TOKEN` | Client credential override |
|
|
144
|
+
| `COHALL_DEVICE_TOKEN` | Device credential override |
|
|
145
|
+
| `COHALL_TOKEN` | Relay owner credential |
|
|
146
|
+
| `COHALL_DEVICE_ID` | Stable device ID override |
|
|
147
|
+
| `COHALL_DEVICE_NAME` | Advertised device name |
|
|
148
|
+
| `COHALL_DEVICE_PROVIDERS` | Provider allowlist or `auto` |
|
|
149
|
+
| `COHALL_DEVICE_WORKSPACES` | Comma-separated workspace roots |
|
|
150
|
+
| `COHALL_DEVICE_WORKSPACES_JSON` | JSON workspace roots; supports commas in paths |
|
|
151
|
+
| `COHALL_MODEL` | Target provider model override |
|
|
152
|
+
| `COHALL_SANDBOX` | Codex sandbox override |
|
|
153
|
+
| `COHALL_THREAD_ID` | Inherited thread for nested delegation |
|
|
154
|
+
| `COHALL_DATA_DIR` | Relay database and owner-token directory |
|
|
155
|
+
| `COHALL_RELAY_HOST` / `COHALL_RELAY_PORT` | Relay listener |
|
|
156
|
+
| `COHALL_RELAY_ALLOW_REMOTE` | Explicit non-loopback binding opt-in |
|
|
157
|
+
|
|
158
|
+
The relay must be reachable to submit work or read status. Accepted tasks wait
|
|
159
|
+
durably while a target is offline and survive relay restarts when its data
|
|
160
|
+
directory is persistent.
|
|
83
161
|
|
|
84
162
|
## Upgrade
|
|
85
163
|
|
|
86
|
-
Package runners
|
|
87
|
-
|
|
164
|
+
Package runners resolve a current release. Upgrade a global installation and
|
|
165
|
+
its active services with:
|
|
88
166
|
|
|
89
167
|
```bash
|
|
90
168
|
cohall upgrade
|
|
91
169
|
```
|
|
92
170
|
|
|
93
171
|
Cohall uses the package manager and global prefix that installed it, verifies
|
|
94
|
-
the
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
Back up the data directory before upgrading a production relay; SQLite schema
|
|
104
|
-
migrations run in place. A system-level relay may require running the command
|
|
105
|
-
with the same privileges used to install and manage that service.
|
|
172
|
+
the new version, and restarts only active Cohall services. If a service points
|
|
173
|
+
to another global installation, Cohall stops and reports the correct executable
|
|
174
|
+
instead of restarting the wrong job.
|
|
175
|
+
|
|
176
|
+
Use `cohall upgrade --to 1.2.3` for an exact version, `--dry-run` to inspect the
|
|
177
|
+
plan, or `--no-restart` to leave services pending a manual restart. Back up a
|
|
178
|
+
production relay's data directory before an upgrade because SQLite migrations
|
|
179
|
+
run in place.
|
package/docs/integrations.md
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
# Agent
|
|
1
|
+
# Agent integrations
|
|
2
2
|
|
|
3
|
-
CLI plus skill is the recommended integration. MCP is available for
|
|
4
|
-
prefer native tool discovery. Both
|
|
3
|
+
CLI plus skill is the recommended integration. MCP is available for harnesses
|
|
4
|
+
that prefer native tool discovery. Both create the same relay tasks; use one
|
|
5
|
+
entry point per task.
|
|
5
6
|
|
|
6
7
|
## CLI plus skill
|
|
7
8
|
|
|
@@ -10,22 +11,20 @@ npx -y @akshar5/cohall skill install all
|
|
|
10
11
|
npx -y @akshar5/cohall doctor
|
|
11
12
|
```
|
|
12
13
|
|
|
13
|
-
This installs the
|
|
14
|
+
This installs the embedded skill into:
|
|
14
15
|
|
|
15
16
|
- `~/.agents/skills/cohall` for Codex-compatible skill loaders;
|
|
16
17
|
- `~/.claude/skills/cohall` for Claude Code;
|
|
17
18
|
- `~/.config/opencode/skills/cohall` for OpenCode.
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
@akshar5/cohall`, and `yarn dlx @akshar5/cohall` are equivalent. No
|
|
22
|
-
Cohall-specific UI extension is required.
|
|
20
|
+
Any other harness with shell access can invoke the CLI directly. No Cohall UI
|
|
21
|
+
extension is required.
|
|
23
22
|
|
|
24
|
-
When delegating from a conversation, the
|
|
25
|
-
|
|
23
|
+
When delegating from a conversation, the sending agent must distill why the user
|
|
24
|
+
is asking, relevant facts and prior findings, constraints, and the intended
|
|
26
25
|
decision into Cohall's `context` field. Cohall cannot read the harness transcript
|
|
27
|
-
itself. Send a focused brief rather than the raw chat; omit context only
|
|
28
|
-
|
|
26
|
+
itself. Send a focused brief rather than the raw chat; omit context only for a
|
|
27
|
+
self-contained task.
|
|
29
28
|
|
|
30
29
|
## Codex MCP
|
|
31
30
|
|
|
@@ -33,7 +32,7 @@ task is self-contained.
|
|
|
33
32
|
codex mcp add cohall -- npx -y @akshar5/cohall mcp
|
|
34
33
|
```
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
Equivalent `~/.codex/config.toml`:
|
|
37
36
|
|
|
38
37
|
```toml
|
|
39
38
|
[mcp_servers.cohall]
|
|
@@ -48,7 +47,7 @@ claude mcp add --transport stdio --scope user cohall -- \
|
|
|
48
47
|
npx -y @akshar5/cohall mcp
|
|
49
48
|
```
|
|
50
49
|
|
|
51
|
-
|
|
50
|
+
Equivalent project `.mcp.json`:
|
|
52
51
|
|
|
53
52
|
```json
|
|
54
53
|
{
|
|
@@ -63,7 +62,7 @@ Or use the standard JSON form in a project `.mcp.json`:
|
|
|
63
62
|
|
|
64
63
|
## OpenCode MCP
|
|
65
64
|
|
|
66
|
-
Add
|
|
65
|
+
Add to `opencode.json`:
|
|
67
66
|
|
|
68
67
|
```json
|
|
69
68
|
{
|
|
@@ -78,19 +77,13 @@ Add this to `opencode.json`:
|
|
|
78
77
|
}
|
|
79
78
|
```
|
|
80
79
|
|
|
81
|
-
##
|
|
80
|
+
## Isolated environments
|
|
82
81
|
|
|
83
|
-
The MCP subprocess reads the
|
|
84
|
-
uses an isolated environment, pass
|
|
82
|
+
The MCP subprocess reads the current user's Cohall configuration. If a harness
|
|
83
|
+
uses an isolated environment, pass `COHALL_CONFIG` with an absolute path to that
|
|
84
|
+
configuration file. Alternatively pass `COHALL_RELAY_URL` and
|
|
85
|
+
`COHALL_CLIENT_TOKEN` directly.
|
|
85
86
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Or pass `COHALL_RELAY_URL` and `COHALL_CLIENT_TOKEN` directly. Never place an
|
|
91
|
-
owner or device token in an MCP client configuration.
|
|
92
|
-
|
|
93
|
-
CLI and MCP are equivalent entry points. Use one per delegated task.
|
|
94
|
-
Both expose redacted task tracing through `cohall trace <task-id>` and the
|
|
87
|
+
Never place an owner or device token in an MCP configuration. Both integrations
|
|
88
|
+
provide redacted task tracing through `cohall trace <task-id>` or the
|
|
95
89
|
`task_trace` MCP tool.
|
|
96
|
-
Use `bunx @akshar5/cohall` with Bun. Use `pnpm dlx @akshar5/cohall` with pnpm.
|
package/docs/releasing.md
CHANGED
|
@@ -11,9 +11,9 @@ bun run check
|
|
|
11
11
|
npm pack --dry-run
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
The Check workflow runs
|
|
15
|
-
request is opened or marked ready for review. Synchronizing commits does
|
|
16
|
-
|
|
14
|
+
The Check workflow runs when manually dispatched or when a non-draft pull
|
|
15
|
+
request is opened or marked ready for review. Synchronizing later commits does
|
|
16
|
+
not start another run automatically.
|
|
17
17
|
|
|
18
18
|
After releasable conventional commits reach `main`, Release Please opens or
|
|
19
19
|
updates one release pull request. Merging it creates the version tag and GitHub
|
package/docs/services.md
CHANGED
|
@@ -131,16 +131,14 @@ logon and restarts it after failures. It does not run before that user logs on.
|
|
|
131
131
|
|
|
132
132
|
Run `cohall upgrade` from a global npm, Bun, or pnpm installation. It updates
|
|
133
133
|
that installation and restarts only active managed Cohall services, with relays
|
|
134
|
-
restarted before device
|
|
135
|
-
files already match the requested version.
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
and a delegated caller leaves that marker for the replacement task to consume
|
|
140
|
-
after reconnecting, even when a service manager returns before ending the old process.
|
|
134
|
+
restarted before device workers. Active services restart even when the installed
|
|
135
|
+
files already match the requested version. Socket-activated relays keep accepting
|
|
136
|
+
new connections while their process is replaced, and delegated upgrades finish
|
|
137
|
+
through durable restart recovery.
|
|
138
|
+
|
|
141
139
|
Before changing files, Cohall verifies that active systemd and launchd jobs use
|
|
142
|
-
the same global installation as the invoked CLI. If they differ,
|
|
143
|
-
executable named in the error or update the service definition
|
|
140
|
+
the same global installation as the invoked CLI. If they differ, use the
|
|
141
|
+
executable named in the error or update the service definition.
|
|
144
142
|
|
|
145
143
|
Direct `npm install --global`, `bun add --global`, or `pnpm add --global`
|
|
146
144
|
replaces files on disk but cannot replace code already loaded by a running Node
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akshar5/cohall",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.8",
|
|
4
4
|
"description": "Let coding agents delegate work across your own devices.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agents",
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"deploy",
|
|
32
32
|
"docs",
|
|
33
33
|
"CHANGELOG.md",
|
|
34
|
+
"CONTRIBUTING.md",
|
|
34
35
|
"LICENSE",
|
|
35
36
|
"README.md"
|
|
36
37
|
],
|
|
@@ -50,8 +51,8 @@
|
|
|
50
51
|
"typecheck": "bunx tsc -b",
|
|
51
52
|
"test": "bun run build:package && vitest run",
|
|
52
53
|
"lint": "bunx oxlint . --deny-warnings",
|
|
53
|
-
"format": "bunx oxfmt .",
|
|
54
|
-
"format:check": "bunx oxfmt --check .",
|
|
54
|
+
"format": "bunx oxfmt . '!CHANGELOG.md'",
|
|
55
|
+
"format:check": "bunx oxfmt --check . '!CHANGELOG.md'",
|
|
55
56
|
"package:check": "npm pack --dry-run --ignore-scripts",
|
|
56
57
|
"check": "bun run typecheck && bun run lint && bun run test && bun run package:check",
|
|
57
58
|
"prepack": "bun run build:package"
|
|
@@ -62,10 +63,6 @@
|
|
|
62
63
|
"ws": "^8.21.2",
|
|
63
64
|
"zod": "^4.4.3"
|
|
64
65
|
},
|
|
65
|
-
"overrides": {
|
|
66
|
-
"fast-uri": "^3.1.5",
|
|
67
|
-
"hono": "^4.12.34"
|
|
68
|
-
},
|
|
69
66
|
"devDependencies": {
|
|
70
67
|
"@types/node": "^24.13.3",
|
|
71
68
|
"@types/ws": "^8.18.1",
|
|
@@ -74,6 +71,10 @@
|
|
|
74
71
|
"typescript": "^6.0.0",
|
|
75
72
|
"vitest": "^4.1.10"
|
|
76
73
|
},
|
|
74
|
+
"overrides": {
|
|
75
|
+
"fast-uri": "^3.1.5",
|
|
76
|
+
"hono": "^4.12.34"
|
|
77
|
+
},
|
|
77
78
|
"engines": {
|
|
78
79
|
"node": ">=24"
|
|
79
80
|
},
|